breeze-entity-generator
Advanced tools
Comparing version 1.1.0 to 1.2.0
// tslint:disable:no-trailing-whitespace | ||
// tslint:disable:member-ordering | ||
{{#if baseClass}} | ||
import { {{baseClass}} } from './{{baseClassModuleName}}'; | ||
import { {{baseClass}} } from '../{{baseClassModuleName}}'; | ||
{{/if}} | ||
@@ -25,5 +25,5 @@ {{#imports}}import { {{path}} } from './{{moduleName}}'; | ||
{{#properties}} | ||
{{name}}{{#if isNullable}}?{{/if}}: {{dataType}}; | ||
{{name}}{{#if isNullable}}?{{else}}!{{/if}}: {{dataType}}; | ||
{{/properties}} | ||
} | ||
{ | ||
"name": "breeze-entity-generator", | ||
"version": "1.1.0", | ||
"version": "1.2.0", | ||
"description": "Generate TypeScript modules for entities from Breeze metadata", | ||
@@ -28,3 +28,3 @@ "repository": { | ||
"devDependencies": { | ||
"breeze-client": ">=2.0.0" | ||
"breeze-client": "^2.1.5" | ||
}, | ||
@@ -31,0 +31,0 @@ "peerDependencies": { |
@@ -19,2 +19,3 @@ # Breeze Entity Generator | ||
baseClassName: 'BaseEntity', | ||
baseComplexName: 'BaseComplex', | ||
codePrefix: 'MyProject' | ||
@@ -42,4 +43,6 @@ }); | ||
`baseClassName`: Optionally specifies a TypeScript base class for all the generated entity classes. The generated entity classes will directly or indirectly inherit from this class. The file must contain a single module and exported class | ||
`baseClassName`: Optionally specifies a TypeScript base class for all the generated entity classes. The generated entity classes will directly or indirectly inherit from this class. The file must contain a single module and exported class. | ||
`baseComplexName`: Optionally specifies a TypeScript base class for all the generated complex type (value type) classes. The generated classes will directly or indirectly inherit from this class. The file must contain a single module and exported class. | ||
`camelCase`: Optionally generates the property names using camel case. This parameter has no effect if the input file contains Breeze native metadata. (See [NamingConvention](http://www.breezejs.com/sites/all/apidocs/classes/NamingConvention.html#property_camelCase)) | ||
@@ -105,1 +108,8 @@ | ||
`tsgen-core.js` (The typescript generator node script) | ||
## Release Notes | ||
1.0.0 - Initial release as an npm package | ||
1.1.0 - Work with breeze-client .mjs modules (as well as older CJS bundles) | ||
1.2.0 - Add support for Complex Type base class and not-null (!) assertions |
@@ -15,3 +15,4 @@ const tsGen = require('../tsgen-core'); | ||
baseClassName: 'BaseEntity', | ||
baseComplexName: 'BaseComplex', | ||
codePrefix: 'Test' | ||
}); |
@@ -1,1 +0,552 @@ | ||
{"structuralTypes":[{"shortName":"Customer","namespace":"NorthwindModel.Models","autoGeneratedKeyType":"Identity","defaultResourceName":"Customer","isComplexType":false,"dataProperties":[{"dataType":"Int32","isPartOfKey":true,"isNullable":false,"nameOnServer":"Id","validators":[{"name":"required"},{"name":"int32"}]},{"dataType":"String","isNullable":true,"maxLength":40,"nameOnServer":"City","validators":[{"maxLength":40,"name":"maxLength"}]},{"dataType":"String","isNullable":true,"maxLength":40,"nameOnServer":"Country","validators":[{"maxLength":40,"name":"maxLength"}]},{"dataType":"String","isNullable":false,"maxLength":40,"nameOnServer":"FirstName","validators":[{"name":"required"},{"maxLength":40,"name":"maxLength"}]},{"dataType":"String","isNullable":false,"maxLength":40,"nameOnServer":"LastName","validators":[{"name":"required"},{"maxLength":40,"name":"maxLength"}]},{"dataType":"String","isNullable":true,"maxLength":20,"nameOnServer":"Phone","validators":[{"maxLength":20,"name":"maxLength"}]}],"navigationProperties":[{"entityTypeName":"Order:#NorthwindModel.Models","isScalar":false,"associationName":"NorthwindModel.Models.Order_NorthwindModel.Models.Customer_Customer","invForeignKeyNamesOnServer":["CustomerId"],"nameOnServer":"Orders","validators":[]}]},{"shortName":"Order","namespace":"NorthwindModel.Models","autoGeneratedKeyType":"Identity","defaultResourceName":"Order","isComplexType":false,"dataProperties":[{"dataType":"Int32","isPartOfKey":true,"isNullable":false,"nameOnServer":"Id","validators":[{"name":"required"},{"name":"int32"}]},{"dataType":"Int32","isNullable":false,"nameOnServer":"CustomerId","validators":[{"name":"required"},{"name":"int32"}]},{"dataType":"DateTime","isNullable":false,"nameOnServer":"OrderDate","validators":[{"name":"required"},{"name":"date"}]},{"dataType":"String","isNullable":true,"maxLength":10,"nameOnServer":"OrderNumber","validators":[{"maxLength":10,"name":"maxLength"}]},{"dataType":"Decimal","isNullable":true,"nameOnServer":"TotalAmount","validators":[{"name":"number"}]}],"navigationProperties":[{"entityTypeName":"Customer:#NorthwindModel.Models","isScalar":true,"associationName":"NorthwindModel.Models.Order_NorthwindModel.Models.Customer_Customer","foreignKeyNamesOnServer":["CustomerId"],"nameOnServer":"Customer","validators":[]},{"entityTypeName":"OrderItem:#NorthwindModel.Models","isScalar":false,"associationName":"NorthwindModel.Models.OrderItem_NorthwindModel.Models.Order_Order","invForeignKeyNamesOnServer":["OrderId"],"nameOnServer":"OrderItems","validators":[]}]},{"shortName":"OrderItem","namespace":"NorthwindModel.Models","autoGeneratedKeyType":"Identity","defaultResourceName":"OrderItem","isComplexType":false,"dataProperties":[{"dataType":"Int32","isPartOfKey":true,"isNullable":false,"nameOnServer":"Id","validators":[{"name":"required"},{"name":"int32"}]},{"dataType":"Int32","isNullable":false,"nameOnServer":"OrderId","validators":[{"name":"required"},{"name":"int32"}]},{"dataType":"Int32","isNullable":false,"nameOnServer":"ProductId","validators":[{"name":"required"},{"name":"int32"}]},{"dataType":"Int32","isNullable":false,"nameOnServer":"Quantity","validators":[{"name":"required"},{"name":"int32"}]},{"dataType":"Decimal","isNullable":false,"nameOnServer":"UnitPrice","validators":[{"name":"required"},{"name":"number"}]}],"navigationProperties":[{"entityTypeName":"Order:#NorthwindModel.Models","isScalar":true,"associationName":"NorthwindModel.Models.OrderItem_NorthwindModel.Models.Order_Order","foreignKeyNamesOnServer":["OrderId"],"nameOnServer":"Order","validators":[]},{"entityTypeName":"Product:#NorthwindModel.Models","isScalar":true,"associationName":"NorthwindModel.Models.OrderItem_NorthwindModel.Models.Product_Product","foreignKeyNamesOnServer":["ProductId"],"nameOnServer":"Product","validators":[]}]},{"shortName":"Product","namespace":"NorthwindModel.Models","autoGeneratedKeyType":"Identity","defaultResourceName":"Product","isComplexType":false,"dataProperties":[{"dataType":"Int32","isPartOfKey":true,"isNullable":false,"nameOnServer":"Id","validators":[{"name":"required"},{"name":"int32"}]},{"dataType":"Boolean","isNullable":false,"nameOnServer":"IsDiscontinued","validators":[{"name":"required"},{"name":"bool"}]},{"dataType":"String","isNullable":true,"maxLength":30,"nameOnServer":"Package","validators":[{"maxLength":30,"name":"maxLength"}]},{"dataType":"String","isNullable":false,"maxLength":50,"nameOnServer":"ProductName","validators":[{"name":"required"},{"maxLength":50,"name":"maxLength"}]},{"dataType":"Int32","isNullable":false,"nameOnServer":"SupplierId","validators":[{"name":"required"},{"name":"int32"}]},{"dataType":"Decimal","isNullable":true,"nameOnServer":"UnitPrice","validators":[{"name":"number"}]}],"navigationProperties":[{"entityTypeName":"OrderItem:#NorthwindModel.Models","isScalar":false,"associationName":"NorthwindModel.Models.OrderItem_NorthwindModel.Models.Product_Product","invForeignKeyNamesOnServer":["ProductId"],"nameOnServer":"OrderItems","validators":[]},{"entityTypeName":"Supplier:#NorthwindModel.Models","isScalar":true,"associationName":"NorthwindModel.Models.Product_NorthwindModel.Models.Supplier_Supplier","foreignKeyNamesOnServer":["SupplierId"],"nameOnServer":"Supplier","validators":[]}]},{"shortName":"Supplier","namespace":"NorthwindModel.Models","autoGeneratedKeyType":"Identity","defaultResourceName":"Supplier","isComplexType":false,"dataProperties":[{"dataType":"Int32","isPartOfKey":true,"isNullable":false,"nameOnServer":"Id","validators":[{"name":"required"},{"name":"int32"}]},{"dataType":"String","isNullable":true,"maxLength":40,"nameOnServer":"City","validators":[{"maxLength":40,"name":"maxLength"}]},{"dataType":"String","isNullable":false,"maxLength":40,"nameOnServer":"CompanyName","validators":[{"name":"required"},{"maxLength":40,"name":"maxLength"}]},{"dataType":"String","isNullable":true,"maxLength":50,"nameOnServer":"ContactName","validators":[{"maxLength":50,"name":"maxLength"}]},{"dataType":"String","isNullable":true,"maxLength":40,"nameOnServer":"ContactTitle","validators":[{"maxLength":40,"name":"maxLength"}]},{"dataType":"String","isNullable":true,"maxLength":40,"nameOnServer":"Country","validators":[{"maxLength":40,"name":"maxLength"}]},{"dataType":"String","isNullable":true,"maxLength":30,"nameOnServer":"Fax","validators":[{"maxLength":30,"name":"maxLength"}]},{"dataType":"String","isNullable":true,"maxLength":30,"nameOnServer":"Phone","validators":[{"maxLength":30,"name":"maxLength"}]}],"navigationProperties":[{"entityTypeName":"Product:#NorthwindModel.Models","isScalar":false,"associationName":"NorthwindModel.Models.Product_NorthwindModel.Models.Supplier_Supplier","invForeignKeyNamesOnServer":["SupplierId"],"nameOnServer":"Products","validators":[]}]}]} | ||
{ | ||
"structuralTypes": [ | ||
{ | ||
"shortName": "Location", | ||
"namespace": "Models", | ||
"isComplexType": true, | ||
"dataProperties": [ | ||
{ | ||
"nameOnServer": "City", | ||
"dataType": "String", | ||
"maxLength": 60, | ||
"validators": [ | ||
{ | ||
"maxLength": 60, | ||
"name": "maxLength" | ||
} | ||
] | ||
}, | ||
{ | ||
"nameOnServer": "Region", | ||
"dataType": "String", | ||
"maxLength": 15, | ||
"validators": [ | ||
{ | ||
"maxLength": 15, | ||
"name": "maxLength" | ||
} | ||
] | ||
} | ||
] | ||
}, | ||
{ | ||
"shortName": "Customer", | ||
"namespace": "NorthwindModel.Models", | ||
"autoGeneratedKeyType": "Identity", | ||
"defaultResourceName": "Customer", | ||
"isComplexType": false, | ||
"dataProperties": [ | ||
{ | ||
"dataType": "Int32", | ||
"isPartOfKey": true, | ||
"isNullable": false, | ||
"nameOnServer": "Id", | ||
"validators": [ | ||
{ | ||
"name": "required" | ||
}, | ||
{ | ||
"name": "int32" | ||
} | ||
] | ||
}, | ||
{ | ||
"dataType": "String", | ||
"isNullable": true, | ||
"maxLength": 40, | ||
"nameOnServer": "City", | ||
"validators": [ | ||
{ | ||
"maxLength": 40, | ||
"name": "maxLength" | ||
} | ||
] | ||
}, | ||
{ | ||
"dataType": "String", | ||
"isNullable": true, | ||
"maxLength": 40, | ||
"nameOnServer": "Country", | ||
"validators": [ | ||
{ | ||
"maxLength": 40, | ||
"name": "maxLength" | ||
} | ||
] | ||
}, | ||
{ | ||
"dataType": "String", | ||
"isNullable": false, | ||
"maxLength": 40, | ||
"nameOnServer": "FirstName", | ||
"validators": [ | ||
{ | ||
"name": "required" | ||
}, | ||
{ | ||
"maxLength": 40, | ||
"name": "maxLength" | ||
} | ||
] | ||
}, | ||
{ | ||
"dataType": "String", | ||
"isNullable": false, | ||
"maxLength": 40, | ||
"nameOnServer": "LastName", | ||
"validators": [ | ||
{ | ||
"name": "required" | ||
}, | ||
{ | ||
"maxLength": 40, | ||
"name": "maxLength" | ||
} | ||
] | ||
}, | ||
{ | ||
"dataType": "String", | ||
"isNullable": true, | ||
"maxLength": 20, | ||
"nameOnServer": "Phone", | ||
"validators": [ | ||
{ | ||
"maxLength": 20, | ||
"name": "maxLength" | ||
} | ||
] | ||
} | ||
], | ||
"navigationProperties": [ | ||
{ | ||
"entityTypeName": "Order:#NorthwindModel.Models", | ||
"isScalar": false, | ||
"associationName": "NorthwindModel.Models.Order_NorthwindModel.Models.Customer_Customer", | ||
"invForeignKeyNamesOnServer": [ | ||
"CustomerId" | ||
], | ||
"nameOnServer": "Orders", | ||
"validators": [] | ||
} | ||
] | ||
}, | ||
{ | ||
"shortName": "Order", | ||
"namespace": "NorthwindModel.Models", | ||
"autoGeneratedKeyType": "Identity", | ||
"defaultResourceName": "Order", | ||
"isComplexType": false, | ||
"dataProperties": [ | ||
{ | ||
"dataType": "Int32", | ||
"isPartOfKey": true, | ||
"isNullable": false, | ||
"nameOnServer": "Id", | ||
"validators": [ | ||
{ | ||
"name": "required" | ||
}, | ||
{ | ||
"name": "int32" | ||
} | ||
] | ||
}, | ||
{ | ||
"dataType": "Int32", | ||
"isNullable": false, | ||
"nameOnServer": "CustomerId", | ||
"validators": [ | ||
{ | ||
"name": "required" | ||
}, | ||
{ | ||
"name": "int32" | ||
} | ||
] | ||
}, | ||
{ | ||
"dataType": "DateTime", | ||
"isNullable": false, | ||
"nameOnServer": "OrderDate", | ||
"validators": [ | ||
{ | ||
"name": "required" | ||
}, | ||
{ | ||
"name": "date" | ||
} | ||
] | ||
}, | ||
{ | ||
"dataType": "String", | ||
"isNullable": true, | ||
"maxLength": 10, | ||
"nameOnServer": "OrderNumber", | ||
"validators": [ | ||
{ | ||
"maxLength": 10, | ||
"name": "maxLength" | ||
} | ||
] | ||
}, | ||
{ | ||
"dataType": "Decimal", | ||
"isNullable": true, | ||
"nameOnServer": "TotalAmount", | ||
"validators": [ | ||
{ | ||
"name": "number" | ||
} | ||
] | ||
} | ||
], | ||
"navigationProperties": [ | ||
{ | ||
"entityTypeName": "Customer:#NorthwindModel.Models", | ||
"isScalar": true, | ||
"associationName": "NorthwindModel.Models.Order_NorthwindModel.Models.Customer_Customer", | ||
"foreignKeyNamesOnServer": [ | ||
"CustomerId" | ||
], | ||
"nameOnServer": "Customer", | ||
"validators": [] | ||
}, | ||
{ | ||
"entityTypeName": "OrderItem:#NorthwindModel.Models", | ||
"isScalar": false, | ||
"associationName": "NorthwindModel.Models.OrderItem_NorthwindModel.Models.Order_Order", | ||
"invForeignKeyNamesOnServer": [ | ||
"OrderId" | ||
], | ||
"nameOnServer": "OrderItems", | ||
"validators": [] | ||
} | ||
] | ||
}, | ||
{ | ||
"shortName": "OrderItem", | ||
"namespace": "NorthwindModel.Models", | ||
"autoGeneratedKeyType": "Identity", | ||
"defaultResourceName": "OrderItem", | ||
"isComplexType": false, | ||
"dataProperties": [ | ||
{ | ||
"dataType": "Int32", | ||
"isPartOfKey": true, | ||
"isNullable": false, | ||
"nameOnServer": "Id", | ||
"validators": [ | ||
{ | ||
"name": "required" | ||
}, | ||
{ | ||
"name": "int32" | ||
} | ||
] | ||
}, | ||
{ | ||
"dataType": "Int32", | ||
"isNullable": false, | ||
"nameOnServer": "OrderId", | ||
"validators": [ | ||
{ | ||
"name": "required" | ||
}, | ||
{ | ||
"name": "int32" | ||
} | ||
] | ||
}, | ||
{ | ||
"dataType": "Int32", | ||
"isNullable": false, | ||
"nameOnServer": "ProductId", | ||
"validators": [ | ||
{ | ||
"name": "required" | ||
}, | ||
{ | ||
"name": "int32" | ||
} | ||
] | ||
}, | ||
{ | ||
"dataType": "Int32", | ||
"isNullable": false, | ||
"nameOnServer": "Quantity", | ||
"validators": [ | ||
{ | ||
"name": "required" | ||
}, | ||
{ | ||
"name": "int32" | ||
} | ||
] | ||
}, | ||
{ | ||
"dataType": "Decimal", | ||
"isNullable": false, | ||
"nameOnServer": "UnitPrice", | ||
"validators": [ | ||
{ | ||
"name": "required" | ||
}, | ||
{ | ||
"name": "number" | ||
} | ||
] | ||
} | ||
], | ||
"navigationProperties": [ | ||
{ | ||
"entityTypeName": "Order:#NorthwindModel.Models", | ||
"isScalar": true, | ||
"associationName": "NorthwindModel.Models.OrderItem_NorthwindModel.Models.Order_Order", | ||
"foreignKeyNamesOnServer": [ | ||
"OrderId" | ||
], | ||
"nameOnServer": "Order", | ||
"validators": [] | ||
}, | ||
{ | ||
"entityTypeName": "Product:#NorthwindModel.Models", | ||
"isScalar": true, | ||
"associationName": "NorthwindModel.Models.OrderItem_NorthwindModel.Models.Product_Product", | ||
"foreignKeyNamesOnServer": [ | ||
"ProductId" | ||
], | ||
"nameOnServer": "Product", | ||
"validators": [] | ||
} | ||
] | ||
}, | ||
{ | ||
"shortName": "Product", | ||
"namespace": "NorthwindModel.Models", | ||
"autoGeneratedKeyType": "Identity", | ||
"defaultResourceName": "Product", | ||
"isComplexType": false, | ||
"dataProperties": [ | ||
{ | ||
"dataType": "Int32", | ||
"isPartOfKey": true, | ||
"isNullable": false, | ||
"nameOnServer": "Id", | ||
"validators": [ | ||
{ | ||
"name": "required" | ||
}, | ||
{ | ||
"name": "int32" | ||
} | ||
] | ||
}, | ||
{ | ||
"dataType": "Boolean", | ||
"isNullable": false, | ||
"nameOnServer": "IsDiscontinued", | ||
"validators": [ | ||
{ | ||
"name": "required" | ||
}, | ||
{ | ||
"name": "bool" | ||
} | ||
] | ||
}, | ||
{ | ||
"dataType": "String", | ||
"isNullable": true, | ||
"maxLength": 30, | ||
"nameOnServer": "Package", | ||
"validators": [ | ||
{ | ||
"maxLength": 30, | ||
"name": "maxLength" | ||
} | ||
] | ||
}, | ||
{ | ||
"dataType": "String", | ||
"isNullable": false, | ||
"maxLength": 50, | ||
"nameOnServer": "ProductName", | ||
"validators": [ | ||
{ | ||
"name": "required" | ||
}, | ||
{ | ||
"maxLength": 50, | ||
"name": "maxLength" | ||
} | ||
] | ||
}, | ||
{ | ||
"dataType": "Int32", | ||
"isNullable": false, | ||
"nameOnServer": "SupplierId", | ||
"validators": [ | ||
{ | ||
"name": "required" | ||
}, | ||
{ | ||
"name": "int32" | ||
} | ||
] | ||
}, | ||
{ | ||
"dataType": "Decimal", | ||
"isNullable": true, | ||
"nameOnServer": "UnitPrice", | ||
"validators": [ | ||
{ | ||
"name": "number" | ||
} | ||
] | ||
} | ||
], | ||
"navigationProperties": [ | ||
{ | ||
"entityTypeName": "OrderItem:#NorthwindModel.Models", | ||
"isScalar": false, | ||
"associationName": "NorthwindModel.Models.OrderItem_NorthwindModel.Models.Product_Product", | ||
"invForeignKeyNamesOnServer": [ | ||
"ProductId" | ||
], | ||
"nameOnServer": "OrderItems", | ||
"validators": [] | ||
}, | ||
{ | ||
"entityTypeName": "Supplier:#NorthwindModel.Models", | ||
"isScalar": true, | ||
"associationName": "NorthwindModel.Models.Product_NorthwindModel.Models.Supplier_Supplier", | ||
"foreignKeyNamesOnServer": [ | ||
"SupplierId" | ||
], | ||
"nameOnServer": "Supplier", | ||
"validators": [] | ||
} | ||
] | ||
}, | ||
{ | ||
"shortName": "Supplier", | ||
"namespace": "NorthwindModel.Models", | ||
"autoGeneratedKeyType": "Identity", | ||
"defaultResourceName": "Supplier", | ||
"isComplexType": false, | ||
"dataProperties": [ | ||
{ | ||
"dataType": "Int32", | ||
"isPartOfKey": true, | ||
"isNullable": false, | ||
"nameOnServer": "Id", | ||
"validators": [ | ||
{ | ||
"name": "required" | ||
}, | ||
{ | ||
"name": "int32" | ||
} | ||
] | ||
}, | ||
{ | ||
"nameOnServer": "Location", | ||
"complexTypeName": "Location:#Models", | ||
"isNullable": false, | ||
"validators": [ | ||
{ | ||
"name": "required" | ||
} | ||
] | ||
}, | ||
{ | ||
"dataType": "String", | ||
"isNullable": false, | ||
"maxLength": 40, | ||
"nameOnServer": "CompanyName", | ||
"validators": [ | ||
{ | ||
"name": "required" | ||
}, | ||
{ | ||
"maxLength": 40, | ||
"name": "maxLength" | ||
} | ||
] | ||
}, | ||
{ | ||
"dataType": "String", | ||
"isNullable": true, | ||
"maxLength": 50, | ||
"nameOnServer": "ContactName", | ||
"validators": [ | ||
{ | ||
"maxLength": 50, | ||
"name": "maxLength" | ||
} | ||
] | ||
}, | ||
{ | ||
"dataType": "String", | ||
"isNullable": true, | ||
"maxLength": 40, | ||
"nameOnServer": "ContactTitle", | ||
"validators": [ | ||
{ | ||
"maxLength": 40, | ||
"name": "maxLength" | ||
} | ||
] | ||
}, | ||
{ | ||
"dataType": "String", | ||
"isNullable": true, | ||
"maxLength": 40, | ||
"nameOnServer": "Country", | ||
"validators": [ | ||
{ | ||
"maxLength": 40, | ||
"name": "maxLength" | ||
} | ||
] | ||
}, | ||
{ | ||
"dataType": "String", | ||
"isNullable": true, | ||
"maxLength": 30, | ||
"nameOnServer": "Fax", | ||
"validators": [ | ||
{ | ||
"maxLength": 30, | ||
"name": "maxLength" | ||
} | ||
] | ||
}, | ||
{ | ||
"dataType": "String", | ||
"isNullable": true, | ||
"maxLength": 30, | ||
"nameOnServer": "Phone", | ||
"validators": [ | ||
{ | ||
"maxLength": 30, | ||
"name": "maxLength" | ||
} | ||
] | ||
} | ||
], | ||
"navigationProperties": [ | ||
{ | ||
"entityTypeName": "Product:#NorthwindModel.Models", | ||
"isScalar": false, | ||
"associationName": "NorthwindModel.Models.Product_NorthwindModel.Models.Supplier_Supplier", | ||
"invForeignKeyNamesOnServer": [ | ||
"SupplierId" | ||
], | ||
"nameOnServer": "Products", | ||
"validators": [] | ||
} | ||
] | ||
} | ||
] | ||
} |
@@ -18,2 +18,3 @@ var fs = require('fs'); | ||
* @param {string} config.baseClassName: Base class for TS entities | ||
* @param {string} config.baseComplexName: Base class for TS complex types | ||
* @param {boolean} config.camelCase: Whether to use camelCase for TS property names | ||
@@ -41,2 +42,3 @@ * @param {boolean} config.kebabCaseFileNames: Whether to kebab-case-file-names.ts (otherwise PascalCaseFileNames.ts) | ||
* @param {string} config.baseClassName: Base class for TS entities | ||
* @param {string} config.baseComplexName: Base class for TS complex types | ||
* @param {boolean} config.camelCase: Whether to use camelCase for TS property names | ||
@@ -162,4 +164,8 @@ * @param {boolean} config.kebabCaseFileNames: Whether to kebab-case-file-names.ts (otherwise PascalCaseFileNames.ts) | ||
if (baseClass) { | ||
console.log('Injected base class: ' + baseClass); | ||
console.log('Injected base entity class: ' + baseClass); | ||
} | ||
var baseComplex = config.baseComplexName; | ||
if (baseComplex) { | ||
console.log('Injected base complex type class: ' + baseComplex); | ||
} | ||
@@ -183,3 +189,3 @@ var allModules = metadataStore.modules.concat(metadataStore.enumModules || []); | ||
entityType.baseClass = entityType.baseEntityType.shortName; | ||
} else if (baseClass) { | ||
} else if (baseClass && !entityType.isComplexType) { | ||
entityType.baseClass = baseClass; | ||
@@ -190,2 +196,4 @@ //entityType.references.push({ | ||
//}); | ||
} else if (baseComplex && entityType.isComplexType) { | ||
entityType.baseClass = baseComplex; | ||
} | ||
@@ -192,0 +200,0 @@ entityType.baseClassModuleName = fileNameCase(entityType.baseClass, config); |
37676
13
909
113