@carlonicora/nextjs-jsonapi 1.7.5 → 1.7.6
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.
- package/dist/scripts/generate-web-module/templates/data/model.template.d.ts.map +1 -1
- package/dist/scripts/generate-web-module/templates/data/model.template.js +2 -4
- package/dist/scripts/generate-web-module/templates/data/model.template.js.map +1 -1
- package/package.json +1 -1
- package/scripts/generate-web-module/templates/data/model.template.ts +16 -28
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.template.d.ts","sourceRoot":"","sources":["../../../../../scripts/generate-web-module/templates/data/model.template.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"model.template.d.ts","sourceRoot":"","sources":["../../../../../scripts/generate-web-module/templates/data/model.template.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAiB,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAE1F;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,oBAAoB,GAAG,MAAM,CAuBxE"}
|
|
@@ -168,7 +168,7 @@ function generateRehydrateMethod(data) {
|
|
|
168
168
|
else {
|
|
169
169
|
const propName = (0, name_transformer_1.pluralize)((0, name_transformer_1.toCamelCase)(rel.name));
|
|
170
170
|
const relationshipKey = (0, name_transformer_1.pluralize)(rel.name.toLowerCase());
|
|
171
|
-
lines.push(` this._${propName} = this.
|
|
171
|
+
lines.push(` this._${propName} = this._readIncluded(data, "${relationshipKey}", Modules.${rel.name}) as ${rel.interfaceName}[];`);
|
|
172
172
|
}
|
|
173
173
|
});
|
|
174
174
|
}
|
|
@@ -218,9 +218,7 @@ function generateCreateJsonApiMethod(data) {
|
|
|
218
218
|
lines.push(``);
|
|
219
219
|
relationshipsToSerialize.forEach((rel) => {
|
|
220
220
|
const effectiveName = rel.variant || rel.name;
|
|
221
|
-
const payloadKey = rel.single
|
|
222
|
-
? `${(0, name_transformer_1.toCamelCase)(effectiveName)}Id`
|
|
223
|
-
: `${(0, name_transformer_1.toCamelCase)(rel.name)}Ids`;
|
|
221
|
+
const payloadKey = rel.single ? `${(0, name_transformer_1.toCamelCase)(effectiveName)}Id` : `${(0, name_transformer_1.toCamelCase)(rel.name)}Ids`;
|
|
224
222
|
const relationshipKey = (0, name_transformer_1.toCamelCase)(effectiveName);
|
|
225
223
|
if (rel.single) {
|
|
226
224
|
lines.push(` if (data.${payloadKey}) {`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.template.js","sourceRoot":"","sources":["../../../../../scripts/generate-web-module/templates/data/model.template.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAYH,sDAuBC;
|
|
1
|
+
{"version":3,"file":"model.template.js","sourceRoot":"","sources":["../../../../../scripts/generate-web-module/templates/data/model.template.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
* Generates {Module}.ts class file with rehydrate and createJsonApi methods.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import {
|
|
8
|
-
import { toCamelCase, toPascalCase, pluralize } from "../../transformers/name-transformer";
|
|
7
|
+
import { pluralize, toCamelCase } from "../../transformers/name-transformer";
|
|
9
8
|
import { AUTHOR_VARIANT } from "../../types/field-mapping.types";
|
|
9
|
+
import { FrontendField, FrontendTemplateData } from "../../types/template-data.interface";
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* Generate the model file content
|
|
@@ -48,27 +48,21 @@ function generateImports(data: FrontendTemplateData): string {
|
|
|
48
48
|
|
|
49
49
|
// Own interface import
|
|
50
50
|
imports.push(
|
|
51
|
-
`import { ${names.pascalCase}Input, ${names.pascalCase}Interface } from "@/features/${data.targetDir}/${names.kebabCase}/data/${names.pascalCase}Interface"
|
|
51
|
+
`import { ${names.pascalCase}Input, ${names.pascalCase}Interface } from "@/features/${data.targetDir}/${names.kebabCase}/data/${names.pascalCase}Interface";`,
|
|
52
52
|
);
|
|
53
53
|
|
|
54
54
|
// Relationship interface imports
|
|
55
55
|
relationships.forEach((rel) => {
|
|
56
|
-
imports.push(
|
|
57
|
-
`import { ${rel.interfaceName} } from "${rel.interfaceImportPath}";`
|
|
58
|
-
);
|
|
56
|
+
imports.push(`import { ${rel.interfaceName} } from "${rel.interfaceImportPath}";`);
|
|
59
57
|
});
|
|
60
58
|
|
|
61
59
|
// Base class and core imports
|
|
62
60
|
if (extendsContent) {
|
|
63
|
-
imports.push(
|
|
64
|
-
|
|
65
|
-
);
|
|
66
|
-
imports.push(
|
|
67
|
-
`import { JsonApiHydratedDataInterface, Modules } from "@carlonicora/nextjs-jsonapi/core";`
|
|
68
|
-
);
|
|
61
|
+
imports.push(`import { Content } from "@/features/features/content/data/Content";`);
|
|
62
|
+
imports.push(`import { JsonApiHydratedDataInterface, Modules } from "@carlonicora/nextjs-jsonapi/core";`);
|
|
69
63
|
} else {
|
|
70
64
|
imports.push(
|
|
71
|
-
`import { AbstractApiData, JsonApiHydratedDataInterface, Modules } from "@carlonicora/nextjs-jsonapi/core"
|
|
65
|
+
`import { AbstractApiData, JsonApiHydratedDataInterface, Modules } from "@carlonicora/nextjs-jsonapi/core";`,
|
|
72
66
|
);
|
|
73
67
|
}
|
|
74
68
|
|
|
@@ -175,16 +169,14 @@ function generateRehydrateMethod(data: FrontendTemplateData): string {
|
|
|
175
169
|
if (field.isContentField || field.name === "content") {
|
|
176
170
|
// Content fields need JSON parsing
|
|
177
171
|
lines.push(
|
|
178
|
-
` this._${field.name} = data.jsonApi.attributes.${field.name} ? JSON.parse(data.jsonApi.attributes.${field.name}) : undefined
|
|
172
|
+
` this._${field.name} = data.jsonApi.attributes.${field.name} ? JSON.parse(data.jsonApi.attributes.${field.name}) : undefined;`,
|
|
179
173
|
);
|
|
180
174
|
} else if (field.type === "date") {
|
|
181
175
|
lines.push(
|
|
182
|
-
` this._${field.name} = data.jsonApi.attributes.${field.name} ? new Date(data.jsonApi.attributes.${field.name}) : undefined
|
|
176
|
+
` this._${field.name} = data.jsonApi.attributes.${field.name} ? new Date(data.jsonApi.attributes.${field.name}) : undefined;`,
|
|
183
177
|
);
|
|
184
178
|
} else {
|
|
185
|
-
lines.push(
|
|
186
|
-
` this._${field.name} = data.jsonApi.attributes.${field.name};`
|
|
187
|
-
);
|
|
179
|
+
lines.push(` this._${field.name} = data.jsonApi.attributes.${field.name};`);
|
|
188
180
|
}
|
|
189
181
|
});
|
|
190
182
|
|
|
@@ -197,13 +189,13 @@ function generateRehydrateMethod(data: FrontendTemplateData): string {
|
|
|
197
189
|
const propName = toCamelCase(effectiveName);
|
|
198
190
|
const relationshipKey = effectiveName.toLowerCase();
|
|
199
191
|
lines.push(
|
|
200
|
-
` this._${propName} = this._readIncluded(data, "${relationshipKey}", Modules.${rel.name}) as ${rel.interfaceName}${rel.nullable ? " | undefined" : ""}
|
|
192
|
+
` this._${propName} = this._readIncluded(data, "${relationshipKey}", Modules.${rel.name}) as ${rel.interfaceName}${rel.nullable ? " | undefined" : ""};`,
|
|
201
193
|
);
|
|
202
194
|
} else {
|
|
203
195
|
const propName = pluralize(toCamelCase(rel.name));
|
|
204
196
|
const relationshipKey = pluralize(rel.name.toLowerCase());
|
|
205
197
|
lines.push(
|
|
206
|
-
` this._${propName} = this.
|
|
198
|
+
` this._${propName} = this._readIncluded(data, "${relationshipKey}", Modules.${rel.name}) as ${rel.interfaceName}[];`,
|
|
207
199
|
);
|
|
208
200
|
}
|
|
209
201
|
});
|
|
@@ -250,27 +242,23 @@ function generateCreateJsonApiMethod(data: FrontendTemplateData): string {
|
|
|
250
242
|
fieldsToInclude.forEach((field) => {
|
|
251
243
|
if (field.isContentField || field.name === "content") {
|
|
252
244
|
lines.push(
|
|
253
|
-
` if (data.${field.name} !== undefined) response.data.attributes.${field.name} = JSON.stringify(data.${field.name})
|
|
245
|
+
` if (data.${field.name} !== undefined) response.data.attributes.${field.name} = JSON.stringify(data.${field.name});`,
|
|
254
246
|
);
|
|
255
247
|
} else {
|
|
256
248
|
lines.push(
|
|
257
|
-
` if (data.${field.name} !== undefined) response.data.attributes.${field.name} = data.${field.name}
|
|
249
|
+
` if (data.${field.name} !== undefined) response.data.attributes.${field.name} = data.${field.name};`,
|
|
258
250
|
);
|
|
259
251
|
}
|
|
260
252
|
});
|
|
261
253
|
|
|
262
254
|
// Relationship serialization (skip author for Content, handle others)
|
|
263
|
-
const relationshipsToSerialize = relationships.filter(
|
|
264
|
-
(rel) => !(extendsContent && rel.variant === AUTHOR_VARIANT)
|
|
265
|
-
);
|
|
255
|
+
const relationshipsToSerialize = relationships.filter((rel) => !(extendsContent && rel.variant === AUTHOR_VARIANT));
|
|
266
256
|
|
|
267
257
|
if (relationshipsToSerialize.length > 0) {
|
|
268
258
|
lines.push(``);
|
|
269
259
|
relationshipsToSerialize.forEach((rel) => {
|
|
270
260
|
const effectiveName = rel.variant || rel.name;
|
|
271
|
-
const payloadKey = rel.single
|
|
272
|
-
? `${toCamelCase(effectiveName)}Id`
|
|
273
|
-
: `${toCamelCase(rel.name)}Ids`;
|
|
261
|
+
const payloadKey = rel.single ? `${toCamelCase(effectiveName)}Id` : `${toCamelCase(rel.name)}Ids`;
|
|
274
262
|
const relationshipKey = toCamelCase(effectiveName);
|
|
275
263
|
|
|
276
264
|
if (rel.single) {
|