// automatically generated by the FlatBuffers compiler, do not modify
/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any,
 * @typescript-eslint/no-non-null-assertion */
/**
 * New schema language features that are not supported by old code generators.
 */
export var AdvancedFeatures;
(function(AdvancedFeatures) {
AdvancedFeatures['AdvancedArrayFeatures'] = '1';
AdvancedFeatures['AdvancedUnionFeatures'] = '2';
AdvancedFeatures['OptionalScalars'] = '4';
AdvancedFeatures['DefaultVectorsAndStrings'] = '8';
})(AdvancedFeatures || (AdvancedFeatures = {}));
