@klerick/json-api-nestjs 10.0.0-beta.8 → 10.0.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 (153) hide show
  1. package/CHANGELOG.md +167 -0
  2. package/README.md +299 -23
  3. package/package.json +4 -8
  4. package/src/index.d.ts +2 -2
  5. package/src/index.js +3 -1
  6. package/src/index.js.map +1 -1
  7. package/src/lib/constants/di.d.ts +1 -0
  8. package/src/lib/constants/di.js +2 -1
  9. package/src/lib/constants/di.js.map +1 -1
  10. package/src/lib/json-api.module.js +3 -2
  11. package/src/lib/json-api.module.js.map +1 -1
  12. package/src/lib/modules/atomic-operation/atomic-operation.module.d.ts +1 -2
  13. package/src/lib/modules/atomic-operation/atomic-operation.module.js +6 -5
  14. package/src/lib/modules/atomic-operation/atomic-operation.module.js.map +1 -1
  15. package/src/lib/modules/atomic-operation/controllers/operation.controller.js +4 -4
  16. package/src/lib/modules/atomic-operation/controllers/operation.controller.js.map +1 -1
  17. package/src/lib/modules/atomic-operation/factory/map-controller-entity.d.ts +1 -2
  18. package/src/lib/modules/atomic-operation/factory/map-controller-entity.js +8 -7
  19. package/src/lib/modules/atomic-operation/factory/map-controller-entity.js.map +1 -1
  20. package/src/lib/modules/atomic-operation/pipes/input-operation.pipe.js.map +1 -1
  21. package/src/lib/modules/atomic-operation/service/execute.service.d.ts +13 -3
  22. package/src/lib/modules/atomic-operation/service/execute.service.js +80 -33
  23. package/src/lib/modules/atomic-operation/service/execute.service.js.map +1 -1
  24. package/src/lib/modules/atomic-operation/service/explorer.service.js +10 -6
  25. package/src/lib/modules/atomic-operation/service/explorer.service.js.map +1 -1
  26. package/src/lib/modules/atomic-operation/service/swagger.service.js +6 -6
  27. package/src/lib/modules/atomic-operation/service/swagger.service.js.map +1 -1
  28. package/src/lib/modules/atomic-operation/utils/zod/zod-helper.d.ts +14 -7
  29. package/src/lib/modules/atomic-operation/utils/zod/zod-helper.js +12 -9
  30. package/src/lib/modules/atomic-operation/utils/zod/zod-helper.js.map +1 -1
  31. package/src/lib/modules/mixin/config/bindings.js +20 -0
  32. package/src/lib/modules/mixin/config/bindings.js.map +1 -1
  33. package/src/lib/modules/mixin/controllers/json-base.controller.d.ts +5 -5
  34. package/src/lib/modules/mixin/controllers/json-base.controller.js +5 -5
  35. package/src/lib/modules/mixin/controllers/json-base.controller.js.map +1 -1
  36. package/src/lib/modules/mixin/decorators/index.d.ts +1 -0
  37. package/src/lib/modules/mixin/decorators/index.js +1 -0
  38. package/src/lib/modules/mixin/decorators/index.js.map +1 -1
  39. package/src/lib/modules/mixin/decorators/json-api-response-from/json-api-response-from.decorator.d.ts +19 -0
  40. package/src/lib/modules/mixin/decorators/json-api-response-from/json-api-response-from.decorator.js +35 -0
  41. package/src/lib/modules/mixin/decorators/json-api-response-from/json-api-response-from.decorator.js.map +1 -0
  42. package/src/lib/modules/mixin/factory/zod-validate.factory.d.ts +2 -1
  43. package/src/lib/modules/mixin/factory/zod-validate.factory.js +5 -1
  44. package/src/lib/modules/mixin/factory/zod-validate.factory.js.map +1 -1
  45. package/src/lib/modules/mixin/helpers/bind-controller.js +4 -1
  46. package/src/lib/modules/mixin/helpers/bind-controller.js.map +1 -1
  47. package/src/lib/modules/mixin/helpers/utils.d.ts +2 -0
  48. package/src/lib/modules/mixin/helpers/utils.js +10 -0
  49. package/src/lib/modules/mixin/helpers/utils.js.map +1 -1
  50. package/src/lib/modules/mixin/mixin.module.js +1 -0
  51. package/src/lib/modules/mixin/mixin.module.js.map +1 -1
  52. package/src/lib/modules/mixin/pipe/index.d.ts +1 -0
  53. package/src/lib/modules/mixin/pipe/index.js +5 -0
  54. package/src/lib/modules/mixin/pipe/index.js.map +1 -1
  55. package/src/lib/modules/mixin/pipe/meta-extractor/index.d.ts +1 -0
  56. package/src/lib/modules/mixin/pipe/meta-extractor/index.js +5 -0
  57. package/src/lib/modules/mixin/pipe/meta-extractor/index.js.map +1 -0
  58. package/src/lib/modules/mixin/pipe/meta-extractor/meta-extractor.pipe.d.ts +6 -0
  59. package/src/lib/modules/mixin/pipe/meta-extractor/meta-extractor.pipe.js +27 -0
  60. package/src/lib/modules/mixin/pipe/meta-extractor/meta-extractor.pipe.js.map +1 -0
  61. package/src/lib/modules/mixin/service/json-api-transformer.service.d.ts +2 -2
  62. package/src/lib/modules/mixin/service/json-api-transformer.service.js.map +1 -1
  63. package/src/lib/modules/mixin/swagger/error-response-model.d.ts +11 -0
  64. package/src/lib/modules/mixin/swagger/error-response-model.js +63 -0
  65. package/src/lib/modules/mixin/swagger/error-response-model.js.map +1 -0
  66. package/src/lib/modules/mixin/swagger/method/delete-one.js +3 -3
  67. package/src/lib/modules/mixin/swagger/method/delete-one.js.map +1 -1
  68. package/src/lib/modules/mixin/swagger/method/delete-relationship.js +6 -6
  69. package/src/lib/modules/mixin/swagger/method/delete-relationship.js.map +1 -1
  70. package/src/lib/modules/mixin/swagger/method/get-all.js +9 -39
  71. package/src/lib/modules/mixin/swagger/method/get-all.js.map +1 -1
  72. package/src/lib/modules/mixin/swagger/method/get-one.js +5 -5
  73. package/src/lib/modules/mixin/swagger/method/get-one.js.map +1 -1
  74. package/src/lib/modules/mixin/swagger/method/get-relationship.js +5 -4
  75. package/src/lib/modules/mixin/swagger/method/get-relationship.js.map +1 -1
  76. package/src/lib/modules/mixin/swagger/method/patch-one.js +5 -5
  77. package/src/lib/modules/mixin/swagger/method/patch-one.js.map +1 -1
  78. package/src/lib/modules/mixin/swagger/method/patch-relationship.js +7 -7
  79. package/src/lib/modules/mixin/swagger/method/patch-relationship.js.map +1 -1
  80. package/src/lib/modules/mixin/swagger/method/post-one.js +5 -5
  81. package/src/lib/modules/mixin/swagger/method/post-one.js.map +1 -1
  82. package/src/lib/modules/mixin/swagger/method/post-relationship.js +7 -7
  83. package/src/lib/modules/mixin/swagger/method/post-relationship.js.map +1 -1
  84. package/src/lib/modules/mixin/swagger/open-api-types.d.ts +18 -0
  85. package/src/lib/modules/mixin/swagger/open-api-types.js +3 -0
  86. package/src/lib/modules/mixin/swagger/open-api-types.js.map +1 -0
  87. package/src/lib/modules/mixin/swagger/swagger-bind.service.d.ts +1 -0
  88. package/src/lib/modules/mixin/swagger/swagger-bind.service.js +52 -13
  89. package/src/lib/modules/mixin/swagger/swagger-bind.service.js.map +1 -1
  90. package/src/lib/modules/mixin/swagger/utils.d.ts +17 -142
  91. package/src/lib/modules/mixin/swagger/utils.js +178 -124
  92. package/src/lib/modules/mixin/swagger/utils.js.map +1 -1
  93. package/src/lib/modules/mixin/zod/index.d.ts +1 -1
  94. package/src/lib/modules/mixin/zod/index.js +4 -0
  95. package/src/lib/modules/mixin/zod/index.js.map +1 -1
  96. package/src/lib/modules/mixin/zod/map-transform-to-json-shema.d.ts +2 -0
  97. package/src/lib/modules/mixin/zod/map-transform-to-json-shema.js +10 -0
  98. package/src/lib/modules/mixin/zod/map-transform-to-json-shema.js.map +1 -1
  99. package/src/lib/modules/mixin/zod/zod-input-patch-relationship-schema/index.d.ts +8 -0
  100. package/src/lib/modules/mixin/zod/zod-input-patch-relationship-schema/index.js +8 -3
  101. package/src/lib/modules/mixin/zod/zod-input-patch-relationship-schema/index.js.map +1 -1
  102. package/src/lib/modules/mixin/zod/zod-input-patch-schema/index.d.ts +14 -3
  103. package/src/lib/modules/mixin/zod/zod-input-patch-schema/index.js +1 -0
  104. package/src/lib/modules/mixin/zod/zod-input-patch-schema/index.js.map +1 -1
  105. package/src/lib/modules/mixin/zod/zod-input-post-relationship-schema/index.d.ts +1 -0
  106. package/src/lib/modules/mixin/zod/zod-input-post-relationship-schema/index.js +1 -0
  107. package/src/lib/modules/mixin/zod/zod-input-post-relationship-schema/index.js.map +1 -1
  108. package/src/lib/modules/mixin/zod/zod-input-post-schema/index.d.ts +16 -6
  109. package/src/lib/modules/mixin/zod/zod-input-post-schema/index.js +2 -11
  110. package/src/lib/modules/mixin/zod/zod-input-post-schema/index.js.map +1 -1
  111. package/src/lib/modules/mixin/zod/zod-input-query-schema/fields.d.ts +8 -5
  112. package/src/lib/modules/mixin/zod/zod-input-query-schema/fields.js +16 -12
  113. package/src/lib/modules/mixin/zod/zod-input-query-schema/fields.js.map +1 -1
  114. package/src/lib/modules/mixin/zod/zod-input-query-schema/filter.d.ts +76 -6
  115. package/src/lib/modules/mixin/zod/zod-input-query-schema/filter.js +32 -10
  116. package/src/lib/modules/mixin/zod/zod-input-query-schema/filter.js.map +1 -1
  117. package/src/lib/modules/mixin/zod/zod-input-query-schema/index.d.ts +40 -15
  118. package/src/lib/modules/mixin/zod/zod-input-query-schema/index.js +3 -1
  119. package/src/lib/modules/mixin/zod/zod-input-query-schema/index.js.map +1 -1
  120. package/src/lib/modules/mixin/zod/zod-query-schema/fields.d.ts +1 -1
  121. package/src/lib/modules/mixin/zod/zod-query-schema/fields.js +5 -4
  122. package/src/lib/modules/mixin/zod/zod-query-schema/fields.js.map +1 -1
  123. package/src/lib/modules/mixin/zod/zod-query-schema/filter.d.ts +4 -2
  124. package/src/lib/modules/mixin/zod/zod-query-schema/filter.js +19 -8
  125. package/src/lib/modules/mixin/zod/zod-query-schema/filter.js.map +1 -1
  126. package/src/lib/modules/mixin/zod/zod-query-schema/include.d.ts +9 -2
  127. package/src/lib/modules/mixin/zod/zod-query-schema/include.js +2 -1
  128. package/src/lib/modules/mixin/zod/zod-query-schema/include.js.map +1 -1
  129. package/src/lib/modules/mixin/zod/zod-query-schema/sort.d.ts +2 -2
  130. package/src/lib/modules/mixin/zod/zod-query-schema/sort.js +5 -4
  131. package/src/lib/modules/mixin/zod/zod-query-schema/sort.js.map +1 -1
  132. package/src/lib/modules/mixin/zod/zod-share/attributes.d.ts +12 -6
  133. package/src/lib/modules/mixin/zod/zod-share/attributes.js +12 -7
  134. package/src/lib/modules/mixin/zod/zod-share/attributes.js.map +1 -1
  135. package/src/lib/modules/mixin/zod/zod-share/id.d.ts +12 -0
  136. package/src/lib/modules/mixin/zod/zod-share/id.js +17 -0
  137. package/src/lib/modules/mixin/zod/zod-share/id.js.map +1 -1
  138. package/src/lib/modules/mixin/zod/zod-share/index.d.ts +1 -0
  139. package/src/lib/modules/mixin/zod/zod-share/index.js +1 -0
  140. package/src/lib/modules/mixin/zod/zod-share/index.js.map +1 -1
  141. package/src/lib/modules/mixin/zod/zod-share/meta.d.ts +11 -0
  142. package/src/lib/modules/mixin/zod/zod-share/meta.js +15 -0
  143. package/src/lib/modules/mixin/zod/zod-share/meta.js.map +1 -0
  144. package/src/lib/modules/mixin/zod/zod-share/page.d.ts +2 -2
  145. package/src/lib/modules/mixin/zod/zod-utils.d.ts +2 -0
  146. package/src/lib/modules/mixin/zod/zod-utils.js +20 -0
  147. package/src/lib/modules/mixin/zod/zod-utils.js.map +1 -1
  148. package/src/lib/types/entity-param.type.d.ts +10 -9
  149. package/src/lib/types/entity-param.type.js +13 -0
  150. package/src/lib/types/entity-param.type.js.map +1 -1
  151. package/src/lib/types/module-options.types.d.ts +1 -0
  152. package/src/lib/utils/module-helper.js +1 -0
  153. package/src/lib/utils/module-helper.js.map +1 -1
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.zodId = zodId;
4
+ exports.zodPrimaryKeyId = zodPrimaryKeyId;
4
5
  const zod_1 = require("zod");
