-
-
Notifications
You must be signed in to change notification settings - Fork 549
TypeScriptGenerator
Package: NJsonSchema.CodeGeneration
The CSharpGenerator class generates TypeScript interfaces from a given JSON Schema:
var schema = JsonSchema4.FromType<Person>();
var generator = new TypeScriptGenerator(schema);
var code = generator.GenerateFile();Class: TypeScriptGeneratorSettings
- TypeStyle: Interface (default) | Class | KoObservableClass
- GenerateReadOnlyKeywords (default: true)
- ExtendedTypes: Defines classes which are extendend in the generated TypeScript classes (same functionality as partial classes in C#)
-
ExtensionCode: Specifies additional code which is appended (used in conjunction with
ExtendedClasses)
Generated TypeScript classes can be extended with additional code via inheritance (same functionality as partial classes in C#). To do so, specify all classes to extend in the ExtendedClasses configuration. All these classes are generated with a Base postfix. Now the extended classes can be implemented in an additional file which will be appended to the generated code. This file or code can be specified using the ExtendedCode configuration.
The sample extended classes: Person,Car
The sample ExtendedCode for the extended classes:
import generated = require("myclasses");
class Person extends generated.PersonBase {
get name() {
return this.firstName + " " + this.lastName;
}
}
class Car extends generated.CarBase {
}
The generated import is automatically removed before the code is appended and all extended classes are automatically extended with the export keyword.