[neon/backports-noble/flatbuffers-noble/Neon/unstable] debian: backport flatbuffers for onnxruntime for pipewrie for kwin
Carlos De Maine
null at kde.org
Sun Sep 27 00:29:58 BST 2026
Git commit fd3837fac32c66d8797b640cfc5cd60e9beae043 by Carlos De Maine.
Committed on 26/09/2026 at 23:29.
Pushed by carlosdem into branch 'Neon/unstable'.
backport flatbuffers for onnxruntime for pipewrie for kwin
A +4 -0 debian/TODO
A +270 -0 debian/changelog
A +93 -0 debian/control
A +321 -0 debian/copyright
A +1 -0 debian/flatbuffers-compiler-dev.install
A +1 -0 debian/flatbuffers-compiler.install
A +1 -0 debian/flatbuffers-compiler.lintian-overrides
A +4 -0 debian/gbp.conf
A +8 -0 debian/gitlab-ci.yml
A +8 -0 debian/libflatbuffers-dev.install
A +2 -0 debian/libflatbuffers23.5.26.install
A +1269 -0 debian/missing-sources/tests/ts/my-game/example/monster.js
A +39 -0 debian/patches/8201.patch
A +13 -0 debian/patches/s390x.patch
A +2 -0 debian/patches/series
A +42 -0 debian/rules
A +1 -0 debian/source/format
A +4 -0 debian/source/lintian-overrides
A +6 -0 debian/upstream/metadata
A +4 -0 debian/watch
https://invent.kde.org/neon/backports-noble/flatbuffers-noble/-/commit/fd3837fac32c66d8797b640cfc5cd60e9beae043
diff --git a/debian/TODO b/debian/TODO
new file mode 100644
index 0000000..f79c6e1
--- /dev/null
+++ b/debian/TODO
@@ -0,0 +1,4 @@
+* Ship other language bindings
+* Re-generate generated files in test/ - since they are not used in
+ the binary packages it is ok to have them in the source package for now.
+* Ship more documentation files
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000..0b8ebfb
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,270 @@
+flatbuffers (23.5.26+dfsg-1.1) unstable; urgency=high
+
+ * Non-maintainer upload.
+ * debian/control: Update the version range of Breaks/Replaces so
+ that all the past versions of libflatbuffers2 are covered.
+ (really closes: #1043102)
+
+ -- Boyuan Yang <byang at debian.org> Fri, 19 Jul 2024 22:36:52 -0400
+
+flatbuffers (23.5.26+dfsg-1) unstable; urgency=medium
+
+ * Upload to unstable.
+
+ -- Mo Zhou <lumin at debian.org> Sat, 13 Jul 2024 02:50:50 -0400
+
+flatbuffers (23.5.26+dfsg-1~exp1) experimental; urgency=medium
+
+ * Patch code to fix tests on mips64el and hppa.
+ * Specify Breaks+Replaces for the lib package as well. (Closes: #1043244)
+ * Fix ftbfs-source-after-build. (Closes: #1044425)
+
+ -- Mo Zhou <lumin at debian.org> Fri, 29 Dec 2023 16:38:36 -0500
+
+flatbuffers (23.5.26+dfsg-1~exp0) experimental; urgency=medium
+
+ * New upstream version 23.5.26+dfsg.
+
+ -- Nobuhiro Iwamatsu <iwamatsu at debian.org> Sun, 06 Aug 2023 12:52:16 +0900
+
+flatbuffers (2.0.8+dfsg1-5) unstable; urgency=medium
+
+ * Change the package to install pkg-config file to libflatbuffers-dev.
+ * d/control: Add libflatbuffers2 (<< 2.0.8+dfsg1-4) to Breaks and Replaces.
+
+ -- Nobuhiro Iwamatsu <iwamatsu at debian.org> Sun, 06 Aug 2023 09:48:20 +0900
+
+flatbuffers (2.0.8+dfsg1-4) unstable; urgency=medium
+
+ * Fix invalid version number for pkg_resources.
+ Thanks to Julian Gilbey <jdg at debian.org> for the patch. (Closes: #1004743)
+ * Refresh symbols to fix FTBFS on amd64 (Closes: #1041257)
+ * Give up tracking symbols for C++ library. (Closes: #1041257, #1015403)
+
+ -- Mo Zhou <lumin at debian.org> Mon, 17 Jul 2023 22:05:19 -0700
+
+flatbuffers (2.0.8+dfsg1-3) unstable; urgency=medium
+
+ * Add patch for missing header to fix FTBFS (Closes: #1037658)
+ * Refresh symbols control file.
+ * Fix/override lintian warnings/errors.
+ * Remove unused lintian overrides.
+
+ -- Mo Zhou <lumin at debian.org> Thu, 13 Jul 2023 21:26:56 -0700
+
+flatbuffers (2.0.8+dfsg1-2) unstable; urgency=medium
+
+ * Refresh symbols control file for amd64.
+
+ -- Mo Zhou <lumin at debian.org> Thu, 15 Dec 2022 16:49:15 -0500
+
+flatbuffers (2.0.8+dfsg1-1) unstable; urgency=medium
+
+ [ Debian Janitor ]
+ * Use secure URI in Homepage field.
+ * Set field Upstream-Contact in debian/copyright.
+ * Set upstream metadata fields: Bug-Database, Bug-Submit, Security-Contact.
+ * Remove obsolete field Contact from debian/upstream/metadata
+ (already present in machine-readable debian/copyright).
+ * Update standards version to 4.6.1, no changes needed.
+ * Remove constraints unnecessary since buster (oldstable)
+
+ [ Mo Zhou ]
+ * New upstream version 2.0.8+dfsg1 (Aug 2022)
+ * Refresh remaining patches.
+ * Update install control files.
+
+ -- Mo Zhou <lumin at debian.org> Wed, 14 Dec 2022 10:33:53 -0500
+
+flatbuffers (2.0.6+dfsg1-3) unstable; urgency=medium
+
+ * Add -Wno-error=stringop-overflow to fix s390x FTBFS.
+
+ -- Mo Zhou <lumin at debian.org> Fri, 30 Sep 2022 19:32:34 -0400
+
+flatbuffers (2.0.6+dfsg1-2) unstable; urgency=medium
+
+ * Specify -Wno-error=maybe-uninitialized for GCC-12 (Closes: #1012928)
+ * Refresh symbols control file.
+
+ -- Mo Zhou <lumin at debian.org> Sat, 03 Sep 2022 14:23:09 -0400
+
+flatbuffers (2.0.6+dfsg1-1) unstable; urgency=medium
+
+ * Upload to unstable.
+
+ -- Mo Zhou <lumin at debian.org> Fri, 08 Jul 2022 08:03:50 -0700
+
+flatbuffers (2.0.6+dfsg1-1~exp3) experimental; urgency=medium
+
+ * Patch to fix s390x FTBFS.
+
+ -- Mo Zhou <lumin at debian.org> Sun, 19 Jun 2022 21:15:24 -0700
+
+flatbuffers (2.0.6+dfsg1-1~exp2) experimental; urgency=medium
+
+ * Only track symbols for amd64 architecture. Manually crafting C++ symbol
+ file for a hundred architectures sounds like nothing but a burden to me.
+
+ -- Mo Zhou <lumin at debian.org> Sat, 18 Jun 2022 13:40:39 -0700
+
+flatbuffers (2.0.6+dfsg1-1~exp1) experimental; urgency=medium
+
+ * New upstream version 2.0.6+dfsg1
+ * Append myself to Uploaders.
+ * Update Files-Excluded list.
+ * Change build directory to $(CURDIR) to prevent test failure.
+ * Bump SOVERSION from 1 to 2; rename packages.
+ * Remove upstream-merged patches.
+ * Install the generated pkgconfig file.
+ * Refresh symbols control file.
+ * Overhaul d/copyright due to massive codebase change.
+ * Upload to experimental.
+
+ -- Mo Zhou <lumin at debian.org> Mon, 30 May 2022 17:07:31 -0700
+
+flatbuffers (1.12.1~git20200711.33e2d80+dfsg1-0.6) unstable; urgency=medium
+
+ * Non-maintainer upload.
+ * Mark three more symbols as optional, to fix s390x and ppc64el in Ubuntu.
+
+ -- Mattia Rizzolo <mattia at debian.org> Fri, 08 Jan 2021 16:29:01 +0100
+
+flatbuffers (1.12.1~git20200711.33e2d80+dfsg1-0.5) unstable; urgency=medium
+
+ * Non-maintainer upload.
+
+ [ Vasyl Gello ]
+ * Mark a few other symbols as optional to fix FTBFS on sid/s390x.
+
+ [ Mattia Rizzolo ]
+ * Match all the Std:: symbols out there.
+ * Manually handle symbols arch subst without pkgkde-tools.
+
+ -- Mattia Rizzolo <mattia at debian.org> Sat, 02 Jan 2021 14:45:07 +0100
+
+flatbuffers (1.12.1~git20200711.33e2d80+dfsg1-0.4) unstable; urgency=medium
+
+ * Non-maintainer upload.
+ * Make C++ template symbols optional and refresh them (Closes: #976921)
+ * Bump standards version to 4.5.1 (no changes required)
+ * Install python3-flatbuffers as indep (Closes: #976069)
+
+ -- Vasyl Gello <vasek.gello at gmail.com> Thu, 24 Dec 2020 13:19:42 +0000
+
+flatbuffers (1.12.1~git20200711.33e2d80+dfsg1-0.3) unstable; urgency=medium
+
+ * Non-maintainer upload.
+ * Drop useless symbols disappearing with -O3 optimization level
+
+ -- Gianfranco Costamagna <locutusofborg at debian.org> Mon, 20 Jul 2020 13:15:52 +0200
+
+flatbuffers (1.12.1~git20200711.33e2d80+dfsg1-0.2) unstable; urgency=medium
+
+ * Non-maintainer upload.
+ * debian: Adjust symbols from buildlogs.
+ * debian: Fix failing tests on hppa/mipsel/mips64el.
+
+ -- Vasyl Gello <vasek.gello at gmail.com> Fri, 17 Jul 2020 18:15:18 +0200
+
+flatbuffers (1.12.1~git20200711.33e2d80+dfsg1-0.1) unstable; urgency=medium
+
+ * Non-maintainer upload.
+
+ [ Vasyl Gello ]
+ * New upstream version 1.12.1~git20200711.33e2d80+dfsg1.
+ + Fixed build with GCC-10. Closes: #957212
+ * debian: Remove obsoleted patch
+ * debian: Update symbols file.
+
+ [ Mattia Rizzolo ]
+ * Mark python3-flatbuffers as M-A:foreign, from the M-A hinter.
+
+ -- Vasyl Gello <vasek.gello at gmail.com> Wed, 15 Jul 2020 16:30:01 +0200
+
+flatbuffers (1.11.0+dfsg1-3) unstable; urgency=medium
+
+ * Team upload
+ * Refresh symbols for non-amd64 archs
+
+ -- Gianfranco Costamagna <locutusofborg at debian.org> Sat, 04 Jul 2020 23:41:07 +0200
+
+flatbuffers (1.11.0+dfsg1-2) unstable; urgency=medium
+
+ [ Gianfranco Costamagna ]
+ * Team upload
+
+ [ Vasyl Gello ]
+ * debian: Adjust symbols for libflatbuffers1/alpha
+ * debian: Add gbp.conf
+ * debian: fix Lintian warnings
+ * debian: fix FTBFS on hurd/i386
+
+ [ Alexander Gerasiov ]
+ * d/control, d/rules: Add python3-flatbuffers.
+
+ -- Gianfranco Costamagna <locutusofborg at debian.org> Wed, 01 Jul 2020 18:04:01 +0200
+
+flatbuffers (1.11.0+dfsg1-1.4) unstable; urgency=medium
+
+ * Non-maintainer upload.
+ * Fix symbol files on {stable,unstable}/amd64
+
+ -- Vasyl Gello <vasek.gello at gmail.com> Mon, 25 May 2020 17:13:26 +0300
+
+flatbuffers (1.11.0+dfsg1-1.3) unstable; urgency=medium
+
+ * Non-maintainer upload.
+ * Fixup again symbol files
+
+ -- Gianfranco Costamagna <locutusofborg at debian.org> Sun, 22 Mar 2020 17:17:26 +0100
+
+flatbuffers (1.11.0+dfsg1-1.2) unstable; urgency=medium
+
+ * Non-maintainer upload
+ * Refresh symbols from unstable build logs.
+ This fixes FTBFS on mips64el.
+
+ -- Balint Reczey <rbalint at ubuntu.com> Sat, 21 Mar 2020 17:35:47 +0100
+
+flatbuffers (1.11.0+dfsg1-1.1) unstable; urgency=medium
+
+ * Non-maintainer upload
+ * Fix odd version number that I uploaded with accidentally (I'm sorry)
+
+ -- Balint Reczey <rbalint at ubuntu.com> Mon, 20 Jan 2020 12:14:42 +0100
+
+flatbuffers (1.11.0+dfsg1-1.1~rbalint1) unstable; urgency=medium
+
+ * Non-maintainer upload (Closes: #949329)
+ * Update symbols from sid build logs and local build to fix FTBFS
+
+ -- Balint Reczey <rbalint at ubuntu.com> Sun, 19 Jan 2020 22:22:01 +0100
+
+flatbuffers (1.11.0+dfsg1-1) unstable; urgency=medium
+
+ [ Maximiliano Curia ]
+ * Initial release. (Closes: #823037)
+ * New upstream release (1.10.0).
+ * Bump debhelper build-dep and compat to 12
+ * Bump to Standards-Version 4.3.0
+ * Use the hardening=+all deb build option
+ * Add missing package sections
+ * Add symbols to be managed with pkgkde symbolshelper
+ * New upstream release (1.11.0).
+ * Update symbols files
+ * Release to unstable
+
+ [ Balint Reczey ]
+ * Add Salsa CI configuration
+ * debian/control: Fix typo libsdevel -> libdevel
+ * debian/control: Make unique short descriptions
+ * Override false positive source-contains-prebuilt-doxygen-documentation
+ Lintian warning
+ * Add packaging TODO
+ * Exclude prebuilt jars from original upstream tarball
+ * debian/watch: Support repacked source
+ * New import of upstream version 1.10.0 as 1.10.0+dfsg1 excluding the jars
+ * debian/gitlab-ci.yml: Disable reprotest until cmake is fixed
+
+ -- Maximiliano Curia <maxy at debian.org> Tue, 30 Jul 2019 10:40:36 -0300
diff --git a/debian/control b/debian/control
new file mode 100644
index 0000000..d77881e
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,93 @@
+Source: flatbuffers
+Priority: optional
+Section: devel
+Maintainer: Maximiliano Curia <maxy at debian.org>
+Uploaders: Nobuhiro Iwamatsu <iwamatsu at debian.org>,
+ Mo Zhou <lumin at debian.org>
+Build-Depends: cmake, debhelper-compat (= 13), dh-python, python3-all, python3-setuptools
+Standards-Version: 4.6.1
+Rules-Requires-Root: no
+Homepage: https://google.github.io/flatbuffers/
+Vcs-Browser: https://salsa.debian.org/debian/flatbuffers
+Vcs-Git: https://salsa.debian.org/debian/flatbuffers.git
+
+Package: flatbuffers-compiler
+Architecture: any
+Multi-Arch: foreign
+Depends:
+ libflatbuffers23.5.26 (= ${binary:Version}),
+ ${misc:Depends},
+ ${shlibs:Depends},
+Description: efficient cross platform serialization library - compiler
+ FlatBuffers is an efficient cross platform serialization library for C++, C#,
+ C, Go, Java, JavaScript, TypeScript, PHP, and Python. It was originally
+ created at Google for game development and other performance-critical
+ applications.
+ .
+ This package contains the flat buffer compiler that is used for translating
+ from .proto files (containing the definitions) to the language binding for the
+ supported languages.
+
+Package: flatbuffers-compiler-dev
+Architecture: any
+Multi-Arch: same
+Depends:
+ flatbuffers-compiler (= ${binary:Version}),
+ ${misc:Depends},
+ ${shlibs:Depends},
+Description: efficient cross platform serialization library - cmake files
+ FlatBuffers is an efficient cross platform serialization library for C++, C#,
+ C, Go, Java, JavaScript, TypeScript, PHP, and Python. It was originally
+ created at Google for game development and other performance-critical
+ applications.
+ .
+ This package contains the development cmake files needed to use
+ flatbuffer-compiler in a cross compiling environment.
+
+Package: libflatbuffers-dev
+Section: libdevel
+Architecture: any
+Multi-Arch: same
+Depends:
+ flatbuffers-compiler-dev (= ${binary:Version}),
+ libflatbuffers23.5.26 (= ${binary:Version}),
+ ${misc:Depends},
+ ${shlibs:Depends},
+Breaks: libflatbuffers2 (<< 2.0.8+dfsg1-7)
+Replaces: libflatbuffers2 (<< 2.0.8+dfsg1-7)
+Description: efficient cross platform serialization library - development files
+ FlatBuffers is an efficient cross platform serialization library for C++, C#,
+ C, Go, Java, JavaScript, TypeScript, PHP, and Python. It was originally
+ created at Google for game development and other performance-critical
+ applications.
+ .
+ This package contains the development headers and static libraries needed for
+ writing C++ applications.
+
+Package: libflatbuffers23.5.26
+Section: libs
+Architecture: any
+Multi-Arch: same
+Depends: ${misc:Depends}, ${shlibs:Depends}
+Breaks: libflatbuffers-dev (<< 2.0.8+dfsg1-5)
+Replaces: libflatbuffers-dev (<< 2.0.8+dfsg1-5)
+Description: efficient cross platform serialization library - shared library
+ FlatBuffers is an efficient cross platform serialization library for C++, C#,
+ C, Go, Java, JavaScript, TypeScript, PHP, and Python. It was originally
+ created at Google for game development and other performance-critical
+ applications.
+ .
+ This package contains the runtime library needed for C++ applications.
+
+Package: python3-flatbuffers
+Section: python
+Architecture: all
+Multi-Arch: foreign
+Depends: ${misc:Depends}, ${shlibs:Depends}, ${python3:Depends}
+Description: efficient cross platform serialization library - Python bindings
+ FlatBuffers is an efficient cross platform serialization library for C++, C#,
+ C, Go, Java, JavaScript, TypeScript, PHP, and Python. It was originally
+ created at Google for game development and other performance-critical
+ applications.
+ .
+ This package contains python3 flatbuffers API.
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 0000000..8a5b37e
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,321 @@
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: Flatbuffers
+Source: https://github.com/google/flatbuffers
+Files-Excluded: android/gradle/wrapper/gradle-wrapper.jar
+ kotlin/gradle/wrapper/gradle-wrapper.jar
+Upstream-Contact: https://groups.google.com/forum/#!forum/flatbuffers
+
+Files: *
+ android/*
+ bazel/*
+ benchmarks/*
+ conan/*
+ docs/*
+ go/*
+ include/*
+ java/*
+ lua/*
+ net/*
+ php/*
+ python/*
+ rust/*
+ scripts/*
+ src/*
+ swift/*
+ ts/*
+Copyright: 2014-2021, Google Inc
+ 2019 Google LLC
+License: Apache-2.0
+
+Files: CMake/*
+Copyright: 2014 Stefan.Eilemann at epfl.ch
+ 2014-2021, Google Inc
+License: Apache-2.0
+
+Files: dart/*
+Copyright: 2014-2018, Google Inc
+ 2018 Dan Field
+ 2016, the Dart project authors
+License: Apache-2.0
+
+Files: grpc/*
+Copyright: 2014-2021, Google Inc
+ 2015 gRPC authors
+License: Apache-2.0
+
+Files: kotlin/*
+Copyright: 2015 the original author or authors
+ 2014-2021, Google Inc
+License: Apache-2.0
+Comment: "2015 the original author or authors" looks bad but it is what's
+ written in the code file.
+
+Files: kotlin/flatbuffers-kotlin/src/jvmTest/resources/utf8_sample.txt
+Copyright: 2015-08-28 Markus Kuhn <http://www.cl.cam.ac.uk/~mgk25/>
+License: CC-BY-4.0
+
+Files: samples/*
+Copyright: 2018 Dan Field
+ 2014-2021, Google Inc
+License: Apache-2.0
+
+Files: tests/*
+Copyright: 2015 The Chromium Authors
+ 2014-2021, Google Inc
+ 2019 Google LLC
+License: Apache-2.0
+
+Files: tests/fuzzer/flatbuffers_parser_fuzzer.cc
+ tests/fuzzer/flatbuffers_verifier_fuzzer.cc
+ tests/fuzzer/flexbuffers_verifier_fuzzer.cc
+Copyright: 2015, The Chromium Authors
+License: BSD-3-clause
+Comment:
+ The verbatim text for the license assignment used is:
+ """
+ Use of this source code is governed by a BSD-style license that can be
+ found in the LICENSE file.
+ """
+ The LICENSE file is not present, I'm assuming this refers to the BSD-3-clause
+ used in the grpc parts (which is embedded in the files).
+
+Files: debian/*
+Copyright: 2018, Maximiliano Curia <maxy at debian.org>
+License: Apache-2.0
+
+License: Apache-2.0
+ The full text of the Apache License Version 2.0 is distributed in
+ /usr/share/common-licenses/Apache-2.0.
+
+License: BSD-3-clause
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are
+ met:
+ .
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above
+ copyright notice, this list of conditions and the following disclaimer
+ in the documentation and/or other materials provided with the
+ distribution.
+ * Neither the name of Google Inc. nor the names of its
+ contributors may be used to endorse or promote products derived from
+ this software without specific prior written permission.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License: CC-BY-4.0
+ Creative Commons Attribution 4.0 International Public License
+ .
+ By exercising the Licensed Rights (defined below), You accept and agree to be
+ bound by the terms and conditions of this Creative Commons Attribution 4.0
+ International Public License ("Public License"). To the extent this Public
+ License may be interpreted as a contract, You are granted the Licensed Rights
+ in consideration of Your acceptance of these terms and conditions, and the
+ Licensor grants You such rights in consideration of benefits the Licensor
+ receives from making the Licensed Material available under these terms and
+ conditions.
+ .
+ Section 1 – Definitions.
+ .
+ Adapted Material means material subject to Copyright and Similar Rights that is
+ derived from or based upon the Licensed Material and in which the Licensed
+ Material is translated, altered, arranged, transformed, or otherwise modified
+ in a manner requiring permission under the Copyright and Similar Rights held by
+ the Licensor. For purposes of this Public License, where the Licensed Material
+ is a musical work, performance, or sound recording, Adapted Material is always
+ produced where the Licensed Material is synched in timed relation with a moving
+ image. Adapter's License means the license You apply to Your Copyright and
+ Similar Rights in Your contributions to Adapted Material in accordance with the
+ terms and conditions of this Public License. Copyright and Similar Rights
+ means copyright and/or similar rights closely related to copyright including,
+ without limitation, performance, broadcast, sound recording, and Sui Generis
+ Database Rights, without regard to how the rights are labeled or categorized.
+ For purposes of this Public License, the rights specified in Section
+ 2(b)(1)-(2) are not Copyright and Similar Rights. Effective Technological
+ Measures means those measures that, in the absence of proper authority, may not
+ be circumvented under laws fulfilling obligations under Article 11 of the WIPO
+ Copyright Treaty adopted on December 20, 1996, and/or similar international
+ agreements. Exceptions and Limitations means fair use, fair dealing, and/or
+ any other exception or limitation to Copyright and Similar Rights that applies
+ to Your use of the Licensed Material. Licensed Material means the artistic or
+ literary work, database, or other material to which the Licensor applied this
+ Public License. Licensed Rights means the rights granted to You subject to the
+ terms and conditions of this Public License, which are limited to all Copyright
+ and Similar Rights that apply to Your use of the Licensed Material and that the
+ Licensor has authority to license. Licensor means the individual(s) or
+ entity(ies) granting rights under this Public License. Share means to provide
+ material to the public by any means or process that requires permission under
+ the Licensed Rights, such as reproduction, public display, public performance,
+ distribution, dissemination, communication, or importation, and to make
+ material available to the public including in ways that members of the public
+ may access the material from a place and at a time individually chosen by them.
+ Sui Generis Database Rights means rights other than copyright resulting from
+ Directive 96/9/EC of the European Parliament and of the Council of 11 March
+ 1996 on the legal protection of databases, as amended and/or succeeded, as well
+ as other essentially equivalent rights anywhere in the world. You means the
+ individual or entity exercising the Licensed Rights under this Public License.
+ Your has a corresponding meaning.
+ .
+ Section 2 – Scope.
+ .
+ License grant.
+ .
+ Subject to the terms and conditions of this Public License, the Licensor hereby
+ grants You a worldwide, royalty-free, non-sublicensable, non-exclusive,
+ irrevocable license to exercise the Licensed Rights in the Licensed Material
+ to: reproduce and Share the Licensed Material, in whole or in part; and
+ produce, reproduce, and Share Adapted Material. Exceptions and Limitations.
+ For the avoidance of doubt, where Exceptions and Limitations apply to Your use,
+ this Public License does not apply, and You do not need to comply with its
+ terms and conditions. Term. The term of this Public License is specified in
+ Section 6(a). Media and formats; technical modifications allowed. The Licensor
+ authorizes You to exercise the Licensed Rights in all media and formats whether
+ now known or hereafter created, and to make technical modifications necessary
+ to do so. The Licensor waives and/or agrees not to assert any right or
+ authority to forbid You from making technical modifications necessary to
+ exercise the Licensed Rights, including technical modifications necessary to
+ circumvent Effective Technological Measures. For purposes of this Public
+ License, simply making modifications authorized by this Section 2(a)(4) never
+ produces Adapted Material. Downstream recipients. Offer from the Licensor –
+ Licensed Material. Every recipient of the Licensed Material automatically
+ receives an offer from the Licensor to exercise the Licensed Rights under the
+ terms and conditions of this Public License. No downstream restrictions. You
+ may not offer or impose any additional or different terms or conditions on, or
+ apply any Effective Technological Measures to, the Licensed Material if doing
+ so restricts exercise of the Licensed Rights by any recipient of the Licensed
+ Material. No endorsement. Nothing in this Public License constitutes or may be
+ construed as permission to assert or imply that You are, or that Your use of
+ the Licensed Material is, connected with, or sponsored, endorsed, or granted
+ official status by, the Licensor or others designated to receive attribution as
+ provided in Section 3(a)(1)(A)(i). Other rights.
+ .
+ Moral rights, such as the right of integrity, are not licensed under this
+ Public License, nor are publicity, privacy, and/or other similar personality
+ rights; however, to the extent possible, the Licensor waives and/or agrees not
+ to assert any such rights held by the Licensor to the limited extent necessary
+ to allow You to exercise the Licensed Rights, but not otherwise. Patent and
+ trademark rights are not licensed under this Public License. To the extent
+ possible, the Licensor waives any right to collect royalties from You for the
+ exercise of the Licensed Rights, whether directly or through a collecting
+ society under any voluntary or waivable statutory or compulsory licensing
+ scheme. In all other cases the Licensor expressly reserves any right to collect
+ such royalties.
+ .
+ Section 3 – License Conditions.
+ .
+ Your exercise of the Licensed Rights is expressly made subject to the following
+ conditions.
+ .
+ Attribution.
+ .
+ If You Share the Licensed Material (including in modified form), You must:
+ .
+ retain the following if it is supplied by the Licensor with the Licensed
+ Material: identification of the creator(s) of the Licensed Material and any
+ others designated to receive attribution, in any reasonable manner requested by
+ the Licensor (including by pseudonym if designated); a copyright notice; a
+ notice that refers to this Public License; a notice that refers to the
+ disclaimer of warranties; a URI or hyperlink to the Licensed Material to the
+ extent reasonably practicable; indicate if You modified the Licensed Material
+ and retain an indication of any previous modifications; and indicate the
+ Licensed Material is licensed under this Public License, and include the text
+ of, or the URI or hyperlink to, this Public License. You may satisfy the
+ conditions in Section 3(a)(1) in any reasonable manner based on the medium,
+ means, and context in which You Share the Licensed Material. For example, it
+ may be reasonable to satisfy the conditions by providing a URI or hyperlink to
+ a resource that includes the required information. If requested by the
+ Licensor, You must remove any of the information required by Section 3(a)(1)(A)
+ to the extent reasonably practicable. If You Share Adapted Material You
+ produce, the Adapter's License You apply must not prevent recipients of the
+ Adapted Material from complying with this Public License.
+ .
+ Section 4 – Sui Generis Database Rights.
+ .
+ Where the Licensed Rights include Sui Generis Database Rights that apply to
+ Your use of the Licensed Material:
+ .
+ for the avoidance of doubt, Section 2(a)(1) grants You the right to extract,
+ reuse, reproduce, and Share all or a substantial portion of the contents of
+ the database; if You include all or a substantial portion of the database
+ contents in a database in which You have Sui Generis Database Rights, then
+ the database in which You have Sui Generis Database Rights (but not its
+ individual contents) is Adapted Material; and You must comply with the
+ conditions in Section 3(a) if You Share all or a substantial portion of the
+ contents of the database. For the avoidance of doubt, this Section 4
+ supplements and does not replace Your obligations under this Public License
+ where the Licensed Rights include other Copyright and Similar Rights.
+ .
+ Section 5 – Disclaimer of Warranties and Limitation of Liability.
+ .
+ Unless otherwise separately undertaken by the Licensor, to the extent possible,
+ the Licensor offers the Licensed Material as-is and as-available, and makes no
+ representations or warranties of any kind concerning the Licensed Material,
+ whether express, implied, statutory, or other. This includes, without
+ limitation, warranties of title, merchantability, fitness for a particular
+ purpose, non-infringement, absence of latent or other defects, accuracy, or the
+ presence or absence of errors, whether or not known or discoverable. Where
+ disclaimers of warranties are not allowed in full or in part, this disclaimer
+ may not apply to You. To the extent possible, in no event will the Licensor be
+ liable to You on any legal theory (including, without limitation, negligence)
+ or otherwise for any direct, special, indirect, incidental, consequential,
+ punitive, exemplary, or other losses, costs, expenses, or damages arising out
+ of this Public License or use of the Licensed Material, even if the Licensor
+ has been advised of the possibility of such losses, costs, expenses, or
+ damages. Where a limitation of liability is not allowed in full or in part,
+ this limitation may not apply to You. The disclaimer of warranties and
+ limitation of liability provided above shall be interpreted in a manner that,
+ to the extent possible, most closely approximates an absolute disclaimer and
+ waiver of all liability.
+ .
+ Section 6 – Term and Termination.
+ .
+ This Public License applies for the term of the Copyright and Similar Rights
+ licensed here. However, if You fail to comply with this Public License, then
+ Your rights under this Public License terminate automatically. Where Your
+ right to use the Licensed Material has terminated under Section 6(a), it
+ reinstates:
+ .
+ automatically as of the date the violation is cured, provided it is cured
+ within 30 days of Your discovery of the violation; or upon express
+ reinstatement by the Licensor. For the avoidance of doubt, this Section 6(b)
+ does not affect any right the Licensor may have to seek remedies for Your
+ violations of this Public License. For the avoidance of doubt, the Licensor
+ may also offer the Licensed Material under separate terms or conditions or stop
+ distributing the Licensed Material at any time; however, doing so will not
+ terminate this Public License. Sections 1, 5, 6, 7, and 8 survive termination
+ of this Public License.
+ .
+ Section 7 – Other Terms and Conditions.
+ .
+ The Licensor shall not be bound by any additional or different terms or
+ conditions communicated by You unless expressly agreed. Any arrangements,
+ understandings, or agreements regarding the Licensed Material not stated herein
+ are separate from and independent of the terms and conditions of this Public
+ License.
+ .
+ Section 8 – Interpretation.
+ .
+ For the avoidance of doubt, this Public License does not, and shall not be
+ interpreted to, reduce, limit, restrict, or impose conditions on any use of the
+ Licensed Material that could lawfully be made without permission under this
+ Public License. To the extent possible, if any provision of this Public
+ License is deemed unenforceable, it shall be automatically reformed to the
+ minimum extent necessary to make it enforceable. If the provision cannot be
+ reformed, it shall be severed from this Public License without affecting the
+ enforceability of the remaining terms and conditions. No term or condition of
+ this Public License will be waived and no failure to comply consented to unless
+ expressly agreed to by the Licensor. Nothing in this Public License
+ constitutes or may be interpreted as a limitation upon, or waiver of, any
+ privileges and immunities that apply to the Licensor or You, including from the
+ legal processes of any jurisdiction or authority.
diff --git a/debian/flatbuffers-compiler-dev.install b/debian/flatbuffers-compiler-dev.install
new file mode 100644
index 0000000..a728bcd
--- /dev/null
+++ b/debian/flatbuffers-compiler-dev.install
@@ -0,0 +1 @@
+usr/lib/*/cmake/flatbuffers/Flatc*
diff --git a/debian/flatbuffers-compiler.install b/debian/flatbuffers-compiler.install
new file mode 100644
index 0000000..4a33870
--- /dev/null
+++ b/debian/flatbuffers-compiler.install
@@ -0,0 +1 @@
+usr/bin/flatc
diff --git a/debian/flatbuffers-compiler.lintian-overrides b/debian/flatbuffers-compiler.lintian-overrides
new file mode 100644
index 0000000..d8b0e88
--- /dev/null
+++ b/debian/flatbuffers-compiler.lintian-overrides
@@ -0,0 +1 @@
+no-manual-page [usr/bin/flatc]
diff --git a/debian/gbp.conf b/debian/gbp.conf
new file mode 100644
index 0000000..2799d18
--- /dev/null
+++ b/debian/gbp.conf
@@ -0,0 +1,4 @@
+[DEFAULT]
+
+debian-branch = debian/master
+pristine-tar = false
diff --git a/debian/gitlab-ci.yml b/debian/gitlab-ci.yml
new file mode 100644
index 0000000..0aee5b4
--- /dev/null
+++ b/debian/gitlab-ci.yml
@@ -0,0 +1,8 @@
+include:
+ - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/salsa-ci.yml
+ - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/pipeline-jobs.yml
+
+variables:
+ SALSA_CI_DISABLE_MISSING_BREAKS: 0
+ SALSA_CI_DISABLE_RC_BUGS: 0
+ SALSA_CI_DISABLE_REPROTEST: 1
diff --git a/debian/libflatbuffers-dev.install b/debian/libflatbuffers-dev.install
new file mode 100644
index 0000000..78fcdf2
--- /dev/null
+++ b/debian/libflatbuffers-dev.install
@@ -0,0 +1,8 @@
+usr/include/flatbuffers/
+usr/lib/*/cmake/flatbuffers/FlatBuffers*
+usr/lib/*/cmake/flatbuffers/BuildFlatBuffers.cmake
+usr/lib/*/cmake/flatbuffers/flatbuffers-config-version.cmake
+usr/lib/*/cmake/flatbuffers/flatbuffers-config.cmake
+usr/lib/*/libflatbuffers.a
+usr/lib/*/libflatbuffers.so
+usr/lib/*/pkgconfig
diff --git a/debian/libflatbuffers23.5.26.install b/debian/libflatbuffers23.5.26.install
new file mode 100644
index 0000000..6b76488
--- /dev/null
+++ b/debian/libflatbuffers23.5.26.install
@@ -0,0 +1,2 @@
+# usr/lib/*/libflatbuffers.so.23
+usr/lib/*/libflatbuffers.so.23.*
diff --git a/debian/missing-sources/tests/ts/my-game/example/monster.js b/debian/missing-sources/tests/ts/my-game/example/monster.js
new file mode 100644
index 0000000..6d71945
--- /dev/null
+++ b/debian/missing-sources/tests/ts/my-game/example/monster.js
@@ -0,0 +1,1269 @@
+// automatically generated by the FlatBuffers compiler, do not modify
+import * as flatbuffers from 'flatbuffers';
+import { Ability } from '../../my-game/example/ability.js';
+import { Any, unionToAny } from '../../my-game/example/any.js';
+import { AnyAmbiguousAliases, unionToAnyAmbiguousAliases } from '../../my-game/example/any-ambiguous-aliases.js';
+import { AnyUniqueAliases, unionToAnyUniqueAliases } from '../../my-game/example/any-unique-aliases.js';
+import { Color } from '../../my-game/example/color.js';
+import { Race } from '../../my-game/example/race.js';
+import { Referrable } from '../../my-game/example/referrable.js';
+import { Stat } from '../../my-game/example/stat.js';
+import { Test } from '../../my-game/example/test.js';
+import { Vec3 } from '../../my-game/example/vec3.js';
+import { InParentNamespace } from '../../my-game/in-parent-namespace.js';
+/**
+ * an example documentation comment: "monster object"
+ */
+export class Monster {
+ constructor() {
+ this.bb = null;
+ this.bb_pos = 0;
+ }
+ __init(i, bb) {
+ this.bb_pos = i;
+ this.bb = bb;
+ return this;
+ }
+ static getRootAsMonster(bb, obj) {
+ return (obj || new Monster()).__init(bb.readInt32(bb.position()) + bb.position(), bb);
+ }
+ static getSizePrefixedRootAsMonster(bb, obj) {
+ bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);
+ return (obj || new Monster()).__init(bb.readInt32(bb.position()) + bb.position(), bb);
+ }
+ static bufferHasIdentifier(bb) {
+ return bb.__has_identifier('MONS');
+ }
+ pos(obj) {
+ const offset = this.bb.__offset(this.bb_pos, 4);
+ return offset ? (obj || new Vec3()).__init(this.bb_pos + offset, this.bb) : null;
+ }
+ mana() {
+ const offset = this.bb.__offset(this.bb_pos, 6);
+ return offset ? this.bb.readInt16(this.bb_pos + offset) : 150;
+ }
+ mutate_mana(value) {
+ const offset = this.bb.__offset(this.bb_pos, 6);
+ if (offset === 0) {
+ return false;
+ }
+ this.bb.writeInt16(this.bb_pos + offset, value);
+ return true;
+ }
+ hp() {
+ const offset = this.bb.__offset(this.bb_pos, 8);
+ return offset ? this.bb.readInt16(this.bb_pos + offset) : 100;
+ }
+ mutate_hp(value) {
+ const offset = this.bb.__offset(this.bb_pos, 8);
+ if (offset === 0) {
+ return false;
+ }
+ this.bb.writeInt16(this.bb_pos + offset, value);
+ return true;
+ }
+ name(optionalEncoding) {
+ const offset = this.bb.__offset(this.bb_pos, 10);
+ return offset ? this.bb.__string(this.bb_pos + offset, optionalEncoding) : null;
+ }
+ inventory(index) {
+ const offset = this.bb.__offset(this.bb_pos, 14);
+ return offset ? this.bb.readUint8(this.bb.__vector(this.bb_pos + offset) + index) : 0;
+ }
+ inventoryLength() {
+ const offset = this.bb.__offset(this.bb_pos, 14);
+ return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0;
+ }
+ inventoryArray() {
+ const offset = this.bb.__offset(this.bb_pos, 14);
+ return offset ? new Uint8Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), this.bb.__vector_len(this.bb_pos + offset)) : null;
+ }
+ color() {
+ const offset = this.bb.__offset(this.bb_pos, 16);
+ return offset ? this.bb.readUint8(this.bb_pos + offset) : Color.Blue;
+ }
+ mutate_color(value) {
+ const offset = this.bb.__offset(this.bb_pos, 16);
+ if (offset === 0) {
+ return false;
+ }
+ this.bb.writeUint8(this.bb_pos + offset, value);
+ return true;
+ }
+ testType() {
+ const offset = this.bb.__offset(this.bb_pos, 18);
+ return offset ? this.bb.readUint8(this.bb_pos + offset) : Any.NONE;
+ }
+ test(obj) {
+ const offset = this.bb.__offset(this.bb_pos, 20);
+ return offset ? this.bb.__union(obj, this.bb_pos + offset) : null;
+ }
+ test4(index, obj) {
+ const offset = this.bb.__offset(this.bb_pos, 22);
+ return offset ? (obj || new Test()).__init(this.bb.__vector(this.bb_pos + offset) + index * 4, this.bb) : null;
+ }
+ test4Length() {
+ const offset = this.bb.__offset(this.bb_pos, 22);
+ return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0;
+ }
+ testarrayofstring(index, optionalEncoding) {
+ const offset = this.bb.__offset(this.bb_pos, 24);
+ return offset ? this.bb.__string(this.bb.__vector(this.bb_pos + offset) + index * 4, optionalEncoding) : null;
+ }
+ testarrayofstringLength() {
+ const offset = this.bb.__offset(this.bb_pos, 24);
+ return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0;
+ }
+ /**
+ * an example documentation comment: this will end up in the generated code
+ * multiline too
+ */
+ testarrayoftables(index, obj) {
+ const offset = this.bb.__offset(this.bb_pos, 26);
+ return offset ? (obj || new Monster()).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos + offset) + index * 4), this.bb) : null;
+ }
+ testarrayoftablesLength() {
+ const offset = this.bb.__offset(this.bb_pos, 26);
+ return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0;
+ }
+ enemy(obj) {
+ const offset = this.bb.__offset(this.bb_pos, 28);
+ return offset ? (obj || new Monster()).__init(this.bb.__indirect(this.bb_pos + offset), this.bb) : null;
+ }
+ testnestedflatbuffer(index) {
+ const offset = this.bb.__offset(this.bb_pos, 30);
+ return offset ? this.bb.readUint8(this.bb.__vector(this.bb_pos + offset) + index) : 0;
+ }
+ testnestedflatbufferLength() {
+ const offset = this.bb.__offset(this.bb_pos, 30);
+ return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0;
+ }
+ testnestedflatbufferArray() {
+ const offset = this.bb.__offset(this.bb_pos, 30);
+ return offset ? new Uint8Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), this.bb.__vector_len(this.bb_pos + offset)) : null;
+ }
+ testempty(obj) {
+ const offset = this.bb.__offset(this.bb_pos, 32);
+ return offset ? (obj || new Stat()).__init(this.bb.__indirect(this.bb_pos + offset), this.bb) : null;
+ }
+ testbool() {
+ const offset = this.bb.__offset(this.bb_pos, 34);
+ return offset ? !!this.bb.readInt8(this.bb_pos + offset) : false;
+ }
+ mutate_testbool(value) {
+ const offset = this.bb.__offset(this.bb_pos, 34);
+ if (offset === 0) {
+ return false;
+ }
+ this.bb.writeInt8(this.bb_pos + offset, +value);
+ return true;
+ }
+ testhashs32Fnv1() {
+ const offset = this.bb.__offset(this.bb_pos, 36);
+ return offset ? this.bb.readInt32(this.bb_pos + offset) : 0;
+ }
+ mutate_testhashs32_fnv1(value) {
+ const offset = this.bb.__offset(this.bb_pos, 36);
+ if (offset === 0) {
+ return false;
+ }
+ this.bb.writeInt32(this.bb_pos + offset, value);
+ return true;
+ }
+ testhashu32Fnv1() {
+ const offset = this.bb.__offset(this.bb_pos, 38);
+ return offset ? this.bb.readUint32(this.bb_pos + offset) : 0;
+ }
+ mutate_testhashu32_fnv1(value) {
+ const offset = this.bb.__offset(this.bb_pos, 38);
+ if (offset === 0) {
+ return false;
+ }
+ this.bb.writeUint32(this.bb_pos + offset, value);
+ return true;
+ }
+ testhashs64Fnv1() {
+ const offset = this.bb.__offset(this.bb_pos, 40);
+ return offset ? this.bb.readInt64(this.bb_pos + offset) : BigInt('0');
+ }
+ mutate_testhashs64_fnv1(value) {
+ const offset = this.bb.__offset(this.bb_pos, 40);
+ if (offset === 0) {
+ return false;
+ }
+ this.bb.writeInt64(this.bb_pos + offset, value);
+ return true;
+ }
+ testhashu64Fnv1() {
+ const offset = this.bb.__offset(this.bb_pos, 42);
+ return offset ? this.bb.readUint64(this.bb_pos + offset) : BigInt('0');
+ }
+ mutate_testhashu64_fnv1(value) {
+ const offset = this.bb.__offset(this.bb_pos, 42);
+ if (offset === 0) {
+ return false;
+ }
+ this.bb.writeUint64(this.bb_pos + offset, value);
+ return true;
+ }
+ testhashs32Fnv1a() {
+ const offset = this.bb.__offset(this.bb_pos, 44);
+ return offset ? this.bb.readInt32(this.bb_pos + offset) : 0;
+ }
+ mutate_testhashs32_fnv1a(value) {
+ const offset = this.bb.__offset(this.bb_pos, 44);
+ if (offset === 0) {
+ return false;
+ }
+ this.bb.writeInt32(this.bb_pos + offset, value);
+ return true;
+ }
+ testhashu32Fnv1a() {
+ const offset = this.bb.__offset(this.bb_pos, 46);
+ return offset ? this.bb.readUint32(this.bb_pos + offset) : 0;
+ }
+ mutate_testhashu32_fnv1a(value) {
+ const offset = this.bb.__offset(this.bb_pos, 46);
+ if (offset === 0) {
+ return false;
+ }
+ this.bb.writeUint32(this.bb_pos + offset, value);
+ return true;
+ }
+ testhashs64Fnv1a() {
+ const offset = this.bb.__offset(this.bb_pos, 48);
+ return offset ? this.bb.readInt64(this.bb_pos + offset) : BigInt('0');
+ }
+ mutate_testhashs64_fnv1a(value) {
+ const offset = this.bb.__offset(this.bb_pos, 48);
+ if (offset === 0) {
+ return false;
+ }
+ this.bb.writeInt64(this.bb_pos + offset, value);
+ return true;
+ }
+ testhashu64Fnv1a() {
+ const offset = this.bb.__offset(this.bb_pos, 50);
+ return offset ? this.bb.readUint64(this.bb_pos + offset) : BigInt('0');
+ }
+ mutate_testhashu64_fnv1a(value) {
+ const offset = this.bb.__offset(this.bb_pos, 50);
+ if (offset === 0) {
+ return false;
+ }
+ this.bb.writeUint64(this.bb_pos + offset, value);
+ return true;
+ }
+ testarrayofbools(index) {
+ const offset = this.bb.__offset(this.bb_pos, 52);
+ return offset ? !!this.bb.readInt8(this.bb.__vector(this.bb_pos + offset) + index) : false;
+ }
+ testarrayofboolsLength() {
+ const offset = this.bb.__offset(this.bb_pos, 52);
+ return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0;
+ }
+ testarrayofboolsArray() {
+ const offset = this.bb.__offset(this.bb_pos, 52);
+ return offset ? new Int8Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), this.bb.__vector_len(this.bb_pos + offset)) : null;
+ }
+ testf() {
+ const offset = this.bb.__offset(this.bb_pos, 54);
+ return offset ? this.bb.readFloat32(this.bb_pos + offset) : 3.14159;
+ }
+ mutate_testf(value) {
+ const offset = this.bb.__offset(this.bb_pos, 54);
+ if (offset === 0) {
+ return false;
+ }
+ this.bb.writeFloat32(this.bb_pos + offset, value);
+ return true;
+ }
+ testf2() {
+ const offset = this.bb.__offset(this.bb_pos, 56);
+ return offset ? this.bb.readFloat32(this.bb_pos + offset) : 3.0;
+ }
+ mutate_testf2(value) {
+ const offset = this.bb.__offset(this.bb_pos, 56);
+ if (offset === 0) {
+ return false;
+ }
+ this.bb.writeFloat32(this.bb_pos + offset, value);
+ return true;
+ }
+ testf3() {
+ const offset = this.bb.__offset(this.bb_pos, 58);
+ return offset ? this.bb.readFloat32(this.bb_pos + offset) : 0.0;
+ }
+ mutate_testf3(value) {
+ const offset = this.bb.__offset(this.bb_pos, 58);
+ if (offset === 0) {
+ return false;
+ }
+ this.bb.writeFloat32(this.bb_pos + offset, value);
+ return true;
+ }
+ testarrayofstring2(index, optionalEncoding) {
+ const offset = this.bb.__offset(this.bb_pos, 60);
+ return offset ? this.bb.__string(this.bb.__vector(this.bb_pos + offset) + index * 4, optionalEncoding) : null;
+ }
+ testarrayofstring2Length() {
+ const offset = this.bb.__offset(this.bb_pos, 60);
+ return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0;
+ }
+ testarrayofsortedstruct(index, obj) {
+ const offset = this.bb.__offset(this.bb_pos, 62);
+ return offset ? (obj || new Ability()).__init(this.bb.__vector(this.bb_pos + offset) + index * 8, this.bb) : null;
+ }
+ testarrayofsortedstructLength() {
+ const offset = this.bb.__offset(this.bb_pos, 62);
+ return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0;
+ }
+ flex(index) {
+ const offset = this.bb.__offset(this.bb_pos, 64);
+ return offset ? this.bb.readUint8(this.bb.__vector(this.bb_pos + offset) + index) : 0;
+ }
+ flexLength() {
+ const offset = this.bb.__offset(this.bb_pos, 64);
+ return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0;
+ }
+ flexArray() {
+ const offset = this.bb.__offset(this.bb_pos, 64);
+ return offset ? new Uint8Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), this.bb.__vector_len(this.bb_pos + offset)) : null;
+ }
+ test5(index, obj) {
+ const offset = this.bb.__offset(this.bb_pos, 66);
+ return offset ? (obj || new Test()).__init(this.bb.__vector(this.bb_pos + offset) + index * 4, this.bb) : null;
+ }
+ test5Length() {
+ const offset = this.bb.__offset(this.bb_pos, 66);
+ return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0;
+ }
+ vectorOfLongs(index) {
+ const offset = this.bb.__offset(this.bb_pos, 68);
+ return offset ? this.bb.readInt64(this.bb.__vector(this.bb_pos + offset) + index * 8) : BigInt(0);
+ }
+ vectorOfLongsLength() {
+ const offset = this.bb.__offset(this.bb_pos, 68);
+ return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0;
+ }
+ vectorOfDoubles(index) {
+ const offset = this.bb.__offset(this.bb_pos, 70);
+ return offset ? this.bb.readFloat64(this.bb.__vector(this.bb_pos + offset) + index * 8) : 0;
+ }
+ vectorOfDoublesLength() {
+ const offset = this.bb.__offset(this.bb_pos, 70);
+ return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0;
+ }
+ vectorOfDoublesArray() {
+ const offset = this.bb.__offset(this.bb_pos, 70);
+ return offset ? new Float64Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), this.bb.__vector_len(this.bb_pos + offset)) : null;
+ }
+ parentNamespaceTest(obj) {
+ const offset = this.bb.__offset(this.bb_pos, 72);
+ return offset ? (obj || new InParentNamespace()).__init(this.bb.__indirect(this.bb_pos + offset), this.bb) : null;
+ }
+ vectorOfReferrables(index, obj) {
+ const offset = this.bb.__offset(this.bb_pos, 74);
+ return offset ? (obj || new Referrable()).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos + offset) + index * 4), this.bb) : null;
+ }
+ vectorOfReferrablesLength() {
+ const offset = this.bb.__offset(this.bb_pos, 74);
+ return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0;
+ }
+ singleWeakReference() {
+ const offset = this.bb.__offset(this.bb_pos, 76);
+ return offset ? this.bb.readUint64(this.bb_pos + offset) : BigInt('0');
+ }
+ mutate_single_weak_reference(value) {
+ const offset = this.bb.__offset(this.bb_pos, 76);
+ if (offset === 0) {
+ return false;
+ }
+ this.bb.writeUint64(this.bb_pos + offset, value);
+ return true;
+ }
+ vectorOfWeakReferences(index) {
+ const offset = this.bb.__offset(this.bb_pos, 78);
+ return offset ? this.bb.readUint64(this.bb.__vector(this.bb_pos + offset) + index * 8) : BigInt(0);
+ }
+ vectorOfWeakReferencesLength() {
+ const offset = this.bb.__offset(this.bb_pos, 78);
+ return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0;
+ }
+ vectorOfStrongReferrables(index, obj) {
+ const offset = this.bb.__offset(this.bb_pos, 80);
+ return offset ? (obj || new Referrable()).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos + offset) + index * 4), this.bb) : null;
+ }
+ vectorOfStrongReferrablesLength() {
+ const offset = this.bb.__offset(this.bb_pos, 80);
+ return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0;
+ }
+ coOwningReference() {
+ const offset = this.bb.__offset(this.bb_pos, 82);
+ return offset ? this.bb.readUint64(this.bb_pos + offset) : BigInt('0');
+ }
+ mutate_co_owning_reference(value) {
+ const offset = this.bb.__offset(this.bb_pos, 82);
+ if (offset === 0) {
+ return false;
+ }
+ this.bb.writeUint64(this.bb_pos + offset, value);
+ return true;
+ }
+ vectorOfCoOwningReferences(index) {
+ const offset = this.bb.__offset(this.bb_pos, 84);
+ return offset ? this.bb.readUint64(this.bb.__vector(this.bb_pos + offset) + index * 8) : BigInt(0);
+ }
+ vectorOfCoOwningReferencesLength() {
+ const offset = this.bb.__offset(this.bb_pos, 84);
+ return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0;
+ }
+ nonOwningReference() {
+ const offset = this.bb.__offset(this.bb_pos, 86);
+ return offset ? this.bb.readUint64(this.bb_pos + offset) : BigInt('0');
+ }
+ mutate_non_owning_reference(value) {
+ const offset = this.bb.__offset(this.bb_pos, 86);
+ if (offset === 0) {
+ return false;
+ }
+ this.bb.writeUint64(this.bb_pos + offset, value);
+ return true;
+ }
+ vectorOfNonOwningReferences(index) {
+ const offset = this.bb.__offset(this.bb_pos, 88);
+ return offset ? this.bb.readUint64(this.bb.__vector(this.bb_pos + offset) + index * 8) : BigInt(0);
+ }
+ vectorOfNonOwningReferencesLength() {
+ const offset = this.bb.__offset(this.bb_pos, 88);
+ return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0;
+ }
+ anyUniqueType() {
+ const offset = this.bb.__offset(this.bb_pos, 90);
+ return offset ? this.bb.readUint8(this.bb_pos + offset) : AnyUniqueAliases.NONE;
+ }
+ anyUnique(obj) {
+ const offset = this.bb.__offset(this.bb_pos, 92);
+ return offset ? this.bb.__union(obj, this.bb_pos + offset) : null;
+ }
+ anyAmbiguousType() {
+ const offset = this.bb.__offset(this.bb_pos, 94);
+ return offset ? this.bb.readUint8(this.bb_pos + offset) : AnyAmbiguousAliases.NONE;
+ }
+ anyAmbiguous(obj) {
+ const offset = this.bb.__offset(this.bb_pos, 96);
+ return offset ? this.bb.__union(obj, this.bb_pos + offset) : null;
+ }
+ vectorOfEnums(index) {
+ const offset = this.bb.__offset(this.bb_pos, 98);
+ return offset ? this.bb.readUint8(this.bb.__vector(this.bb_pos + offset) + index) : 0;
+ }
+ vectorOfEnumsLength() {
+ const offset = this.bb.__offset(this.bb_pos, 98);
+ return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0;
+ }
+ vectorOfEnumsArray() {
+ const offset = this.bb.__offset(this.bb_pos, 98);
+ return offset ? new Uint8Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), this.bb.__vector_len(this.bb_pos + offset)) : null;
+ }
+ signedEnum() {
+ const offset = this.bb.__offset(this.bb_pos, 100);
+ return offset ? this.bb.readInt8(this.bb_pos + offset) : Race.None;
+ }
+ mutate_signed_enum(value) {
+ const offset = this.bb.__offset(this.bb_pos, 100);
+ if (offset === 0) {
+ return false;
+ }
+ this.bb.writeInt8(this.bb_pos + offset, value);
+ return true;
+ }
+ testrequirednestedflatbuffer(index) {
+ const offset = this.bb.__offset(this.bb_pos, 102);
+ return offset ? this.bb.readUint8(this.bb.__vector(this.bb_pos + offset) + index) : 0;
+ }
+ testrequirednestedflatbufferLength() {
+ const offset = this.bb.__offset(this.bb_pos, 102);
+ return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0;
+ }
+ testrequirednestedflatbufferArray() {
+ const offset = this.bb.__offset(this.bb_pos, 102);
+ return offset ? new Uint8Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), this.bb.__vector_len(this.bb_pos + offset)) : null;
+ }
+ scalarKeySortedTables(index, obj) {
+ const offset = this.bb.__offset(this.bb_pos, 104);
+ return offset ? (obj || new Stat()).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos + offset) + index * 4), this.bb) : null;
+ }
+ scalarKeySortedTablesLength() {
+ const offset = this.bb.__offset(this.bb_pos, 104);
+ return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0;
+ }
+ nativeInline(obj) {
+ const offset = this.bb.__offset(this.bb_pos, 106);
+ return offset ? (obj || new Test()).__init(this.bb_pos + offset, this.bb) : null;
+ }
+ longEnumNonEnumDefault() {
+ const offset = this.bb.__offset(this.bb_pos, 108);
+ return offset ? this.bb.readUint64(this.bb_pos + offset) : BigInt('0');
+ }
+ mutate_long_enum_non_enum_default(value) {
+ const offset = this.bb.__offset(this.bb_pos, 108);
+ if (offset === 0) {
+ return false;
+ }
+ this.bb.writeUint64(this.bb_pos + offset, value);
+ return true;
+ }
+ longEnumNormalDefault() {
+ const offset = this.bb.__offset(this.bb_pos, 110);
+ return offset ? this.bb.readUint64(this.bb_pos + offset) : BigInt('2');
+ }
+ mutate_long_enum_normal_default(value) {
+ const offset = this.bb.__offset(this.bb_pos, 110);
+ if (offset === 0) {
+ return false;
+ }
+ this.bb.writeUint64(this.bb_pos + offset, value);
+ return true;
+ }
+ nanDefault() {
+ const offset = this.bb.__offset(this.bb_pos, 112);
+ return offset ? this.bb.readFloat32(this.bb_pos + offset) : NaN;
+ }
+ mutate_nan_default(value) {
+ const offset = this.bb.__offset(this.bb_pos, 112);
+ if (offset === 0) {
+ return false;
+ }
+ this.bb.writeFloat32(this.bb_pos + offset, value);
+ return true;
+ }
+ infDefault() {
+ const offset = this.bb.__offset(this.bb_pos, 114);
+ return offset ? this.bb.readFloat32(this.bb_pos + offset) : Infinity;
+ }
+ mutate_inf_default(value) {
+ const offset = this.bb.__offset(this.bb_pos, 114);
+ if (offset === 0) {
+ return false;
+ }
+ this.bb.writeFloat32(this.bb_pos + offset, value);
+ return true;
+ }
+ positiveInfDefault() {
+ const offset = this.bb.__offset(this.bb_pos, 116);
+ return offset ? this.bb.readFloat32(this.bb_pos + offset) : Infinity;
+ }
+ mutate_positive_inf_default(value) {
+ const offset = this.bb.__offset(this.bb_pos, 116);
+ if (offset === 0) {
+ return false;
+ }
+ this.bb.writeFloat32(this.bb_pos + offset, value);
+ return true;
+ }
+ infinityDefault() {
+ const offset = this.bb.__offset(this.bb_pos, 118);
+ return offset ? this.bb.readFloat32(this.bb_pos + offset) : Infinity;
+ }
+ mutate_infinity_default(value) {
+ const offset = this.bb.__offset(this.bb_pos, 118);
+ if (offset === 0) {
+ return false;
+ }
+ this.bb.writeFloat32(this.bb_pos + offset, value);
+ return true;
+ }
+ positiveInfinityDefault() {
+ const offset = this.bb.__offset(this.bb_pos, 120);
+ return offset ? this.bb.readFloat32(this.bb_pos + offset) : Infinity;
+ }
+ mutate_positive_infinity_default(value) {
+ const offset = this.bb.__offset(this.bb_pos, 120);
+ if (offset === 0) {
+ return false;
+ }
+ this.bb.writeFloat32(this.bb_pos + offset, value);
+ return true;
+ }
+ negativeInfDefault() {
+ const offset = this.bb.__offset(this.bb_pos, 122);
+ return offset ? this.bb.readFloat32(this.bb_pos + offset) : -Infinity;
+ }
+ mutate_negative_inf_default(value) {
+ const offset = this.bb.__offset(this.bb_pos, 122);
+ if (offset === 0) {
+ return false;
+ }
+ this.bb.writeFloat32(this.bb_pos + offset, value);
+ return true;
+ }
+ negativeInfinityDefault() {
+ const offset = this.bb.__offset(this.bb_pos, 124);
+ return offset ? this.bb.readFloat32(this.bb_pos + offset) : -Infinity;
+ }
+ mutate_negative_infinity_default(value) {
+ const offset = this.bb.__offset(this.bb_pos, 124);
+ if (offset === 0) {
+ return false;
+ }
+ this.bb.writeFloat32(this.bb_pos + offset, value);
+ return true;
+ }
+ doubleInfDefault() {
+ const offset = this.bb.__offset(this.bb_pos, 126);
+ return offset ? this.bb.readFloat64(this.bb_pos + offset) : Infinity;
+ }
+ mutate_double_inf_default(value) {
+ const offset = this.bb.__offset(this.bb_pos, 126);
+ if (offset === 0) {
+ return false;
+ }
+ this.bb.writeFloat64(this.bb_pos + offset, value);
+ return true;
+ }
+ static getFullyQualifiedName() {
+ return 'MyGame.Example.Monster';
+ }
+ static startMonster(builder) {
+ builder.startObject(62);
+ }
+ static addPos(builder, posOffset) {
+ builder.addFieldStruct(0, posOffset, 0);
+ }
+ static addMana(builder, mana) {
+ builder.addFieldInt16(1, mana, 150);
+ }
+ static addHp(builder, hp) {
+ builder.addFieldInt16(2, hp, 100);
+ }
+ static addName(builder, nameOffset) {
+ builder.addFieldOffset(3, nameOffset, 0);
+ }
+ static addInventory(builder, inventoryOffset) {
+ builder.addFieldOffset(5, inventoryOffset, 0);
+ }
+ static createInventoryVector(builder, data) {
+ builder.startVector(1, data.length, 1);
+ for (let i = data.length - 1; i >= 0; i--) {
+ builder.addInt8(data[i]);
+ }
+ return builder.endVector();
+ }
+ static startInventoryVector(builder, numElems) {
+ builder.startVector(1, numElems, 1);
+ }
+ static addColor(builder, color) {
+ builder.addFieldInt8(6, color, Color.Blue);
+ }
+ static addTestType(builder, testType) {
+ builder.addFieldInt8(7, testType, Any.NONE);
+ }
+ static addTest(builder, testOffset) {
+ builder.addFieldOffset(8, testOffset, 0);
+ }
+ static addTest4(builder, test4Offset) {
+ builder.addFieldOffset(9, test4Offset, 0);
+ }
+ static startTest4Vector(builder, numElems) {
+ builder.startVector(4, numElems, 2);
+ }
+ static addTestarrayofstring(builder, testarrayofstringOffset) {
+ builder.addFieldOffset(10, testarrayofstringOffset, 0);
+ }
+ static createTestarrayofstringVector(builder, data) {
+ builder.startVector(4, data.length, 4);
+ for (let i = data.length - 1; i >= 0; i--) {
+ builder.addOffset(data[i]);
+ }
+ return builder.endVector();
+ }
+ static startTestarrayofstringVector(builder, numElems) {
+ builder.startVector(4, numElems, 4);
+ }
+ static addTestarrayoftables(builder, testarrayoftablesOffset) {
+ builder.addFieldOffset(11, testarrayoftablesOffset, 0);
+ }
+ static createTestarrayoftablesVector(builder, data) {
+ builder.startVector(4, data.length, 4);
+ for (let i = data.length - 1; i >= 0; i--) {
+ builder.addOffset(data[i]);
+ }
+ return builder.endVector();
+ }
+ static startTestarrayoftablesVector(builder, numElems) {
+ builder.startVector(4, numElems, 4);
+ }
+ static addEnemy(builder, enemyOffset) {
+ builder.addFieldOffset(12, enemyOffset, 0);
+ }
+ static addTestnestedflatbuffer(builder, testnestedflatbufferOffset) {
+ builder.addFieldOffset(13, testnestedflatbufferOffset, 0);
+ }
+ static createTestnestedflatbufferVector(builder, data) {
+ builder.startVector(1, data.length, 1);
+ for (let i = data.length - 1; i >= 0; i--) {
+ builder.addInt8(data[i]);
+ }
+ return builder.endVector();
+ }
+ static startTestnestedflatbufferVector(builder, numElems) {
+ builder.startVector(1, numElems, 1);
+ }
+ static addTestempty(builder, testemptyOffset) {
+ builder.addFieldOffset(14, testemptyOffset, 0);
+ }
+ static addTestbool(builder, testbool) {
+ builder.addFieldInt8(15, +testbool, +false);
+ }
+ static addTesthashs32Fnv1(builder, testhashs32Fnv1) {
+ builder.addFieldInt32(16, testhashs32Fnv1, 0);
+ }
+ static addTesthashu32Fnv1(builder, testhashu32Fnv1) {
+ builder.addFieldInt32(17, testhashu32Fnv1, 0);
+ }
+ static addTesthashs64Fnv1(builder, testhashs64Fnv1) {
+ builder.addFieldInt64(18, testhashs64Fnv1, BigInt('0'));
+ }
+ static addTesthashu64Fnv1(builder, testhashu64Fnv1) {
+ builder.addFieldInt64(19, testhashu64Fnv1, BigInt('0'));
+ }
+ static addTesthashs32Fnv1a(builder, testhashs32Fnv1a) {
+ builder.addFieldInt32(20, testhashs32Fnv1a, 0);
+ }
+ static addTesthashu32Fnv1a(builder, testhashu32Fnv1a) {
+ builder.addFieldInt32(21, testhashu32Fnv1a, 0);
+ }
+ static addTesthashs64Fnv1a(builder, testhashs64Fnv1a) {
+ builder.addFieldInt64(22, testhashs64Fnv1a, BigInt('0'));
+ }
+ static addTesthashu64Fnv1a(builder, testhashu64Fnv1a) {
+ builder.addFieldInt64(23, testhashu64Fnv1a, BigInt('0'));
+ }
+ static addTestarrayofbools(builder, testarrayofboolsOffset) {
+ builder.addFieldOffset(24, testarrayofboolsOffset, 0);
+ }
+ static createTestarrayofboolsVector(builder, data) {
+ builder.startVector(1, data.length, 1);
+ for (let i = data.length - 1; i >= 0; i--) {
+ builder.addInt8(+data[i]);
+ }
+ return builder.endVector();
+ }
+ static startTestarrayofboolsVector(builder, numElems) {
+ builder.startVector(1, numElems, 1);
+ }
+ static addTestf(builder, testf) {
+ builder.addFieldFloat32(25, testf, 3.14159);
+ }
+ static addTestf2(builder, testf2) {
+ builder.addFieldFloat32(26, testf2, 3.0);
+ }
+ static addTestf3(builder, testf3) {
+ builder.addFieldFloat32(27, testf3, 0.0);
+ }
+ static addTestarrayofstring2(builder, testarrayofstring2Offset) {
+ builder.addFieldOffset(28, testarrayofstring2Offset, 0);
+ }
+ static createTestarrayofstring2Vector(builder, data) {
+ builder.startVector(4, data.length, 4);
+ for (let i = data.length - 1; i >= 0; i--) {
+ builder.addOffset(data[i]);
+ }
+ return builder.endVector();
+ }
+ static startTestarrayofstring2Vector(builder, numElems) {
+ builder.startVector(4, numElems, 4);
+ }
+ static addTestarrayofsortedstruct(builder, testarrayofsortedstructOffset) {
+ builder.addFieldOffset(29, testarrayofsortedstructOffset, 0);
+ }
+ static startTestarrayofsortedstructVector(builder, numElems) {
+ builder.startVector(8, numElems, 4);
+ }
+ static addFlex(builder, flexOffset) {
+ builder.addFieldOffset(30, flexOffset, 0);
+ }
+ static createFlexVector(builder, data) {
+ builder.startVector(1, data.length, 1);
+ for (let i = data.length - 1; i >= 0; i--) {
+ builder.addInt8(data[i]);
+ }
+ return builder.endVector();
+ }
+ static startFlexVector(builder, numElems) {
+ builder.startVector(1, numElems, 1);
+ }
+ static addTest5(builder, test5Offset) {
+ builder.addFieldOffset(31, test5Offset, 0);
+ }
+ static startTest5Vector(builder, numElems) {
+ builder.startVector(4, numElems, 2);
+ }
+ static addVectorOfLongs(builder, vectorOfLongsOffset) {
+ builder.addFieldOffset(32, vectorOfLongsOffset, 0);
+ }
+ static createVectorOfLongsVector(builder, data) {
+ builder.startVector(8, data.length, 8);
+ for (let i = data.length - 1; i >= 0; i--) {
+ builder.addInt64(data[i]);
+ }
+ return builder.endVector();
+ }
+ static startVectorOfLongsVector(builder, numElems) {
+ builder.startVector(8, numElems, 8);
+ }
+ static addVectorOfDoubles(builder, vectorOfDoublesOffset) {
+ builder.addFieldOffset(33, vectorOfDoublesOffset, 0);
+ }
+ static createVectorOfDoublesVector(builder, data) {
+ builder.startVector(8, data.length, 8);
+ for (let i = data.length - 1; i >= 0; i--) {
+ builder.addFloat64(data[i]);
+ }
+ return builder.endVector();
+ }
+ static startVectorOfDoublesVector(builder, numElems) {
+ builder.startVector(8, numElems, 8);
+ }
+ static addParentNamespaceTest(builder, parentNamespaceTestOffset) {
+ builder.addFieldOffset(34, parentNamespaceTestOffset, 0);
+ }
+ static addVectorOfReferrables(builder, vectorOfReferrablesOffset) {
+ builder.addFieldOffset(35, vectorOfReferrablesOffset, 0);
+ }
+ static createVectorOfReferrablesVector(builder, data) {
+ builder.startVector(4, data.length, 4);
+ for (let i = data.length - 1; i >= 0; i--) {
+ builder.addOffset(data[i]);
+ }
+ return builder.endVector();
+ }
+ static startVectorOfReferrablesVector(builder, numElems) {
+ builder.startVector(4, numElems, 4);
+ }
+ static addSingleWeakReference(builder, singleWeakReference) {
+ builder.addFieldInt64(36, singleWeakReference, BigInt('0'));
+ }
+ static addVectorOfWeakReferences(builder, vectorOfWeakReferencesOffset) {
+ builder.addFieldOffset(37, vectorOfWeakReferencesOffset, 0);
+ }
+ static createVectorOfWeakReferencesVector(builder, data) {
+ builder.startVector(8, data.length, 8);
+ for (let i = data.length - 1; i >= 0; i--) {
+ builder.addInt64(data[i]);
+ }
+ return builder.endVector();
+ }
+ static startVectorOfWeakReferencesVector(builder, numElems) {
+ builder.startVector(8, numElems, 8);
+ }
+ static addVectorOfStrongReferrables(builder, vectorOfStrongReferrablesOffset) {
+ builder.addFieldOffset(38, vectorOfStrongReferrablesOffset, 0);
+ }
+ static createVectorOfStrongReferrablesVector(builder, data) {
+ builder.startVector(4, data.length, 4);
+ for (let i = data.length - 1; i >= 0; i--) {
+ builder.addOffset(data[i]);
+ }
+ return builder.endVector();
+ }
+ static startVectorOfStrongReferrablesVector(builder, numElems) {
+ builder.startVector(4, numElems, 4);
+ }
+ static addCoOwningReference(builder, coOwningReference) {
+ builder.addFieldInt64(39, coOwningReference, BigInt('0'));
+ }
+ static addVectorOfCoOwningReferences(builder, vectorOfCoOwningReferencesOffset) {
+ builder.addFieldOffset(40, vectorOfCoOwningReferencesOffset, 0);
+ }
+ static createVectorOfCoOwningReferencesVector(builder, data) {
+ builder.startVector(8, data.length, 8);
+ for (let i = data.length - 1; i >= 0; i--) {
+ builder.addInt64(data[i]);
+ }
+ return builder.endVector();
+ }
+ static startVectorOfCoOwningReferencesVector(builder, numElems) {
+ builder.startVector(8, numElems, 8);
+ }
+ static addNonOwningReference(builder, nonOwningReference) {
+ builder.addFieldInt64(41, nonOwningReference, BigInt('0'));
+ }
+ static addVectorOfNonOwningReferences(builder, vectorOfNonOwningReferencesOffset) {
+ builder.addFieldOffset(42, vectorOfNonOwningReferencesOffset, 0);
+ }
+ static createVectorOfNonOwningReferencesVector(builder, data) {
+ builder.startVector(8, data.length, 8);
+ for (let i = data.length - 1; i >= 0; i--) {
+ builder.addInt64(data[i]);
+ }
+ return builder.endVector();
+ }
+ static startVectorOfNonOwningReferencesVector(builder, numElems) {
+ builder.startVector(8, numElems, 8);
+ }
+ static addAnyUniqueType(builder, anyUniqueType) {
+ builder.addFieldInt8(43, anyUniqueType, AnyUniqueAliases.NONE);
+ }
+ static addAnyUnique(builder, anyUniqueOffset) {
+ builder.addFieldOffset(44, anyUniqueOffset, 0);
+ }
+ static addAnyAmbiguousType(builder, anyAmbiguousType) {
+ builder.addFieldInt8(45, anyAmbiguousType, AnyAmbiguousAliases.NONE);
+ }
+ static addAnyAmbiguous(builder, anyAmbiguousOffset) {
+ builder.addFieldOffset(46, anyAmbiguousOffset, 0);
+ }
+ static addVectorOfEnums(builder, vectorOfEnumsOffset) {
+ builder.addFieldOffset(47, vectorOfEnumsOffset, 0);
+ }
+ static createVectorOfEnumsVector(builder, data) {
+ builder.startVector(1, data.length, 1);
+ for (let i = data.length - 1; i >= 0; i--) {
+ builder.addInt8(data[i]);
+ }
+ return builder.endVector();
+ }
+ static startVectorOfEnumsVector(builder, numElems) {
+ builder.startVector(1, numElems, 1);
+ }
+ static addSignedEnum(builder, signedEnum) {
+ builder.addFieldInt8(48, signedEnum, Race.None);
+ }
+ static addTestrequirednestedflatbuffer(builder, testrequirednestedflatbufferOffset) {
+ builder.addFieldOffset(49, testrequirednestedflatbufferOffset, 0);
+ }
+ static createTestrequirednestedflatbufferVector(builder, data) {
+ builder.startVector(1, data.length, 1);
+ for (let i = data.length - 1; i >= 0; i--) {
+ builder.addInt8(data[i]);
+ }
+ return builder.endVector();
+ }
+ static startTestrequirednestedflatbufferVector(builder, numElems) {
+ builder.startVector(1, numElems, 1);
+ }
+ static addScalarKeySortedTables(builder, scalarKeySortedTablesOffset) {
+ builder.addFieldOffset(50, scalarKeySortedTablesOffset, 0);
+ }
+ static createScalarKeySortedTablesVector(builder, data) {
+ builder.startVector(4, data.length, 4);
+ for (let i = data.length - 1; i >= 0; i--) {
+ builder.addOffset(data[i]);
+ }
+ return builder.endVector();
+ }
+ static startScalarKeySortedTablesVector(builder, numElems) {
+ builder.startVector(4, numElems, 4);
+ }
+ static addNativeInline(builder, nativeInlineOffset) {
+ builder.addFieldStruct(51, nativeInlineOffset, 0);
+ }
+ static addLongEnumNonEnumDefault(builder, longEnumNonEnumDefault) {
+ builder.addFieldInt64(52, longEnumNonEnumDefault, BigInt('0'));
+ }
+ static addLongEnumNormalDefault(builder, longEnumNormalDefault) {
+ builder.addFieldInt64(53, longEnumNormalDefault, BigInt('2'));
+ }
+ static addNanDefault(builder, nanDefault) {
+ builder.addFieldFloat32(54, nanDefault, NaN);
+ }
+ static addInfDefault(builder, infDefault) {
+ builder.addFieldFloat32(55, infDefault, Infinity);
+ }
+ static addPositiveInfDefault(builder, positiveInfDefault) {
+ builder.addFieldFloat32(56, positiveInfDefault, Infinity);
+ }
+ static addInfinityDefault(builder, infinityDefault) {
+ builder.addFieldFloat32(57, infinityDefault, Infinity);
+ }
+ static addPositiveInfinityDefault(builder, positiveInfinityDefault) {
+ builder.addFieldFloat32(58, positiveInfinityDefault, Infinity);
+ }
+ static addNegativeInfDefault(builder, negativeInfDefault) {
+ builder.addFieldFloat32(59, negativeInfDefault, -Infinity);
+ }
+ static addNegativeInfinityDefault(builder, negativeInfinityDefault) {
+ builder.addFieldFloat32(60, negativeInfinityDefault, -Infinity);
+ }
+ static addDoubleInfDefault(builder, doubleInfDefault) {
+ builder.addFieldFloat64(61, doubleInfDefault, Infinity);
+ }
+ static endMonster(builder) {
+ const offset = builder.endObject();
+ builder.requiredField(offset, 10); // name
+ return offset;
+ }
+ static finishMonsterBuffer(builder, offset) {
+ builder.finish(offset, 'MONS');
+ }
+ static finishSizePrefixedMonsterBuffer(builder, offset) {
+ builder.finish(offset, 'MONS', true);
+ }
+ serialize() {
+ return this.bb.bytes();
+ }
+ static deserialize(buffer) {
+ return Monster.getRootAsMonster(new flatbuffers.ByteBuffer(buffer));
+ }
+ unpack() {
+ return new MonsterT((this.pos() !== null ? this.pos().unpack() : null), this.mana(), this.hp(), this.name(), this.bb.createScalarList(this.inventory.bind(this), this.inventoryLength()), this.color(), this.testType(), (() => {
+ const temp = unionToAny(this.testType(), this.test.bind(this));
+ if (temp === null) {
+ return null;
+ }
+ return temp.unpack();
[suppressed due to size limit]
+ const temp = unionToAnyUniqueAliases(this.anyUniqueType(), this.anyUnique.bind(this));
+ if (temp === null) {
+ return null;
+ }
+ return temp.unpack();
+ })(), this.anyAmbiguousType(), (() => {
+ const temp = unionToAnyAmbiguousAliases(this.anyAmbiguousType(), this.anyAmbiguous.bind(this));
+ if (temp === null) {
+ return null;
+ }
+ return temp.unpack();
[suppressed due to size limit]
+ }
+ unpackTo(_o) {
+ _o.pos = (this.pos() !== null ? this.pos().unpack() : null);
+ _o.mana = this.mana();
+ _o.hp = this.hp();
+ _o.name = this.name();
+ _o.inventory = this.bb.createScalarList(this.inventory.bind(this), this.inventoryLength());
+ _o.color = this.color();
+ _o.testType = this.testType();
+ _o.test = (() => {
+ const temp = unionToAny(this.testType(), this.test.bind(this));
+ if (temp === null) {
+ return null;
+ }
+ return temp.unpack();
+ })();
+ _o.test4 = this.bb.createObjList(this.test4.bind(this), this.test4Length());
+ _o.testarrayofstring = this.bb.createScalarList(this.testarrayofstring.bind(this), this.testarrayofstringLength());
+ _o.testarrayoftables = this.bb.createObjList(this.testarrayoftables.bind(this), this.testarrayoftablesLength());
+ _o.enemy = (this.enemy() !== null ? this.enemy().unpack() : null);
+ _o.testnestedflatbuffer = this.bb.createScalarList(this.testnestedflatbuffer.bind(this), this.testnestedflatbufferLength());
+ _o.testempty = (this.testempty() !== null ? this.testempty().unpack() : null);
+ _o.testbool = this.testbool();
+ _o.testhashs32Fnv1 = this.testhashs32Fnv1();
+ _o.testhashu32Fnv1 = this.testhashu32Fnv1();
+ _o.testhashs64Fnv1 = this.testhashs64Fnv1();
+ _o.testhashu64Fnv1 = this.testhashu64Fnv1();
+ _o.testhashs32Fnv1a = this.testhashs32Fnv1a();
+ _o.testhashu32Fnv1a = this.testhashu32Fnv1a();
+ _o.testhashs64Fnv1a = this.testhashs64Fnv1a();
+ _o.testhashu64Fnv1a = this.testhashu64Fnv1a();
+ _o.testarrayofbools = this.bb.createScalarList(this.testarrayofbools.bind(this), this.testarrayofboolsLength());
+ _o.testf = this.testf();
+ _o.testf2 = this.testf2();
+ _o.testf3 = this.testf3();
+ _o.testarrayofstring2 = this.bb.createScalarList(this.testarrayofstring2.bind(this), this.testarrayofstring2Length());
+ _o.testarrayofsortedstruct = this.bb.createObjList(this.testarrayofsortedstruct.bind(this), this.testarrayofsortedstructLength());
+ _o.flex = this.bb.createScalarList(this.flex.bind(this), this.flexLength());
+ _o.test5 = this.bb.createObjList(this.test5.bind(this), this.test5Length());
+ _o.vectorOfLongs = this.bb.createScalarList(this.vectorOfLongs.bind(this), this.vectorOfLongsLength());
+ _o.vectorOfDoubles = this.bb.createScalarList(this.vectorOfDoubles.bind(this), this.vectorOfDoublesLength());
+ _o.parentNamespaceTest = (this.parentNamespaceTest() !== null ? this.parentNamespaceTest().unpack() : null);
+ _o.vectorOfReferrables = this.bb.createObjList(this.vectorOfReferrables.bind(this), this.vectorOfReferrablesLength());
+ _o.singleWeakReference = this.singleWeakReference();
+ _o.vectorOfWeakReferences = this.bb.createScalarList(this.vectorOfWeakReferences.bind(this), this.vectorOfWeakReferencesLength());
+ _o.vectorOfStrongReferrables = this.bb.createObjList(this.vectorOfStrongReferrables.bind(this), this.vectorOfStrongReferrablesLength());
+ _o.coOwningReference = this.coOwningReference();
+ _o.vectorOfCoOwningReferences = this.bb.createScalarList(this.vectorOfCoOwningReferences.bind(this), this.vectorOfCoOwningReferencesLength());
+ _o.nonOwningReference = this.nonOwningReference();
+ _o.vectorOfNonOwningReferences = this.bb.createScalarList(this.vectorOfNonOwningReferences.bind(this), this.vectorOfNonOwningReferencesLength());
+ _o.anyUniqueType = this.anyUniqueType();
+ _o.anyUnique = (() => {
+ const temp = unionToAnyUniqueAliases(this.anyUniqueType(), this.anyUnique.bind(this));
+ if (temp === null) {
+ return null;
+ }
+ return temp.unpack();
+ })();
+ _o.anyAmbiguousType = this.anyAmbiguousType();
+ _o.anyAmbiguous = (() => {
+ const temp = unionToAnyAmbiguousAliases(this.anyAmbiguousType(), this.anyAmbiguous.bind(this));
+ if (temp === null) {
+ return null;
+ }
+ return temp.unpack();
+ })();
+ _o.vectorOfEnums = this.bb.createScalarList(this.vectorOfEnums.bind(this), this.vectorOfEnumsLength());
+ _o.signedEnum = this.signedEnum();
+ _o.testrequirednestedflatbuffer = this.bb.createScalarList(this.testrequirednestedflatbuffer.bind(this), this.testrequirednestedflatbufferLength());
+ _o.scalarKeySortedTables = this.bb.createObjList(this.scalarKeySortedTables.bind(this), this.scalarKeySortedTablesLength());
+ _o.nativeInline = (this.nativeInline() !== null ? this.nativeInline().unpack() : null);
+ _o.longEnumNonEnumDefault = this.longEnumNonEnumDefault();
+ _o.longEnumNormalDefault = this.longEnumNormalDefault();
+ _o.nanDefault = this.nanDefault();
+ _o.infDefault = this.infDefault();
+ _o.positiveInfDefault = this.positiveInfDefault();
+ _o.infinityDefault = this.infinityDefault();
+ _o.positiveInfinityDefault = this.positiveInfinityDefault();
+ _o.negativeInfDefault = this.negativeInfDefault();
+ _o.negativeInfinityDefault = this.negativeInfinityDefault();
+ _o.doubleInfDefault = this.doubleInfDefault();
+ }
+}
+export class MonsterT {
[suppressed due to size limit]
+ this.pos = pos;
+ this.mana = mana;
+ this.hp = hp;
+ this.name = name;
+ this.inventory = inventory;
+ this.color = color;
+ this.testType = testType;
+ this.test = test;
+ this.test4 = test4;
+ this.testarrayofstring = testarrayofstring;
+ this.testarrayoftables = testarrayoftables;
+ this.enemy = enemy;
+ this.testnestedflatbuffer = testnestedflatbuffer;
+ this.testempty = testempty;
+ this.testbool = testbool;
+ this.testhashs32Fnv1 = testhashs32Fnv1;
+ this.testhashu32Fnv1 = testhashu32Fnv1;
+ this.testhashs64Fnv1 = testhashs64Fnv1;
+ this.testhashu64Fnv1 = testhashu64Fnv1;
+ this.testhashs32Fnv1a = testhashs32Fnv1a;
+ this.testhashu32Fnv1a = testhashu32Fnv1a;
+ this.testhashs64Fnv1a = testhashs64Fnv1a;
+ this.testhashu64Fnv1a = testhashu64Fnv1a;
+ this.testarrayofbools = testarrayofbools;
+ this.testf = testf;
+ this.testf2 = testf2;
+ this.testf3 = testf3;
+ this.testarrayofstring2 = testarrayofstring2;
+ this.testarrayofsortedstruct = testarrayofsortedstruct;
+ this.flex = flex;
+ this.test5 = test5;
+ this.vectorOfLongs = vectorOfLongs;
+ this.vectorOfDoubles = vectorOfDoubles;
+ this.parentNamespaceTest = parentNamespaceTest;
+ this.vectorOfReferrables = vectorOfReferrables;
+ this.singleWeakReference = singleWeakReference;
+ this.vectorOfWeakReferences = vectorOfWeakReferences;
+ this.vectorOfStrongReferrables = vectorOfStrongReferrables;
+ this.coOwningReference = coOwningReference;
+ this.vectorOfCoOwningReferences = vectorOfCoOwningReferences;
+ this.nonOwningReference = nonOwningReference;
+ this.vectorOfNonOwningReferences = vectorOfNonOwningReferences;
+ this.anyUniqueType = anyUniqueType;
+ this.anyUnique = anyUnique;
+ this.anyAmbiguousType = anyAmbiguousType;
+ this.anyAmbiguous = anyAmbiguous;
+ this.vectorOfEnums = vectorOfEnums;
+ this.signedEnum = signedEnum;
+ this.testrequirednestedflatbuffer = testrequirednestedflatbuffer;
+ this.scalarKeySortedTables = scalarKeySortedTables;
+ this.nativeInline = nativeInline;
+ this.longEnumNonEnumDefault = longEnumNonEnumDefault;
+ this.longEnumNormalDefault = longEnumNormalDefault;
+ this.nanDefault = nanDefault;
+ this.infDefault = infDefault;
+ this.positiveInfDefault = positiveInfDefault;
+ this.infinityDefault = infinityDefault;
+ this.positiveInfinityDefault = positiveInfinityDefault;
+ this.negativeInfDefault = negativeInfDefault;
+ this.negativeInfinityDefault = negativeInfinityDefault;
+ this.doubleInfDefault = doubleInfDefault;
+ }
+ pack(builder) {
+ const name = (this.name !== null ? builder.createString(this.name) : 0);
+ const inventory = Monster.createInventoryVector(builder, this.inventory);
+ const test = builder.createObjectOffset(this.test);
+ const test4 = builder.createStructOffsetList(this.test4, Monster.startTest4Vector);
+ const testarrayofstring = Monster.createTestarrayofstringVector(builder, builder.createObjectOffsetList(this.testarrayofstring));
+ const testarrayoftables = Monster.createTestarrayoftablesVector(builder, builder.createObjectOffsetList(this.testarrayoftables));
+ const enemy = (this.enemy !== null ? this.enemy.pack(builder) : 0);
+ const testnestedflatbuffer = Monster.createTestnestedflatbufferVector(builder, this.testnestedflatbuffer);
+ const testempty = (this.testempty !== null ? this.testempty.pack(builder) : 0);
+ const testarrayofbools = Monster.createTestarrayofboolsVector(builder, this.testarrayofbools);
+ const testarrayofstring2 = Monster.createTestarrayofstring2Vector(builder, builder.createObjectOffsetList(this.testarrayofstring2));
+ const testarrayofsortedstruct = builder.createStructOffsetList(this.testarrayofsortedstruct, Monster.startTestarrayofsortedstructVector);
+ const flex = Monster.createFlexVector(builder, this.flex);
+ const test5 = builder.createStructOffsetList(this.test5, Monster.startTest5Vector);
+ const vectorOfLongs = Monster.createVectorOfLongsVector(builder, this.vectorOfLongs);
+ const vectorOfDoubles = Monster.createVectorOfDoublesVector(builder, this.vectorOfDoubles);
+ const parentNamespaceTest = (this.parentNamespaceTest !== null ? this.parentNamespaceTest.pack(builder) : 0);
+ const vectorOfReferrables = Monster.createVectorOfReferrablesVector(builder, builder.createObjectOffsetList(this.vectorOfReferrables));
+ const vectorOfWeakReferences = Monster.createVectorOfWeakReferencesVector(builder, this.vectorOfWeakReferences);
+ const vectorOfStrongReferrables = Monster.createVectorOfStrongReferrablesVector(builder, builder.createObjectOffsetList(this.vectorOfStrongReferrables));
+ const vectorOfCoOwningReferences = Monster.createVectorOfCoOwningReferencesVector(builder, this.vectorOfCoOwningReferences);
+ const vectorOfNonOwningReferences = Monster.createVectorOfNonOwningReferencesVector(builder, this.vectorOfNonOwningReferences);
+ const anyUnique = builder.createObjectOffset(this.anyUnique);
+ const anyAmbiguous = builder.createObjectOffset(this.anyAmbiguous);
+ const vectorOfEnums = Monster.createVectorOfEnumsVector(builder, this.vectorOfEnums);
+ const testrequirednestedflatbuffer = Monster.createTestrequirednestedflatbufferVector(builder, this.testrequirednestedflatbuffer);
+ const scalarKeySortedTables = Monster.createScalarKeySortedTablesVector(builder, builder.createObjectOffsetList(this.scalarKeySortedTables));
+ Monster.startMonster(builder);
+ Monster.addPos(builder, (this.pos !== null ? this.pos.pack(builder) : 0));
+ Monster.addMana(builder, this.mana);
+ Monster.addHp(builder, this.hp);
+ Monster.addName(builder, name);
+ Monster.addInventory(builder, inventory);
+ Monster.addColor(builder, this.color);
+ Monster.addTestType(builder, this.testType);
+ Monster.addTest(builder, test);
+ Monster.addTest4(builder, test4);
+ Monster.addTestarrayofstring(builder, testarrayofstring);
+ Monster.addTestarrayoftables(builder, testarrayoftables);
+ Monster.addEnemy(builder, enemy);
+ Monster.addTestnestedflatbuffer(builder, testnestedflatbuffer);
+ Monster.addTestempty(builder, testempty);
+ Monster.addTestbool(builder, this.testbool);
+ Monster.addTesthashs32Fnv1(builder, this.testhashs32Fnv1);
+ Monster.addTesthashu32Fnv1(builder, this.testhashu32Fnv1);
+ Monster.addTesthashs64Fnv1(builder, this.testhashs64Fnv1);
+ Monster.addTesthashu64Fnv1(builder, this.testhashu64Fnv1);
+ Monster.addTesthashs32Fnv1a(builder, this.testhashs32Fnv1a);
+ Monster.addTesthashu32Fnv1a(builder, this.testhashu32Fnv1a);
+ Monster.addTesthashs64Fnv1a(builder, this.testhashs64Fnv1a);
+ Monster.addTesthashu64Fnv1a(builder, this.testhashu64Fnv1a);
+ Monster.addTestarrayofbools(builder, testarrayofbools);
+ Monster.addTestf(builder, this.testf);
+ Monster.addTestf2(builder, this.testf2);
+ Monster.addTestf3(builder, this.testf3);
+ Monster.addTestarrayofstring2(builder, testarrayofstring2);
+ Monster.addTestarrayofsortedstruct(builder, testarrayofsortedstruct);
+ Monster.addFlex(builder, flex);
+ Monster.addTest5(builder, test5);
+ Monster.addVectorOfLongs(builder, vectorOfLongs);
+ Monster.addVectorOfDoubles(builder, vectorOfDoubles);
+ Monster.addParentNamespaceTest(builder, parentNamespaceTest);
+ Monster.addVectorOfReferrables(builder, vectorOfReferrables);
+ Monster.addSingleWeakReference(builder, this.singleWeakReference);
+ Monster.addVectorOfWeakReferences(builder, vectorOfWeakReferences);
+ Monster.addVectorOfStrongReferrables(builder, vectorOfStrongReferrables);
+ Monster.addCoOwningReference(builder, this.coOwningReference);
+ Monster.addVectorOfCoOwningReferences(builder, vectorOfCoOwningReferences);
+ Monster.addNonOwningReference(builder, this.nonOwningReference);
+ Monster.addVectorOfNonOwningReferences(builder, vectorOfNonOwningReferences);
+ Monster.addAnyUniqueType(builder, this.anyUniqueType);
+ Monster.addAnyUnique(builder, anyUnique);
+ Monster.addAnyAmbiguousType(builder, this.anyAmbiguousType);
+ Monster.addAnyAmbiguous(builder, anyAmbiguous);
+ Monster.addVectorOfEnums(builder, vectorOfEnums);
+ Monster.addSignedEnum(builder, this.signedEnum);
+ Monster.addTestrequirednestedflatbuffer(builder, testrequirednestedflatbuffer);
+ Monster.addScalarKeySortedTables(builder, scalarKeySortedTables);
+ Monster.addNativeInline(builder, (this.nativeInline !== null ? this.nativeInline.pack(builder) : 0));
+ Monster.addLongEnumNonEnumDefault(builder, this.longEnumNonEnumDefault);
+ Monster.addLongEnumNormalDefault(builder, this.longEnumNormalDefault);
+ Monster.addNanDefault(builder, this.nanDefault);
+ Monster.addInfDefault(builder, this.infDefault);
+ Monster.addPositiveInfDefault(builder, this.positiveInfDefault);
+ Monster.addInfinityDefault(builder, this.infinityDefault);
+ Monster.addPositiveInfinityDefault(builder, this.positiveInfinityDefault);
+ Monster.addNegativeInfDefault(builder, this.negativeInfDefault);
+ Monster.addNegativeInfinityDefault(builder, this.negativeInfinityDefault);
+ Monster.addDoubleInfDefault(builder, this.doubleInfDefault);
+ return Monster.endMonster(builder);
+ }
+}
diff --git a/debian/patches/8201.patch b/debian/patches/8201.patch
new file mode 100644
index 0000000..0b16f1c
--- /dev/null
+++ b/debian/patches/8201.patch
@@ -0,0 +1,39 @@
+From 2be7a56af0cee12f49fe382e3a5485759aa89d58 Mon Sep 17 00:00:00 2001
+From: Mo Zhou <cdluminate at gmail.com>
+Date: Fri, 29 Dec 2023 16:00:44 -0500
+Subject: [PATCH] tests: Fix the expected bin dump of NaN for mips and hppa
+ architectures.
+
+The build fails on mips64el and hppa due to the decimal dump of the
+`testnestedflatbuffer` does not match with the hard coded expectation.
+See the build log as follows:
+
+https://buildd.debian.org/status/fetch.php?pkg=flatbuffers&arch=mips64el&ver=23.5.26%2Bdfsg-1%7Eexp0&stamp=1696723928&raw=0
+
+According to tests/is_quiet_nan.h, the binary value for mips and hppa
+architectures is `0x7FBFFFFFu`, instead of `0x7FC00000u` like amd64.
+Thus, the expected decimal dump should be
+`255 (FF), 255 (FF), 191 (BF), 127 (7F)`
+instead of
+`0 (00), 0 (00), 192 (C0), 127 (7F)`
+in little endian format.
+---
+ tests/reflection_test.cpp | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/tests/reflection_test.cpp b/tests/reflection_test.cpp
+index 880f137e1bb..4d07abcc1bb 100644
+--- a/tests/reflection_test.cpp
++++ b/tests/reflection_test.cpp
+@@ -274,7 +274,11 @@ void MiniReflectFlatBuffersTest(uint8_t *flatbuf) {
+ "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "
+ "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "
+ "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 114, 0, 0, 0, 0, 0, 0, 0, "
++#if defined(__mips__) || defined(__hppa__)
++ "8, 0, 0, 0, 255, 255, 191, 127, 13, 0, 0, 0, 78, 101, 115, 116, 101, 100, "
++#else
+ "8, 0, 0, 0, 0, 0, 192, 127, 13, 0, 0, 0, 78, 101, 115, 116, 101, 100, "
++#endif
+ "77, 111, 110, 115, 116, 101, 114, 0, 0, 0 ], "
+ "testarrayofstring2: [ \"jane\", \"mary\" ], "
+ "testarrayofsortedstruct: [ { id: 0, distance: 0 }, "
diff --git a/debian/patches/s390x.patch b/debian/patches/s390x.patch
new file mode 100644
index 0000000..8d65809
--- /dev/null
+++ b/debian/patches/s390x.patch
@@ -0,0 +1,13 @@
+Index: flatbuffers/include/flatbuffers/base.h
+===================================================================
+--- flatbuffers.orig/include/flatbuffers/base.h
++++ flatbuffers/include/flatbuffers/base.h
+@@ -420,7 +420,7 @@ T ReadScalar(const void *p) {
+
+ // See https://github.com/google/flatbuffers/issues/5950
+
+-#if (FLATBUFFERS_GCC >= 100000) && (FLATBUFFERS_GCC < 110000)
++#if (FLATBUFFERS_GCC >= 100000) && (FLATBUFFERS_GCC < 120000)
+ #pragma GCC diagnostic push
+ #pragma GCC diagnostic ignored "-Wstringop-overflow"
+ #endif
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..90ba46d
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,2 @@
+s390x.patch
+8201.patch
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..c4acd1b
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,42 @@
+#!/usr/bin/make -f
+
+include /usr/share/dpkg/pkg-info.mk
+
+# SOURCE_DATE_EPOCH set by dh
+export DEB_CPPFLAGS_MAINT_APPEND = -Wno-error=date-time -Wno-error=maybe-uninitialized -Wno-error=stringop-overflow
+
+export DEB_BUILD_MAINT_OPTIONS = hardening=+all
+
+%:
+ dh $@ --with python3
+
+override_dh_auto_configure:
+ dh_auto_configure -- -DFLATBUFFERS_BUILD_SHAREDLIB=ON
+
+override_dh_auto_build-arch:
+ dh_auto_build --arch
+
+# Python3 build
+override_dh_auto_build-indep:
+ dh_auto_build --indep
+ set -e; cd python && for pv in $(shell py3versions -vr); do \
+ VERSION=$(DEB_VERSION_UPSTREAM) python$$pv setup.py build; \
+ done
+
+override_dh_auto_install-arch:
+ dh_auto_install --arch
+
+# Python3 install.
+override_dh_auto_install-indep:
+ dh_auto_install --indep
+ set -e; \
+ cd python && for pv in $(shell py3versions -vr); do \
+ VERSION=$(DEB_VERSION_UPSTREAM) python$$pv setup.py install \
+ --install-layout=deb --no-compile \
+ --root=$(CURDIR)/debian/python3-flatbuffers; \
+ done
+ find $(CURDIR)/debian/python3-flatbuffers -name 'flatbuffers-*-nspkg.pth' -delete
+
+execute_after_dh_auto_clean:
+ -$(RM) -rf python/build/ python/flatbuffers.egg-info/
+
diff --git a/debian/source/format b/debian/source/format
new file mode 100644
index 0000000..163aaf8
--- /dev/null
+++ b/debian/source/format
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/debian/source/lintian-overrides b/debian/source/lintian-overrides
new file mode 100644
index 0000000..b18bd18
--- /dev/null
+++ b/debian/source/lintian-overrides
@@ -0,0 +1,4 @@
+# this is generated by the flatbuffers itself
+source: source-is-missing [tests/my-game/example/monster.js]
+# this is generated by the flatbuffers itself
+source: source-is-missing [tests/my-game/example/struct-of-structs.js]
diff --git a/debian/upstream/metadata b/debian/upstream/metadata
new file mode 100644
index 0000000..0405d67
--- /dev/null
+++ b/debian/upstream/metadata
@@ -0,0 +1,6 @@
+Bug-Database: https://github.com/google/flatbuffers/issues
+Bug-Submit: https://github.com/google/flatbuffers/issues/new
+FAQ: https://github.com/google/flatbuffers/wiki
+Repository: https://github.com/google/flatbuffers.git
+Repository-Browse: https://github.com/google/flatbuffers
+Security-Contact: https://github.com/google/flatbuffers/tree/HEAD/SECURITY.md
diff --git a/debian/watch b/debian/watch
new file mode 100644
index 0000000..76e4b1e
--- /dev/null
+++ b/debian/watch
@@ -0,0 +1,4 @@
+version=4
+opts="dversionmangle=s/.dfsg[0-9]*//,repacksuffix=+dfsg,filenamemangle=s%(?:.*?)?v?(\d[\d.]*)\.tar\.gz%flatbuffers-$1.tar.gz%" \
+ https://github.com/google/flatbuffers/tags \
+ (?:.*?/)?v?(\d[\d.]*)\.tar\.gz
More information about the Neon-commits
mailing list