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} 156