public string WriteTypeScript(CodeConversionOptions options, Context context) => // name Name.TransformIf(options.ToCamelCase, StringUtilities.ToCamelCase) // separator + "?".If(Type.IsOptional(options, out _)) + ": " // type + (Type.IsOptional(options, out var of) ? of.WriteTypeScript(options, context) : Type.WriteTypeScript(options, context)) + ";";
public string ConvertToTypeScript(string code, CodeConversionOptions options) { var root = CSharpSyntaxTree.ParseText(code).GetCompilationUnitRoot(); var converted = _syntaxTreeConverter.Convert(root); return(converted.WriteTypeScript(options)); }
public string WriteTypeScript(CodeConversionOptions options, Context context) { var value = options.StringEnums ? Name.TransformIf(options.EnumStringToCamelCase, StringUtilities.ToCamelCase) .InQuotes(options.QuotationMark) : Value?.SquashWhistespace(); return(Name + (" = " + value).If(!string.IsNullOrWhiteSpace(value))); }
public override string WriteTypeScript(CodeConversionOptions options, Context context) => // keywords "export ".If(options.Export) + "enum " // name + Name // body + " {" + NewLine // members + Members.WriteTypeScript(options, context).Indent(options.UseTabs, options.TabSize).LineByLine(separator: ",") + NewLine + "}";
public string WriteTypeScript(CodeConversionOptions options, Context context) => // name (JsonPropertyName? .TransformIf(!JsonPropertyName.IsValidIdentifier(), StringUtilities.InQuotes(options.QuotationMark)) .EscapeBackslashes() ?? Name.TransformIf(options.ToCamelCase, StringUtilities.ToCamelCase)) // separator + "?".If(Type.IsOptional(options, out _)) + ": " // type + (Type.IsOptional(options, out var of) ? of.WriteTypeScript(options, context) : Type.WriteTypeScript(options, context)) + ";";
public string WriteTypeScript(CodeConversionOptions options, Context context) { var name = Name.TransformIf(options.ToCamelCase, StringUtilities.ToCamelCase); return(name + ( options.EnumAsString ? " = " + name.InQuotes(options.QuotationMark) : !string.IsNullOrWhiteSpace(Value) ? " = " + Value?.SquashWhistespace() : string.Empty )); }
public string WriteTypeScript(CodeConversionOptions options) { var context = new Context(); return // imports ((Imports.Select(i => // type "import { " + i.TransformIf(options.RemoveInterfacePrefix, StringUtilities.RemoveInterfacePrefix) + " }" // module + " from " + ("./" + ModuleNameTransformation.Transform(i, options)).InQuotes(options.QuotationMark) + ";") .Distinct().LineByLine() + EmptyLine).If(Imports.Any() && options.ImportGenerationMode != ImportGenerationMode.None) // types + RootNodes.WriteTypeScript(options, context).ToEmptyLineSeparatedList()); }
public override string WriteTypeScript(CodeConversionOptions options, Context context) { context = context.Clone(); context.GenericTypeParameters = GenericTypeParameters; // keywords return("export ".If(options.Export) + "interface " // name + Name.TransformIf(options.RemoveInterfacePrefix, StringUtilities.RemoveInterfacePrefix) // generic type parameters + ("<" + GenericTypeParameters.ToCommaSepratedList() + ">").If(GenericTypeParameters.Any()) // base types + (" extends " + BaseTypes.WriteTypeScript(options, context).ToCommaSepratedList()).If(BaseTypes.Any()) // body + " {" + NewLine // fields + Fields.WriteTypeScript(options, context).Indent(options.UseTabs, options.TabSize).LineByLine() + NewLine + "}"); }
public virtual bool IsOptional(CodeConversionOptions options, out TypeNode of) { of = null; return(false); }
public override bool IsOptional(CodeConversionOptions options, out TypeNode of) { of = this; return(options.OptionalReferenceTypes); }
public override string WriteTypeScript(CodeConversionOptions options, Context context) => "{ [key: " + Key.WriteTypeScript(options, context) + "]: " + Value.WriteTypeScript(options, context) + "; }";
public override string WriteTypeScript(CodeConversionOptions options, Context context) => "string";
public override string WriteTypeScript(CodeConversionOptions options, Context context) => // name Name.TransformIf(options.RemoveInterfacePrefix && !context.GenericTypeParameters.Contains(Name), StringUtilities.RemoveInterfacePrefix) // generic type parameters + "<" + Arguments.WriteTypeScript(options, context).ToCommaSepratedList() + ">";
public override string WriteTypeScript(CodeConversionOptions options) => "any";
public override string WriteTypeScript(CodeConversionOptions options, Context context) => Name.TransformIf(options.RemoveInterfacePrefix && !context.GenericTypeParameters.Contains(Name), StringUtilities.RemoveInterfacePrefix);
public string WriteTypeScript(CodeConversionOptions options) => "export ".If(options.Export) + "interface " + Name.RemoveInterfacePrefix() + ("<" + GenericTypeParameters.ToCommaSepratedList() + ">").If(GenericTypeParameters.Any()) + (" extends " + BaseTypes.Select(e => e.WriteTypeScript()).ToCommaSepratedList()).If(BaseTypes.Any()) + " {" + NewLine + Fields.Select(f => f.WriteTypeScript()).Indent(options.UseTabs, options.TabSize).LineByLine() + NewLine + "}";
public string WriteTypeScript(CodeConversionOptions options) => string.Join(EmptyLine, RootNodes.Select(t => t.WriteTypeScript(options)));
public override bool IsUnionType(CodeConversionOptions options) => true;
public override string WriteTypeScript(CodeConversionOptions options) => "{ " + Elements.Select(e => e.WriteTypeScript(options)).ToSpaceSepratedList() + " }";
public override string WriteTypeScript(CodeConversionOptions options) => options.ConvertDatesTo == DateOutputType.String ? "string" : options.ConvertDatesTo == DateOutputType.Date ? "Date" : options.ConvertDatesTo == DateOutputType.Union ? "string | Date" : throw new ArgumentException();
public virtual bool IsUnionType(CodeConversionOptions options) => false;
public abstract string WriteTypeScript(CodeConversionOptions options);
public override string WriteTypeScript(CodeConversionOptions options, Context context) => Of.WriteTypeScript(options, context) + " | null";
public override bool IsOptional(CodeConversionOptions options, out TypeNode of) { of = Of; return(options.ConvertNullablesTo == NullableOutputType.Undefined); }
public override bool IsUnionType(CodeConversionOptions options) => options.ConvertDatesTo == DateOutputType.Union;
public override string WriteTypeScript(CodeConversionOptions options) => Name.RemoveInterfacePrefix() + "<" + Arguments.Select(a => a.WriteTypeScript(options)).ToCommaSepratedList() + ">";
public string WriteTypeScript(CodeConversionOptions options) => Name.ToCamelCase() + "?".If(Type.IsOptional(options, out _)) + ": " + (Type.IsOptional(options, out var of) ? of.WriteTypeScript(options) : Type.WriteTypeScript(options)) + ";";
public static IEnumerable <string> WriteTypeScript(this IEnumerable <IWritableNode> nodes, CodeConversionOptions options, Context context) => nodes.Select(n => n.WriteTypeScript(options, context));
public string ConvertToTypeScript(string code, CodeConversionOptions options) => _syntaxTreeConverter.Convert(CSharpSyntaxTree.ParseText(code).GetCompilationUnitRoot()) .WriteTypeScript(options);
public string WriteTypeScript(CodeConversionOptions options, Context context) => Name + (" = " + Value?.SquashWhistespace()).If(!string.IsNullOrWhiteSpace(Value));