コード例 #1
0
        /// <summary>Gets the default value code.</summary>
        /// <param name="schema">The schema.</param>
        /// <param name="allowsNull">Specifies whether the default value assignment also allows null.</param>
        /// <param name="targetType">The type of the target.</param>
        /// <param name="typeNameHint">The type name hint to use when generating the type and the type name is missing.</param>
        /// <returns>The code.</returns>
        public virtual string GetDefaultValue(JsonSchema4 schema, bool allowsNull, string targetType, string typeNameHint)
        {
            if (schema.Default == null)
            {
                return(null);
            }

            var actualSchema = schema is JsonProperty ? ((JsonProperty)schema).ActualPropertySchema : schema.ActualSchema;

            if (actualSchema.IsEnumeration)
            {
                var typeName = _typeResolver.Resolve(actualSchema, false, typeNameHint);

                var enumName = schema.Default is string?
                               schema.Default.ToString() :
                                   actualSchema.EnumerationNames[actualSchema.Enumeration.ToList().IndexOf(schema.Default)];

                return(typeName + "." + ConversionUtilities.ConvertToUpperCamelCase(enumName, true));
            }

            if (schema.Type.HasFlag(JsonObjectType.String))
            {
                return("\"" + schema.Default + "\"");
            }
            else if (schema.Type.HasFlag(JsonObjectType.Boolean))
            {
                return(schema.Default.ToString().ToLower());
            }
            else if (schema.Type.HasFlag(JsonObjectType.Integer) ||
                     schema.Type.HasFlag(JsonObjectType.Number) ||
                     schema.Type.HasFlag(JsonObjectType.Integer))
            {
                return(schema.Default.ToString());
            }
            return(null);
        }
コード例 #2
0
 /// <summary>Gets the default value as string literal.</summary>
 /// <param name="schema">The schema.</param>
 /// <returns>The string literal.</returns>
 protected string GetDefaultAsStringLiteral(JsonSchema schema)
 {
     return("\"" + ConversionUtilities.ConvertToStringLiteral(schema.Default.ToString()) + "\"");
 }
コード例 #3
0
 public static string Uppercamelcase(Context context, string input, bool firstCharacterMustBeAlpha = true)
 {
     return(ConversionUtilities.ConvertToUpperCamelCase(input, firstCharacterMustBeAlpha));
 }
コード例 #4
0
 public static string Tab(Context context, string input, int tabCount)
 {
     return(ConversionUtilities.Tab(input, tabCount));
 }
コード例 #5
0
 public static string Csharpdocs(string input, int tabCount)
 {
     return(ConversionUtilities.ConvertCSharpDocs(input, tabCount));
 }
コード例 #6
0
 public static string Literal(string input)
 {
     return("\"" + ConversionUtilities.ConvertToStringLiteral(input) + "\"");
 }
コード例 #7
0
            public static ValueTask <FluidValue> Literal(FluidValue input, FilterArguments arguments, TemplateContext context)
            {
                var converted = "\"" + ConversionUtilities.ConvertToStringLiteral(input.ToStringValue()) + "\"";

                return(new ValueTask <FluidValue>(new StringValue(converted, encode: false)));
            }
コード例 #8
0
 /// <summary>Concatenates the results.</summary>
 /// <returns>The result.</returns>
 public string Concatenate()
 {
     return(ConversionUtilities.TrimWhiteSpaces(string.Join("\n\n", Artifacts.Select(p => p.Code))));
 }
コード例 #9
0
 /// <summary>Concatenates the results.</summary>
 /// <returns>The result.</returns>
 public static string Concatenate(this IEnumerable <CodeArtifact> artifacts)
 {
     return(ConversionUtilities.TrimWhiteSpaces(string.Join("\n\n", artifacts.Select(p => p.Code))));
 }