@carlonicora/nestjs-neo4jsonapi 1.81.0 → 1.83.0

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.
Files changed (66) hide show
  1. package/dist/scripts/generate-module/__tests__/dto-imports.spec.d.ts +2 -0
  2. package/dist/scripts/generate-module/__tests__/dto-imports.spec.d.ts.map +1 -0
  3. package/dist/scripts/generate-module/__tests__/dto-imports.spec.js +38 -0
  4. package/dist/scripts/generate-module/__tests__/dto-imports.spec.js.map +1 -0
  5. package/dist/scripts/generate-module/__tests__/entity.spec.d.ts +2 -0
  6. package/dist/scripts/generate-module/__tests__/entity.spec.d.ts.map +1 -0
  7. package/dist/scripts/generate-module/__tests__/entity.spec.js +58 -0
  8. package/dist/scripts/generate-module/__tests__/entity.spec.js.map +1 -0
  9. package/dist/scripts/generate-module/__tests__/fixtures.d.ts +3 -0
  10. package/dist/scripts/generate-module/__tests__/fixtures.d.ts.map +1 -0
  11. package/dist/scripts/generate-module/__tests__/fixtures.js +32 -0
  12. package/dist/scripts/generate-module/__tests__/fixtures.js.map +1 -0
  13. package/dist/scripts/generate-module/__tests__/plumbing.spec.d.ts +2 -0
  14. package/dist/scripts/generate-module/__tests__/plumbing.spec.d.ts.map +1 -0
  15. package/dist/scripts/generate-module/__tests__/plumbing.spec.js +19 -0
  16. package/dist/scripts/generate-module/__tests__/plumbing.spec.js.map +1 -0
  17. package/dist/scripts/generate-module/__tests__/scope-detector.spec.d.ts +2 -0
  18. package/dist/scripts/generate-module/__tests__/scope-detector.spec.d.ts.map +1 -0
  19. package/dist/scripts/generate-module/__tests__/scope-detector.spec.js +84 -0
  20. package/dist/scripts/generate-module/__tests__/scope-detector.spec.js.map +1 -0
  21. package/dist/scripts/generate-module/__tests__/service-module.spec.d.ts +2 -0
  22. package/dist/scripts/generate-module/__tests__/service-module.spec.d.ts.map +1 -0
  23. package/dist/scripts/generate-module/__tests__/service-module.spec.js +33 -0
  24. package/dist/scripts/generate-module/__tests__/service-module.spec.js.map +1 -0
  25. package/dist/scripts/generate-module/generator.d.ts +2 -0
  26. package/dist/scripts/generate-module/generator.d.ts.map +1 -1
  27. package/dist/scripts/generate-module/generator.js +18 -5
  28. package/dist/scripts/generate-module/generator.js.map +1 -1
  29. package/dist/scripts/generate-module/index.js +3 -1
  30. package/dist/scripts/generate-module/index.js.map +1 -1
  31. package/dist/scripts/generate-module/templates/entity.template.d.ts.map +1 -1
  32. package/dist/scripts/generate-module/templates/entity.template.js +26 -8
  33. package/dist/scripts/generate-module/templates/entity.template.js.map +1 -1
  34. package/dist/scripts/generate-module/templates/module.template.d.ts.map +1 -1
  35. package/dist/scripts/generate-module/templates/module.template.js +14 -10
  36. package/dist/scripts/generate-module/templates/module.template.js.map +1 -1
  37. package/dist/scripts/generate-module/templates/service.spec.template.d.ts.map +1 -1
  38. package/dist/scripts/generate-module/templates/service.spec.template.js +14 -1
  39. package/dist/scripts/generate-module/templates/service.spec.template.js.map +1 -1
  40. package/dist/scripts/generate-module/templates/service.template.d.ts.map +1 -1
  41. package/dist/scripts/generate-module/templates/service.template.js +3 -1
  42. package/dist/scripts/generate-module/templates/service.template.js.map +1 -1
  43. package/dist/scripts/generate-module/transformers/relationship-mapper.d.ts.map +1 -1
  44. package/dist/scripts/generate-module/transformers/relationship-mapper.js +5 -0
  45. package/dist/scripts/generate-module/transformers/relationship-mapper.js.map +1 -1
  46. package/dist/scripts/generate-module/types/json-schema.interface.d.ts +18 -0
  47. package/dist/scripts/generate-module/types/json-schema.interface.d.ts.map +1 -1
  48. package/dist/scripts/generate-module/types/template-data.interface.d.ts +16 -0
  49. package/dist/scripts/generate-module/types/template-data.interface.d.ts.map +1 -1
  50. package/dist/scripts/generate-module/utils/dto-imports.d.ts +15 -0
  51. package/dist/scripts/generate-module/utils/dto-imports.d.ts.map +1 -0
  52. package/dist/scripts/generate-module/utils/dto-imports.js +36 -0
  53. package/dist/scripts/generate-module/utils/dto-imports.js.map +1 -0
  54. package/dist/scripts/generate-module/utils/module-registrar.d.ts +6 -1
  55. package/dist/scripts/generate-module/utils/module-registrar.d.ts.map +1 -1
  56. package/dist/scripts/generate-module/utils/module-registrar.js +21 -95
  57. package/dist/scripts/generate-module/utils/module-registrar.js.map +1 -1
  58. package/dist/scripts/generate-module/utils/scope-detector.d.ts +17 -0
  59. package/dist/scripts/generate-module/utils/scope-detector.d.ts.map +1 -0
  60. package/dist/scripts/generate-module/utils/scope-detector.js +153 -0
  61. package/dist/scripts/generate-module/utils/scope-detector.js.map +1 -0
  62. package/dist/scripts/generate-module/utils/type-utils.d.ts +5 -0
  63. package/dist/scripts/generate-module/utils/type-utils.d.ts.map +1 -1
  64. package/dist/scripts/generate-module/utils/type-utils.js +10 -1
  65. package/dist/scripts/generate-module/utils/type-utils.js.map +1 -1
  66. package/package.json +1 -1
