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