@klerick/json-api-nestjs 10.0.0-beta.1

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 (349) hide show
  1. package/package.json +58 -0
  2. package/src/index.d.ts +9 -0
  3. package/src/index.js +32 -0
  4. package/src/index.js.map +1 -0
  5. package/src/lib/constants/constants.d.ts +9 -0
  6. package/src/lib/constants/constants.js +13 -0
  7. package/src/lib/constants/constants.js.map +1 -0
  8. package/src/lib/constants/default.d.ts +2 -0
  9. package/src/lib/constants/default.js +6 -0
  10. package/src/lib/constants/default.js.map +1 -0
  11. package/src/lib/constants/di.d.ts +14 -0
  12. package/src/lib/constants/di.js +18 -0
  13. package/src/lib/constants/di.js.map +1 -0
  14. package/src/lib/constants/index.d.ts +4 -0
  15. package/src/lib/constants/index.js +8 -0
  16. package/src/lib/constants/index.js.map +1 -0
  17. package/src/lib/constants/reflection.d.ts +2 -0
  18. package/src/lib/constants/reflection.js +6 -0
  19. package/src/lib/constants/reflection.js.map +1 -0
  20. package/src/lib/json-api.module.d.ts +5 -0
  21. package/src/lib/json-api.module.js +40 -0
  22. package/src/lib/json-api.module.js.map +1 -0
  23. package/src/lib/modules/atomic-operation/atomic-operation.module.d.ts +8 -0
  24. package/src/lib/modules/atomic-operation/atomic-operation.module.js +71 -0
  25. package/src/lib/modules/atomic-operation/atomic-operation.module.js.map +1 -0
  26. package/src/lib/modules/atomic-operation/constants/index.d.ts +5 -0
  27. package/src/lib/modules/atomic-operation/constants/index.js +9 -0
  28. package/src/lib/modules/atomic-operation/constants/index.js.map +1 -0
  29. package/src/lib/modules/atomic-operation/controllers/index.d.ts +1 -0
  30. package/src/lib/modules/atomic-operation/controllers/index.js +5 -0
  31. package/src/lib/modules/atomic-operation/controllers/index.js.map +1 -0
  32. package/src/lib/modules/atomic-operation/controllers/operation.controller.d.ts +13 -0
  33. package/src/lib/modules/atomic-operation/controllers/operation.controller.js +98 -0
  34. package/src/lib/modules/atomic-operation/controllers/operation.controller.js.map +1 -0
  35. package/src/lib/modules/atomic-operation/factory/async-iterator.d.ts +18 -0
  36. package/src/lib/modules/atomic-operation/factory/async-iterator.js +44 -0
  37. package/src/lib/modules/atomic-operation/factory/async-iterator.js.map +1 -0
  38. package/src/lib/modules/atomic-operation/factory/index.d.ts +4 -0
  39. package/src/lib/modules/atomic-operation/factory/index.js +8 -0
  40. package/src/lib/modules/atomic-operation/factory/index.js.map +1 -0
  41. package/src/lib/modules/atomic-operation/factory/map-controller-entity.d.ts +4 -0
  42. package/src/lib/modules/atomic-operation/factory/map-controller-entity.js +20 -0
  43. package/src/lib/modules/atomic-operation/factory/map-controller-entity.js.map +1 -0
  44. package/src/lib/modules/atomic-operation/factory/map-entity-name-to-entity.d.ts +4 -0
  45. package/src/lib/modules/atomic-operation/factory/map-entity-name-to-entity.js +13 -0
  46. package/src/lib/modules/atomic-operation/factory/map-entity-name-to-entity.js.map +1 -0
  47. package/src/lib/modules/atomic-operation/factory/zod-input-operation.d.ts +3 -0
  48. package/src/lib/modules/atomic-operation/factory/zod-input-operation.js +16 -0
  49. package/src/lib/modules/atomic-operation/factory/zod-input-operation.js.map +1 -0
  50. package/src/lib/modules/atomic-operation/pipes/input-operation.pipe.d.ts +7 -0
  51. package/src/lib/modules/atomic-operation/pipes/input-operation.pipe.js +31 -0
  52. package/src/lib/modules/atomic-operation/pipes/input-operation.pipe.js.map +1 -0
  53. package/src/lib/modules/atomic-operation/service/execute.service.d.ts +26 -0
  54. package/src/lib/modules/atomic-operation/service/execute.service.js +233 -0
  55. package/src/lib/modules/atomic-operation/service/execute.service.js.map +1 -0
  56. package/src/lib/modules/atomic-operation/service/explorer.service.d.ts +16 -0
  57. package/src/lib/modules/atomic-operation/service/explorer.service.js +94 -0
  58. package/src/lib/modules/atomic-operation/service/explorer.service.js.map +1 -0
  59. package/src/lib/modules/atomic-operation/service/index.d.ts +3 -0
  60. package/src/lib/modules/atomic-operation/service/index.js +7 -0
  61. package/src/lib/modules/atomic-operation/service/index.js.map +1 -0
  62. package/src/lib/modules/atomic-operation/service/swagger.service.d.ts +7 -0
  63. package/src/lib/modules/atomic-operation/service/swagger.service.js +99 -0
  64. package/src/lib/modules/atomic-operation/service/swagger.service.js.map +1 -0
  65. package/src/lib/modules/atomic-operation/types/index.d.ts +17 -0
  66. package/src/lib/modules/atomic-operation/types/index.js +3 -0
  67. package/src/lib/modules/atomic-operation/types/index.js.map +1 -0
  68. package/src/lib/modules/atomic-operation/utils/index.d.ts +1 -0
  69. package/src/lib/modules/atomic-operation/utils/index.js +5 -0
  70. package/src/lib/modules/atomic-operation/utils/index.js.map +1 -0
  71. package/src/lib/modules/atomic-operation/utils/zod/zod-helper.d.ts +751 -0
  72. package/src/lib/modules/atomic-operation/utils/zod/zod-helper.js +100 -0
  73. package/src/lib/modules/atomic-operation/utils/zod/zod-helper.js.map +1 -0
  74. package/src/lib/modules/index.d.ts +2 -0
  75. package/src/lib/modules/index.js +6 -0
  76. package/src/lib/modules/index.js.map +1 -0
  77. package/src/lib/modules/mixin/config/bindings.d.ts +3 -0
  78. package/src/lib/modules/mixin/config/bindings.js +176 -0
  79. package/src/lib/modules/mixin/config/bindings.js.map +1 -0
  80. package/src/lib/modules/mixin/controllers/index.d.ts +1 -0
  81. package/src/lib/modules/mixin/controllers/index.js +5 -0
  82. package/src/lib/modules/mixin/controllers/index.js.map +1 -0
  83. package/src/lib/modules/mixin/controllers/json-base.controller.d.ts +20 -0
  84. package/src/lib/modules/mixin/controllers/json-base.controller.js +36 -0
  85. package/src/lib/modules/mixin/controllers/json-base.controller.js.map +1 -0
  86. package/src/lib/modules/mixin/decorators/index.d.ts +2 -0
  87. package/src/lib/modules/mixin/decorators/index.js +6 -0
  88. package/src/lib/modules/mixin/decorators/index.js.map +1 -0
  89. package/src/lib/modules/mixin/decorators/inject-service/inject-service.decorator.d.ts +1 -0
  90. package/src/lib/modules/mixin/decorators/inject-service/inject-service.decorator.js +9 -0
  91. package/src/lib/modules/mixin/decorators/inject-service/inject-service.decorator.js.map +1 -0
  92. package/src/lib/modules/mixin/decorators/json-api/json-api.decorator.d.ts +3 -0
  93. package/src/lib/modules/mixin/decorators/json-api/json-api.decorator.js +14 -0
  94. package/src/lib/modules/mixin/decorators/json-api/json-api.decorator.js.map +1 -0
  95. package/src/lib/modules/mixin/factory/index.d.ts +1 -0
  96. package/src/lib/modules/mixin/factory/index.js +5 -0
  97. package/src/lib/modules/mixin/factory/index.js.map +1 -0
  98. package/src/lib/modules/mixin/factory/zod-validate.factory.d.ts +8 -0
  99. package/src/lib/modules/mixin/factory/zod-validate.factory.js +55 -0
  100. package/src/lib/modules/mixin/factory/zod-validate.factory.js.map +1 -0
  101. package/src/lib/modules/mixin/helpers/bind-controller.d.ts +3 -0
  102. package/src/lib/modules/mixin/helpers/bind-controller.js +81 -0
  103. package/src/lib/modules/mixin/helpers/bind-controller.js.map +1 -0
  104. package/src/lib/modules/mixin/helpers/create-controller.d.ts +2 -0
  105. package/src/lib/modules/mixin/helpers/create-controller.js +28 -0
  106. package/src/lib/modules/mixin/helpers/create-controller.js.map +1 -0
  107. package/src/lib/modules/mixin/helpers/index.d.ts +2 -0
  108. package/src/lib/modules/mixin/helpers/index.js +6 -0
  109. package/src/lib/modules/mixin/helpers/index.js.map +1 -0
  110. package/src/lib/modules/mixin/helpers/utils.d.ts +9 -0
  111. package/src/lib/modules/mixin/helpers/utils.js +30 -0
  112. package/src/lib/modules/mixin/helpers/utils.js.map +1 -0
  113. package/src/lib/modules/mixin/interceptors/error.interceptors.d.ts +9 -0
  114. package/src/lib/modules/mixin/interceptors/error.interceptors.js +34 -0
  115. package/src/lib/modules/mixin/interceptors/error.interceptors.js.map +1 -0
  116. package/src/lib/modules/mixin/interceptors/index.d.ts +2 -0
  117. package/src/lib/modules/mixin/interceptors/index.js +6 -0
  118. package/src/lib/modules/mixin/interceptors/index.js.map +1 -0
  119. package/src/lib/modules/mixin/interceptors/log-time.interceptors.d.ts +8 -0
  120. package/src/lib/modules/mixin/interceptors/log-time.interceptors.js +35 -0
  121. package/src/lib/modules/mixin/interceptors/log-time.interceptors.js.map +1 -0
  122. package/src/lib/modules/mixin/mixin.module.d.ts +5 -0
  123. package/src/lib/modules/mixin/mixin.module.js +51 -0
  124. package/src/lib/modules/mixin/mixin.module.js.map +1 -0
  125. package/src/lib/modules/mixin/pipe/check-item-entity/check-item-entity.pipe.d.ts +6 -0
  126. package/src/lib/modules/mixin/pipe/check-item-entity/check-item-entity.pipe.js +35 -0
  127. package/src/lib/modules/mixin/pipe/check-item-entity/check-item-entity.pipe.js.map +1 -0
  128. package/src/lib/modules/mixin/pipe/check-item-entity/index.d.ts +1 -0
  129. package/src/lib/modules/mixin/pipe/check-item-entity/index.js +5 -0
  130. package/src/lib/modules/mixin/pipe/check-item-entity/index.js.map +1 -0
  131. package/src/lib/modules/mixin/pipe/index.d.ts +14 -0
  132. package/src/lib/modules/mixin/pipe/index.js +67 -0
  133. package/src/lib/modules/mixin/pipe/index.js.map +1 -0
  134. package/src/lib/modules/mixin/pipe/parse-relationship-name/index.d.ts +1 -0
  135. package/src/lib/modules/mixin/pipe/parse-relationship-name/index.js +5 -0
  136. package/src/lib/modules/mixin/pipe/parse-relationship-name/index.js.map +1 -0
  137. package/src/lib/modules/mixin/pipe/parse-relationship-name/parse-relationship-name.pipe.d.ts +7 -0
  138. package/src/lib/modules/mixin/pipe/parse-relationship-name/parse-relationship-name.pipe.js +35 -0
  139. package/src/lib/modules/mixin/pipe/parse-relationship-name/parse-relationship-name.pipe.js.map +1 -0
  140. package/src/lib/modules/mixin/pipe/patch-input/index.d.ts +1 -0
  141. package/src/lib/modules/mixin/pipe/patch-input/index.js +5 -0
  142. package/src/lib/modules/mixin/pipe/patch-input/index.js.map +1 -0
  143. package/src/lib/modules/mixin/pipe/patch-input/patch-input.pipe.d.ts +7 -0
  144. package/src/lib/modules/mixin/pipe/patch-input/patch-input.pipe.js +30 -0
  145. package/src/lib/modules/mixin/pipe/patch-input/patch-input.pipe.js.map +1 -0
  146. package/src/lib/modules/mixin/pipe/patch-relationship/index.d.ts +1 -0
  147. package/src/lib/modules/mixin/pipe/patch-relationship/index.js +5 -0
  148. package/src/lib/modules/mixin/pipe/patch-relationship/index.js.map +1 -0
  149. package/src/lib/modules/mixin/pipe/patch-relationship/patch-relationship.pipe.d.ts +7 -0
  150. package/src/lib/modules/mixin/pipe/patch-relationship/patch-relationship.pipe.js +30 -0
  151. package/src/lib/modules/mixin/pipe/patch-relationship/patch-relationship.pipe.js.map +1 -0
  152. package/src/lib/modules/mixin/pipe/post-input/index.d.ts +1 -0
  153. package/src/lib/modules/mixin/pipe/post-input/index.js +5 -0
  154. package/src/lib/modules/mixin/pipe/post-input/index.js.map +1 -0
  155. package/src/lib/modules/mixin/pipe/post-input/post-input.pipe.d.ts +7 -0
  156. package/src/lib/modules/mixin/pipe/post-input/post-input.pipe.js +30 -0
  157. package/src/lib/modules/mixin/pipe/post-input/post-input.pipe.js.map +1 -0
  158. package/src/lib/modules/mixin/pipe/post-relationship/index.d.ts +1 -0
  159. package/src/lib/modules/mixin/pipe/post-relationship/index.js +5 -0
  160. package/src/lib/modules/mixin/pipe/post-relationship/index.js.map +1 -0
  161. package/src/lib/modules/mixin/pipe/post-relationship/post-relationship.pipe.d.ts +7 -0
  162. package/src/lib/modules/mixin/pipe/post-relationship/post-relationship.pipe.js +30 -0
  163. package/src/lib/modules/mixin/pipe/post-relationship/post-relationship.pipe.js.map +1 -0
  164. package/src/lib/modules/mixin/pipe/query/index.d.ts +1 -0
  165. package/src/lib/modules/mixin/pipe/query/index.js +5 -0
  166. package/src/lib/modules/mixin/pipe/query/index.js.map +1 -0
  167. package/src/lib/modules/mixin/pipe/query/query.pipe.d.ts +6 -0
  168. package/src/lib/modules/mixin/pipe/query/query.pipe.js +27 -0
  169. package/src/lib/modules/mixin/pipe/query/query.pipe.js.map +1 -0
  170. package/src/lib/modules/mixin/pipe/query-check-select-field/index.d.ts +1 -0
  171. package/src/lib/modules/mixin/pipe/query-check-select-field/index.js +5 -0
  172. package/src/lib/modules/mixin/pipe/query-check-select-field/index.js.map +1 -0
  173. package/src/lib/modules/mixin/pipe/query-check-select-field/query-check-select-field.d.ts +6 -0
  174. package/src/lib/modules/mixin/pipe/query-check-select-field/query-check-select-field.js +26 -0
  175. package/src/lib/modules/mixin/pipe/query-check-select-field/query-check-select-field.js.map +1 -0
  176. package/src/lib/modules/mixin/pipe/query-filed-on-include/index.d.ts +1 -0
  177. package/src/lib/modules/mixin/pipe/query-filed-on-include/index.js +5 -0
  178. package/src/lib/modules/mixin/pipe/query-filed-on-include/index.js.map +1 -0
  179. package/src/lib/modules/mixin/pipe/query-filed-on-include/query-filed-in-include.pipe.d.ts +5 -0
  180. package/src/lib/modules/mixin/pipe/query-filed-on-include/query-filed-in-include.pipe.js +59 -0
  181. package/src/lib/modules/mixin/pipe/query-filed-on-include/query-filed-in-include.pipe.js.map +1 -0
  182. package/src/lib/modules/mixin/pipe/query-input/index.d.ts +1 -0
  183. package/src/lib/modules/mixin/pipe/query-input/index.js +5 -0
  184. package/src/lib/modules/mixin/pipe/query-input/index.js.map +1 -0
  185. package/src/lib/modules/mixin/pipe/query-input/query-input.pipe.d.ts +7 -0
  186. package/src/lib/modules/mixin/pipe/query-input/query-input.pipe.js +30 -0
  187. package/src/lib/modules/mixin/pipe/query-input/query-input.pipe.js.map +1 -0
  188. package/src/lib/modules/mixin/service/entity-param-map.service.d.ts +9 -0
  189. package/src/lib/modules/mixin/service/entity-param-map.service.js +36 -0
  190. package/src/lib/modules/mixin/service/entity-param-map.service.js.map +1 -0
  191. package/src/lib/modules/mixin/service/error-format.service.d.ts +6 -0
  192. package/src/lib/modules/mixin/service/error-format.service.js +43 -0
  193. package/src/lib/modules/mixin/service/error-format.service.js.map +1 -0
  194. package/src/lib/modules/mixin/service/index.d.ts +3 -0
  195. package/src/lib/modules/mixin/service/index.js +7 -0
  196. package/src/lib/modules/mixin/service/index.js.map +1 -0
  197. package/src/lib/modules/mixin/service/json-api-transformer.service.d.ts +18 -0
  198. package/src/lib/modules/mixin/service/json-api-transformer.service.js +228 -0
  199. package/src/lib/modules/mixin/service/json-api-transformer.service.js.map +1 -0
  200. package/src/lib/modules/mixin/swagger/filter-operand-model.d.ts +26 -0
  201. package/src/lib/modules/mixin/swagger/filter-operand-model.js +113 -0
  202. package/src/lib/modules/mixin/swagger/filter-operand-model.js.map +1 -0
  203. package/src/lib/modules/mixin/swagger/index.d.ts +1 -0
  204. package/src/lib/modules/mixin/swagger/index.js +5 -0
  205. package/src/lib/modules/mixin/swagger/index.js.map +1 -0
  206. package/src/lib/modules/mixin/swagger/method/delete-one.d.ts +4 -0
  207. package/src/lib/modules/mixin/swagger/method/delete-one.js +35 -0
  208. package/src/lib/modules/mixin/swagger/method/delete-one.js.map +1 -0
  209. package/src/lib/modules/mixin/swagger/method/delete-relationship.d.ts +4 -0
  210. package/src/lib/modules/mixin/swagger/method/delete-relationship.js +54 -0
  211. package/src/lib/modules/mixin/swagger/method/delete-relationship.js.map +1 -0
  212. package/src/lib/modules/mixin/swagger/method/get-all.d.ts +4 -0
  213. package/src/lib/modules/mixin/swagger/method/get-all.js +241 -0
  214. package/src/lib/modules/mixin/swagger/method/get-all.js.map +1 -0
  215. package/src/lib/modules/mixin/swagger/method/get-one.d.ts +4 -0
  216. package/src/lib/modules/mixin/swagger/method/get-one.js +93 -0
  217. package/src/lib/modules/mixin/swagger/method/get-one.js.map +1 -0
  218. package/src/lib/modules/mixin/swagger/method/get-relationship.d.ts +4 -0
  219. package/src/lib/modules/mixin/swagger/method/get-relationship.js +48 -0
  220. package/src/lib/modules/mixin/swagger/method/get-relationship.js.map +1 -0
  221. package/src/lib/modules/mixin/swagger/method/index.d.ts +24 -0
  222. package/src/lib/modules/mixin/swagger/method/index.js +24 -0
  223. package/src/lib/modules/mixin/swagger/method/index.js.map +1 -0
  224. package/src/lib/modules/mixin/swagger/method/patch-one.d.ts +4 -0
  225. package/src/lib/modules/mixin/swagger/method/patch-one.js +43 -0
  226. package/src/lib/modules/mixin/swagger/method/patch-one.js.map +1 -0
  227. package/src/lib/modules/mixin/swagger/method/patch-relationship.d.ts +4 -0
  228. package/src/lib/modules/mixin/swagger/method/patch-relationship.js +55 -0
  229. package/src/lib/modules/mixin/swagger/method/patch-relationship.js.map +1 -0
  230. package/src/lib/modules/mixin/swagger/method/post-one.d.ts +4 -0
  231. package/src/lib/modules/mixin/swagger/method/post-one.js +35 -0
  232. package/src/lib/modules/mixin/swagger/method/post-one.js.map +1 -0
  233. package/src/lib/modules/mixin/swagger/method/post-relationship.d.ts +4 -0
  234. package/src/lib/modules/mixin/swagger/method/post-relationship.js +55 -0
  235. package/src/lib/modules/mixin/swagger/method/post-relationship.js.map +1 -0
  236. package/src/lib/modules/mixin/swagger/swagger-bind.service.d.ts +9 -0
  237. package/src/lib/modules/mixin/swagger/swagger-bind.service.js +81 -0
  238. package/src/lib/modules/mixin/swagger/swagger-bind.service.js.map +1 -0
  239. package/src/lib/modules/mixin/swagger/utils.d.ts +196 -0
  240. package/src/lib/modules/mixin/swagger/utils.js +305 -0
  241. package/src/lib/modules/mixin/swagger/utils.js.map +1 -0
  242. package/src/lib/modules/mixin/types/binding.type.d.ts +34 -0
  243. package/src/lib/modules/mixin/types/binding.type.js +3 -0
  244. package/src/lib/modules/mixin/types/binding.type.js.map +1 -0
  245. package/src/lib/modules/mixin/types/decorator-options.type.d.ts +9 -0
  246. package/src/lib/modules/mixin/types/decorator-options.type.js +3 -0
  247. package/src/lib/modules/mixin/types/decorator-options.type.js.map +1 -0
  248. package/src/lib/modules/mixin/types/index.d.ts +7 -0
  249. package/src/lib/modules/mixin/types/index.js +8 -0
  250. package/src/lib/modules/mixin/types/index.js.map +1 -0
  251. package/src/lib/modules/mixin/types/module.type.d.ts +6 -0
  252. package/src/lib/modules/mixin/types/module.type.js +3 -0
  253. package/src/lib/modules/mixin/types/module.type.js.map +1 -0
  254. package/src/lib/modules/mixin/types/orm-service.type.d.ts +13 -0
  255. package/src/lib/modules/mixin/types/orm-service.type.js +3 -0
  256. package/src/lib/modules/mixin/types/orm-service.type.js.map +1 -0
  257. package/src/lib/modules/mixin/zod/index.d.ts +7 -0
  258. package/src/lib/modules/mixin/zod/index.js +10 -0
  259. package/src/lib/modules/mixin/zod/index.js.map +1 -0
  260. package/src/lib/modules/mixin/zod/zod-input-patch-relationship-schema/index.d.ts +53 -0
  261. package/src/lib/modules/mixin/zod/zod-input-patch-relationship-schema/index.js +11 -0
  262. package/src/lib/modules/mixin/zod/zod-input-patch-relationship-schema/index.js.map +1 -0
  263. package/src/lib/modules/mixin/zod/zod-input-patch-schema/index.d.ts +17 -0
  264. package/src/lib/modules/mixin/zod/zod-input-patch-schema/index.js +23 -0
  265. package/src/lib/modules/mixin/zod/zod-input-patch-schema/index.js.map +1 -0
  266. package/src/lib/modules/mixin/zod/zod-input-post-relationship-schema/index.d.ts +59 -0
  267. package/src/lib/modules/mixin/zod/zod-input-post-relationship-schema/index.js +11 -0
  268. package/src/lib/modules/mixin/zod/zod-input-post-relationship-schema/index.js.map +1 -0
  269. package/src/lib/modules/mixin/zod/zod-input-post-schema/index.d.ts +18 -0
  270. package/src/lib/modules/mixin/zod/zod-input-post-schema/index.js +26 -0
  271. package/src/lib/modules/mixin/zod/zod-input-post-schema/index.js.map +1 -0
  272. package/src/lib/modules/mixin/zod/zod-input-query-schema/fields.d.ts +30 -0
  273. package/src/lib/modules/mixin/zod/zod-input-query-schema/fields.js +45 -0
  274. package/src/lib/modules/mixin/zod/zod-input-query-schema/fields.js.map +1 -0
  275. package/src/lib/modules/mixin/zod/zod-input-query-schema/filter.d.ts +1005 -0
  276. package/src/lib/modules/mixin/zod/zod-input-query-schema/filter.js +118 -0
  277. package/src/lib/modules/mixin/zod/zod-input-query-schema/filter.js.map +1 -0
  278. package/src/lib/modules/mixin/zod/zod-input-query-schema/include.d.ts +3 -0
  279. package/src/lib/modules/mixin/zod/zod-input-query-schema/include.js +19 -0
  280. package/src/lib/modules/mixin/zod/zod-input-query-schema/include.js.map +1 -0
  281. package/src/lib/modules/mixin/zod/zod-input-query-schema/index.d.ts +4965 -0
  282. package/src/lib/modules/mixin/zod/zod-input-query-schema/index.js +22 -0
  283. package/src/lib/modules/mixin/zod/zod-input-query-schema/index.js.map +1 -0
  284. package/src/lib/modules/mixin/zod/zod-input-query-schema/sort.d.ts +3 -0
  285. package/src/lib/modules/mixin/zod/zod-input-query-schema/sort.js +34 -0
  286. package/src/lib/modules/mixin/zod/zod-input-query-schema/sort.js.map +1 -0
  287. package/src/lib/modules/mixin/zod/zod-query-schema/fields.d.ts +15 -0
  288. package/src/lib/modules/mixin/zod/zod-query-schema/fields.js +35 -0
  289. package/src/lib/modules/mixin/zod/zod-query-schema/fields.js.map +1 -0
  290. package/src/lib/modules/mixin/zod/zod-query-schema/filter.d.ts +127 -0
  291. package/src/lib/modules/mixin/zod/zod-query-schema/filter.js +110 -0
  292. package/src/lib/modules/mixin/zod/zod-query-schema/filter.js.map +1 -0
  293. package/src/lib/modules/mixin/zod/zod-query-schema/include.d.ts +6 -0
  294. package/src/lib/modules/mixin/zod/zod-query-schema/include.js +17 -0
  295. package/src/lib/modules/mixin/zod/zod-query-schema/include.js.map +1 -0
  296. package/src/lib/modules/mixin/zod/zod-query-schema/index.d.ts +22 -0
  297. package/src/lib/modules/mixin/zod/zod-query-schema/index.js +34 -0
  298. package/src/lib/modules/mixin/zod/zod-query-schema/index.js.map +1 -0
  299. package/src/lib/modules/mixin/zod/zod-query-schema/sort.d.ts +19 -0
  300. package/src/lib/modules/mixin/zod/zod-query-schema/sort.js +35 -0
  301. package/src/lib/modules/mixin/zod/zod-query-schema/sort.js.map +1 -0
  302. package/src/lib/modules/mixin/zod/zod-share/attributes.d.ts +31 -0
  303. package/src/lib/modules/mixin/zod/zod-share/attributes.js +85 -0
  304. package/src/lib/modules/mixin/zod/zod-share/attributes.js.map +1 -0
  305. package/src/lib/modules/mixin/zod/zod-share/id.d.ts +5 -0
  306. package/src/lib/modules/mixin/zod/zod-share/id.js +14 -0
  307. package/src/lib/modules/mixin/zod/zod-share/id.js.map +1 -0
  308. package/src/lib/modules/mixin/zod/zod-share/index.d.ts +6 -0
  309. package/src/lib/modules/mixin/zod/zod-share/index.js +10 -0
  310. package/src/lib/modules/mixin/zod/zod-share/index.js.map +1 -0
  311. package/src/lib/modules/mixin/zod/zod-share/page.d.ts +12 -0
  312. package/src/lib/modules/mixin/zod/zod-share/page.js +22 -0
  313. package/src/lib/modules/mixin/zod/zod-share/page.js.map +1 -0
  314. package/src/lib/modules/mixin/zod/zod-share/rel-data.d.ts +50 -0
  315. package/src/lib/modules/mixin/zod/zod-share/rel-data.js +26 -0
  316. package/src/lib/modules/mixin/zod/zod-share/rel-data.js.map +1 -0
  317. package/src/lib/modules/mixin/zod/zod-share/relationships.d.ts +325 -0
  318. package/src/lib/modules/mixin/zod/zod-share/relationships.js +34 -0
  319. package/src/lib/modules/mixin/zod/zod-share/relationships.js.map +1 -0
  320. package/src/lib/modules/mixin/zod/zod-share/type.d.ts +8 -0
  321. package/src/lib/modules/mixin/zod/zod-share/type.js +8 -0
  322. package/src/lib/modules/mixin/zod/zod-share/type.js.map +1 -0
  323. package/src/lib/modules/mixin/zod/zod-utils.d.ts +15 -0
  324. package/src/lib/modules/mixin/zod/zod-utils.js +72 -0
  325. package/src/lib/modules/mixin/zod/zod-utils.js.map +1 -0
  326. package/src/lib/types/common-type.d.ts +5 -0
  327. package/src/lib/types/common-type.js +3 -0
  328. package/src/lib/types/common-type.js.map +1 -0
  329. package/src/lib/types/entity-param.type.d.ts +49 -0
  330. package/src/lib/types/entity-param.type.js +14 -0
  331. package/src/lib/types/entity-param.type.js.map +1 -0
  332. package/src/lib/types/error.types.d.ts +10 -0
  333. package/src/lib/types/error.types.js +3 -0
  334. package/src/lib/types/error.types.js.map +1 -0
  335. package/src/lib/types/index.d.ts +5 -0
  336. package/src/lib/types/index.js +9 -0
  337. package/src/lib/types/index.js.map +1 -0
  338. package/src/lib/types/module-options.types.d.ts +47 -0
  339. package/src/lib/types/module-options.types.js +3 -0
  340. package/src/lib/types/module-options.types.js.map +1 -0
  341. package/src/lib/types/utils-type.d.ts +12 -0
  342. package/src/lib/types/utils-type.js +3 -0
  343. package/src/lib/types/utils-type.js.map +1 -0
  344. package/src/lib/utils/index.d.ts +1 -0
  345. package/src/lib/utils/index.js +5 -0
  346. package/src/lib/utils/index.js.map +1 -0
  347. package/src/lib/utils/module-helper.d.ts +4 -0
  348. package/src/lib/utils/module-helper.js +27 -0
  349. package/src/lib/utils/module-helper.js.map +1 -0
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.zodRelationships = zodRelationships;
4
+ const zod_1 = require("zod");
5
+ const json_api_nestjs_shared_1 = require("@klerick/json-api-nestjs-shared");
6
+ const rel_data_1 = require("./rel-data");
7
+ const zod_utils_1 = require("../zod-utils");
8
+ function getZodResultData(typeName, primaryType, isNull, isPatch) {
9
+ const dataScheme = zod_1.z.object({
10
+ data: (0, zod_utils_1.setOptionalOrNot)((0, rel_data_1.zodRelData)(typeName, primaryType), isNull, isPatch),
11
+ });
12
+ return (0, zod_utils_1.setOptionalOrNot)(dataScheme.refine((0, zod_utils_1.nonEmptyObject)()), isNull, isPatch);
13
+ }
14
+ function getZodResultDataArray(typeName, primaryType) {
15
+ return zod_1.z
16
+ .object({
17
+ data: (0, rel_data_1.zodRelData)(typeName, primaryType).array(),
18
+ })
19
+ .optional();
20
+ }
21
+ function zodRelationships(entityParamMapService, isPatch) {
22
+ const shape = json_api_nestjs_shared_1.ObjectTyped.entries(entityParamMapService.entityParaMap.relationProperty).reduce((acum, [key, val]) => {
23
+ const relEntityParaMap = entityParamMapService.getParamMap(val.entityClass);
24
+ if (val.isArray) {
25
+ acum[key] = getZodResultDataArray(relEntityParaMap.typeName, relEntityParaMap.primaryColumnType);
26
+ }
27
+ else {
28
+ acum[key] = getZodResultData(relEntityParaMap.typeName, relEntityParaMap.primaryColumnType, val.nullable, isPatch);
29
+ }
30
+ return acum;
31
+ }, {});
32
+ return zod_1.z.object(shape).strict().refine((0, zod_utils_1.nonEmptyObject)());
33
+ }
34
+ //# sourceMappingURL=relationships.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relationships.js","sourceRoot":"","sources":["../../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/zod/zod-share/relationships.ts"],"names":[],"mappings":";;AA0GA,4CA6BC;AAvID,6BAAwB;AACxB,4EAA8D;AAS9D,yCAAwC;AACxC,4CAAgE;AAGhE,SAAS,gBAAgB,CAKvB,QAAkB,EAAE,WAAiB,EAAE,MAAc,EAAE,OAAgB;IACvE,MAAM,UAAU,GAAG,OAAC,CAAC,MAAM,CAAC;QAC1B,IAAI,EAAE,IAAA,4BAAgB,EAAC,IAAA,qBAAU,EAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC;KAC3E,CAAC,CAAC;IACH,OAAO,IAAA,4BAAgB,EAAC,UAAU,CAAC,MAAM,CAAC,IAAA,0BAAc,GAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,qBAAqB,CAC5B,QAAkB,EAClB,WAAiB;IAEjB,OAAO,OAAC;SACL,MAAM,CAAC;QACN,IAAI,EAAE,IAAA,qBAAU,EAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,KAAK,EAAE;KAChD,CAAC;SACD,QAAQ,EAAE,CAAC;AAChB,CAAC;AAuED,SAAgB,gBAAgB,CAI9B,qBAAsD,EAAE,OAAgB;IACxE,MAAM,KAAK,GAAG,oCAAW,CAAC,OAAO,CAC/B,qBAAqB,CAAC,aAAa,CAAC,gBAAgB,CACrD,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE;QAC5B,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,WAAW,CACxD,GAAG,CAAC,WAAkB,CACoB,CAAC;QAE7C,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAChB,IAAI,CAAC,GAAG,CAAC,GAAG,qBAAqB,CAC/B,gBAAgB,CAAC,QAAQ,EACzB,gBAAgB,CAAC,iBAA8B,CACc,CAAC;QAClE,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,GAAG,CAAC,GAAG,gBAAgB,CAC1B,gBAAgB,CAAC,QAAQ,EACzB,gBAAgB,CAAC,iBAA8B,EAC/C,GAAG,CAAC,QAAQ,EACZ,OAAO,CACsD,CAAC;QAClE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,EAAE,EAAyC,CAAC,CAAC;IAE9C,OAAO,OAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,IAAA,0BAAc,GAAE,CAAC,CAAC;AAC3D,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { z, ZodNullable, ZodOptional, ZodType as InnerZodType } from 'zod';
2
+ export declare function zodType<T extends string>(type: T): z.ZodLiteral<T>;
3
+ export type ZodType<T extends string> = ReturnType<typeof zodType<T>>;
4
+ export type Type<T extends string> = z.infer<ZodType<T>>;
5
+ type ResultPatchSchema<Schema extends InnerZodType, Null extends true | false> = Null extends true ? ZodOptional<ZodNullable<Schema>> : ZodOptional<Schema>;
6
+ type ResultPostSchema<Schema extends InnerZodType, Null extends true | false> = Null extends true ? ZodOptional<ZodNullable<Schema>> : Schema;
7
+ export type ResultSchema<Schema extends InnerZodType, Null extends true | false, isPatch extends true | false> = isPatch extends true ? ResultPatchSchema<Schema, Null> : ResultPostSchema<Schema, Null>;
8
+ export {};
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.zodType = zodType;
4
+ const zod_1 = require("zod");
5
+ function zodType(type) {
6
+ return zod_1.z.literal(type);
7
+ }
8
+ //# sourceMappingURL=type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type.js","sourceRoot":"","sources":["../../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/zod/zod-share/type.ts"],"names":[],"mappings":";;AAEA,0BAEC;AAJD,6BAA2E;AAE3E,SAAgB,OAAO,CAAmB,IAAO;IAC/C,OAAO,OAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { ZodType } from 'zod';
2
+ import { EntityRelationProps, TypeField } from '../../../types';
3
+ import { EntityParamMapService } from '../service';
4
+ import { ResultSchema } from './zod-share';
5
+ export declare const nonEmptyObject: () => <T>(object: T) => boolean;
6
+ export declare const uniqueArray: () => (e: string[]) => boolean;
7
+ export declare const getValidationErrorForStrict: (props: string[], name: "Fields" | "Filter") => string;
8
+ export declare const oneOf: (keys: string[]) => (val: any) => boolean;
9
+ export declare const stringLongerThan: (length?: number) => (str: string) => boolean;
10
+ export declare const arrayItemStringLongerThan: (length?: number) => (array: [string | null, ...(string | null)[]]) => boolean;
11
+ export declare const stringMustBe: (type?: TypeField) => (inputString: string | null) => boolean;
12
+ export declare const elementOfArrayMustBe: (type?: TypeField) => (inputArray: unknown[]) => boolean;
13
+ export declare function guardIsKeyOfObject<R>(object: R, key: string | number | symbol): asserts key is keyof R;
14
+ export declare function getRelationProps<E extends object, IdKey extends string>(entityParamMapService: EntityParamMapService<E, IdKey>): EntityRelationProps<E, IdKey>;
15
+ 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>;
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.elementOfArrayMustBe = exports.stringMustBe = exports.arrayItemStringLongerThan = exports.stringLongerThan = exports.oneOf = exports.getValidationErrorForStrict = exports.uniqueArray = exports.nonEmptyObject = void 0;
4
+ exports.guardIsKeyOfObject = guardIsKeyOfObject;
5
+ exports.getRelationProps = getRelationProps;
6
+ exports.setOptionalOrNot = setOptionalOrNot;
7
+ const json_api_nestjs_shared_1 = require("@klerick/json-api-nestjs-shared");
8
+ const types_1 = require("../../../types");
9
+ const nonEmptyObject = () => (object) => !!(typeof object === 'object' && object && Object.keys(object).length > 0);
10
+ exports.nonEmptyObject = nonEmptyObject;
11
+ const uniqueArray = () => (e) => new Set(e).size === e.length;
12
+ exports.uniqueArray = uniqueArray;
13
+ const getValidationErrorForStrict = (props, name) => `Validation error: ${name} should be have only props: ["${props.join('","')}"]`;
14
+ exports.getValidationErrorForStrict = getValidationErrorForStrict;
15
+ const oneOf = (keys) => (val) => {
16
+ if (!val)
17
+ return false;
18
+ for (const k of keys) {
19
+ if (val[k] !== undefined)
20
+ return true;
21
+ }
22
+ return false;
23
+ };
24
+ exports.oneOf = oneOf;
25
+ const stringLongerThan = (length = 0) => (str) => str.length > length;
26
+ exports.stringLongerThan = stringLongerThan;
27
+ const arrayItemStringLongerThan = (length = 0) => (array) => {
28
+ const checkFunction = (0, exports.stringLongerThan)(length);
29
+ return !array.some((i) => i !== null && !checkFunction(i));
30
+ };
31
+ exports.arrayItemStringLongerThan = arrayItemStringLongerThan;
32
+ const stringMustBe = (type = types_1.TypeField.string) => (inputString) => {
33
+ if (inputString === null)
34
+ return true;
35
+ switch (type) {
36
+ case types_1.TypeField.boolean:
37
+ return inputString === 'true' || inputString === 'false';
38
+ case types_1.TypeField.number:
39
+ return !isNaN(+inputString);
40
+ case types_1.TypeField.date:
41
+ return new Date(inputString).toString() !== 'Invalid Date';
42
+ default:
43
+ return true;
44
+ }
45
+ };
46
+ exports.stringMustBe = stringMustBe;
47
+ const elementOfArrayMustBe = (type = types_1.TypeField.string) => (inputArray) => {
48
+ const checkFunc = (0, exports.stringMustBe)(type);
49
+ return !inputArray.some((i) => !checkFunc(`${i}`));
50
+ };
51
+ exports.elementOfArrayMustBe = elementOfArrayMustBe;
52
+ function guardIsKeyOfObject(object, key) {
53
+ if (typeof object === 'object' && object !== null && key in object)
54
+ return void 0;
55
+ throw new Error('Type guard error');
56
+ }
57
+ function getRelationProps(entityParamMapService) {
58
+ return json_api_nestjs_shared_1.ObjectTyped.entries(entityParamMapService.entityParaMap.relationProperty).reduce((acum, [name, value]) => {
59
+ const relMap = entityParamMapService.getParamMap(value.entityClass);
60
+ Reflect.set(acum, name, relMap.props);
61
+ return acum;
62
+ }, {});
63
+ }
64
+ function setOptionalOrNot(schema, isNullable, isPatch) {
65
+ if (isPatch) {
66
+ return (isNullable ? schema.nullable() : schema).optional();
67
+ }
68
+ else {
69
+ return (isNullable ? schema.nullable().optional() : schema);
70
+ }
71
+ }
72
+ //# sourceMappingURL=zod-utils.js.map
@@ -0,0 +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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"}
@@ -0,0 +1,5 @@
1
+ import { ModuleMetadata, PipeTransform, Type } from '@nestjs/common';
2
+ export type NestController = NonNullable<ModuleMetadata['controllers']>;
3
+ export type NestProvider = NonNullable<ModuleMetadata['providers']>;
4
+ export type NestImport = NonNullable<ModuleMetadata['imports']>;
5
+ export type PipeMixin = Type<PipeTransform>;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=common-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common-type.js","sourceRoot":"","sources":["../../../../../../../libs/json-api/json-api-nestjs/src/lib/types/common-type.ts"],"names":[],"mappings":""}
@@ -0,0 +1,49 @@
1
+ import { Union, Object } from 'ts-toolbelt';
2
+ import { PropertyKeys, RelationKeys, IsIterator, Constructor } from '@klerick/json-api-nestjs-shared';
3
+ import { CastIteratorType, UnionToTuple, IsArray, CastArrayType } from './utils-type';
4
+ export declare enum TypeField {
5
+ array = "array",
6
+ date = "date",
7
+ number = "number",
8
+ boolean = "boolean",
9
+ string = "string",
10
+ object = "object",
11
+ null = "null"
12
+ }
13
+ 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
+ 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
+ };
18
+ 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>];
21
+ export type ArrayPropertyType<E extends object, IdKey extends string = 'id'> = {
22
+ [K in ArrayProperty<E, IdKey>]: TypeProps<CastArrayType<Exclude<E[K], null>>>;
23
+ };
24
+ export type NullableProperty<E extends object, IdKey extends string = 'id'> = Union.Intersect<Object.NullableKeys<E>, PropertyKeys<E, IdKey>>;
25
+ export type RelationProperty<E extends object, IdKey extends string = 'id'> = {
26
+ [K in RelationKeys<E, IdKey>]: {
27
+ entityClass: Constructor<CastIteratorType<E[K]>>;
28
+ nullable: IsIterator<E[K]> extends 1 ? false : [Extract<E[K], null>] extends [never] ? false : true;
29
+ isArray: IsIterator<E[K]> extends 1 ? true : false;
30
+ };
31
+ };
32
+ 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
+ export type EntityParam<E extends object, IdKey extends string = 'id'> = {
34
+ props: UnionToTuple<PropertyKeys<E, IdKey>>;
35
+ propsType: PropertyWithType<E, IdKey>;
36
+ propsArrayType: ArrayPropertyType<E, IdKey>;
37
+ propsNullable: UnionToTuple<NullableProperty<E, IdKey>>;
38
+ primaryColumnName: IdKey;
39
+ primaryColumnType: PrimaryType<E, IdKey>;
40
+ typeName: string;
41
+ className: string;
42
+ relations: UnionToTuple<RelationKeys<E, IdKey>>;
43
+ relationProperty: RelationProperty<E>;
44
+ };
45
+ 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;
46
+ export type EntityRelationProps<E extends object, IdKey extends string = 'id'> = {
47
+ [K in keyof EntityParam<E, IdKey>['relationProperty']]: UnionToTuple<PropertyKeys<RelationType<E, IdKey, K>>>;
48
+ };
49
+ export {};
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TypeField = void 0;
4
+ var TypeField;
5
+ (function (TypeField) {
6
+ TypeField["array"] = "array";
7
+ TypeField["date"] = "date";
8
+ TypeField["number"] = "number";
9
+ TypeField["boolean"] = "boolean";
10
+ TypeField["string"] = "string";
11
+ TypeField["object"] = "object";
12
+ TypeField["null"] = "null";
13
+ })(TypeField || (exports.TypeField = TypeField = {}));
14
+ //# sourceMappingURL=entity-param.type.js.map
@@ -0,0 +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"}
@@ -0,0 +1,10 @@
1
+ import { ZodIssue } from 'zod';
2
+ export type InnerErrorType = 'invalid_arguments' | 'unrecognized_keys' | 'internal_error';
3
+ export type InnerError = {
4
+ code: InnerErrorType;
5
+ message: string;
6
+ path: string[];
7
+ keys?: string[];
8
+ error?: Error;
9
+ };
10
+ export type ValidateQueryError = ZodIssue | InnerError;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=error.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error.types.js","sourceRoot":"","sources":["../../../../../../../libs/json-api/json-api-nestjs/src/lib/types/error.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ export * from './common-type';
2
+ export * from './module-options.types';
3
+ export * from './utils-type';
4
+ export * from './entity-param.type';
5
+ export * from './error.types';
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./common-type"), exports);
5
+ tslib_1.__exportStar(require("./module-options.types"), exports);
6
+ tslib_1.__exportStar(require("./utils-type"), exports);
7
+ tslib_1.__exportStar(require("./entity-param.type"), exports);
8
+ tslib_1.__exportStar(require("./error.types"), exports);
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../libs/json-api/json-api-nestjs/src/lib/types/index.ts"],"names":[],"mappings":";;;AAAA,wDAA8B;AAC9B,iEAAuC;AACvC,uDAA6B;AAC7B,8DAAoC;AACpC,wDAA8B"}
@@ -0,0 +1,47 @@
1
+ import { DynamicModule } from '@nestjs/common';
2
+ import { NonEmptyArray } from 'zod-validation-error';
3
+ import { AnyEntity, EntityClass } from '@klerick/json-api-nestjs-shared';
4
+ import { NestController, NestImport, NestProvider, PipeMixin } from './common-type';
5
+ import { ExtractNestType, IfEquals } from './utils-type';
6
+ type ModuleCommonParams = {
7
+ entities: NonEmptyArray<EntityClass<AnyEntity>>;
8
+ connectionName?: string;
9
+ controllers?: NestController;
10
+ providers?: NestProvider;
11
+ imports?: NestImport;
12
+ };
13
+ type ModuleCommonOptions = {
14
+ requiredSelectField?: boolean;
15
+ debug?: boolean;
16
+ pipeForId?: PipeMixin;
17
+ operationUrl?: string;
18
+ };
19
+ type ModuleOptionsParams<OrmParams = NonNullable<unknown>> = IfEquals<OrmParams, NonNullable<unknown>, {
20
+ options?: OptionOfConfig<OrmParams>;
21
+ }, {
22
+ options: OptionOfConfig<OrmParams>;
23
+ }>;
24
+ type ExtractOrmParamsOfModule<M> = M extends {
25
+ forRoot(options: PrepareParams<infer U>): DynamicModule;
26
+ } ? U : never;
27
+ export type ParamsModule<M> = Params<ExtractOrmParamsOfModule<M>>;
28
+ export type Params<OrmParams = NonNullable<unknown>> = ModuleCommonParams & ModuleOptionsParams<OrmParams>;
29
+ export type PrepareParams<OrmParams = NonNullable<unknown>> = Required<ModuleCommonParams> & {
30
+ options: Required<Omit<ModuleCommonOptions, 'operationUrl'>> & {
31
+ operationUrl: string | undefined;
32
+ } & OrmParams;
33
+ };
34
+ export type OptionOfConfig<OrmParams> = ModuleCommonOptions & OrmParams;
35
+ export interface OrmModule<OrmParams = NonNullable<unknown>> {
36
+ new (...args: any[]): any;
37
+ forRoot(options: Params<OrmParams>): DynamicModule;
38
+ getUtilProviders(entity: EntityClass<AnyEntity>): NestProvider;
39
+ }
40
+ export type ModuleMixinOptions = {
41
+ entity: EntityClass<AnyEntity>;
42
+ controller: ExtractNestType<NestController> | undefined;
43
+ config: PrepareParams;
44
+ imports: NestImport;
45
+ ormModule: OrmModule;
46
+ };
47
+ export {};
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=module-options.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module-options.types.js","sourceRoot":"","sources":["../../../../../../../libs/json-api/json-api-nestjs/src/lib/types/module-options.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,12 @@
1
+ import { CastIteratorType, HasId, Constructor } from '@klerick/json-api-nestjs-shared';
2
+ import { Any, Tuple, Union } from 'ts-toolbelt';
3
+ import { Type } from '@nestjs/common/interfaces';
4
+ export { HasId, CastIteratorType };
5
+ export type IfEquals<X, Y, A, B> = Any.Equals<X, Y> extends 1 ? A : B;
6
+ export type ExtractNestType<ArrayType> = ArrayType extends readonly (infer ElementType)[] ? ElementType : never;
7
+ export type TypeFromType<T> = T extends Type<infer A> ? A : never;
8
+ export type UnionToTuple<T, L = Union.Last<T>, N = [T] extends [never] ? true : false> = true extends N ? [] : Tuple.Append<UnionToTuple<Exclude<T, L>>, L>;
9
+ export type IsArray<T> = T extends unknown[] ? 1 : 0;
10
+ export type CastArrayType<T> = T extends (infer U)[] ? U : T;
11
+ export type TypeOfConstructor<T> = T extends Constructor<infer E> ? E : T;
12
+ export type NonEmptyStringTuple<T extends readonly any[]> = T extends [] ? never : T extends readonly [infer First, ...infer Rest] ? First extends string ? Rest extends string[] ? readonly [First, ...Rest] : never : never : never;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=utils-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils-type.js","sourceRoot":"","sources":["../../../../../../../libs/json-api/json-api-nestjs/src/lib/types/utils-type.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ export * from './module-helper';
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./module-helper"), exports);
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../libs/json-api/json-api-nestjs/src/lib/utils/index.ts"],"names":[],"mappings":";;;AAAA,0DAAgC"}
@@ -0,0 +1,4 @@
1
+ import { AnyEntity, EntityClass } from '@klerick/json-api-nestjs-shared';
2
+ import { NestController, Params, PrepareParams } from '../types';
3
+ export declare function prepareConfig<OrmParams>(moduleParams: Params<OrmParams>): PrepareParams<OrmParams>;
4
+ export declare function getController(entity: EntityClass<AnyEntity>, controllers: NestController): import("@nestjs/common").Type<any> | undefined;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.prepareConfig = prepareConfig;
4
+ exports.getController = getController;
5
+ const common_1 = require("@nestjs/common");
6
+ const constants_1 = require("../constants");
7
+ function prepareConfig(moduleParams) {
8
+ const options = moduleParams['options'] || {};
9
+ return {
10
+ connectionName: moduleParams['connectionName'] || constants_1.DEFAULT_CONNECTION_NAME,
11
+ imports: moduleParams['imports'] || [],
12
+ providers: moduleParams['providers'] || [],
13
+ controllers: moduleParams['controllers'] || [],
14
+ entities: moduleParams['entities'],
15
+ options: {
16
+ ...options,
17
+ operationUrl: options['operationUrl'] || undefined,
18
+ requiredSelectField: !!options['requiredSelectField'],
19
+ debug: !!options['debug'],
20
+ pipeForId: options['pipeForId'] || common_1.ParseIntPipe,
21
+ },
22
+ };
23
+ }
24
+ function getController(entity, controllers) {
25
+ return controllers.find((item) => item && Reflect.getMetadata(constants_1.JSON_API_DECORATOR_ENTITY, item) === entity);
26
+ }
27
+ //# sourceMappingURL=module-helper.js.map
@@ -0,0 +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,sCAmBC;AAED,sCAQC;AA3CD,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;SAChD;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"}