@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.
- package/package.json +58 -0
- package/src/index.d.ts +9 -0
- package/src/index.js +32 -0
- package/src/index.js.map +1 -0
- package/src/lib/constants/constants.d.ts +9 -0
- package/src/lib/constants/constants.js +13 -0
- package/src/lib/constants/constants.js.map +1 -0
- package/src/lib/constants/default.d.ts +2 -0
- package/src/lib/constants/default.js +6 -0
- package/src/lib/constants/default.js.map +1 -0
- package/src/lib/constants/di.d.ts +14 -0
- package/src/lib/constants/di.js +18 -0
- package/src/lib/constants/di.js.map +1 -0
- package/src/lib/constants/index.d.ts +4 -0
- package/src/lib/constants/index.js +8 -0
- package/src/lib/constants/index.js.map +1 -0
- package/src/lib/constants/reflection.d.ts +2 -0
- package/src/lib/constants/reflection.js +6 -0
- package/src/lib/constants/reflection.js.map +1 -0
- package/src/lib/json-api.module.d.ts +5 -0
- package/src/lib/json-api.module.js +40 -0
- package/src/lib/json-api.module.js.map +1 -0
- package/src/lib/modules/atomic-operation/atomic-operation.module.d.ts +8 -0
- package/src/lib/modules/atomic-operation/atomic-operation.module.js +71 -0
- package/src/lib/modules/atomic-operation/atomic-operation.module.js.map +1 -0
- package/src/lib/modules/atomic-operation/constants/index.d.ts +5 -0
- package/src/lib/modules/atomic-operation/constants/index.js +9 -0
- package/src/lib/modules/atomic-operation/constants/index.js.map +1 -0
- package/src/lib/modules/atomic-operation/controllers/index.d.ts +1 -0
- package/src/lib/modules/atomic-operation/controllers/index.js +5 -0
- package/src/lib/modules/atomic-operation/controllers/index.js.map +1 -0
- package/src/lib/modules/atomic-operation/controllers/operation.controller.d.ts +13 -0
- package/src/lib/modules/atomic-operation/controllers/operation.controller.js +98 -0
- package/src/lib/modules/atomic-operation/controllers/operation.controller.js.map +1 -0
- package/src/lib/modules/atomic-operation/factory/async-iterator.d.ts +18 -0
- package/src/lib/modules/atomic-operation/factory/async-iterator.js +44 -0
- package/src/lib/modules/atomic-operation/factory/async-iterator.js.map +1 -0
- package/src/lib/modules/atomic-operation/factory/index.d.ts +4 -0
- package/src/lib/modules/atomic-operation/factory/index.js +8 -0
- package/src/lib/modules/atomic-operation/factory/index.js.map +1 -0
- package/src/lib/modules/atomic-operation/factory/map-controller-entity.d.ts +4 -0
- package/src/lib/modules/atomic-operation/factory/map-controller-entity.js +20 -0
- package/src/lib/modules/atomic-operation/factory/map-controller-entity.js.map +1 -0
- package/src/lib/modules/atomic-operation/factory/map-entity-name-to-entity.d.ts +4 -0
- package/src/lib/modules/atomic-operation/factory/map-entity-name-to-entity.js +13 -0
- package/src/lib/modules/atomic-operation/factory/map-entity-name-to-entity.js.map +1 -0
- package/src/lib/modules/atomic-operation/factory/zod-input-operation.d.ts +3 -0
- package/src/lib/modules/atomic-operation/factory/zod-input-operation.js +16 -0
- package/src/lib/modules/atomic-operation/factory/zod-input-operation.js.map +1 -0
- package/src/lib/modules/atomic-operation/pipes/input-operation.pipe.d.ts +7 -0
- package/src/lib/modules/atomic-operation/pipes/input-operation.pipe.js +31 -0
- package/src/lib/modules/atomic-operation/pipes/input-operation.pipe.js.map +1 -0
- package/src/lib/modules/atomic-operation/service/execute.service.d.ts +26 -0
- package/src/lib/modules/atomic-operation/service/execute.service.js +233 -0
- package/src/lib/modules/atomic-operation/service/execute.service.js.map +1 -0
- package/src/lib/modules/atomic-operation/service/explorer.service.d.ts +16 -0
- package/src/lib/modules/atomic-operation/service/explorer.service.js +94 -0
- package/src/lib/modules/atomic-operation/service/explorer.service.js.map +1 -0
- package/src/lib/modules/atomic-operation/service/index.d.ts +3 -0
- package/src/lib/modules/atomic-operation/service/index.js +7 -0
- package/src/lib/modules/atomic-operation/service/index.js.map +1 -0
- package/src/lib/modules/atomic-operation/service/swagger.service.d.ts +7 -0
- package/src/lib/modules/atomic-operation/service/swagger.service.js +99 -0
- package/src/lib/modules/atomic-operation/service/swagger.service.js.map +1 -0
- package/src/lib/modules/atomic-operation/types/index.d.ts +17 -0
- package/src/lib/modules/atomic-operation/types/index.js +3 -0
- package/src/lib/modules/atomic-operation/types/index.js.map +1 -0
- package/src/lib/modules/atomic-operation/utils/index.d.ts +1 -0
- package/src/lib/modules/atomic-operation/utils/index.js +5 -0
- package/src/lib/modules/atomic-operation/utils/index.js.map +1 -0
- package/src/lib/modules/atomic-operation/utils/zod/zod-helper.d.ts +751 -0
- package/src/lib/modules/atomic-operation/utils/zod/zod-helper.js +100 -0
- package/src/lib/modules/atomic-operation/utils/zod/zod-helper.js.map +1 -0
- package/src/lib/modules/index.d.ts +2 -0
- package/src/lib/modules/index.js +6 -0
- package/src/lib/modules/index.js.map +1 -0
- package/src/lib/modules/mixin/config/bindings.d.ts +3 -0
- package/src/lib/modules/mixin/config/bindings.js +176 -0
- package/src/lib/modules/mixin/config/bindings.js.map +1 -0
- package/src/lib/modules/mixin/controllers/index.d.ts +1 -0
- package/src/lib/modules/mixin/controllers/index.js +5 -0
- package/src/lib/modules/mixin/controllers/index.js.map +1 -0
- package/src/lib/modules/mixin/controllers/json-base.controller.d.ts +20 -0
- package/src/lib/modules/mixin/controllers/json-base.controller.js +36 -0
- package/src/lib/modules/mixin/controllers/json-base.controller.js.map +1 -0
- package/src/lib/modules/mixin/decorators/index.d.ts +2 -0
- package/src/lib/modules/mixin/decorators/index.js +6 -0
- package/src/lib/modules/mixin/decorators/index.js.map +1 -0
- package/src/lib/modules/mixin/decorators/inject-service/inject-service.decorator.d.ts +1 -0
- package/src/lib/modules/mixin/decorators/inject-service/inject-service.decorator.js +9 -0
- package/src/lib/modules/mixin/decorators/inject-service/inject-service.decorator.js.map +1 -0
- package/src/lib/modules/mixin/decorators/json-api/json-api.decorator.d.ts +3 -0
- package/src/lib/modules/mixin/decorators/json-api/json-api.decorator.js +14 -0
- package/src/lib/modules/mixin/decorators/json-api/json-api.decorator.js.map +1 -0
- package/src/lib/modules/mixin/factory/index.d.ts +1 -0
- package/src/lib/modules/mixin/factory/index.js +5 -0
- package/src/lib/modules/mixin/factory/index.js.map +1 -0
- package/src/lib/modules/mixin/factory/zod-validate.factory.d.ts +8 -0
- package/src/lib/modules/mixin/factory/zod-validate.factory.js +55 -0
- package/src/lib/modules/mixin/factory/zod-validate.factory.js.map +1 -0
- package/src/lib/modules/mixin/helpers/bind-controller.d.ts +3 -0
- package/src/lib/modules/mixin/helpers/bind-controller.js +81 -0
- package/src/lib/modules/mixin/helpers/bind-controller.js.map +1 -0
- package/src/lib/modules/mixin/helpers/create-controller.d.ts +2 -0
- package/src/lib/modules/mixin/helpers/create-controller.js +28 -0
- package/src/lib/modules/mixin/helpers/create-controller.js.map +1 -0
- package/src/lib/modules/mixin/helpers/index.d.ts +2 -0
- package/src/lib/modules/mixin/helpers/index.js +6 -0
- package/src/lib/modules/mixin/helpers/index.js.map +1 -0
- package/src/lib/modules/mixin/helpers/utils.d.ts +9 -0
- package/src/lib/modules/mixin/helpers/utils.js +30 -0
- package/src/lib/modules/mixin/helpers/utils.js.map +1 -0
- package/src/lib/modules/mixin/interceptors/error.interceptors.d.ts +9 -0
- package/src/lib/modules/mixin/interceptors/error.interceptors.js +34 -0
- package/src/lib/modules/mixin/interceptors/error.interceptors.js.map +1 -0
- package/src/lib/modules/mixin/interceptors/index.d.ts +2 -0
- package/src/lib/modules/mixin/interceptors/index.js +6 -0
- package/src/lib/modules/mixin/interceptors/index.js.map +1 -0
- package/src/lib/modules/mixin/interceptors/log-time.interceptors.d.ts +8 -0
- package/src/lib/modules/mixin/interceptors/log-time.interceptors.js +35 -0
- package/src/lib/modules/mixin/interceptors/log-time.interceptors.js.map +1 -0
- package/src/lib/modules/mixin/mixin.module.d.ts +5 -0
- package/src/lib/modules/mixin/mixin.module.js +51 -0
- package/src/lib/modules/mixin/mixin.module.js.map +1 -0
- package/src/lib/modules/mixin/pipe/check-item-entity/check-item-entity.pipe.d.ts +6 -0
- package/src/lib/modules/mixin/pipe/check-item-entity/check-item-entity.pipe.js +35 -0
- package/src/lib/modules/mixin/pipe/check-item-entity/check-item-entity.pipe.js.map +1 -0
- package/src/lib/modules/mixin/pipe/check-item-entity/index.d.ts +1 -0
- package/src/lib/modules/mixin/pipe/check-item-entity/index.js +5 -0
- package/src/lib/modules/mixin/pipe/check-item-entity/index.js.map +1 -0
- package/src/lib/modules/mixin/pipe/index.d.ts +14 -0
- package/src/lib/modules/mixin/pipe/index.js +67 -0
- package/src/lib/modules/mixin/pipe/index.js.map +1 -0
- package/src/lib/modules/mixin/pipe/parse-relationship-name/index.d.ts +1 -0
- package/src/lib/modules/mixin/pipe/parse-relationship-name/index.js +5 -0
- package/src/lib/modules/mixin/pipe/parse-relationship-name/index.js.map +1 -0
- package/src/lib/modules/mixin/pipe/parse-relationship-name/parse-relationship-name.pipe.d.ts +7 -0
- package/src/lib/modules/mixin/pipe/parse-relationship-name/parse-relationship-name.pipe.js +35 -0
- package/src/lib/modules/mixin/pipe/parse-relationship-name/parse-relationship-name.pipe.js.map +1 -0
- package/src/lib/modules/mixin/pipe/patch-input/index.d.ts +1 -0
- package/src/lib/modules/mixin/pipe/patch-input/index.js +5 -0
- package/src/lib/modules/mixin/pipe/patch-input/index.js.map +1 -0
- package/src/lib/modules/mixin/pipe/patch-input/patch-input.pipe.d.ts +7 -0
- package/src/lib/modules/mixin/pipe/patch-input/patch-input.pipe.js +30 -0
- package/src/lib/modules/mixin/pipe/patch-input/patch-input.pipe.js.map +1 -0
- package/src/lib/modules/mixin/pipe/patch-relationship/index.d.ts +1 -0
- package/src/lib/modules/mixin/pipe/patch-relationship/index.js +5 -0
- package/src/lib/modules/mixin/pipe/patch-relationship/index.js.map +1 -0
- package/src/lib/modules/mixin/pipe/patch-relationship/patch-relationship.pipe.d.ts +7 -0
- package/src/lib/modules/mixin/pipe/patch-relationship/patch-relationship.pipe.js +30 -0
- package/src/lib/modules/mixin/pipe/patch-relationship/patch-relationship.pipe.js.map +1 -0
- package/src/lib/modules/mixin/pipe/post-input/index.d.ts +1 -0
- package/src/lib/modules/mixin/pipe/post-input/index.js +5 -0
- package/src/lib/modules/mixin/pipe/post-input/index.js.map +1 -0
- package/src/lib/modules/mixin/pipe/post-input/post-input.pipe.d.ts +7 -0
- package/src/lib/modules/mixin/pipe/post-input/post-input.pipe.js +30 -0
- package/src/lib/modules/mixin/pipe/post-input/post-input.pipe.js.map +1 -0
- package/src/lib/modules/mixin/pipe/post-relationship/index.d.ts +1 -0
- package/src/lib/modules/mixin/pipe/post-relationship/index.js +5 -0
- package/src/lib/modules/mixin/pipe/post-relationship/index.js.map +1 -0
- package/src/lib/modules/mixin/pipe/post-relationship/post-relationship.pipe.d.ts +7 -0
- package/src/lib/modules/mixin/pipe/post-relationship/post-relationship.pipe.js +30 -0
- package/src/lib/modules/mixin/pipe/post-relationship/post-relationship.pipe.js.map +1 -0
- package/src/lib/modules/mixin/pipe/query/index.d.ts +1 -0
- package/src/lib/modules/mixin/pipe/query/index.js +5 -0
- package/src/lib/modules/mixin/pipe/query/index.js.map +1 -0
- package/src/lib/modules/mixin/pipe/query/query.pipe.d.ts +6 -0
- package/src/lib/modules/mixin/pipe/query/query.pipe.js +27 -0
- package/src/lib/modules/mixin/pipe/query/query.pipe.js.map +1 -0
- package/src/lib/modules/mixin/pipe/query-check-select-field/index.d.ts +1 -0
- package/src/lib/modules/mixin/pipe/query-check-select-field/index.js +5 -0
- package/src/lib/modules/mixin/pipe/query-check-select-field/index.js.map +1 -0
- package/src/lib/modules/mixin/pipe/query-check-select-field/query-check-select-field.d.ts +6 -0
- package/src/lib/modules/mixin/pipe/query-check-select-field/query-check-select-field.js +26 -0
- package/src/lib/modules/mixin/pipe/query-check-select-field/query-check-select-field.js.map +1 -0
- package/src/lib/modules/mixin/pipe/query-filed-on-include/index.d.ts +1 -0
- package/src/lib/modules/mixin/pipe/query-filed-on-include/index.js +5 -0
- package/src/lib/modules/mixin/pipe/query-filed-on-include/index.js.map +1 -0
- package/src/lib/modules/mixin/pipe/query-filed-on-include/query-filed-in-include.pipe.d.ts +5 -0
- package/src/lib/modules/mixin/pipe/query-filed-on-include/query-filed-in-include.pipe.js +59 -0
- package/src/lib/modules/mixin/pipe/query-filed-on-include/query-filed-in-include.pipe.js.map +1 -0
- package/src/lib/modules/mixin/pipe/query-input/index.d.ts +1 -0
- package/src/lib/modules/mixin/pipe/query-input/index.js +5 -0
- package/src/lib/modules/mixin/pipe/query-input/index.js.map +1 -0
- package/src/lib/modules/mixin/pipe/query-input/query-input.pipe.d.ts +7 -0
- package/src/lib/modules/mixin/pipe/query-input/query-input.pipe.js +30 -0
- package/src/lib/modules/mixin/pipe/query-input/query-input.pipe.js.map +1 -0
- package/src/lib/modules/mixin/service/entity-param-map.service.d.ts +9 -0
- package/src/lib/modules/mixin/service/entity-param-map.service.js +36 -0
- package/src/lib/modules/mixin/service/entity-param-map.service.js.map +1 -0
- package/src/lib/modules/mixin/service/error-format.service.d.ts +6 -0
- package/src/lib/modules/mixin/service/error-format.service.js +43 -0
- package/src/lib/modules/mixin/service/error-format.service.js.map +1 -0
- package/src/lib/modules/mixin/service/index.d.ts +3 -0
- package/src/lib/modules/mixin/service/index.js +7 -0
- package/src/lib/modules/mixin/service/index.js.map +1 -0
- package/src/lib/modules/mixin/service/json-api-transformer.service.d.ts +18 -0
- package/src/lib/modules/mixin/service/json-api-transformer.service.js +228 -0
- package/src/lib/modules/mixin/service/json-api-transformer.service.js.map +1 -0
- package/src/lib/modules/mixin/swagger/filter-operand-model.d.ts +26 -0
- package/src/lib/modules/mixin/swagger/filter-operand-model.js +113 -0
- package/src/lib/modules/mixin/swagger/filter-operand-model.js.map +1 -0
- package/src/lib/modules/mixin/swagger/index.d.ts +1 -0
- package/src/lib/modules/mixin/swagger/index.js +5 -0
- package/src/lib/modules/mixin/swagger/index.js.map +1 -0
- package/src/lib/modules/mixin/swagger/method/delete-one.d.ts +4 -0
- package/src/lib/modules/mixin/swagger/method/delete-one.js +35 -0
- package/src/lib/modules/mixin/swagger/method/delete-one.js.map +1 -0
- package/src/lib/modules/mixin/swagger/method/delete-relationship.d.ts +4 -0
- package/src/lib/modules/mixin/swagger/method/delete-relationship.js +54 -0
- package/src/lib/modules/mixin/swagger/method/delete-relationship.js.map +1 -0
- package/src/lib/modules/mixin/swagger/method/get-all.d.ts +4 -0
- package/src/lib/modules/mixin/swagger/method/get-all.js +241 -0
- package/src/lib/modules/mixin/swagger/method/get-all.js.map +1 -0
- package/src/lib/modules/mixin/swagger/method/get-one.d.ts +4 -0
- package/src/lib/modules/mixin/swagger/method/get-one.js +93 -0
- package/src/lib/modules/mixin/swagger/method/get-one.js.map +1 -0
- package/src/lib/modules/mixin/swagger/method/get-relationship.d.ts +4 -0
- package/src/lib/modules/mixin/swagger/method/get-relationship.js +48 -0
- package/src/lib/modules/mixin/swagger/method/get-relationship.js.map +1 -0
- package/src/lib/modules/mixin/swagger/method/index.d.ts +24 -0
- package/src/lib/modules/mixin/swagger/method/index.js +24 -0
- package/src/lib/modules/mixin/swagger/method/index.js.map +1 -0
- package/src/lib/modules/mixin/swagger/method/patch-one.d.ts +4 -0
- package/src/lib/modules/mixin/swagger/method/patch-one.js +43 -0
- package/src/lib/modules/mixin/swagger/method/patch-one.js.map +1 -0
- package/src/lib/modules/mixin/swagger/method/patch-relationship.d.ts +4 -0
- package/src/lib/modules/mixin/swagger/method/patch-relationship.js +55 -0
- package/src/lib/modules/mixin/swagger/method/patch-relationship.js.map +1 -0
- package/src/lib/modules/mixin/swagger/method/post-one.d.ts +4 -0
- package/src/lib/modules/mixin/swagger/method/post-one.js +35 -0
- package/src/lib/modules/mixin/swagger/method/post-one.js.map +1 -0
- package/src/lib/modules/mixin/swagger/method/post-relationship.d.ts +4 -0
- package/src/lib/modules/mixin/swagger/method/post-relationship.js +55 -0
- package/src/lib/modules/mixin/swagger/method/post-relationship.js.map +1 -0
- package/src/lib/modules/mixin/swagger/swagger-bind.service.d.ts +9 -0
- package/src/lib/modules/mixin/swagger/swagger-bind.service.js +81 -0
- package/src/lib/modules/mixin/swagger/swagger-bind.service.js.map +1 -0
- package/src/lib/modules/mixin/swagger/utils.d.ts +196 -0
- package/src/lib/modules/mixin/swagger/utils.js +305 -0
- package/src/lib/modules/mixin/swagger/utils.js.map +1 -0
- package/src/lib/modules/mixin/types/binding.type.d.ts +34 -0
- package/src/lib/modules/mixin/types/binding.type.js +3 -0
- package/src/lib/modules/mixin/types/binding.type.js.map +1 -0
- package/src/lib/modules/mixin/types/decorator-options.type.d.ts +9 -0
- package/src/lib/modules/mixin/types/decorator-options.type.js +3 -0
- package/src/lib/modules/mixin/types/decorator-options.type.js.map +1 -0
- package/src/lib/modules/mixin/types/index.d.ts +7 -0
- package/src/lib/modules/mixin/types/index.js +8 -0
- package/src/lib/modules/mixin/types/index.js.map +1 -0
- package/src/lib/modules/mixin/types/module.type.d.ts +6 -0
- package/src/lib/modules/mixin/types/module.type.js +3 -0
- package/src/lib/modules/mixin/types/module.type.js.map +1 -0
- package/src/lib/modules/mixin/types/orm-service.type.d.ts +13 -0
- package/src/lib/modules/mixin/types/orm-service.type.js +3 -0
- package/src/lib/modules/mixin/types/orm-service.type.js.map +1 -0
- package/src/lib/modules/mixin/zod/index.d.ts +7 -0
- package/src/lib/modules/mixin/zod/index.js +10 -0
- package/src/lib/modules/mixin/zod/index.js.map +1 -0
- package/src/lib/modules/mixin/zod/zod-input-patch-relationship-schema/index.d.ts +53 -0
- package/src/lib/modules/mixin/zod/zod-input-patch-relationship-schema/index.js +11 -0
- package/src/lib/modules/mixin/zod/zod-input-patch-relationship-schema/index.js.map +1 -0
- package/src/lib/modules/mixin/zod/zod-input-patch-schema/index.d.ts +17 -0
- package/src/lib/modules/mixin/zod/zod-input-patch-schema/index.js +23 -0
- package/src/lib/modules/mixin/zod/zod-input-patch-schema/index.js.map +1 -0
- package/src/lib/modules/mixin/zod/zod-input-post-relationship-schema/index.d.ts +59 -0
- package/src/lib/modules/mixin/zod/zod-input-post-relationship-schema/index.js +11 -0
- package/src/lib/modules/mixin/zod/zod-input-post-relationship-schema/index.js.map +1 -0
- package/src/lib/modules/mixin/zod/zod-input-post-schema/index.d.ts +18 -0
- package/src/lib/modules/mixin/zod/zod-input-post-schema/index.js +26 -0
- package/src/lib/modules/mixin/zod/zod-input-post-schema/index.js.map +1 -0
- package/src/lib/modules/mixin/zod/zod-input-query-schema/fields.d.ts +30 -0
- package/src/lib/modules/mixin/zod/zod-input-query-schema/fields.js +45 -0
- package/src/lib/modules/mixin/zod/zod-input-query-schema/fields.js.map +1 -0
- package/src/lib/modules/mixin/zod/zod-input-query-schema/filter.d.ts +1005 -0
- package/src/lib/modules/mixin/zod/zod-input-query-schema/filter.js +118 -0
- package/src/lib/modules/mixin/zod/zod-input-query-schema/filter.js.map +1 -0
- package/src/lib/modules/mixin/zod/zod-input-query-schema/include.d.ts +3 -0
- package/src/lib/modules/mixin/zod/zod-input-query-schema/include.js +19 -0
- package/src/lib/modules/mixin/zod/zod-input-query-schema/include.js.map +1 -0
- package/src/lib/modules/mixin/zod/zod-input-query-schema/index.d.ts +4965 -0
- package/src/lib/modules/mixin/zod/zod-input-query-schema/index.js +22 -0
- package/src/lib/modules/mixin/zod/zod-input-query-schema/index.js.map +1 -0
- package/src/lib/modules/mixin/zod/zod-input-query-schema/sort.d.ts +3 -0
- package/src/lib/modules/mixin/zod/zod-input-query-schema/sort.js +34 -0
- package/src/lib/modules/mixin/zod/zod-input-query-schema/sort.js.map +1 -0
- package/src/lib/modules/mixin/zod/zod-query-schema/fields.d.ts +15 -0
- package/src/lib/modules/mixin/zod/zod-query-schema/fields.js +35 -0
- package/src/lib/modules/mixin/zod/zod-query-schema/fields.js.map +1 -0
- package/src/lib/modules/mixin/zod/zod-query-schema/filter.d.ts +127 -0
- package/src/lib/modules/mixin/zod/zod-query-schema/filter.js +110 -0
- package/src/lib/modules/mixin/zod/zod-query-schema/filter.js.map +1 -0
- package/src/lib/modules/mixin/zod/zod-query-schema/include.d.ts +6 -0
- package/src/lib/modules/mixin/zod/zod-query-schema/include.js +17 -0
- package/src/lib/modules/mixin/zod/zod-query-schema/include.js.map +1 -0
- package/src/lib/modules/mixin/zod/zod-query-schema/index.d.ts +22 -0
- package/src/lib/modules/mixin/zod/zod-query-schema/index.js +34 -0
- package/src/lib/modules/mixin/zod/zod-query-schema/index.js.map +1 -0
- package/src/lib/modules/mixin/zod/zod-query-schema/sort.d.ts +19 -0
- package/src/lib/modules/mixin/zod/zod-query-schema/sort.js +35 -0
- package/src/lib/modules/mixin/zod/zod-query-schema/sort.js.map +1 -0
- package/src/lib/modules/mixin/zod/zod-share/attributes.d.ts +31 -0
- package/src/lib/modules/mixin/zod/zod-share/attributes.js +85 -0
- package/src/lib/modules/mixin/zod/zod-share/attributes.js.map +1 -0
- package/src/lib/modules/mixin/zod/zod-share/id.d.ts +5 -0
- package/src/lib/modules/mixin/zod/zod-share/id.js +14 -0
- package/src/lib/modules/mixin/zod/zod-share/id.js.map +1 -0
- package/src/lib/modules/mixin/zod/zod-share/index.d.ts +6 -0
- package/src/lib/modules/mixin/zod/zod-share/index.js +10 -0
- package/src/lib/modules/mixin/zod/zod-share/index.js.map +1 -0
- package/src/lib/modules/mixin/zod/zod-share/page.d.ts +12 -0
- package/src/lib/modules/mixin/zod/zod-share/page.js +22 -0
- package/src/lib/modules/mixin/zod/zod-share/page.js.map +1 -0
- package/src/lib/modules/mixin/zod/zod-share/rel-data.d.ts +50 -0
- package/src/lib/modules/mixin/zod/zod-share/rel-data.js +26 -0
- package/src/lib/modules/mixin/zod/zod-share/rel-data.js.map +1 -0
- package/src/lib/modules/mixin/zod/zod-share/relationships.d.ts +325 -0
- package/src/lib/modules/mixin/zod/zod-share/relationships.js +34 -0
- package/src/lib/modules/mixin/zod/zod-share/relationships.js.map +1 -0
- package/src/lib/modules/mixin/zod/zod-share/type.d.ts +8 -0
- package/src/lib/modules/mixin/zod/zod-share/type.js +8 -0
- package/src/lib/modules/mixin/zod/zod-share/type.js.map +1 -0
- package/src/lib/modules/mixin/zod/zod-utils.d.ts +15 -0
- package/src/lib/modules/mixin/zod/zod-utils.js +72 -0
- package/src/lib/modules/mixin/zod/zod-utils.js.map +1 -0
- package/src/lib/types/common-type.d.ts +5 -0
- package/src/lib/types/common-type.js +3 -0
- package/src/lib/types/common-type.js.map +1 -0
- package/src/lib/types/entity-param.type.d.ts +49 -0
- package/src/lib/types/entity-param.type.js +14 -0
- package/src/lib/types/entity-param.type.js.map +1 -0
- package/src/lib/types/error.types.d.ts +10 -0
- package/src/lib/types/error.types.js +3 -0
- package/src/lib/types/error.types.js.map +1 -0
- package/src/lib/types/index.d.ts +5 -0
- package/src/lib/types/index.js +9 -0
- package/src/lib/types/index.js.map +1 -0
- package/src/lib/types/module-options.types.d.ts +47 -0
- package/src/lib/types/module-options.types.js +3 -0
- package/src/lib/types/module-options.types.js.map +1 -0
- package/src/lib/types/utils-type.d.ts +12 -0
- package/src/lib/types/utils-type.js +3 -0
- package/src/lib/types/utils-type.js.map +1 -0
- package/src/lib/utils/index.d.ts +1 -0
- package/src/lib/utils/index.js +5 -0
- package/src/lib/utils/index.js.map +1 -0
- package/src/lib/utils/module-helper.d.ts +4 -0
- package/src/lib/utils/module-helper.js +27 -0
- 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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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,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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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"}
|