@postxl/generator 0.71.0 → 0.71.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -26,9 +26,11 @@ function generateImportService({ models, meta }) {
|
|
|
26
26
|
[meta.actions.execution.interfaceLocation.import]: [meta.actions.execution.interface],
|
|
27
27
|
[meta.actions.dispatcher.classLocation.import]: [meta.actions.dispatcher.class],
|
|
28
28
|
[types.location.path]: [
|
|
29
|
+
(0, types_1.toAnnotatedTypeName)(delta),
|
|
29
30
|
(0, types_1.toAnnotatedTypeName)(delta_Fields),
|
|
30
31
|
(0, types_1.toAnnotatedTypeName)(delta_Model.type),
|
|
31
|
-
(0, types_1.toAnnotatedTypeName)(
|
|
32
|
+
(0, types_1.toAnnotatedTypeName)(delta_Model.errors.invalidReference.type),
|
|
33
|
+
(0, types_1.toAnnotatedTypeName)(delta_Model.errors.isRequiredDependency.type),
|
|
32
34
|
],
|
|
33
35
|
[decoder.location.path]: [(0, types_1.toAnnotatedTypeName)(decoder.decodedPXLModelDataTypeName)],
|
|
34
36
|
[converterFunctions.location.path]: [converterFunctions.deltaToBulkMutations],
|
|
@@ -266,10 +268,10 @@ export class ${meta.import.importService.name} {
|
|
|
266
268
|
/**
|
|
267
269
|
* Internal helper function that removes undefined values from an array.
|
|
268
270
|
*/
|
|
269
|
-
private keepErrors<
|
|
270
|
-
return errors.filter((error) => error !== undefined) as
|
|
271
|
+
private keepErrors<O, I extends O | undefined>(errors: I[]): O[] {
|
|
272
|
+
return errors.filter((error) => error !== undefined) as O[]
|
|
271
273
|
}
|
|
272
|
-
|
|
274
|
+
|
|
273
275
|
private validateRequiredFields<
|
|
274
276
|
Model extends ${dto.genericModel}<ID>,
|
|
275
277
|
ID extends ${dto.idType},
|
|
@@ -492,10 +494,6 @@ function generateDetectDeltaFunction({ model, modelMeta, models, schemaMeta, imp
|
|
|
492
494
|
}
|
|
493
495
|
else if (field.kind === 'relation') {
|
|
494
496
|
const relatedModelMeta = (0, meta_1.getModelMetadata)({ model: field.relationToModel });
|
|
495
|
-
imports.addTypeImport({
|
|
496
|
-
from: schemaMeta.import.types.location.path,
|
|
497
|
-
items: [delta_Model.errors.invalidReference.type],
|
|
498
|
-
});
|
|
499
497
|
sharedValidations.push(`this.validateReferenceField({
|
|
500
498
|
item,
|
|
501
499
|
fieldName: '${fieldName}',
|
|
@@ -515,10 +513,6 @@ function generateDetectDeltaFunction({ model, modelMeta, models, schemaMeta, imp
|
|
|
515
513
|
!relatedField.isRequired) {
|
|
516
514
|
continue;
|
|
517
515
|
}
|
|
518
|
-
imports.addTypeImport({
|
|
519
|
-
from: schemaMeta.import.types.location.path,
|
|
520
|
-
items: [delta_Model.errors.isRequiredDependency.type],
|
|
521
|
-
});
|
|
522
516
|
const relatedModelMeta = (0, meta_1.getModelMetadata)({ model: relatedModel });
|
|
523
517
|
const relatedFieldName = (0, string_1.toPascalCase)(relatedField.name);
|
|
524
518
|
deleteValidations.push(`
|
|
@@ -566,12 +560,13 @@ private async detect${modelMeta.internalSingularNameCapitalized}Delta(
|
|
|
566
560
|
existingItem,
|
|
567
561
|
properties: [${fieldNames.join(',')}],
|
|
568
562
|
}),
|
|
569
|
-
validateCreate: async ({ item }) =>
|
|
563
|
+
validateCreate: async ({ item }): Promise<${modelMeta.import.delta_Model_Errors}[]> =>
|
|
570
564
|
this.keepErrors([
|
|
571
565
|
${requiredFieldsValidation}
|
|
572
566
|
...(await sharedValidations(item)),
|
|
573
567
|
]),
|
|
574
|
-
validateUpdate: async ({ item }) =>
|
|
568
|
+
validateUpdate: async ({ item }): Promise<${modelMeta.import.delta_Model_Errors}[]> =>
|
|
569
|
+
this.keepErrors(await sharedValidations(item)),
|
|
575
570
|
validateDelete: ${validateDelete},
|
|
576
571
|
})
|
|
577
572
|
}`;
|
|
@@ -831,7 +831,7 @@ function generateValidationBlocks({ model }) {
|
|
|
831
831
|
function generateIndexBlocks({ model, imports }) {
|
|
832
832
|
const indexes = model.attributes.index ? [getIndexDefinition({ fieldNames: model.attributes.index, model })] : [];
|
|
833
833
|
if (indexes.length > 0) {
|
|
834
|
-
imports.
|
|
834
|
+
imports.addImport({ items: [(0, types_1.toClassName)('NestedMap')], from: (0, types_1.toPackageName)('@postxl/runtime') });
|
|
835
835
|
}
|
|
836
836
|
const result = {
|
|
837
837
|
nestedMapDeclarations: [],
|
package/dist/prisma/parse.js
CHANGED
|
@@ -241,6 +241,9 @@ function parseModel({ dmmfModel, enums, models, config, }) {
|
|
|
241
241
|
validation = { type: 'float' };
|
|
242
242
|
}
|
|
243
243
|
const _field = Object.assign(Object.assign({ kind: 'scalar', validation }, shared), { isUnique: isUniqueField(dmmfField), isGenerated: isAutoIncrementField(dmmfField), tsTypeName: getTsTypeForScalar(dmmfField) });
|
|
244
|
+
if (_field.tsTypeName === 'boolean' && !_field.isRequired) {
|
|
245
|
+
(0, error_1.throwError)(`${(0, logger_1.highlight)(`${dmmfModel.name}.${fieldName}`)}: Boolean fields cannot be nullable!`);
|
|
246
|
+
}
|
|
244
247
|
return _field;
|
|
245
248
|
}
|
|
246
249
|
if (dmmfField.kind === 'enum') {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@postxl/generator",
|
|
3
|
-
"version": "0.71.
|
|
3
|
+
"version": "0.71.2",
|
|
4
4
|
"main": "./dist/generator.js",
|
|
5
5
|
"typings": "./dist/generator.d.ts",
|
|
6
6
|
"bin": {
|
|
@@ -44,7 +44,8 @@
|
|
|
44
44
|
"autoDetect": true
|
|
45
45
|
},
|
|
46
46
|
"scripts": {
|
|
47
|
-
"test:generators": "./scripts/test.sh",
|
|
47
|
+
"test:generators": "./scripts/test-generators.sh",
|
|
48
|
+
"test:setup": "./scripts/test-setup.sh",
|
|
48
49
|
"test:jest": "jest",
|
|
49
50
|
"test:watch": "jest --watch",
|
|
50
51
|
"test:types": "tsc --noEmit"
|