Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Directory.Build.props
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<Project>
<PropertyGroup>
<VersionPrefix>11.4.1</VersionPrefix>
<VersionPrefix>11.5.0</VersionPrefix>

<Authors>Rico Suter</Authors>
<Copyright>Copyright © Rico Suter, 2022</Copyright>
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -230,7 +230,7 @@ The previously generated JSON Schema would generate the following TypeScript int

**Settings:**

new TypeScriptGeneratorSettings { TypeStyle = TypeScriptTypeStyle.Interface, TypeScriptVersion = 2.0m }
new TypeScriptGeneratorSettings { TypeStyle = TypeScriptTypeStyle.Interface, TypeScriptVersion = 4.3m }

**Output:**

Expand Down Expand Up @@ -265,7 +265,7 @@ export interface Person {

**Settings:**

new TypeScriptGeneratorSettings { TypeStyle = TypeScriptTypeStyle.Class, TypeScriptVersion = 2.0m }
new TypeScriptGeneratorSettings { TypeStyle = TypeScriptTypeStyle.Class, TypeScriptVersion = 4.3m }

**Output:**

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@ public async Task When_enum_has_string_value_then_TS_code_has_string_value()
var schemaData = schema.ToJson();

// Act
var generator = new TypeScriptGenerator(schema, new TypeScriptGeneratorSettings { TypeScriptVersion = 1.8m });
var generator = new TypeScriptGenerator(schema, new TypeScriptGeneratorSettings());
var code = generator.GenerateFile("MyClass");

// Assert
Expand Down
4 changes: 2 additions & 2 deletions src/NJsonSchema.CodeGeneration.Tests/Samples/SampleTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ public async Task Demo()
var schema = NewtonsoftJsonSchemaGenerator.FromType<Person>();
var schemaJsonData = schema.ToJson();
var errors = schema.Validate("{}");
var generator = new TypeScriptGenerator(schema, new TypeScriptGeneratorSettings { TypeStyle = TypeScriptTypeStyle.Class, TypeScriptVersion = 2.0m });
var generator = new TypeScriptGenerator(schema, new TypeScriptGeneratorSettings { TypeStyle = TypeScriptTypeStyle.Class });
var code = generator.GenerateFile();
}

Expand All @@ -64,7 +64,7 @@ public async Task Demo2()
var schema = NewtonsoftJsonSchemaGenerator.FromType<Person>();
var schemaJsonData = schema.ToJson();
var errors = schema.Validate("{}");
var generator = new TypeScriptGenerator(schema, new TypeScriptGeneratorSettings { TypeStyle = TypeScriptTypeStyle.Interface, TypeScriptVersion = 2.0m });
var generator = new TypeScriptGenerator(schema, new TypeScriptGeneratorSettings { TypeStyle = TypeScriptTypeStyle.Interface });
var code = generator.GenerateFile();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ export enum StringEnum {
}