5
6
  const types_1 = require("../../../../types");
6
7
  const reg = new RegExp('^-?\\d+$');
@@ -11,4 +12,20 @@ function zodId(typeId) {
11
12
  }
12
13
  return idSchema;
13
14
  }
15
+ /**
16
+ * JSON:API carries every id as a string, including ids of numeric primary keys.
17
+ * A client-supplied id ends up written straight onto the new entity, so it has
18
+ * to match the declared primary-key type: MikroORM 7 validates property types
19
+ * on flush and rejects a string written to a numeric key, where earlier
20
+ * versions coerced it silently.
21
+ *
22
+ * Only the resource's own id is converted. Relationship linkage ids keep their
23
+ * string form -- they travel a different path and are matched as strings.
24
+ */
25
+ function zodPrimaryKeyId(typeId) {
26
+ if (typeId === types_1.TypeField.number) {
27
+ return zodId(typeId).transform((value) => Number(value));
28
+ }
29
+ return zodId(typeId);
30
+ }
14
31
  //# sourceMappingURL=id.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"id.js","sourceRoot":"","sources":["../../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/zod/zod-share/id.ts"],"names":[],"mappings":";;AAKA,sBAOC;AAZD,6BAAwB;AACxB,6CAAyD;AAEzD,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC;AAEnC,SAAgB,KAAK,CAAC,MAAiB;IACrC,IAAI,QAAQ,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC;IAC1B,IAAI,MAAM,KAAK,iBAAS,CAAC,MAAM,EAAE,CAAC;QAChC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"id.js","sourceRoot":"","sources":["../../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/zod/zod-share/id.ts"],"names":[],"mappings":";;AAKA,sBAOC;AAeD,0CAMC;AAjCD,6BAAwB;AACxB,6CAAyD;AAEzD,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC;AAEnC,SAAgB,KAAK,CAAC,MAAiB;IACrC,IAAI,QAAQ,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC;IAC1B,IAAI,MAAM,KAAK,iBAAS,CAAC,MAAM,EAAE,CAAC;QAChC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAKD;;;;;;;;;GASG;AACH,SAAgB,eAAe,CAAC,MAAiB;IAC/C,IAAI,MAAM,KAAK,iBAAS,CAAC,MAAM,EAAE,CAAC;QAChC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC;AACvB,CAAC"}