@@ -0,0 +1,153 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.detectSharedScope = detectSharedScope;
37
+ const fs = __importStar(require("fs"));
38
+ const path = __importStar(require("path"));
39
+ /**
40
+ * Detect the host app's "shared" package import scope (e.g. `@dreamer/shared`).
41
+ *
42
+ * The generated module imports `ModuleId` from this package. The scope differs
43
+ * per host app, so it must be resolved from the target repo rather than
44
+ * hardcoded. Resolution order:
45
+ * 1. explicit override (CLI `--shared-scope`)
46
+ * 2. a `@<scope>/shared` key in `tsconfig.base.json` / `tsconfig.json` paths
47
+ * 3. a `@<scope>/shared` entry in the root `package.json` dependencies
48
+ * 4. the provided fallback
49
+ */
50
+ function detectSharedScope(params) {
51
+ const cwd = params?.cwd ?? process.cwd();
52
+ const fallback = params?.fallback ?? "@app/shared";
53
+ if (params?.override)
54
+ return params.override;
55
+ const fromTsconfig = findSharedInTsconfigPaths(cwd);
56
+ if (fromTsconfig)
57
+ return fromTsconfig;
58
+ const fromPackageJson = findSharedInRootPackageJson(cwd);
59
+ if (fromPackageJson)
60
+ return fromPackageJson;
61
+ return fallback;
62
+ }
63
+ function readJsonSafe(filePath) {
64
+ try {
65
+ if (!fs.existsSync(filePath))
66
+ return undefined;
67
+ // tsconfig files are JSONC (comments + trailing commas), so plain JSON.parse
68
+ // throws on them. Strip comments/trailing commas before parsing.
69
+ return JSON.parse(stripJsonc(fs.readFileSync(filePath, "utf-8")));
70
+ }
71
+ catch {
72
+ return undefined;
73
+ }
74
+ }
75
+ /**
76
+ * Remove `//` line comments, block comments and trailing commas from a JSONC
77
+ * string while preserving comment-like sequences inside string literals.
78
+ */
79
+ function stripJsonc(input) {
80
+ let out = "";
81
+ let inString = false;
82
+ let inLine = false;
83
+ let inBlock = false;
84
+ for (let i = 0; i < input.length; i++) {
85
+ const c = input[i];
86
+ const next = input[i + 1];
87
+ if (inLine) {
88
+ if (c === "\n") {
89
+ inLine = false;
90
+ out += c;
91
+ }
92
+ continue;
93
+ }
94
+ if (inBlock) {
95
+ if (c === "*" && next === "/") {
96
+ inBlock = false;
97
+ i++;
98
+ }
99
+ continue;
100
+ }
101
+ if (inString) {
102
+ out += c;
103
+ if (c === "\\") {
104
+ out += next ?? "";
105
+ i++;
106
+ }
107
+ else if (c === '"') {
108
+ inString = false;
109
+ }
110
+ continue;
111
+ }
112
+ if (c === '"') {
113
+ inString = true;
114
+ out += c;
115
+ continue;
116
+ }
117
+ if (c === "/" && next === "/") {
118
+ inLine = true;
119
+ i++;
120
+ continue;
121
+ }
122
+ if (c === "/" && next === "*") {
123
+ inBlock = true;
124
+ i++;
125
+ continue;
126
+ }
127
+ out += c;
128
+ }
129
+ // Drop trailing commas before } or ].
130
+ return out.replace(/,(\s*[}\]])/g, "$1");
131
+ }
132
+ function findSharedInTsconfigPaths(cwd) {
133
+ for (const file of ["tsconfig.base.json", "tsconfig.json"]) {
134
+ const json = readJsonSafe(path.resolve(cwd, file));
135
+ const paths = json?.compilerOptions?.paths;
136
+ if (!paths)
137
+ continue;
138
+ // Prefer the bare alias (e.g. "@dreamer/shared") over the glob ("@dreamer/shared/*").
139
+ const key = Object.keys(paths).find((k) => /^@[^/]+\/shared$/.test(k));
140
+ if (key)
141
+ return key;
142
+ }
143
+ return undefined;
144
+ }
145
+ function findSharedInRootPackageJson(cwd) {
146
+ const json = readJsonSafe(path.resolve(cwd, "package.json"));
147
+ if (!json)
148
+ return undefined;
149
+ const deps = { ...json.dependencies, ...json.devDependencies };
150
+ const name = Object.keys(deps).find((k) => /^@[^/]+\/shared$/.test(k));
151
+ return name;
152
+ }
153
+ //# sourceMappingURL=scope-detector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope-detector.js","sourceRoot":"","sources":["../../../../scripts/generate-module/utils/scope-detector.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,11 @@ export type CypherType = CypherBaseType | CypherArrayType;
11
11
  * Normalize a type string to canonical lowercase form