export class MyClass implements IMyClass {
bar: StringEnum;
bar!: StringEnum;

constructor(data?: IMyClass) {
if (data) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ export class Dog extends Animal implements IDog {
this._discriminator = "Dog";
}

init(_data?: any) {
override init(_data?: any) {
super.init(_data);
if (_data) {
this.bar = _data["Bar"];
Expand All @@ -75,14 +75,14 @@ export class Dog extends Animal implements IDog {
}
}

static fromJS(data: any): Dog {
static override fromJS(data: any): Dog {
data = typeof data === 'object' ? data : {};
let result = new Dog();
result.init(data);
return result;
}

toJSON(data?: any) {
override toJSON(data?: any) {
data = typeof data === 'object' ? data : {};
data["Bar"] = this.bar;
if (Array.isArray(this.subElements)) {
Expand Down Expand Up @@ -157,21 +157,21 @@ export class SubClass1 extends SubClass implements ISubClass1 {
this._discriminator = "SubClass1";
}

init(_data?: any) {
override init(_data?: any) {
super.init(_data);
if (_data) {
this.prop1 = _data["Prop1"];
}
}

static fromJS(data: any): SubClass1 {
static override fromJS(data: any): SubClass1 {
data = typeof data === 'object' ? data : {};
let result = new SubClass1();
result.init(data);
return result;
}

toJSON(data?: any) {
override toJSON(data?: any) {
data = typeof data === 'object' ? data : {};
data["Prop1"] = this.prop1;
super.toJSON(data);
Expand All @@ -191,14 +191,14 @@ export class SubClass2 extends SubClass implements ISubClass2 {
this._discriminator = "SubClass2";
}

init(_data?: any) {
override init(_data?: any) {
super.init(_data);
if (_data) {
this.prop2 = _data["Prop2"];
}
}

static fromJS(data: any): SubClass2 {
static override fromJS(data: any): SubClass2 {
data = typeof data === 'object' ? data : {};
if (data["discriminator"] === "SubClass3") {
let result = new SubClass3();
Expand All @@ -210,7 +210,7 @@ export class SubClass2 extends SubClass implements ISubClass2 {
return result;
}

toJSON(data?: any) {
override toJSON(data?: any) {
data = typeof data === 'object' ? data : {};
data["Prop2"] = this.prop2;
super.toJSON(data);
Expand All @@ -230,21 +230,21 @@ export class SubClass3 extends SubClass2 implements ISubClass3 {
this._discriminator = "SubClass3";
}

init(_data?: any) {
override init(_data?: any) {
super.init(_data);
if (_data) {
this.prop3 = _data["Prop3"];
}
}

static fromJS(data: any): SubClass3 {
static override fromJS(data: any): SubClass3 {
data = typeof data === 'object' ? data : {};
let result = new SubClass3();
result.init(data);
return result;
}

toJSON(data?: any) {
override toJSON(data?: any) {
data = typeof data === 'object' ? data : {};
data["Prop3"] = this.prop3;
super.toJSON(data);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ public async Task When_class_is_abstract_then_is_abstract_TypeScript_keyword_is_
var json = schema.ToJson();

// Act
var generator = new TypeScriptGenerator(schema, new TypeScriptGeneratorSettings { TypeScriptVersion = 2.0m });
var generator = new TypeScriptGenerator(schema, new TypeScriptGeneratorSettings());
var code = generator.GenerateFile("AbstractClass");

// Assert
Expand All @@ -44,7 +44,7 @@ public async Task When_property_is_required_and_abstract_then_it_is_not_instanti
var json = schema.ToJson();

// Act
var generator = new TypeScriptGenerator(schema, new TypeScriptGeneratorSettings { TypeScriptVersion = 2.0m });
var generator = new TypeScriptGenerator(schema, new TypeScriptGeneratorSettings());
var code = generator.GenerateFile("ContainerClass");

// Assert
Expand Down Expand Up @@ -72,7 +72,7 @@ public async Task When_abstract_class_is_in_inheritance_hierarchy_then_it_is_new
var schema = NewtonsoftJsonSchemaGenerator.FromType<AbstractClass>();

// Act
var generator = new TypeScriptGenerator(schema, new TypeScriptGeneratorSettings { TypeScriptVersion = 2.0m });
var generator = new TypeScriptGenerator(schema, new TypeScriptGeneratorSettings());
var code = generator.GenerateFile("AbstractClass");

// Assert
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,28 +45,18 @@ public class Person
}

[Theory]
[InlineData(TypeScriptTypeStyle.Class, 1.8)]
[InlineData(TypeScriptTypeStyle.Class, 2.1)]
[InlineData(TypeScriptTypeStyle.Class, 2.7)]
[InlineData(TypeScriptTypeStyle.Class, 4.3)]
[InlineData(TypeScriptTypeStyle.KnockoutClass, 1.8)]
[InlineData(TypeScriptTypeStyle.KnockoutClass, 2.1)]
[InlineData(TypeScriptTypeStyle.KnockoutClass, 2.7)]
[InlineData(TypeScriptTypeStyle.KnockoutClass, 4.3)]
[InlineData(TypeScriptTypeStyle.Interface, 1.8)]
[InlineData(TypeScriptTypeStyle.Interface, 2.1)]
[InlineData(TypeScriptTypeStyle.Interface, 2.7)]
[InlineData(TypeScriptTypeStyle.Interface, 4.3)]
public async Task Verify_output(TypeScriptTypeStyle style, decimal version)
[InlineData(TypeScriptTypeStyle.Class)]
[InlineData(TypeScriptTypeStyle.KnockoutClass)]
[InlineData(TypeScriptTypeStyle.Interface)]
public async Task Verify_output(TypeScriptTypeStyle style)
{
var settings = new TypeScriptGeneratorSettings
{
TypeStyle = style,
TypeScriptVersion = version
TypeStyle = style
};
var output = await PrepareAsync(settings);

await VerifyHelper.Verify(output).UseParameters(style, version);
await VerifyHelper.Verify(output).UseParameters(style);
}

private static Task<string> PrepareAsync(TypeScriptGeneratorSettings settings)
Expand Down Expand Up @@ -115,8 +105,7 @@ public async Task When_array_property_is_required_or_not_then_the_code_has_corre
var generator = new TypeScriptGenerator(schema, new TypeScriptGeneratorSettings
{
TypeStyle = TypeScriptTypeStyle.Class,
SchemaType = SchemaType.Swagger2,
TypeScriptVersion = 1.8m
SchemaType = SchemaType.Swagger2
});
var code = generator.GenerateFile("MyClass");

Expand Down Expand Up @@ -160,8 +149,7 @@ public async Task When_dictionary_property_is_required_or_not_then_the_code_has_
var generator = new TypeScriptGenerator(schema, new TypeScriptGeneratorSettings
{
TypeStyle = TypeScriptTypeStyle.Class,
SchemaType = SchemaType.Swagger2,
TypeScriptVersion = 1.8m
SchemaType = SchemaType.Swagger2
});
var code = generator.GenerateFile("MyClass");

Expand Down Expand Up @@ -213,8 +201,7 @@ public async Task When_object_property_is_required_or_not_then_the_code_has_corr
var generator = new TypeScriptGenerator(schema, new TypeScriptGeneratorSettings
{
TypeStyle = TypeScriptTypeStyle.Class,
SchemaType = SchemaType.Swagger2,
TypeScriptVersion = 1.8m
SchemaType = SchemaType.Swagger2
});
var code = generator.GenerateFile("MyClass");

Expand Down Expand Up @@ -262,8 +249,7 @@ public async Task When_Knockout_class_is_generated_then_initializers_are_correct
var code = await PrepareAsync(new TypeScriptGeneratorSettings
{
TypeStyle = TypeScriptTypeStyle.KnockoutClass,
GenerateConstructorInterface = false,
TypeScriptVersion = 2.0m
GenerateConstructorInterface = false
});

// Assert
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,8 +59,7 @@ public async Task When_constructor_interface_and_conversion_code_is_generated_th
var generator = new TypeScriptGenerator(schema, new TypeScriptGeneratorSettings
{
GenerateConstructorInterface = true,
ConvertConstructorInterfaceData = true,
TypeScriptVersion = 1.8m
ConvertConstructorInterfaceData = true
});

var output = generator.GenerateFile("MyClass");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -129,8 +129,7 @@ public async Task When_property_is_dto_dictionary_then_assignment_may_create_new
var codeGenerator = new TypeScriptGenerator(schema, new TypeScriptGeneratorSettings
{
TypeStyle = TypeScriptTypeStyle.Class,
NullValue = TypeScriptNullValue.Null,
TypeScriptVersion = 1.8m
NullValue = TypeScriptNullValue.Null
});
var code = codeGenerator.GenerateFile("Test");

Expand Down Expand Up @@ -190,8 +189,7 @@ public async Task When_property_is_string_dictionary_then_assignment_is_correct(
var codeGenerator = new TypeScriptGenerator(schema, new TypeScriptGeneratorSettings
{
TypeStyle = TypeScriptTypeStyle.Class,
NullValue = TypeScriptNullValue.Undefined,
TypeScriptVersion = 1.8m
NullValue = TypeScriptNullValue.Undefined
});
var code = codeGenerator.GenerateFile("Test");

Expand Down Expand Up @@ -226,8 +224,7 @@ public async Task When_property_uses_custom_dictionary_class_then_class_is_gener
TypeStyle = TypeScriptTypeStyle.Class,
NullValue = TypeScriptNullValue.Undefined,
ConvertConstructorInterfaceData = convertConstructorInterfaceData,
InlineNamedDictionaries = inlineNamedDictionaries,
TypeScriptVersion = 1.8m
InlineNamedDictionaries = inlineNamedDictionaries
});
var code = codeGenerator.GenerateFile("Test");

Expand Down Expand Up @@ -271,8 +268,7 @@ public async Task When_dictionary_has_arbitrary_nonenum_key_then_generated_types
var codeGenerator = new TypeScriptGenerator(schema, new TypeScriptGeneratorSettings
{
ConvertConstructorInterfaceData = true,
TypeStyle = TypeScriptTypeStyle.Class,
TypeScriptVersion = 2.7m
TypeStyle = TypeScriptTypeStyle.Class
});

var code = codeGenerator.GenerateFile("Test");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@ public async Task When_empty_class_inherits_from_dictionary_then_allOf_inheritan

var generator = new TypeScriptGenerator(schema, new TypeScriptGeneratorSettings
{
TypeScriptVersion = 2.0m,
InlineNamedDictionaries = inline,
ConvertConstructorInterfaceData = convert
});
Expand Down Expand Up @@ -81,7 +80,7 @@ public async Task When_class_with_discriminator_has_base_class_then_csharp_is_ge
var schema = NewtonsoftJsonSchemaGenerator.FromType<ExceptionContainer>();
var data = schema.ToJson();

var generator = new TypeScriptGenerator(schema, new TypeScriptGeneratorSettings { TypeScriptVersion = 2.0m });
var generator = new TypeScriptGenerator(schema, new TypeScriptGeneratorSettings());

// Act
var code = generator.GenerateFile();
Expand All @@ -100,7 +99,6 @@ public async Task When_interfaces_are_generated_with_inheritance_then_type_check

var generator = new TypeScriptGenerator(schema, new TypeScriptGeneratorSettings
{
TypeScriptVersion = 2.0m,
TypeStyle = TypeScriptTypeStyle.Interface,
GenerateTypeCheckFunctions = true
});
Expand All @@ -124,7 +122,7 @@ public async Task When_discriminator_does_not_match_typename_then_TypeScript_is_
schema.Definitions["ExceptionBase"].AllOf.Last().DiscriminatorObject.Mapping.Remove("MyException");

var data = schema.ToJson();
var generator = new TypeScriptGenerator(schema, new TypeScriptGeneratorSettings { TypeScriptVersion = 2.0m });
var generator = new TypeScriptGenerator(schema, new TypeScriptGeneratorSettings());

// Act
var code = generator.GenerateFile();
Expand Down Expand Up @@ -212,7 +210,7 @@ public async Task When_schema_with_inheritance_to_object_type_is_generated_then_

var factory = JsonReferenceResolver.CreateJsonReferenceResolverFactory(new DefaultTypeNameGenerator());
var schema = await JsonSchemaSerialization.FromJsonAsync(json, schemaType, null, factory, new DefaultContractResolver(), CancellationToken.None);
var generator = new TypeScriptGenerator(schema, new TypeScriptGeneratorSettings { TypeScriptVersion = 2.0m, SchemaType = schemaType });
var generator = new TypeScriptGenerator(schema, new TypeScriptGeneratorSettings { SchemaType = schemaType });

// Act
var code = generator.GenerateFile();
Expand Down Expand Up @@ -301,7 +299,7 @@ public async Task When_schema_with_inheritance_and_references_is_generated_then_

var factory = JsonReferenceResolver.CreateJsonReferenceResolverFactory(new DefaultTypeNameGenerator());
var schema = await JsonSchemaSerialization.FromJsonAsync(json, schemaType, null, factory, new DefaultContractResolver(), CancellationToken.None);
var generator = new TypeScriptGenerator(schema, new TypeScriptGeneratorSettings { TypeScriptVersion = 2.0m, SchemaType = schemaType });
var generator = new TypeScriptGenerator(schema, new TypeScriptGeneratorSettings { SchemaType = schemaType });

// Act
var code = generator.GenerateFile();
Expand Down
Loading
Loading