@@ -4,3 +4,4 @@ export * from './type';
4
4
  export * from './attributes';
5
5
  export * from './rel-data';
6
6
  export * from './relationships';
7
+ export * from './meta';
@@ -7,4 +7,5 @@ tslib_1.__exportStar(require("./type"), exports);
7
7
  tslib_1.__exportStar(require("./attributes"), exports);
8
8
  tslib_1.__exportStar(require("./rel-data"), exports);
9
9
  tslib_1.__exportStar(require("./relationships"), exports);
10
+ tslib_1.__exportStar(require("./meta"), exports);
10
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/zod/zod-share/index.ts"],"names":[],"mappings":";;;AAAA,iDAAuB;AACvB,+CAAqB;AACrB,iDAAuB;AACvB,uDAA6B;AAC7B,qDAA2B;AAC3B,0DAAgC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/zod/zod-share/index.ts"],"names":[],"mappings":";;;AAAA,iDAAuB;AACvB,+CAAqB;AACrB,iDAAuB;AACvB,uDAA6B;AAC7B,qDAA2B;AAC3B,0DAAgC;AAChC,iDAAuB"}
@@ -0,0 +1,11 @@
1
+ import { z } from 'zod';
2
+ export declare const zodMeta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
3
+ export declare const zodMetaExtractor: z.ZodPipe<z.ZodObject<{
4
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
5
+ }, z.core.$loose>, z.ZodTransform<Record<string, unknown>, {
6
+ [x: string]: unknown;
7
+ meta?: Record<string, unknown> | undefined;
8
+ }>>;
9
+ export type ZodMeta = typeof zodMeta;
10
+ export type ZodMetaExtractor = typeof zodMetaExtractor;
11
+ export type Meta = z.infer<ZodMeta>;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.zodMetaExtractor = exports.zodMeta = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.zodMeta = zod_1.z
6
+ .record(zod_1.z.string(), zod_1.z.unknown())
7
+ .optional()
8
+ .meta({ id: 'MetaObject' });
9
+ exports.zodMetaExtractor = zod_1.z
10
+ .object({
11
+ meta: exports.zodMeta,
12
+ })
13
+ .loose()
14
+ .transform((val) => val.meta ?? {});
15
+ //# sourceMappingURL=meta.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meta.js","sourceRoot":"","sources":["../../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/zod/zod-share/meta.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAEX,QAAA,OAAO,GAAG,OAAC;KACrB,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC;KAC/B,QAAQ,EAAE;KACV,IAAI,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;AAEjB,QAAA,gBAAgB,GAAG,OAAC;KAC9B,MAAM,CAAC;IACN,IAAI,EAAE,eAAO;CACd,CAAC;KACD,KAAK,EAAE;KACP,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  export declare function zodPageInputQuery(): z.ZodDefault<z.ZodObject<{
3
- size: z.ZodDefault<z.ZodPipe<z.ZodTransform<number, unknown>, z.ZodNumber>>;
4
- number: z.ZodDefault<z.ZodPipe<z.ZodTransform<number, unknown>, z.ZodNumber>>;
3
+ size: z.ZodDefault<z.ZodPreprocess<z.ZodNumber>>;
4
+ number: z.ZodDefault<z.ZodPreprocess<z.ZodNumber>>;
5
5
  }, z.core.$strict>>;
