...
1// automatically generated by the FlatBuffers compiler, do not modify
2// ignore_for_file: unused_import, unused_field, unused_element, unused_local_variable
3
4import 'dart:typed_data' show Uint8List;
5import 'package:flat_buffers/flat_buffers.dart' as fb;
6
7
8class OptionsEnum {
9 final int value;
10 const OptionsEnum._(this.value);
11
12 factory OptionsEnum.fromValue(int value) {
13 final result = values[value];
14 if (result == null) {
15 throw StateError('Invalid value $value for bit flag enum OptionsEnum');
16 }
17 return result;
18 }
19
20 static OptionsEnum? _createOrNull(int? value) =>
21 value == null ? null : OptionsEnum.fromValue(value);
22
23 static const int minValue = 1;
24 static const int maxValue = 3;
25 static bool containsValue(int value) => values.containsKey(value);
26
27 static const OptionsEnum A = OptionsEnum._(1);
28 static const OptionsEnum B = OptionsEnum._(2);
29 static const OptionsEnum C = OptionsEnum._(3);
30 static const Map<int, OptionsEnum> values = {
31 1: A,
32 2: B,
33 3: C};
34
35 static const fb.Reader<OptionsEnum> reader = _OptionsEnumReader();
36
37 @override
38 String toString() {
39 return 'OptionsEnum{value: $value}';
40 }
41}
42
43class _OptionsEnumReader extends fb.Reader<OptionsEnum> {
44 const _OptionsEnumReader();
45
46 @override
47 int get size => 4;
48
49 @override
50 OptionsEnum read(fb.BufferContext bc, int offset) =>
51 OptionsEnum.fromValue(const fb.Uint32Reader().read(bc, offset));
52}
53
54class MyTable {
55 MyTable._(this._bc, this._bcOffset);
56 factory MyTable(List<int> bytes) {
57 final rootRef = fb.BufferContext.fromBytes(bytes);
58 return reader.read(rootRef, 0);
59 }
60
61 static const fb.Reader<MyTable> reader = _MyTableReader();
62
63 final fb.BufferContext _bc;
64 final int _bcOffset;
65
66 List<OptionsEnum>? get options => const fb.ListReader<OptionsEnum>(OptionsEnum.reader).vTableGetNullable(_bc, _bcOffset, 4);
67
68 @override
69 String toString() {
70 return 'MyTable{options: ${options}}';
71 }
72
73 MyTableT unpack() => MyTableT(
74 options: const fb.ListReader<OptionsEnum>(OptionsEnum.reader, lazy: false).vTableGetNullable(_bc, _bcOffset, 4));
75
76 static int pack(fb.Builder fbBuilder, MyTableT? object) {
77 if (object == null) return 0;
78 return object.pack(fbBuilder);
79 }
80}
81
82class MyTableT implements fb.Packable {
83 List<OptionsEnum>? options;
84
85 MyTableT({
86 this.options});
87
88 @override
89 int pack(fb.Builder fbBuilder) {
90 final int? optionsOffset = options == null ? null
91 : fbBuilder.writeListUint32(options!.map((f) => f.value).toList());
92 fbBuilder.startTable(1);
93 fbBuilder.addOffset(0, optionsOffset);
94 return fbBuilder.endTable();
95 }
96
97 @override
98 String toString() {
99 return 'MyTableT{options: ${options}}';
100 }
101}
102
103class _MyTableReader extends fb.TableReader<MyTable> {
104 const _MyTableReader();
105
106 @override
107 MyTable createObject(fb.BufferContext bc, int offset) =>
108 MyTable._(bc, offset);
109}
110
111class MyTableBuilder {
112 MyTableBuilder(this.fbBuilder);
113
114 final fb.Builder fbBuilder;
115
116 void begin() {
117 fbBuilder.startTable(1);
118 }
119
120 int addOptionsOffset(int? offset) {
121 fbBuilder.addOffset(0, offset);
122 return fbBuilder.offset;
123 }
124
125 int finish() {
126 return fbBuilder.endTable();
127 }
128}
129
130class MyTableObjectBuilder extends fb.ObjectBuilder {
131 final List<OptionsEnum>? _options;
132
133 MyTableObjectBuilder({
134 List<OptionsEnum>? options,
135 })
136 : _options = options;
137
138 /// Finish building, and store into the [fbBuilder].
139 @override
140 int finish(fb.Builder fbBuilder) {
141 final int? optionsOffset = _options == null ? null
142 : fbBuilder.writeListUint32(_options!.map((f) => f.value).toList());
143 fbBuilder.startTable(1);
144 fbBuilder.addOffset(0, optionsOffset);
145 return fbBuilder.endTable();
146 }
147
148 /// Convenience method to serialize to byte list.
149 @override
150 Uint8List toBytes([String? fileIdentifier]) {
151 final fbBuilder = fb.Builder(deduplicateTables: false);
152 fbBuilder.finish(finish(fbBuilder), fileIdentifier);
153 return fbBuilder.buffer;
154 }
155}
View as plain text