private void GenerateDataConversionCodes(IEnumerable <OperationModel> operations) { foreach (var operation in operations) { foreach (var response in operation.Responses.Where(r => r.HasType)) { var generator = new TypeScriptGenerator(response.ActualResponseSchema, Settings.TypeScriptGeneratorSettings, _resolver); response.DataConversionCode = generator.GenerateDataConversion("result" + response.StatusCode, "resultData" + response.StatusCode, response.ActualResponseSchema, response.IsNullable, string.Empty); } if (operation.HasDefaultResponse && operation.DefaultResponse.HasType) { var generator = new TypeScriptGenerator(operation.DefaultResponse.ActualResponseSchema, Settings.TypeScriptGeneratorSettings, _resolver); operation.DefaultResponse.DataConversionCode = generator.GenerateDataConversion("result", "resultData", operation.DefaultResponse.ActualResponseSchema, operation.DefaultResponse.IsNullable, string.Empty); } } }
public PropertyModel(JsonProperty property, TypeScriptTypeResolver resolver, TypeScriptGeneratorSettings settings, TypeScriptGenerator generator) : base(property) { var propertyName = ConversionUtilities.ConvertToLowerCamelCase(property.Name).Replace("-", "_"); Name = property.Name; InterfaceName = property.Name.Contains("-") ? '\"' + property.Name + '\"' : property.Name; PropertyName = propertyName; Type = resolver.Resolve(property.ActualPropertySchema, property.IsNullable, property.Name); DataConversionCode = settings.TypeStyle == TypeScriptTypeStyle.Interface ? string.Empty : generator.GenerateDataConversion( settings.TypeStyle == TypeScriptTypeStyle.Class ? "this." + propertyName : propertyName, "data[\"" + property.Name + "\"]", property.ActualPropertySchema, property.IsNullable, property.Name); Description = property.Description; HasDescription = !string.IsNullOrEmpty(property.Description); IsArray = property.ActualPropertySchema.Type.HasFlag(JsonObjectType.Array); ArrayItemType = resolver.TryResolve(property.ActualPropertySchema.Item, property.Name); IsReadOnly = property.IsReadOnly && settings.GenerateReadOnlyKeywords; IsOptional = !property.IsRequired; }