6
6
  export type ZodPageInputQuery = ReturnType<typeof zodPageInputQuery>;
@@ -12,4 +12,6 @@ export declare const stringMustBe: (type?: TypeField) => (inputString: string |
12
12
  export declare const elementOfArrayMustBe: (type?: TypeField) => (inputArray: unknown[]) => boolean;
13
13
  export declare function guardIsKeyOfObject<R>(object: R, key: string | number | symbol): asserts key is keyof R;
14
14
  export declare function getRelationProps<E extends object, IdKey extends string>(entityParamMapService: EntityParamMapService<E, IdKey>): EntityRelationProps<E, IdKey>;
15
+ export declare function getRelationPrimaryName<E extends object, IdKey extends string>(entityParamMapService: EntityParamMapService<E, IdKey>): { [K in keyof EntityRelationProps<E, IdKey>]: IdKey; };
15
16
  export declare function setOptionalOrNot<Schema extends ZodType, Null extends true | false, isPatch extends true | false>(schema: Schema, isNullable: Null, isPatch: isPatch): ResultSchema<Schema, Null, isPatch>;
17
+ export declare function memoize<T extends (...args: any[]) => any>(fn: T): T;
@@ -3,7 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.elementOfArrayMustBe = exports.stringMustBe = exports.arrayItemStringLongerThan = exports.stringLongerThan = exports.oneOf = exports.getValidationErrorForStrict = exports.uniqueArray = exports.nonEmptyObject = void 0;
4
4
  exports.guardIsKeyOfObject = guardIsKeyOfObject;
5
5
  exports.getRelationProps = getRelationProps;
6
+ exports.getRelationPrimaryName = getRelationPrimaryName;
6
7
  exports.setOptionalOrNot = setOptionalOrNot;
8
+ exports.memoize = memoize;
7
9
  const json_api_nestjs_shared_1 = require("@klerick/json-api-nestjs-shared");
8
10
  const types_1 = require("../../../types");
9
11
  const nonEmptyObject = () => (object) => !!(typeof object === 'object' && object && Object.keys(object).length > 0);
@@ -61,6 +63,13 @@ function getRelationProps(entityParamMapService) {
61
63
  return acum;
62
64
  }, {});
