private static object CreateModel(DataConversionParameters parameters) { var type = parameters.Resolver.Resolve(parameters.Schema, parameters.IsPropertyNullable, parameters.TypeNameHint); var defaultValueGenerator = new TypeScriptDefaultValueGenerator(parameters.Resolver); return(new { Variable = parameters.Variable, Value = parameters.Value, HasDefaultValue = defaultValueGenerator.GetDefaultValue(parameters.Schema, parameters.IsPropertyNullable, type, parameters.TypeNameHint) != null, DefaultValue = defaultValueGenerator.GetDefaultValue(parameters.Schema, parameters.IsPropertyNullable, type, parameters.TypeNameHint), Type = type, IsNewableObject = IsNewableObject(parameters.Schema), IsDate = IsDate(parameters.Schema.Format, parameters.Settings.DateTimeType), IsDictionary = parameters.Schema.IsDictionary, DictionaryValueType = parameters.Resolver.TryResolve(parameters.Schema.AdditionalPropertiesSchema, parameters.TypeNameHint) ?? "any", IsDictionaryValueNewableObject = parameters.Schema.AdditionalPropertiesSchema != null && IsNewableObject(parameters.Schema.AdditionalPropertiesSchema), IsDictionaryValueDate = IsDate(parameters.Schema.AdditionalPropertiesSchema?.ActualSchema?.Format, parameters.Settings.DateTimeType), IsArray = parameters.Schema.Type.HasFlag(JsonObjectType.Array), ArrayItemType = parameters.Resolver.TryResolve(parameters.Schema.Item, parameters.TypeNameHint) ?? "any", IsArrayItemNewableObject = parameters.Schema.Item != null && IsNewableObject(parameters.Schema.Item), IsArrayItemDate = IsDate(parameters.Schema.Item?.Format, parameters.Settings.DateTimeType), StringToDateCode = parameters.Settings.DateTimeType == TypeScriptDateTimeType.Date ? "new Date" : "moment", DateToStringCode = "toISOString()" }); }
private static object CreateModel(DataConversionParameters parameters) { var type = parameters.Resolver.Resolve(parameters.Schema, parameters.IsPropertyNullable, parameters.TypeNameHint); var defaultValueGenerator = new TypeScriptDefaultValueGenerator(parameters.Resolver); var dictionaryValueType = parameters.Resolver.TryResolve(parameters.Schema.AdditionalPropertiesSchema, parameters.TypeNameHint) ?? "any"; var dictionaryValueDefaultValue = parameters.Schema.AdditionalPropertiesSchema != null ? defaultValueGenerator.GetDefaultValue(parameters.Schema.AdditionalPropertiesSchema, parameters.Schema.AdditionalPropertiesSchema.IsNullable(parameters.Settings.NullHandling), dictionaryValueType, parameters.TypeNameHint, parameters.Settings.GenerateDefaultValues) : null; return(new { NullValue = parameters.NullValue.ToString().ToLowerInvariant(), Variable = parameters.Variable, Value = parameters.Value, HasDefaultValue = defaultValueGenerator.GetDefaultValue(parameters.Schema, parameters.IsPropertyNullable, type, parameters.TypeNameHint, parameters.Settings.GenerateDefaultValues) != null, DefaultValue = defaultValueGenerator.GetDefaultValue(parameters.Schema, parameters.IsPropertyNullable, type, parameters.TypeNameHint, parameters.Settings.GenerateDefaultValues), Type = type, IsNewableObject = IsNewableObject(parameters.Schema), IsDate = IsDate(parameters.Schema.Format, parameters.Settings.DateTimeType), IsDictionary = parameters.Schema.IsDictionary, DictionaryValueType = dictionaryValueType, DictionaryValueDefaultValue = dictionaryValueDefaultValue, HasDictionaryValueDefaultValue = dictionaryValueDefaultValue != null, IsDictionaryValueNewableObject = parameters.Schema.AdditionalPropertiesSchema != null && IsNewableObject(parameters.Schema.AdditionalPropertiesSchema), IsDictionaryValueDate = IsDate(parameters.Schema.AdditionalPropertiesSchema?.ActualSchema?.Format, parameters.Settings.DateTimeType), IsDictionaryValueNewableArray = parameters.Schema.AdditionalPropertiesSchema?.ActualSchema?.Type.HasFlag(JsonObjectType.Array) == true && IsNewableObject(parameters.Schema.AdditionalPropertiesSchema.Item), DictionaryValueArrayItemType = parameters.Schema.AdditionalPropertiesSchema?.ActualSchema?.Type.HasFlag(JsonObjectType.Array) == true? parameters.Resolver.TryResolve(parameters.Schema.AdditionalPropertiesSchema.Item, "Anonymous") ?? "any" : "any", IsArray = parameters.Schema.Type.HasFlag(JsonObjectType.Array), ArrayItemType = parameters.Resolver.TryResolve(parameters.Schema.Item, parameters.TypeNameHint) ?? "any", IsArrayItemNewableObject = parameters.Schema.Item != null && IsNewableObject(parameters.Schema.Item), IsArrayItemDate = IsDate(parameters.Schema.Item?.Format, parameters.Settings.DateTimeType), StringToDateCode = parameters.Settings.DateTimeType == TypeScriptDateTimeType.Date ? "new Date" : "moment", DateToStringCode = "toISOString()", HandleReferences = parameters.Settings.HandleReferences }); }