Squashed 'third_party/flatbuffers/' changes from bc44fad35..8aa8b9139

8aa8b9139 Fix handling of +/-inf defaults in TS/rust/go/dart codegen (#7588)
001adf782 Add support for parsing proto map fields (#7613)
dbc58ab77 Fix help output for --gen-includes (#7611)
2facfeec7 Fix missing spaces in flatc help text (#7612)
4de2814c7 Fix: arduino platform build (#7625)
37b1acdaf Fix current official name of macOS (#7627)
a22434e2a Add missing #include <algorithm> for std::min/std::max uses, and #include <limits> for std::numeric_limits<> (#7624)
214cc9468 Bump Rust version to 22.10.26 before publication (#7622)
a4ff275d9 Added option to not requires an EoF token when parsing JSON (#7620)
15f32c690 python: object generation prefix and suffix (#7565)
051afd882 Add CreateSharedString to python builder (#7608)
728c033ad Add check for presence of realpath to CMakeLists.txt to support more platforms (#7603)
4c514483d Update DartTest.sh golden files (#7606)
c2d9c2080 [TS] Add support for fixed length arrays on Typescript (#5864) (#7021) (#7581)
e34ae4c6b `build.yml`: Fix missing 'v' in version
e54536127 `build.yml` Update to Kotlin Wrapper 1.0.5
49d9f941c `release.yml` Use env var for passphrase
cefc21c1f `release.yml` Add GPG key for Maven
3e64fa724 `release.yml`: Add Maven Steps
b15f3c57e `release_yml` Use new dotnet version
ff802c680 `release.yml` Use NuGet Key directly
b401957d5 `release.yml` Changed Push to follow examples
8c8151f8f `release.yml` Fix nuget push command
ebb7c203d `release.yml` Add Nuget support
203241ed3 FlatBuffers Version 22.10.26 (#7607)
ac485609c `setup.py`: Define version directly
de5b85aa6 `release.yml`: Switch to `python` directory
de3df2d88 `release.yml`: Add publishing to PyPi
043a24f2e [Python] Fixed the issue with nested unions relying on InitFromBuf. (#7576)
5a48b0d7d release.yml: Typo
ce307556f release.yml: Remove `npm ci`
cb616e27c Create release.yml (#7605)
a54ca1e75 FlatBuffers Version 22.10.25 (#7604)
5b3fadcc1 [vector] Allow to iterate with mutables (#7586)
872a49746 [Nim] Bfbs Nim Generator (#7534)
e30170296 Make type conversions explicit. (#7595)
f7b734438 Fix LongEnum definitions (#7596)
5792623df Rust fix compilation for no_std targets #2 (#7553)
0edb27528 Update Rust version (#7574)
acc6a20d3 tests/test.cpp contains a couple of tests that are only executed (#7571)
04cd037ba Fix #7580 by documenting union schema evolution rules (#7585)
e1c5db988 Turn on clippy for Rust and fix lints for non-generated code (#7575)
b80142b90 Update documentation to mention enum value attributes (#7570)
54418f371 Add support for metadata attributes for enum values (#7567) (#7568)
c92e78a9f FlatBuffers Version 22.9.29 (#7557)
d243b904c [TS] Make strict compliant and improve typings (#7549)
374f8fb5f Rust soundness fixes (#7518)
dadbff571 Moves swift package to root of repository so it can be used directly … (#7548)
76ddae006 FlatBuffers Version 22.9.24 (#7547)
cfe157ec5 Emit internal enums when swift_implementation_only (#7545)
413115858 [Python] Python fixed size array (#7529)
88046190e Upgrade grpc to 1.49.0 and make sure it builds (#7538)
72aa85a75 [C++] Rare bad buffer content alignment if sizeof(T) != alignof(T) (#7520)
bfceebb7f Fix conform (#7532)

git-subtree-dir: third_party/flatbuffers
git-subtree-split: 8aa8b9139eb330f27816a5b8b5bbef402fbe3632
Signed-off-by: James Kuszmaul <james.kuszmaul@bluerivertech.com>
Change-Id: I943faba499baf58e9f561b1e4734922188ba8626
diff --git a/tests/ts/union_vector/attacker.ts b/tests/ts/union_vector/attacker.ts
index 6b3fc0f..0d3ca4b 100644
--- a/tests/ts/union_vector/attacker.ts
+++ b/tests/ts/union_vector/attacker.ts
@@ -4,7 +4,7 @@
 
 
 
-export class Attacker {
+export class Attacker implements flatbuffers.IUnpackableObject<AttackerT> {
   bb: flatbuffers.ByteBuffer|null = null;
   bb_pos = 0;
   __init(i:number, bb:flatbuffers.ByteBuffer):Attacker {
@@ -73,7 +73,7 @@
 }
 }
 
-export class AttackerT {
+export class AttackerT implements flatbuffers.IGeneratedObject {
 constructor(
   public swordAttackDamage: number = 0
 ){}
diff --git a/tests/ts/union_vector/book-reader.ts b/tests/ts/union_vector/book-reader.ts
index 7a31278..29a9b50 100644
--- a/tests/ts/union_vector/book-reader.ts
+++ b/tests/ts/union_vector/book-reader.ts
@@ -4,7 +4,7 @@
 
 
 
-export class BookReader {
+export class BookReader implements flatbuffers.IUnpackableObject<BookReaderT> {
   bb: flatbuffers.ByteBuffer|null = null;
   bb_pos = 0;
   __init(i:number, bb:flatbuffers.ByteBuffer):BookReader {
@@ -49,7 +49,7 @@
 }
 }
 
-export class BookReaderT {
+export class BookReaderT implements flatbuffers.IGeneratedObject {
 constructor(
   public booksRead: number = 0
 ){}
diff --git a/tests/ts/union_vector/falling-tub.ts b/tests/ts/union_vector/falling-tub.ts
index b32f99d..eeb9f72 100644
--- a/tests/ts/union_vector/falling-tub.ts
+++ b/tests/ts/union_vector/falling-tub.ts
@@ -4,7 +4,7 @@
 
 
 
-export class FallingTub {
+export class FallingTub implements flatbuffers.IUnpackableObject<FallingTubT> {
   bb: flatbuffers.ByteBuffer|null = null;
   bb_pos = 0;
   __init(i:number, bb:flatbuffers.ByteBuffer):FallingTub {
@@ -49,7 +49,7 @@
 }
 }
 
-export class FallingTubT {
+export class FallingTubT implements flatbuffers.IGeneratedObject {
 constructor(
   public weight: number = 0
 ){}
diff --git a/tests/ts/union_vector/hand-fan.ts b/tests/ts/union_vector/hand-fan.ts
index f90b4dd..dd687ba 100644
--- a/tests/ts/union_vector/hand-fan.ts
+++ b/tests/ts/union_vector/hand-fan.ts
@@ -4,7 +4,7 @@
 
 
 
-export class HandFan {
+export class HandFan implements flatbuffers.IUnpackableObject<HandFanT> {
   bb: flatbuffers.ByteBuffer|null = null;
   bb_pos = 0;
   __init(i:number, bb:flatbuffers.ByteBuffer):HandFan {
@@ -73,7 +73,7 @@
 }
 }
 
-export class HandFanT {
+export class HandFanT implements flatbuffers.IGeneratedObject {
 constructor(
   public length: number = 0
 ){}
diff --git a/tests/ts/union_vector/movie.js b/tests/ts/union_vector/movie.js
index 0245a43..53374eb 100644
--- a/tests/ts/union_vector/movie.js
+++ b/tests/ts/union_vector/movie.js
@@ -107,7 +107,7 @@
     }
     unpack() {
         return new MovieT(this.mainCharacterType(), (() => {
-            let temp = unionToCharacter(this.mainCharacterType(), this.mainCharacter.bind(this));
+            const temp = unionToCharacter(this.mainCharacterType(), this.mainCharacter.bind(this));
             if (temp === null) {
                 return null;
             }
@@ -116,13 +116,13 @@
             }
             return temp.unpack();
         })(), this.bb.createScalarList(this.charactersType.bind(this), this.charactersTypeLength()), (() => {
-            let ret = [];
+            const ret = [];
             for (let targetEnumIndex = 0; targetEnumIndex < this.charactersTypeLength(); ++targetEnumIndex) {
-                let targetEnum = this.charactersType(targetEnumIndex);
+                const targetEnum = this.charactersType(targetEnumIndex);
                 if (targetEnum === null || Character[targetEnum] === 'NONE') {
                     continue;
                 }
-                let temp = unionListToCharacter(targetEnum, this.characters.bind(this), targetEnumIndex);
+                const temp = unionListToCharacter(targetEnum, this.characters.bind(this), targetEnumIndex);
                 if (temp === null) {
                     continue;
                 }
@@ -138,7 +138,7 @@
     unpackTo(_o) {
         _o.mainCharacterType = this.mainCharacterType();
         _o.mainCharacter = (() => {
-            let temp = unionToCharacter(this.mainCharacterType(), this.mainCharacter.bind(this));
+            const temp = unionToCharacter(this.mainCharacterType(), this.mainCharacter.bind(this));
             if (temp === null) {
                 return null;
             }
@@ -149,13 +149,13 @@
         })();
         _o.charactersType = this.bb.createScalarList(this.charactersType.bind(this), this.charactersTypeLength());
         _o.characters = (() => {
-            let ret = [];
+            const ret = [];
             for (let targetEnumIndex = 0; targetEnumIndex < this.charactersTypeLength(); ++targetEnumIndex) {
-                let targetEnum = this.charactersType(targetEnumIndex);
+                const targetEnum = this.charactersType(targetEnumIndex);
                 if (targetEnum === null || Character[targetEnum] === 'NONE') {
                     continue;
                 }
-                let temp = unionListToCharacter(targetEnum, this.characters.bind(this), targetEnumIndex);
+                const temp = unionListToCharacter(targetEnum, this.characters.bind(this), targetEnumIndex);
                 if (temp === null) {
                     continue;
                 }
diff --git a/tests/ts/union_vector/movie.ts b/tests/ts/union_vector/movie.ts
index 6edeb53..a9f7553 100644
--- a/tests/ts/union_vector/movie.ts
+++ b/tests/ts/union_vector/movie.ts
@@ -8,7 +8,7 @@
 import { Rapunzel, RapunzelT } from './rapunzel.js';
 
 
-export class Movie {
+export class Movie implements flatbuffers.IUnpackableObject<MovieT> {
   bb: flatbuffers.ByteBuffer|null = null;
   bb_pos = 0;
   __init(i:number, bb:flatbuffers.ByteBuffer):Movie {
@@ -139,19 +139,19 @@
   return new MovieT(
     this.mainCharacterType(),
     (() => {
-      let temp = unionToCharacter(this.mainCharacterType(), this.mainCharacter.bind(this));
+      const temp = unionToCharacter(this.mainCharacterType(), this.mainCharacter.bind(this));
       if(temp === null) { return null; }
       if(typeof temp === 'string') { return temp; }
       return temp.unpack()
   })(),
-    this.bb!.createScalarList(this.charactersType.bind(this), this.charactersTypeLength()),
+    this.bb!.createScalarList<Character>(this.charactersType.bind(this), this.charactersTypeLength()),
     (() => {
-    let ret = [];
+    const ret: (AttackerT|BookReaderT|RapunzelT|string)[] = [];
     for(let targetEnumIndex = 0; targetEnumIndex < this.charactersTypeLength(); ++targetEnumIndex) {
-      let targetEnum = this.charactersType(targetEnumIndex);
+      const targetEnum = this.charactersType(targetEnumIndex);
       if(targetEnum === null || Character[targetEnum!] === 'NONE') { continue; }
 
-      let temp = unionListToCharacter(targetEnum, this.characters.bind(this), targetEnumIndex);
+      const temp = unionListToCharacter(targetEnum, this.characters.bind(this), targetEnumIndex);
       if(temp === null) { continue; }
       if(typeof temp === 'string') { ret.push(temp); continue; }
       ret.push(temp.unpack());
@@ -165,19 +165,19 @@
 unpackTo(_o: MovieT): void {
   _o.mainCharacterType = this.mainCharacterType();
   _o.mainCharacter = (() => {
-      let temp = unionToCharacter(this.mainCharacterType(), this.mainCharacter.bind(this));
+      const temp = unionToCharacter(this.mainCharacterType(), this.mainCharacter.bind(this));
       if(temp === null) { return null; }
       if(typeof temp === 'string') { return temp; }
       return temp.unpack()
   })();
-  _o.charactersType = this.bb!.createScalarList(this.charactersType.bind(this), this.charactersTypeLength());
+  _o.charactersType = this.bb!.createScalarList<Character>(this.charactersType.bind(this), this.charactersTypeLength());
   _o.characters = (() => {
-    let ret = [];
+    const ret: (AttackerT|BookReaderT|RapunzelT|string)[] = [];
     for(let targetEnumIndex = 0; targetEnumIndex < this.charactersTypeLength(); ++targetEnumIndex) {
-      let targetEnum = this.charactersType(targetEnumIndex);
+      const targetEnum = this.charactersType(targetEnumIndex);
       if(targetEnum === null || Character[targetEnum!] === 'NONE') { continue; }
 
-      let temp = unionListToCharacter(targetEnum, this.characters.bind(this), targetEnumIndex);
+      const temp = unionListToCharacter(targetEnum, this.characters.bind(this), targetEnumIndex);
       if(temp === null) { continue; }
       if(typeof temp === 'string') { ret.push(temp); continue; }
       ret.push(temp.unpack());
@@ -187,7 +187,7 @@
 }
 }
 
-export class MovieT {
+export class MovieT implements flatbuffers.IGeneratedObject {
 constructor(
   public mainCharacterType: Character = Character.NONE,
   public mainCharacter: AttackerT|BookReaderT|RapunzelT|string|null = null,
diff --git a/tests/ts/union_vector/rapunzel.ts b/tests/ts/union_vector/rapunzel.ts
index e1dc63d..20ca497 100644
--- a/tests/ts/union_vector/rapunzel.ts
+++ b/tests/ts/union_vector/rapunzel.ts
@@ -4,7 +4,7 @@
 
 
 
-export class Rapunzel {
+export class Rapunzel implements flatbuffers.IUnpackableObject<RapunzelT> {
   bb: flatbuffers.ByteBuffer|null = null;
   bb_pos = 0;
   __init(i:number, bb:flatbuffers.ByteBuffer):Rapunzel {
@@ -49,7 +49,7 @@
 }
 }
 
-export class RapunzelT {
+export class RapunzelT implements flatbuffers.IGeneratedObject {
 constructor(
   public hairLength: number = 0
 ){}