Skip to content

Instantly share code, notes, and snippets.

@jonahwilliams
Created October 28, 2022 16:03
Show Gist options
  • Save jonahwilliams/3b4ff0c40d96962304732fd1471bae91 to your computer and use it in GitHub Desktop.
Save jonahwilliams/3b4ff0c40d96962304732fd1471bae91 to your computer and use it in GitHub Desktop.
// 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