12
12
  * Handles case-insensitive input (e.g., "String", "NUMBER[]", "DateTime")
13
13
  *
14
+ * The pseudo-type "blocknote" is a frontend-facing rich-text marker: on the
15
+ * backend it is persisted as a stringified-JSON `string` (Neo4j cannot store
16
+ * nested objects as a property), so it normalises to "string". The frontend
17
+ * generator reads the raw "blocknote" type to wire a BlockNote editor.
18
+ *
14
19
  * @param input - The input type string (case-insensitive)
15
20
  * @returns The normalized CypherType or null if invalid
16
21
  */
@@ -1 +1 @@
1
- {"version":3,"file":"type-utils.d.ts","sourceRoot":"","sources":["../../../../scripts/generate-module/utils/type-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,QAAA,MAAM,gBAAgB,sEAAuE,CAAC;AAG9F,QAAA,MAAM,iBAAiB,kFAAmF,CAAC;AAE3G,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC/D,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AACjE,MAAM,MAAM,UAAU,GAAG,cAAc,GAAG,eAAe,CAAC;AAE1D;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAYpE;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,IAAI,eAAe,CAErE;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,cAAc,CAK5D;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAgBlD;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,EAAE,CA0DrF;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,MAAM,EAAE,CAgDlE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,MAAM,EAAE,CAExC"}
1
+ {"version":3,"file":"type-utils.d.ts","sourceRoot":"","sources":["../../../../scripts/generate-module/utils/type-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,QAAA,MAAM,gBAAgB,sEAAuE,CAAC;AAG9F,QAAA,MAAM,iBAAiB,kFAAmF,CAAC;AAE3G,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC/D,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AACjE,MAAM,MAAM,UAAU,GAAG,cAAc,GAAG,eAAe,CAAC;AAE1D;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAiBpE;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,IAAI,eAAe,CAErE;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,cAAc,CAK5D;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAgBlD;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,EAAE,CA0DrF;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,MAAM,EAAE,CAgDlE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,MAAM,EAAE,CAExC"}
@@ -19,11 +19,20 @@ const VALID_ARRAY_TYPES = ["string[]", "number[]", "boolean[]", "date[]", "datet
19
19
  * Normalize a type string to canonical lowercase form
20
20
  * Handles case-insensitive input (e.g., "String", "NUMBER[]", "DateTime")
21
21
  *
22
+ * The pseudo-type "blocknote" is a frontend-facing rich-text marker: on the
23
+ * backend it is persisted as a stringified-JSON `string` (Neo4j cannot store
24
+ * nested objects as a property), so it normalises to "string". The frontend
25
+ * generator reads the raw "blocknote" type to wire a BlockNote editor.
26
+ *
22
27
  * @param input - The input type string (case-insensitive)
23
28
  * @returns The normalized CypherType or null if invalid
24
29
  */
25
30
  function normalizeCypherType(input) {
26
31
  const normalized = input.toLowerCase().trim();
32
+ // Rich-text BlockNote fields are stored as stringified JSON on the backend.
33
+ if (normalized === "blocknote") {
34
+ return "string";
35
+ }
27
36
  if (VALID_BASE_TYPES.includes(normalized)) {
28
37
  return normalized;
29
38
  }
@@ -200,6 +209,6 @@ function getValidationImports(types) {
200
209
  * @returns Array of all valid type strings
201
210
  */
202
211
  function getValidTypes() {
203
- return [...VALID_BASE_TYPES, ...VALID_ARRAY_TYPES];
212
+ return [...VALID_BASE_TYPES, ...VALID_ARRAY_TYPES, "blocknote"];
204
213
  }
205
214
  //# sourceMappingURL=type-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"type-utils.js","sourceRoot":"","sources":["../../../../scripts/generate-module/utils/type-utils.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAmBH,kDAYC;AAQD,kCAEC;AAQD,kCAKC;AAQD,8BAgBC;AASD,0DA0DC;AAQD,oDAgDC;AAOD,sCAEC;AAhND,4BAA4B;AAC5B,MAAM,gBAAgB,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAU,CAAC;AAE9F,oBAAoB;AACpB,MAAM,iBAAiB,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,CAAU,CAAC;AAM3G;;;;;;GAMG;AACH,SAAgB,mBAAmB,CAAC,KAAa;IAC/C,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;IAE9C,IAAK,gBAAsC,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACjE,OAAO,UAA4B,CAAC;IACtC,CAAC;IAED,IAAK,iBAAuC,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAClE,OAAO,UAA6B,CAAC;IACvC,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,SAAgB,WAAW,CAAC,IAAgB;IAC1C,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED;;;;;GAKG;AACH,SAAgB,WAAW,CAAC,IAAgB;IAC1C,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAmB,CAAC;IAC7C,CAAC;IACD,OAAO,IAAsB,CAAC;AAChC,CAAC;AAED;;;;;GAKG;AACH,SAAgB,SAAS,CAAC,IAAgB;IACxC,MAAM,OAAO,GAA+B;QAC1C,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,QAAQ;QAClB,IAAI,EAAE,KAAK;QACX,UAAU,EAAE,UAAU;QACtB,UAAU,EAAE,UAAU;QACtB,WAAW,EAAE,WAAW;QACxB,QAAQ,EAAE,UAAU;QACpB,YAAY,EAAE,UAAU;QACxB,QAAQ,EAAE,OAAO;KAClB,CAAC;IACF,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;AACvB,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,uBAAuB,CAAC,IAAgB,EAAE,QAAiB;IACzE,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,6BAA6B;IAC7B,IAAI,QAAQ,EAAE,CAAC;QACb,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAChC,oDAAoD;QACpD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YAC7C,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;SAAM,CAAC;QACN,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACnC,CAAC;IAED,2BAA2B;IAC3B,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9B,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QACnC,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,QAAQ;gBACX,UAAU,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;gBAC7C,MAAM;YACR,KAAK,QAAQ;gBACX,UAAU,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;gBACjD,MAAM;YACR,KAAK,SAAS;gBACZ,UAAU,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;gBAC9C,MAAM;YACR,KAAK,MAAM,CAAC;YACZ,KAAK,UAAU;gBACb,UAAU,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;gBACrD,MAAM;YACR,KAAK,MAAM;gBACT,iEAAiE;gBACjE,MAAM;QACV,CAAC;IACH,CAAC;SAAM,CAAC;QACN,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,QAAQ;gBACX,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAC/B,MAAM;YACR,KAAK,QAAQ;gBACX,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAC/B,MAAM;YACR,KAAK,SAAS;gBACZ,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBAChC,MAAM;YACR,KAAK,MAAM,CAAC;YACZ,KAAK,UAAU;gBACb,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBACnC,MAAM;YACR,KAAK,MAAM;gBACT,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAC/B,MAAM;QACV,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;;GAKG;AACH,SAAgB,oBAAoB,CAAC,KAAmB;IACtD,wBAAwB;IACxB,MAAM,OAAO,GAAG,IAAI,GAAG,CAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC;IAEjH,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAEvB,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;YACnC,QAAQ,QAAQ,EAAE,CAAC;gBACjB,KAAK,QAAQ;oBACX,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;oBACxB,MAAM;gBACR,KAAK,QAAQ;oBACX,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;oBACxB,MAAM;gBACR,KAAK,SAAS;oBACZ,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;oBACzB,MAAM;gBACR,KAAK,MAAM,CAAC;gBACZ,KAAK,UAAU;oBACb,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;oBAC5B,MAAM;gBACR,yCAAyC;YAC3C,CAAC;QACH,CAAC;aAAM,CAAC;YACN,QAAQ,IAAI,EAAE,CAAC;gBACb,KAAK,QAAQ;oBACX,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;oBACxB,MAAM;gBACR,KAAK,QAAQ;oBACX,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;oBACxB,MAAM;gBACR,KAAK,SAAS;oBACZ,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;oBACzB,MAAM;gBACR,KAAK,MAAM,CAAC;gBACZ,KAAK,UAAU;oBACb,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;oBAC5B,MAAM;gBACR,KAAK,MAAM;oBACT,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;oBACxB,MAAM;YACV,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;AACpC,CAAC;AAED;;;;GAIG;AACH,SAAgB,aAAa;IAC3B,OAAO,CAAC,GAAG,gBAAgB,EAAE,GAAG,iBAAiB,CAAC,CAAC;AACrD,CAAC"}
1
+ {"version":3,"file":"type-utils.js","sourceRoot":"","sources":["../../../../scripts/generate-module/utils/type-utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@carlonicora/nestjs-neo4jsonapi",
3
- "version": "1.81.0",
3
+ "version": "1.83.0",
4
4
  "description": "NestJS foundation package with JSON:API, Neo4j, Redis, LangChain agents, and common utilities",
5
5
  "author": "Carlo Nicora",
6
6
  "license": "GPL-3.0-or-later",