using System; using System.Text; namespace Cobilas.IO.Atlf.Text { #pragma warning disable CS1591 // O comentário XML ausente não foi encontrado para o tipo ou membro visível publicamente public class ATLFVS10Encoding : ATLFEncoding { #pragma warning restore CS1591 // O comentário XML ausente não foi encontrado para o tipo ou membro visível publicamente /// public override string Version => "std:1.0"; /// /// /// args[0] = [] /// public override string Writer(params object[] args) => Writer((ATLFNode[])args[0]); /// /// /// args[0] = [] /// args[1] = /// public override byte[] Writer4Byte(params object[] args) { if (!(args[1] is null)) return (args[1] as Encoding).GetBytes(Writer((ATLFNode[])args[0])); return Array.Empty(); } #pragma warning disable CS1591 // O comentário XML ausente não foi encontrado para o tipo ou membro visível publicamente protected virtual string Writer(ATLFNode[] nodes) { StringBuilder builder = new StringBuilder(); foreach (var item in nodes) { switch (item.NodeType) { case ATLFNodeType.Tag: builder.AppendFormat("#! {0}:/*{1}*/", item.Name, item.Value.Replace("*/", "\\*/")); break; case ATLFNodeType.Spacing: builder.Append(item.Value); break; case ATLFNodeType.Comment: builder.AppendFormat("#> {0} <#", item.Value.Replace("<#", "\\<#")); break; } } return builder.ToString(); } #pragma warning restore CS1591 // O comentário XML ausente não foi encontrado para o tipo ou membro visível publicamente } }