Created
October 28, 2022 16:03
-
-
Save jonahwilliams/3b4ff0c40d96962304732fd1471bae91 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// automatically generated by the FlatBuffers compiler, do not modify | |
// ignore_for_file: unused_import, unused_field, unused_element, unused_local_variable | |
library impeller.fb; | |
import 'dart:typed_data' show Uint8List; | |
import 'package:flat_buffers/flat_buffers.dart' as fb; | |
class Stage { | |
final int value; | |
const Stage._(this.value); | |
factory Stage.fromValue(int value) { | |
final result = values[value]; | |
if (result == null) { | |
throw StateError('Invalid value $value for bit flag enum Stage'); | |
} | |
return result; | |
} | |
static Stage? _createOrNull(int? value) => | |
value == null ? null : Stage.fromValue(value); | |
static const int minValue = 0; | |
static const int maxValue = 2; | |
static bool containsValue(int value) => values.containsKey(value); | |
static const Stage kVertex = Stage._(0); | |
static const Stage kFragment = Stage._(1); | |
static const Stage kCompute = Stage._(2); | |
static const Map<int, Stage> values = { | |
0: kVertex, | |
1: kFragment, | |
2: kCompute}; | |
static const fb.Reader<Stage> reader = _StageReader(); | |
@override | |
String toString() { | |
return 'Stage{value: $value}'; | |
} | |
} | |
class _StageReader extends fb.Reader<Stage> { | |
const _StageReader(); | |
@override | |
int get size => 1; | |
@override | |
Stage read(fb.BufferContext bc, int offset) => | |
Stage.fromValue(const fb.Int8Reader().read(bc, offset)); | |
} | |
class Blob { | |
Blob._(this._bc, this._bcOffset); | |
factory Blob(List<int> bytes) { | |
final rootRef = fb.BufferContext.fromBytes(bytes); | |
return reader.read(rootRef, 0); | |
} | |
static const fb.Reader<Blob> reader = _BlobReader(); | |
final fb.BufferContext _bc; | |
final int _bcOffset; | |
Stage get stage => Stage.fromValue(const fb.Int8Reader().vTableGet(_bc, _bcOffset, 4, 0)); | |
String? get name => const fb.StringReader().vTableGetNullable(_bc, _bcOffset, 6); | |
List<int>? get mapping => const fb.Uint8ListReader().vTableGetNullable(_bc, _bcOffset, 8); | |
@override | |
String toString() { | |
return 'Blob{stage: ${stage}, name: ${name}, mapping: ${mapping}}'; | |
} | |
} | |
class _BlobReader extends fb.TableReader<Blob> { | |
const _BlobReader(); | |
@override | |
Blob createObject(fb.BufferContext bc, int offset) => | |
Blob._(bc, offset); | |
} | |
class BlobBuilder { | |
BlobBuilder(this.fbBuilder); | |
final fb.Builder fbBuilder; | |
void begin() { | |
fbBuilder.startTable(3); | |
} | |
int addStage(Stage? stage) { | |
fbBuilder.addInt8(0, stage?.value); | |
return fbBuilder.offset; | |
} | |
int addNameOffset(int? offset) { | |
fbBuilder.addOffset(1, offset); | |
return fbBuilder.offset; | |
} | |
int addMappingOffset(int? offset) { | |
fbBuilder.addOffset(2, offset); | |
return fbBuilder.offset; | |
} | |
int finish() { | |
return fbBuilder.endTable(); | |
} | |
} | |
class BlobObjectBuilder extends fb.ObjectBuilder { | |
final Stage? _stage; | |
final String? _name; | |
final List<int>? _mapping; | |
BlobObjectBuilder({ | |
Stage? stage, | |
String? name, | |
List<int>? mapping, | |
}) | |
: _stage = stage, | |
_name = name, | |
_mapping = mapping; | |
/// Finish building, and store into the [fbBuilder]. | |
@override | |
int finish(fb.Builder fbBuilder) { | |
final int? nameOffset = _name == null ? null | |
: fbBuilder.writeString(_name!); | |
final int? mappingOffset = _mapping == null ? null | |
: fbBuilder.writeListUint8(_mapping!); | |
fbBuilder.startTable(3); | |
fbBuilder.addInt8(0, _stage?.value); | |
fbBuilder.addOffset(1, nameOffset); | |
fbBuilder.addOffset(2, mappingOffset); | |
return fbBuilder.endTable(); | |
} | |
/// Convenience method to serialize to byte list. | |
@override | |
Uint8List toBytes([String? fileIdentifier]) { | |
final fbBuilder = fb.Builder(deduplicateTables: false); | |
fbBuilder.finish(finish(fbBuilder), fileIdentifier); | |
return fbBuilder.buffer; | |
} | |
} | |
class BlobLibrary { | |
BlobLibrary._(this._bc, this._bcOffset); | |
factory BlobLibrary(List<int> bytes) { | |
final rootRef = fb.BufferContext.fromBytes(bytes); | |
return reader.read(rootRef, 0); | |
} | |
static const fb.Reader<BlobLibrary> reader = _BlobLibraryReader(); | |
final fb.BufferContext _bc; | |
final int _bcOffset; | |
List<Blob>? get items => const fb.ListReader<Blob>(Blob.reader).vTableGetNullable(_bc, _bcOffset, 4); | |
@override | |
String toString() { | |
return 'BlobLibrary{items: ${items}}'; | |
} | |
} | |
class _BlobLibraryReader extends fb.TableReader<BlobLibrary> { | |
const _BlobLibraryReader(); | |
@override | |
BlobLibrary createObject(fb.BufferContext bc, int offset) => | |
BlobLibrary._(bc, offset); | |
} | |
class BlobLibraryBuilder { | |
BlobLibraryBuilder(this.fbBuilder); | |
final fb.Builder fbBuilder; | |
void begin() { | |
fbBuilder.startTable(1); | |
} | |
int addItemsOffset(int? offset) { | |
fbBuilder.addOffset(0, offset); | |
return fbBuilder.offset; | |
} | |
int finish() { | |
return fbBuilder.endTable(); | |
} | |
} | |
class BlobLibraryObjectBuilder extends fb.ObjectBuilder { | |
final List<BlobObjectBuilder>? _items; | |
BlobLibraryObjectBuilder({ | |
List<BlobObjectBuilder>? items, | |
}) | |
: _items = items; | |
/// Finish building, and store into the [fbBuilder]. | |
@override | |
int finish(fb.Builder fbBuilder) { | |
final int? itemsOffset = _items == null ? null | |
: fbBuilder.writeList(_items!.map((b) => b.getOrCreateOffset(fbBuilder)).toList()); | |
fbBuilder.startTable(1); | |
fbBuilder.addOffset(0, itemsOffset); | |
return fbBuilder.endTable(); | |
} | |
/// Convenience method to serialize to byte list. | |
@override | |
Uint8List toBytes([String? fileIdentifier]) { | |
final fbBuilder = fb.Builder(deduplicateTables: false); | |
fbBuilder.finish(finish(fbBuilder), fileIdentifier); | |
return fbBuilder.buffer; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment