/// <summary> /// Initializes an instance of the FlatBuffersSchemaTypeWriter class /// </summary> /// <param name="typeModelRegistry">TypeRegistry to use as the Type source</param> /// <param name="writer">TextWriter write the schema to</param> /// /// <param name="options">Options to use when writing the schema</param> public FlatBuffersSchemaTypeWriter(TypeModelRegistry typeModelRegistry, TextWriter writer, FlatBuffersSchemaTypeWriterOptions options) { _typeModelRegistry = typeModelRegistry; _writer = writer; _options = options; var newline = options.LineTerminator == FlatBuffersSchemaWriterLineTerminatorType.Lf ? "\n" : "\r\n"; _writer.NewLine = newline; _indent = new string(_options.IndentType == FlatBuffersSchemaWriterIndentType.Spaces ? ' ' : '\t', _options.IndentCount); _bracing = _options.BracingStyle == FlatBuffersSchemaWriterBracingStyle.Egyptian ? " {" : string.Format("{0}{{", newline); }
/// <summary> /// Writes this schema to the specified <see cref="TextWriter"/> /// </summary> /// <param name="writer">TextWriter to emit the schema to</param> /// <param name="options">Options to use when writing the schema</param> public void WriteTo(TextWriter writer, FlatBuffersSchemaTypeWriterOptions options) { var schemaWriter = new FlatBuffersSchemaTypeWriter(writer, options); var resolved = TraverseTypeGraph(); WriteUserMetadata(schemaWriter); foreach (var node in resolved) { schemaWriter.Write(node.TypeModel); } WriteFooter(schemaWriter); }
/// <summary> /// Initializes an instance of the FlatBuffersSchemaTypeWriter class /// </summary> /// <param name="writer">TextWriter write the schema to</param> /// <param name="options">Options to use when writing the schema</param> public FlatBuffersSchemaTypeWriter(TextWriter writer, FlatBuffersSchemaTypeWriterOptions options) : this(TypeModelRegistry.Default, writer, options) { }