63
65
  }
66
+ function getRelationPrimaryName(entityParamMapService) {
67
+ return json_api_nestjs_shared_1.ObjectTyped.entries(entityParamMapService.entityParaMap.relationProperty).reduce((acum, [name, value]) => {
68
+ const relMap = entityParamMapService.getParamMap(value.entityClass);
69
+ Reflect.set(acum, name, relMap.primaryColumnName);
70
+ return acum;
71
+ }, {});
72
+ }
64
73
  function setOptionalOrNot(schema, isNullable, isPatch) {
65
74
  if (isPatch) {
66
75
  return (isNullable ? schema.nullable() : schema).optional();
@@ -69,4 +78,15 @@ function setOptionalOrNot(schema, isNullable, isPatch) {
69
78
  return (isNullable ? schema.nullable().optional() : schema);
70
79
  }
71
80
  }
81
+ function memoize(fn) {
82
+ const cache = new Map();
83
+ return ((...args) => {
84
+ const key = args.join('-'); // Для скаляров достаточно
85
+ if (cache.has(key))
86
+ return cache.get(key);
87
+ const result = fn(...args);
88
+ cache.set(key, result);
89
+ return result;
90
+ });
91
+ }
72
92
  //# sourceMappingURL=zod-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"zod-utils.js","sourceRoot":"","sources":["../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/zod/zod-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zod-utils.js","sourceRoot":"","sources":["../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/zod/zod-utils.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { Union, Object } from 'ts-toolbelt';
2
- import { PropertyKeys, RelationKeys, IsIterator, Constructor } from '@klerick/json-api-nestjs-shared';
2
+ import { AttrKeys, RelationKeys, IsIterator, Constructor } from '@klerick/json-api-nestjs-shared';
3
3
  import { CastIteratorType, UnionToTuple, IsArray, CastArrayType } from './utils-type';
4
+ type ExtractBaseType<T> = T extends Date ? Date : T extends boolean ? boolean : T extends number ? number : T extends string ? string : T extends null ? null : T extends undefined ? undefined : T extends (infer U)[] ? U[] : object;
4
5
  export declare enum TypeField {
5
6
  array = "array",
6
7
  date = "date",
@@ -11,17 +12,17 @@ export declare enum TypeField {
11
12
  null = "null"
12
13
  }
13
14
  export type TypeForId = Extract<TypeField, TypeField.number | TypeField.string>;
14
- type TypeProps<T> = T extends Date ? TypeField.date : T extends any[] ? TypeField.array : T extends object ? TypeField.object : T extends boolean ? TypeField.boolean : T extends number ? TypeField.number : T extends string ? TypeField.string : TypeField.object;
15
+ type TypeProps<T> = T extends Date ? TypeField.date : T extends any[] ? TypeField.array : T extends object ? TypeField.object : T extends boolean ? TypeField.boolean : T extends number ? TypeField.number : T extends string ? TypeField.string : T extends undefined ? never : TypeField.object;
15
16
  export type PropertyWithType<E extends object, IdKey extends string = 'id'> = {
16
- [K in PropertyKeys<E, IdKey>]: Exclude<E[K], null> extends never ? TypeField.null : TypeProps<Exclude<E[K], null>>;
17
+ [K in AttrKeys<E, IdKey>]: Exclude<E[K], null | undefined> extends never ? TypeField.null : TypeProps<ExtractBaseType<Exclude<E[K], null | undefined>>>;
17
18
  };
18
19
  export type ArrayProperty<E extends object, IdKey extends string = 'id'> = {
19
- [K in PropertyKeys<E, IdKey>]: Exclude<E[K], null> extends never ? never : IsArray<Exclude<E[K], null>> extends 1 ? K : never;
20
- }[PropertyKeys<E, IdKey>];
20
+ [K in AttrKeys<E, IdKey>]: Exclude<E[K], null | undefined> extends never ? never : IsArray<Exclude<E[K], null | undefined>> extends 1 ? K : never;
21
+ }[AttrKeys<E, IdKey>];
21
22
  export type ArrayPropertyType<E extends object, IdKey extends string = 'id'> = {
22
- [K in ArrayProperty<E, IdKey>]: TypeProps<CastArrayType<Exclude<E[K], null>>>;
23
+ [K in ArrayProperty<E, IdKey>]: TypeProps<CastArrayType<Exclude<E[K], null | undefined>>>;
23
24
  };
24
- export type NullableProperty<E extends object, IdKey extends string = 'id'> = Union.Intersect<Object.NullableKeys<E>, PropertyKeys<E, IdKey>>;
25
+ export type NullableProperty<E extends object, IdKey extends string = 'id'> = Union.Intersect<Object.NullableKeys<E>, AttrKeys<E, IdKey>>;
25
26
  export type RelationProperty<E extends object, IdKey extends string = 'id'> = {
26
27
  [K in RelationKeys<E, IdKey>]: {
27
28
  entityClass: Constructor<CastIteratorType<E[K]>>;
@@ -31,7 +32,7 @@ export type RelationProperty<E extends object, IdKey extends string = 'id'> = {
31
32
  };
32
33
  type PrimaryType<E extends object, IdKey extends string = 'id'> = IdKey extends keyof E ? TypeProps<E[IdKey]> extends TypeField ? TypeProps<E[IdKey]> : TypeField.string : TypeField.string;
33
34
  export type EntityParam<E extends object, IdKey extends string = 'id'> = {
34
- props: UnionToTuple<PropertyKeys<E, IdKey>>;
35
+ props: UnionToTuple<AttrKeys<E, IdKey>>;
35
36
  propsType: PropertyWithType<E, IdKey>;
36
37
  propsArrayType: ArrayPropertyType<E, IdKey>;
37
38
  propsNullable: UnionToTuple<NullableProperty<E, IdKey>>;
@@ -45,6 +46,6 @@ export type EntityParam<E extends object, IdKey extends string = 'id'> = {
45
46
  };
46
47
  type RelationType<E extends object, IdKey extends string, K extends keyof EntityParam<E, IdKey>['relationProperty']> = EntityParam<E, IdKey>['relationProperty'][K]['entityClass'] extends Constructor<infer T> ? Exclude<T, null> : never;
47
48
  export type EntityRelationProps<E extends object, IdKey extends string = 'id'> = {
48
- [K in keyof EntityParam<E, IdKey>['relationProperty']]: UnionToTuple<PropertyKeys<RelationType<E, IdKey, K>>>;
49
+ [K in keyof EntityParam<E, IdKey>['relationProperty']]: UnionToTuple<AttrKeys<RelationType<E, IdKey, K>>>;
49
50
  };
50
51
  export {};
@@ -1,6 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TypeField = void 0;
4
+ // import {
5
+ // JsonApiReadOnlyField,
6
+ // JsonApiImmutableField,
7
+ // } from './json-api-read-only';
8
+ // // Remove marker types from value type
9
+ // type CleanMarkerTypes<T> = T extends JsonApiReadOnlyField &
10
+ // JsonApiImmutableField
11
+ // ? Omit<T, keyof JsonApiReadOnlyField | keyof JsonApiImmutableField>
12
+ // : T extends JsonApiReadOnlyField
13
+ // ? Omit<T, keyof JsonApiReadOnlyField>
14
+ // : T extends JsonApiImmutableField
15
+ // ? Omit<T, keyof JsonApiImmutableField>
16
+ // : T;
4
17
  var TypeField;
5
18
  (function (TypeField) {
6
19
  TypeField["array"] = "array";
@@ -1 +1 @@
1
- {"version":3,"file":"entity-param.type.js","sourceRoot":"","sources":["../../../../../../../libs/json-api/json-api-nestjs/src/lib/types/entity-param.type.ts"],"names":[],"mappings":";;;AAcA,IAAY,SAQX;AARD,WAAY,SAAS;IACnB,4BAAe,CAAA;IACf,0BAAa,CAAA;IACb,8BAAiB,CAAA;IACjB,gCAAmB,CAAA;IACnB,8BAAiB,CAAA;IACjB,8BAAiB,CAAA;IACjB,0BAAa,CAAA;AACf,CAAC,EARW,SAAS,yBAAT,SAAS,QAQpB"}
1
+ {"version":3,"file":"entity-param.type.js","sourceRoot":"","sources":["../../../../../../../libs/json-api/json-api-nestjs/src/lib/types/entity-param.type.ts"],"names":[],"mappings":";;;AAyBA,WAAW;AACX,0BAA0B;AAC1B,2BAA2B;AAC3B,iCAAiC;AAEjC,yCAAyC;AACzC,8DAA8D;AAC9D,0BAA0B;AAC1B,wEAAwE;AACxE,qCAAqC;AACrC,0CAA0C;AAC1C,sCAAsC;AACtC,2CAA2C;AAC3C,SAAS;AAET,IAAY,SAQX;AARD,WAAY,SAAS;IACnB,4BAAe,CAAA;IACf,0BAAa,CAAA;IACb,8BAAiB,CAAA;IACjB,gCAAmB,CAAA;IACnB,8BAAiB,CAAA;IACjB,8BAAiB,CAAA;IACjB,0BAAa,CAAA;AACf,CAAC,EARW,SAAS,yBAAT,SAAS,QAQpB"}
@@ -5,6 +5,7 @@ import { NestController, NestImport, NestProvider, PipeMixin } from './common-ty
5
5
  import { ExtractNestType, IfEquals } from './utils-type';
6
6
  type ModuleCommonParams = {
7
7
  entities: NonEmptyArray<EntityClass<AnyEntity>>;
8
+ excludeControllers?: EntityClass<AnyEntity>[];
8
9
  connectionName?: string;
9
10
  controllers?: NestController;
10
11
  providers?: NestProvider;
@@ -12,6 +12,7 @@ function prepareConfig(moduleParams) {
12
12
  providers: moduleParams['providers'] || [],
13
13
  controllers: moduleParams['controllers'] || [],
14
14
  entities: moduleParams['entities'],
15
+ excludeControllers: moduleParams['excludeControllers'] || [],
15
16
  options: {
16
17
  ...options,
17
18
  operationUrl: options['operationUrl'] || undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"module-helper.js","sourceRoot":"","sources":["../../../../../../../libs/json-api/json-api-nestjs/src/lib/utils/module-helper.ts"],"names":[],"mappings":";;AAcA,sCAuBC;AAED,sCAQC;AA/CD,2CAA8C;AAS9C,4CAGsB;AAEtB,SAAgB,aAAa,CAC3B,YAA+B;IAE/B,MAAM,OAAO,GAAG,YAAY,CAAC,SAAS,CAAC,IAAK,EAAgC,CAAC;IAE7E,OAAO;QACL,cAAc,EAAE,YAAY,CAAC,gBAAgB,CAAC,IAAI,mCAAuB;QACzE,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,IAAI,EAAE;QACtC,SAAS,EAAE,YAAY,CAAC,WAAW,CAAC,IAAI,EAAE;QAC1C,WAAW,EAAE,YAAY,CAAC,aAAa,CAAC,IAAI,EAAE;QAC9C,QAAQ,EAAE,YAAY,CAAC,UAAU,CAAC;QAClC,OAAO,EAAE;YACP,GAAG,OAAO;YACV,YAAY,EAAE,OAAO,CAAC,cAAc,CAAC,IAAI,SAAS;YAClD,mBAAmB,EAAE,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC;YACrD,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;YACzB,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,IAAI,qBAAY;YAC/C,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;SACpC;QACD,KAAK,EAAE;YACL,qBAAqB,EAAE,YAAY,CAAC,OAAO,CAAC,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC,uBAAuB,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;SACjH;KACF,CAAC;AACJ,CAAC;AAED,SAAgB,aAAa,CAC3B,MAA8B,EAC9B,WAA2B;IAE3B,OAAO,WAAW,CAAC,IAAI,CACrB,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,IAAI,OAAO,CAAC,WAAW,CAAC,qCAAyB,EAAE,IAAI,CAAC,KAAK,MAAM,CAC1E,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"module-helper.js","sourceRoot":"","sources":["../../../../../../../libs/json-api/json-api-nestjs/src/lib/utils/module-helper.ts"],"names":[],"mappings":";;AAcA,sCAwBC;AAED,sCAQC;AAhDD,2CAA8C;AAS9C,4CAGsB;AAEtB,SAAgB,aAAa,CAC3B,YAA+B;IAE/B,MAAM,OAAO,GAAG,YAAY,CAAC,SAAS,CAAC,IAAK,EAAgC,CAAC;IAE7E,OAAO;QACL,cAAc,EAAE,YAAY,CAAC,gBAAgB,CAAC,IAAI,mCAAuB;QACzE,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,IAAI,EAAE;QACtC,SAAS,EAAE,YAAY,CAAC,WAAW,CAAC,IAAI,EAAE;QAC1C,WAAW,EAAE,YAAY,CAAC,aAAa,CAAC,IAAI,EAAE;QAC9C,QAAQ,EAAE,YAAY,CAAC,UAAU,CAAC;QAClC,kBAAkB,EAAE,YAAY,CAAC,oBAAoB,CAAC,IAAI,EAAE;QAC5D,OAAO,EAAE;YACP,GAAG,OAAO;YACV,YAAY,EAAE,OAAO,CAAC,cAAc,CAAC,IAAI,SAAS;YAClD,mBAAmB,EAAE,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC;YACrD,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;YACzB,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,IAAI,qBAAY;YAC/C,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;SACpC;QACD,KAAK,EAAE;YACL,qBAAqB,EAAE,YAAY,CAAC,OAAO,CAAC,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC,uBAAuB,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;SACjH;KACF,CAAC;AACJ,CAAC;AAED,SAAgB,aAAa,CAC3B,MAA8B,EAC9B,WAA2B;IAE3B,OAAO,WAAW,CAAC,IAAI,CACrB,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,IAAI,OAAO,CAAC,WAAW,CAAC,qCAAyB,EAAE,IAAI,CAAC,KAAK,MAAM,CAC1E,CAAC;AACJ,CAAC"}