1// automatically generated by the FlatBuffers compiler, do not modify 2 3/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */ 4 5import * as flatbuffers from 'flatbuffers'; 6 7import { Enum, EnumT } from '../reflection/enum.js'; 8import { Object_, Object_T } from '../reflection/object.js'; 9import { SchemaFile, SchemaFileT } from '../reflection/schema-file.js'; 10import { Service, ServiceT } from '../reflection/service.js'; 11 12 13export class Schema implements flatbuffers.IUnpackableObject<SchemaT> { 14 bb: flatbuffers.ByteBuffer|null = null; 15 bb_pos = 0; 16 __init(i:number, bb:flatbuffers.ByteBuffer):Schema { 17 this.bb_pos = i; 18 this.bb = bb; 19 return this; 20} 21 22static getRootAsSchema(bb:flatbuffers.ByteBuffer, obj?:Schema):Schema { 23 return (obj || new Schema()).__init(bb.readInt32(bb.position()) + bb.position(), bb); 24} 25 26static getSizePrefixedRootAsSchema(bb:flatbuffers.ByteBuffer, obj?:Schema):Schema { 27 bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH); 28 return (obj || new Schema()).__init(bb.readInt32(bb.position()) + bb.position(), bb); 29} 30 31static bufferHasIdentifier(bb:flatbuffers.ByteBuffer):boolean { 32 return bb.__has_identifier('BFBS'); 33} 34 35objects(index: number, obj?:Object_):Object_|null { 36 const offset = this.bb!.__offset(this.bb_pos, 4); 37 return offset ? (obj || new Object_()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null; 38} 39 40objectsLength():number { 41 const offset = this.bb!.__offset(this.bb_pos, 4); 42 return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; 43} 44 45enums(index: number, obj?:Enum):Enum|null { 46 const offset = this.bb!.__offset(this.bb_pos, 6); 47 return offset ? (obj || new Enum()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null; 48} 49 50enumsLength():number { 51 const offset = this.bb!.__offset(this.bb_pos, 6); 52 return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; 53} 54 55fileIdent():string|null 56fileIdent(optionalEncoding:flatbuffers.Encoding):string|Uint8Array|null 57fileIdent(optionalEncoding?:any):string|Uint8Array|null { 58 const offset = this.bb!.__offset(this.bb_pos, 8); 59 return offset ? this.bb!.__string(this.bb_pos + offset, optionalEncoding) : null; 60} 61 62fileExt():string|null 63fileExt(optionalEncoding:flatbuffers.Encoding):string|Uint8Array|null 64fileExt(optionalEncoding?:any):string|Uint8Array|null { 65 const offset = this.bb!.__offset(this.bb_pos, 10); 66 return offset ? this.bb!.__string(this.bb_pos + offset, optionalEncoding) : null; 67} 68 69rootTable(obj?:Object_):Object_|null { 70 const offset = this.bb!.__offset(this.bb_pos, 12); 71 return offset ? (obj || new Object_()).__init(this.bb!.__indirect(this.bb_pos + offset), this.bb!) : null; 72} 73 74services(index: number, obj?:Service):Service|null { 75 const offset = this.bb!.__offset(this.bb_pos, 14); 76 return offset ? (obj || new Service()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null; 77} 78 79servicesLength():number { 80 const offset = this.bb!.__offset(this.bb_pos, 14); 81 return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; 82} 83 84advancedFeatures():bigint { 85 const offset = this.bb!.__offset(this.bb_pos, 16); 86 return offset ? this.bb!.readUint64(this.bb_pos + offset) : BigInt('0'); 87} 88 89mutate_advanced_features(value:bigint):boolean { 90 const offset = this.bb!.__offset(this.bb_pos, 16); 91 92 if (offset === 0) { 93 return false; 94 } 95 96 this.bb!.writeUint64(this.bb_pos + offset, value); 97 return true; 98} 99 100/** 101 * All the files used in this compilation. Files are relative to where 102 * flatc was invoked. 103 */ 104fbsFiles(index: number, obj?:SchemaFile):SchemaFile|null { 105 const offset = this.bb!.__offset(this.bb_pos, 18); 106 return offset ? (obj || new SchemaFile()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null; 107} 108 109fbsFilesLength():number { 110 const offset = this.bb!.__offset(this.bb_pos, 18); 111 return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; 112} 113 114static getFullyQualifiedName():string { 115 return 'reflection.Schema'; 116} 117 118static startSchema(builder:flatbuffers.Builder) { 119 builder.startObject(8); 120} 121 122static addObjects(builder:flatbuffers.Builder, objectsOffset:flatbuffers.Offset) { 123 builder.addFieldOffset(0, objectsOffset, 0); 124} 125 126static createObjectsVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset { 127 builder.startVector(4, data.length, 4); 128 for (let i = data.length - 1; i >= 0; i--) { 129 builder.addOffset(data[i]!); 130 } 131 return builder.endVector(); 132} 133 134static startObjectsVector(builder:flatbuffers.Builder, numElems:number) { 135 builder.startVector(4, numElems, 4); 136} 137 138static addEnums(builder:flatbuffers.Builder, enumsOffset:flatbuffers.Offset) { 139 builder.addFieldOffset(1, enumsOffset, 0); 140} 141 142static createEnumsVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset { 143 builder.startVector(4, data.length, 4); 144 for (let i = data.length - 1; i >= 0; i--) { 145 builder.addOffset(data[i]!); 146 } 147 return builder.endVector(); 148} 149 150static startEnumsVector(builder:flatbuffers.Builder, numElems:number) { 151 builder.startVector(4, numElems, 4); 152} 153 154static addFileIdent(builder:flatbuffers.Builder, fileIdentOffset:flatbuffers.Offset) { 155 builder.addFieldOffset(2, fileIdentOffset, 0); 156} 157 158static addFileExt(builder:flatbuffers.Builder, fileExtOffset:flatbuffers.Offset) { 159 builder.addFieldOffset(3, fileExtOffset, 0); 160} 161 162static addRootTable(builder:flatbuffers.Builder, rootTableOffset:flatbuffers.Offset) { 163 builder.addFieldOffset(4, rootTableOffset, 0); 164} 165 166static addServices(builder:flatbuffers.Builder, servicesOffset:flatbuffers.Offset) { 167 builder.addFieldOffset(5, servicesOffset, 0); 168} 169 170static createServicesVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset { 171 builder.startVector(4, data.length, 4); 172 for (let i = data.length - 1; i >= 0; i--) { 173 builder.addOffset(data[i]!); 174 } 175 return builder.endVector(); 176} 177 178static startServicesVector(builder:flatbuffers.Builder, numElems:number) { 179 builder.startVector(4, numElems, 4); 180} 181 182static addAdvancedFeatures(builder:flatbuffers.Builder, advancedFeatures:bigint) { 183 builder.addFieldInt64(6, advancedFeatures, BigInt('0')); 184} 185 186static addFbsFiles(builder:flatbuffers.Builder, fbsFilesOffset:flatbuffers.Offset) { 187 builder.addFieldOffset(7, fbsFilesOffset, 0); 188} 189 190static createFbsFilesVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset { 191 builder.startVector(4, data.length, 4); 192 for (let i = data.length - 1; i >= 0; i--) { 193 builder.addOffset(data[i]!); 194 } 195 return builder.endVector(); 196} 197 198static startFbsFilesVector(builder:flatbuffers.Builder, numElems:number) { 199 builder.startVector(4, numElems, 4); 200} 201 202static endSchema(builder:flatbuffers.Builder):flatbuffers.Offset { 203 const offset = builder.endObject(); 204 builder.requiredField(offset, 4) // objects 205 builder.requiredField(offset, 6) // enums 206 return offset; 207} 208 209static finishSchemaBuffer(builder:flatbuffers.Builder, offset:flatbuffers.Offset) { 210 builder.finish(offset, 'BFBS'); 211} 212 213static finishSizePrefixedSchemaBuffer(builder:flatbuffers.Builder, offset:flatbuffers.Offset) { 214 builder.finish(offset, 'BFBS', true); 215} 216 217 218unpack(): SchemaT { 219 return new SchemaT( 220 this.bb!.createObjList<Object_, Object_T>(this.objects.bind(this), this.objectsLength()), 221 this.bb!.createObjList<Enum, EnumT>(this.enums.bind(this), this.enumsLength()), 222 this.fileIdent(), 223 this.fileExt(), 224 (this.rootTable() !== null ? this.rootTable()!.unpack() : null), 225 this.bb!.createObjList<Service, ServiceT>(this.services.bind(this), this.servicesLength()), 226 this.advancedFeatures(), 227 this.bb!.createObjList<SchemaFile, SchemaFileT>(this.fbsFiles.bind(this), this.fbsFilesLength()) 228 ); 229} 230 231 232unpackTo(_o: SchemaT): void { 233 _o.objects = this.bb!.createObjList<Object_, Object_T>(this.objects.bind(this), this.objectsLength()); 234 _o.enums = this.bb!.createObjList<Enum, EnumT>(this.enums.bind(this), this.enumsLength()); 235 _o.fileIdent = this.fileIdent(); 236 _o.fileExt = this.fileExt(); 237 _o.rootTable = (this.rootTable() !== null ? this.rootTable()!.unpack() : null); 238 _o.services = this.bb!.createObjList<Service, ServiceT>(this.services.bind(this), this.servicesLength()); 239 _o.advancedFeatures = this.advancedFeatures(); 240 _o.fbsFiles = this.bb!.createObjList<SchemaFile, SchemaFileT>(this.fbsFiles.bind(this), this.fbsFilesLength()); 241} 242} 243 244export class SchemaT implements flatbuffers.IGeneratedObject { 245constructor( 246 public objects: (Object_T)[] = [], 247 public enums: (EnumT)[] = [], 248 public fileIdent: string|Uint8Array|null = null, 249 public fileExt: string|Uint8Array|null = null, 250 public rootTable: Object_T|null = null, 251 public services: (ServiceT)[] = [], 252 public advancedFeatures: bigint = BigInt('0'), 253 public fbsFiles: (SchemaFileT)[] = [] 254){} 255 256 257pack(builder:flatbuffers.Builder): flatbuffers.Offset { 258 const objects = Schema.createObjectsVector(builder, builder.createObjectOffsetList(this.objects)); 259 const enums = Schema.createEnumsVector(builder, builder.createObjectOffsetList(this.enums)); 260 const fileIdent = (this.fileIdent !== null ? builder.createString(this.fileIdent!) : 0); 261 const fileExt = (this.fileExt !== null ? builder.createString(this.fileExt!) : 0); 262 const rootTable = (this.rootTable !== null ? this.rootTable!.pack(builder) : 0); 263 const services = Schema.createServicesVector(builder, builder.createObjectOffsetList(this.services)); 264 const fbsFiles = Schema.createFbsFilesVector(builder, builder.createObjectOffsetList(this.fbsFiles)); 265 266 Schema.startSchema(builder); 267 Schema.addObjects(builder, objects); 268 Schema.addEnums(builder, enums); 269 Schema.addFileIdent(builder, fileIdent); 270 Schema.addFileExt(builder, fileExt); 271 Schema.addRootTable(builder, rootTable); 272 Schema.addServices(builder, services); 273 Schema.addAdvancedFeatures(builder, this.advancedFeatures); 274 Schema.addFbsFiles(builder, fbsFiles); 275 276 return Schema.endSchema(builder); 277} 278} 279