1*890232f2SAndroid Build Coastguard Worker// automatically generated by the FlatBuffers compiler, do not modify 2*890232f2SAndroid Build Coastguard Workerimport * as flatbuffers from 'flatbuffers'; 3*890232f2SAndroid Build Coastguard Workerimport { Character, unionToCharacter, unionListToCharacter } from './character'; 4*890232f2SAndroid Build Coastguard Workerexport class Movie { 5*890232f2SAndroid Build Coastguard Worker constructor() { 6*890232f2SAndroid Build Coastguard Worker this.bb = null; 7*890232f2SAndroid Build Coastguard Worker this.bb_pos = 0; 8*890232f2SAndroid Build Coastguard Worker } 9*890232f2SAndroid Build Coastguard Worker __init(i, bb) { 10*890232f2SAndroid Build Coastguard Worker this.bb_pos = i; 11*890232f2SAndroid Build Coastguard Worker this.bb = bb; 12*890232f2SAndroid Build Coastguard Worker return this; 13*890232f2SAndroid Build Coastguard Worker } 14*890232f2SAndroid Build Coastguard Worker static getRootAsMovie(bb, obj) { 15*890232f2SAndroid Build Coastguard Worker return (obj || new Movie()).__init(bb.readInt32(bb.position()) + bb.position(), bb); 16*890232f2SAndroid Build Coastguard Worker } 17*890232f2SAndroid Build Coastguard Worker static getSizePrefixedRootAsMovie(bb, obj) { 18*890232f2SAndroid Build Coastguard Worker bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH); 19*890232f2SAndroid Build Coastguard Worker return (obj || new Movie()).__init(bb.readInt32(bb.position()) + bb.position(), bb); 20*890232f2SAndroid Build Coastguard Worker } 21*890232f2SAndroid Build Coastguard Worker static bufferHasIdentifier(bb) { 22*890232f2SAndroid Build Coastguard Worker return bb.__has_identifier('MOVI'); 23*890232f2SAndroid Build Coastguard Worker } 24*890232f2SAndroid Build Coastguard Worker mainCharacterType() { 25*890232f2SAndroid Build Coastguard Worker const offset = this.bb.__offset(this.bb_pos, 4); 26*890232f2SAndroid Build Coastguard Worker return offset ? this.bb.readUint8(this.bb_pos + offset) : Character.NONE; 27*890232f2SAndroid Build Coastguard Worker } 28*890232f2SAndroid Build Coastguard Worker mainCharacter(obj) { 29*890232f2SAndroid Build Coastguard Worker const offset = this.bb.__offset(this.bb_pos, 6); 30*890232f2SAndroid Build Coastguard Worker return offset ? this.bb.__union_with_string(obj, this.bb_pos + offset) : null; 31*890232f2SAndroid Build Coastguard Worker } 32*890232f2SAndroid Build Coastguard Worker charactersType(index) { 33*890232f2SAndroid Build Coastguard Worker const offset = this.bb.__offset(this.bb_pos, 8); 34*890232f2SAndroid Build Coastguard Worker return offset ? this.bb.readUint8(this.bb.__vector(this.bb_pos + offset) + index) : 0; 35*890232f2SAndroid Build Coastguard Worker } 36*890232f2SAndroid Build Coastguard Worker charactersTypeLength() { 37*890232f2SAndroid Build Coastguard Worker const offset = this.bb.__offset(this.bb_pos, 8); 38*890232f2SAndroid Build Coastguard Worker return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0; 39*890232f2SAndroid Build Coastguard Worker } 40*890232f2SAndroid Build Coastguard Worker charactersTypeArray() { 41*890232f2SAndroid Build Coastguard Worker const offset = this.bb.__offset(this.bb_pos, 8); 42*890232f2SAndroid Build Coastguard Worker 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; 43*890232f2SAndroid Build Coastguard Worker } 44*890232f2SAndroid Build Coastguard Worker characters(index, obj) { 45*890232f2SAndroid Build Coastguard Worker const offset = this.bb.__offset(this.bb_pos, 10); 46*890232f2SAndroid Build Coastguard Worker return offset ? this.bb.__union_with_string(obj, this.bb.__vector(this.bb_pos + offset) + index * 4) : null; 47*890232f2SAndroid Build Coastguard Worker } 48*890232f2SAndroid Build Coastguard Worker charactersLength() { 49*890232f2SAndroid Build Coastguard Worker const offset = this.bb.__offset(this.bb_pos, 10); 50*890232f2SAndroid Build Coastguard Worker return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0; 51*890232f2SAndroid Build Coastguard Worker } 52*890232f2SAndroid Build Coastguard Worker static getFullyQualifiedName() { 53*890232f2SAndroid Build Coastguard Worker return 'Movie'; 54*890232f2SAndroid Build Coastguard Worker } 55*890232f2SAndroid Build Coastguard Worker static startMovie(builder) { 56*890232f2SAndroid Build Coastguard Worker builder.startObject(4); 57*890232f2SAndroid Build Coastguard Worker } 58*890232f2SAndroid Build Coastguard Worker static addMainCharacterType(builder, mainCharacterType) { 59*890232f2SAndroid Build Coastguard Worker builder.addFieldInt8(0, mainCharacterType, Character.NONE); 60*890232f2SAndroid Build Coastguard Worker } 61*890232f2SAndroid Build Coastguard Worker static addMainCharacter(builder, mainCharacterOffset) { 62*890232f2SAndroid Build Coastguard Worker builder.addFieldOffset(1, mainCharacterOffset, 0); 63*890232f2SAndroid Build Coastguard Worker } 64*890232f2SAndroid Build Coastguard Worker static addCharactersType(builder, charactersTypeOffset) { 65*890232f2SAndroid Build Coastguard Worker builder.addFieldOffset(2, charactersTypeOffset, 0); 66*890232f2SAndroid Build Coastguard Worker } 67*890232f2SAndroid Build Coastguard Worker static createCharactersTypeVector(builder, data) { 68*890232f2SAndroid Build Coastguard Worker builder.startVector(1, data.length, 1); 69*890232f2SAndroid Build Coastguard Worker for (let i = data.length - 1; i >= 0; i--) { 70*890232f2SAndroid Build Coastguard Worker builder.addInt8(data[i]); 71*890232f2SAndroid Build Coastguard Worker } 72*890232f2SAndroid Build Coastguard Worker return builder.endVector(); 73*890232f2SAndroid Build Coastguard Worker } 74*890232f2SAndroid Build Coastguard Worker static startCharactersTypeVector(builder, numElems) { 75*890232f2SAndroid Build Coastguard Worker builder.startVector(1, numElems, 1); 76*890232f2SAndroid Build Coastguard Worker } 77*890232f2SAndroid Build Coastguard Worker static addCharacters(builder, charactersOffset) { 78*890232f2SAndroid Build Coastguard Worker builder.addFieldOffset(3, charactersOffset, 0); 79*890232f2SAndroid Build Coastguard Worker } 80*890232f2SAndroid Build Coastguard Worker static createCharactersVector(builder, data) { 81*890232f2SAndroid Build Coastguard Worker builder.startVector(4, data.length, 4); 82*890232f2SAndroid Build Coastguard Worker for (let i = data.length - 1; i >= 0; i--) { 83*890232f2SAndroid Build Coastguard Worker builder.addOffset(data[i]); 84*890232f2SAndroid Build Coastguard Worker } 85*890232f2SAndroid Build Coastguard Worker return builder.endVector(); 86*890232f2SAndroid Build Coastguard Worker } 87*890232f2SAndroid Build Coastguard Worker static startCharactersVector(builder, numElems) { 88*890232f2SAndroid Build Coastguard Worker builder.startVector(4, numElems, 4); 89*890232f2SAndroid Build Coastguard Worker } 90*890232f2SAndroid Build Coastguard Worker static endMovie(builder) { 91*890232f2SAndroid Build Coastguard Worker const offset = builder.endObject(); 92*890232f2SAndroid Build Coastguard Worker return offset; 93*890232f2SAndroid Build Coastguard Worker } 94*890232f2SAndroid Build Coastguard Worker static finishMovieBuffer(builder, offset) { 95*890232f2SAndroid Build Coastguard Worker builder.finish(offset, 'MOVI'); 96*890232f2SAndroid Build Coastguard Worker } 97*890232f2SAndroid Build Coastguard Worker static finishSizePrefixedMovieBuffer(builder, offset) { 98*890232f2SAndroid Build Coastguard Worker builder.finish(offset, 'MOVI', true); 99*890232f2SAndroid Build Coastguard Worker } 100*890232f2SAndroid Build Coastguard Worker static createMovie(builder, mainCharacterType, mainCharacterOffset, charactersTypeOffset, charactersOffset) { 101*890232f2SAndroid Build Coastguard Worker Movie.startMovie(builder); 102*890232f2SAndroid Build Coastguard Worker Movie.addMainCharacterType(builder, mainCharacterType); 103*890232f2SAndroid Build Coastguard Worker Movie.addMainCharacter(builder, mainCharacterOffset); 104*890232f2SAndroid Build Coastguard Worker Movie.addCharactersType(builder, charactersTypeOffset); 105*890232f2SAndroid Build Coastguard Worker Movie.addCharacters(builder, charactersOffset); 106*890232f2SAndroid Build Coastguard Worker return Movie.endMovie(builder); 107*890232f2SAndroid Build Coastguard Worker } 108*890232f2SAndroid Build Coastguard Worker unpack() { 109*890232f2SAndroid Build Coastguard Worker return new MovieT(this.mainCharacterType(), (() => { 110*890232f2SAndroid Build Coastguard Worker let temp = unionToCharacter(this.mainCharacterType(), this.mainCharacter.bind(this)); 111*890232f2SAndroid Build Coastguard Worker if (temp === null) { 112*890232f2SAndroid Build Coastguard Worker return null; 113*890232f2SAndroid Build Coastguard Worker } 114*890232f2SAndroid Build Coastguard Worker if (typeof temp === 'string') { 115*890232f2SAndroid Build Coastguard Worker return temp; 116*890232f2SAndroid Build Coastguard Worker } 117*890232f2SAndroid Build Coastguard Worker return temp.unpack(); 118*890232f2SAndroid Build Coastguard Worker })(), this.bb.createScalarList(this.charactersType.bind(this), this.charactersTypeLength()), (() => { 119*890232f2SAndroid Build Coastguard Worker let ret = []; 120*890232f2SAndroid Build Coastguard Worker for (let targetEnumIndex = 0; targetEnumIndex < this.charactersTypeLength(); ++targetEnumIndex) { 121*890232f2SAndroid Build Coastguard Worker let targetEnum = this.charactersType(targetEnumIndex); 122*890232f2SAndroid Build Coastguard Worker if (targetEnum === null || Character[targetEnum] === 'NONE') { 123*890232f2SAndroid Build Coastguard Worker continue; 124*890232f2SAndroid Build Coastguard Worker } 125*890232f2SAndroid Build Coastguard Worker let temp = unionListToCharacter(targetEnum, this.characters.bind(this), targetEnumIndex); 126*890232f2SAndroid Build Coastguard Worker if (temp === null) { 127*890232f2SAndroid Build Coastguard Worker continue; 128*890232f2SAndroid Build Coastguard Worker } 129*890232f2SAndroid Build Coastguard Worker if (typeof temp === 'string') { 130*890232f2SAndroid Build Coastguard Worker ret.push(temp); 131*890232f2SAndroid Build Coastguard Worker continue; 132*890232f2SAndroid Build Coastguard Worker } 133*890232f2SAndroid Build Coastguard Worker ret.push(temp.unpack()); 134*890232f2SAndroid Build Coastguard Worker } 135*890232f2SAndroid Build Coastguard Worker return ret; 136*890232f2SAndroid Build Coastguard Worker })()); 137*890232f2SAndroid Build Coastguard Worker } 138*890232f2SAndroid Build Coastguard Worker unpackTo(_o) { 139*890232f2SAndroid Build Coastguard Worker _o.mainCharacterType = this.mainCharacterType(); 140*890232f2SAndroid Build Coastguard Worker _o.mainCharacter = (() => { 141*890232f2SAndroid Build Coastguard Worker let temp = unionToCharacter(this.mainCharacterType(), this.mainCharacter.bind(this)); 142*890232f2SAndroid Build Coastguard Worker if (temp === null) { 143*890232f2SAndroid Build Coastguard Worker return null; 144*890232f2SAndroid Build Coastguard Worker } 145*890232f2SAndroid Build Coastguard Worker if (typeof temp === 'string') { 146*890232f2SAndroid Build Coastguard Worker return temp; 147*890232f2SAndroid Build Coastguard Worker } 148*890232f2SAndroid Build Coastguard Worker return temp.unpack(); 149*890232f2SAndroid Build Coastguard Worker })(); 150*890232f2SAndroid Build Coastguard Worker _o.charactersType = this.bb.createScalarList(this.charactersType.bind(this), this.charactersTypeLength()); 151*890232f2SAndroid Build Coastguard Worker _o.characters = (() => { 152*890232f2SAndroid Build Coastguard Worker let ret = []; 153*890232f2SAndroid Build Coastguard Worker for (let targetEnumIndex = 0; targetEnumIndex < this.charactersTypeLength(); ++targetEnumIndex) { 154*890232f2SAndroid Build Coastguard Worker let targetEnum = this.charactersType(targetEnumIndex); 155*890232f2SAndroid Build Coastguard Worker if (targetEnum === null || Character[targetEnum] === 'NONE') { 156*890232f2SAndroid Build Coastguard Worker continue; 157*890232f2SAndroid Build Coastguard Worker } 158*890232f2SAndroid Build Coastguard Worker let temp = unionListToCharacter(targetEnum, this.characters.bind(this), targetEnumIndex); 159*890232f2SAndroid Build Coastguard Worker if (temp === null) { 160*890232f2SAndroid Build Coastguard Worker continue; 161*890232f2SAndroid Build Coastguard Worker } 162*890232f2SAndroid Build Coastguard Worker if (typeof temp === 'string') { 163*890232f2SAndroid Build Coastguard Worker ret.push(temp); 164*890232f2SAndroid Build Coastguard Worker continue; 165*890232f2SAndroid Build Coastguard Worker } 166*890232f2SAndroid Build Coastguard Worker ret.push(temp.unpack()); 167*890232f2SAndroid Build Coastguard Worker } 168*890232f2SAndroid Build Coastguard Worker return ret; 169*890232f2SAndroid Build Coastguard Worker })(); 170*890232f2SAndroid Build Coastguard Worker } 171*890232f2SAndroid Build Coastguard Worker} 172*890232f2SAndroid Build Coastguard Workerexport class MovieT { 173*890232f2SAndroid Build Coastguard Worker constructor(mainCharacterType = Character.NONE, mainCharacter = null, charactersType = [], characters = []) { 174*890232f2SAndroid Build Coastguard Worker this.mainCharacterType = mainCharacterType; 175*890232f2SAndroid Build Coastguard Worker this.mainCharacter = mainCharacter; 176*890232f2SAndroid Build Coastguard Worker this.charactersType = charactersType; 177*890232f2SAndroid Build Coastguard Worker this.characters = characters; 178*890232f2SAndroid Build Coastguard Worker } 179*890232f2SAndroid Build Coastguard Worker pack(builder) { 180*890232f2SAndroid Build Coastguard Worker const mainCharacter = builder.createObjectOffset(this.mainCharacter); 181*890232f2SAndroid Build Coastguard Worker const charactersType = Movie.createCharactersTypeVector(builder, this.charactersType); 182*890232f2SAndroid Build Coastguard Worker const characters = Movie.createCharactersVector(builder, builder.createObjectOffsetList(this.characters)); 183*890232f2SAndroid Build Coastguard Worker return Movie.createMovie(builder, this.mainCharacterType, mainCharacter, charactersType, characters); 184*890232f2SAndroid Build Coastguard Worker } 185*890232f2SAndroid Build Coastguard Worker} 186