private static void WriteObjectInitializer(CodeTextBuilder code, ObjectInitializerExpression expression) { if (expression.PropertyValues == null || expression.PropertyValues.Count == 0) { code.Write("{ }"); return; } code.WriteListStart(opener: "{", closer: "}", separator: ",", newLine: true); foreach (var keyValue in expression.PropertyValues) { code.WriteListItem(); code.Write(keyValue.Name.GetSealedOrCased(CasingStyle.Camel, sealLanguage: LanguageInfo.Entries.JavaScript())); if (keyValue.Value is IAssignable assignable && assignable.Name == keyValue.Name) { continue; } code.Write(": "); WriteExpression(code, keyValue.Value); } code.WriteListEnd(); }
public void Write(XElement element) { WriteStartElement(element); if (!element.IsEmpty) { _code.WriteListStart(opener: "", closer: "", separator: "", newLine: true); foreach (var child in element.Nodes()) { _code.WriteListItem(); if (child is XElement childElement) { Write(childElement); } else { _code.Write(child.ToString()); } } _code.WriteListEnd(); } WriteEndElement(element); }
private static void WriteBlockInsideBraces(CodeTextBuilder code, BlockStatement block) { code.WriteListStart(opener: "{", closer: "}", separator: "", newLine: true); if (block != null) { WriteBlock(code, block); } code.WriteListEnd(); }
private static void WriteArray(CodeTextBuilder code, Array array) { code.WriteListStart(opener: "[", closer: "]", separator: ","); foreach (var item in array) { code.WriteListItem(); WriteLiteral(code, item); } code.WriteListEnd(); }
private static void WriteDelegateInvocation(CodeTextBuilder code, DelegateInvocationExpression expression) { WriteExpression(code, expression.Delegate); code.WriteListStart(opener: "(", separator: ", ", closer: ")"); foreach (var argument in expression.Arguments) { code.WriteListItem(); WriteExpression(code, argument.Expression); } code.WriteListEnd(); }
private static void WriteNewArray(CodeTextBuilder code, NewArrayExpression expression) { code.WriteListStart(opener: "[", closer: "]", separator: ",", newLine: true); if (expression.DimensionInitializerValues != null) { foreach (var item in expression.DimensionInitializerValues.SelectMany(x => x)) { code.WriteListItem(); WriteExpression(code, item); } } code.WriteListEnd(); }
private static void WriteJsx(CodeTextBuilder code, XmlExpression expression) { if (expression.Xml == null) { code.Write("null"); return; } var xmlText = new StringBuilder(); var jsxWriter = new JsxCodeWriter(code); code.WriteListStart(opener: "(", separator: "", closer: ")", newLine: true); code.WriteListItem(); jsxWriter.Write(expression.Xml); code.WriteListEnd(); }
private static void WriteMethodCall(CodeTextBuilder code, MethodCallExpression call) { if (call.Target != null) { WriteExpression(code, call.Target); code.Write("."); } code.Write(ToCamelCase(call.MethodName ?? call.Method.Name)); code.WriteListStart(opener: "(", separator: ", ", closer: ")"); foreach (var argument in call.Arguments) { code.WriteListItem(); WriteExpression(code, argument.Expression); } code.WriteListEnd(); }
private static void WriteParameters(CodeTextBuilder code, MethodSignature signature) { code.WriteListStart(opener: "(", separator: ", ", closer: ") "); signature.Parameters.ForEach(parameter => { code.WriteListItem(); if (parameter.Tuple != null) { JavaScriptExpressionWriter.WriteTuple(code, parameter.Tuple); } else { code.Write(parameter.Name); } }); code.WriteListEnd(); }