plutin 1.2.3 → 1.3.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 (235) hide show
  1. package/dist/index.cjs.map +1 -1
  2. package/dist/index.d.cts +286 -27
  3. package/dist/index.d.ts +286 -27
  4. package/dist/{index.js → index.mjs} +1 -1
  5. package/package.json +5 -4
  6. package/dist/base-controller-68008870.d.ts +0 -46
  7. package/dist/core/decorators/controller-http-decorator.cjs +0 -310
  8. package/dist/core/decorators/controller-http-decorator.cjs.map +0 -1
  9. package/dist/core/decorators/controller-http-decorator.d.cts +0 -13
  10. package/dist/core/decorators/controller-http-decorator.d.ts +0 -13
  11. package/dist/core/decorators/controller-http-decorator.js +0 -285
  12. package/dist/core/decorators/controller-http-decorator.js.map +0 -1
  13. package/dist/core/decorators/dependency-container.cjs +0 -95
  14. package/dist/core/decorators/dependency-container.cjs.map +0 -1
  15. package/dist/core/decorators/dependency-container.d.cts +0 -22
  16. package/dist/core/decorators/dependency-container.d.ts +0 -22
  17. package/dist/core/decorators/dependency-container.js +0 -71
  18. package/dist/core/decorators/dependency-container.js.map +0 -1
  19. package/dist/core/entities/aggregate-root.cjs +0 -99
  20. package/dist/core/entities/aggregate-root.cjs.map +0 -1
  21. package/dist/core/entities/aggregate-root.d.cts +0 -8
  22. package/dist/core/entities/aggregate-root.d.ts +0 -8
  23. package/dist/core/entities/aggregate-root.js +0 -74
  24. package/dist/core/entities/aggregate-root.js.map +0 -1
  25. package/dist/core/entities/common-dto.cjs +0 -19
  26. package/dist/core/entities/common-dto.cjs.map +0 -1
  27. package/dist/core/entities/common-dto.d.cts +0 -10
  28. package/dist/core/entities/common-dto.d.ts +0 -10
  29. package/dist/core/entities/common-dto.js +0 -1
  30. package/dist/core/entities/common-dto.js.map +0 -1
  31. package/dist/core/entities/domain-event.cjs +0 -19
  32. package/dist/core/entities/domain-event.cjs.map +0 -1
  33. package/dist/core/entities/domain-event.d.cts +0 -6
  34. package/dist/core/entities/domain-event.d.ts +0 -6
  35. package/dist/core/entities/domain-event.js +0 -1
  36. package/dist/core/entities/domain-event.js.map +0 -1
  37. package/dist/core/entities/entity.cjs +0 -92
  38. package/dist/core/entities/entity.cjs.map +0 -1
  39. package/dist/core/entities/entity.d.cts +0 -18
  40. package/dist/core/entities/entity.d.ts +0 -18
  41. package/dist/core/entities/entity.js +0 -67
  42. package/dist/core/entities/entity.js.map +0 -1
  43. package/dist/core/entities/optional.cjs +0 -19
  44. package/dist/core/entities/optional.cjs.map +0 -1
  45. package/dist/core/entities/optional.d.cts +0 -3
  46. package/dist/core/entities/optional.d.ts +0 -3
  47. package/dist/core/entities/optional.js +0 -1
  48. package/dist/core/entities/optional.js.map +0 -1
  49. package/dist/core/entities/unique-entity-id.cjs +0 -50
  50. package/dist/core/entities/unique-entity-id.cjs.map +0 -1
  51. package/dist/core/entities/unique-entity-id.d.cts +0 -9
  52. package/dist/core/entities/unique-entity-id.d.ts +0 -9
  53. package/dist/core/entities/unique-entity-id.js +0 -27
  54. package/dist/core/entities/unique-entity-id.js.map +0 -1
  55. package/dist/core/entities/value-object.cjs +0 -40
  56. package/dist/core/entities/value-object.cjs.map +0 -1
  57. package/dist/core/entities/value-object.d.cts +0 -6
  58. package/dist/core/entities/value-object.d.ts +0 -6
  59. package/dist/core/entities/value-object.js +0 -17
  60. package/dist/core/entities/value-object.js.map +0 -1
  61. package/dist/core/entities/watched-list.cjs +0 -121
  62. package/dist/core/entities/watched-list.cjs.map +0 -1
  63. package/dist/core/entities/watched-list.d.cts +0 -27
  64. package/dist/core/entities/watched-list.d.ts +0 -27
  65. package/dist/core/entities/watched-list.js +0 -98
  66. package/dist/core/entities/watched-list.js.map +0 -1
  67. package/dist/core/entities/watched-list.test.cjs +0 -186
  68. package/dist/core/entities/watched-list.test.cjs.map +0 -1
  69. package/dist/core/entities/watched-list.test.d.cts +0 -2
  70. package/dist/core/entities/watched-list.test.d.ts +0 -2
  71. package/dist/core/entities/watched-list.test.js +0 -185
  72. package/dist/core/entities/watched-list.test.js.map +0 -1
  73. package/dist/core/errors/api-common-error.cjs +0 -38
  74. package/dist/core/errors/api-common-error.cjs.map +0 -1
  75. package/dist/core/errors/api-common-error.d.cts +0 -28
  76. package/dist/core/errors/api-common-error.d.ts +0 -28
  77. package/dist/core/errors/api-common-error.js +0 -13
  78. package/dist/core/errors/api-common-error.js.map +0 -1
  79. package/dist/core/errors/application-error.cjs +0 -54
  80. package/dist/core/errors/application-error.cjs.map +0 -1
  81. package/dist/core/errors/application-error.d.cts +0 -8
  82. package/dist/core/errors/application-error.d.ts +0 -8
  83. package/dist/core/errors/application-error.js +0 -33
  84. package/dist/core/errors/application-error.js.map +0 -1
  85. package/dist/core/errors/conflict-error.cjs +0 -56
  86. package/dist/core/errors/conflict-error.cjs.map +0 -1
  87. package/dist/core/errors/conflict-error.d.cts +0 -13
  88. package/dist/core/errors/conflict-error.d.ts +0 -13
  89. package/dist/core/errors/conflict-error.js +0 -35
  90. package/dist/core/errors/conflict-error.js.map +0 -1
  91. package/dist/core/errors/domain-error.cjs +0 -54
  92. package/dist/core/errors/domain-error.cjs.map +0 -1
  93. package/dist/core/errors/domain-error.d.cts +0 -8
  94. package/dist/core/errors/domain-error.d.ts +0 -8
  95. package/dist/core/errors/domain-error.js +0 -33
  96. package/dist/core/errors/domain-error.js.map +0 -1
  97. package/dist/core/errors/http-client-error.cjs +0 -54
  98. package/dist/core/errors/http-client-error.cjs.map +0 -1
  99. package/dist/core/errors/http-client-error.d.cts +0 -8
  100. package/dist/core/errors/http-client-error.d.ts +0 -8
  101. package/dist/core/errors/http-client-error.js +0 -33
  102. package/dist/core/errors/http-client-error.js.map +0 -1
  103. package/dist/core/errors/infra-error.cjs +0 -54
  104. package/dist/core/errors/infra-error.cjs.map +0 -1
  105. package/dist/core/errors/infra-error.d.cts +0 -8
  106. package/dist/core/errors/infra-error.d.ts +0 -8
  107. package/dist/core/errors/infra-error.js +0 -33
  108. package/dist/core/errors/infra-error.js.map +0 -1
  109. package/dist/core/errors/validation-error.cjs +0 -55
  110. package/dist/core/errors/validation-error.cjs.map +0 -1
  111. package/dist/core/errors/validation-error.d.cts +0 -8
  112. package/dist/core/errors/validation-error.d.ts +0 -8
  113. package/dist/core/errors/validation-error.js +0 -34
  114. package/dist/core/errors/validation-error.js.map +0 -1
  115. package/dist/core/http/base-controller.cjs +0 -295
  116. package/dist/core/http/base-controller.cjs.map +0 -1
  117. package/dist/core/http/base-controller.d.cts +0 -1
  118. package/dist/core/http/base-controller.d.ts +0 -1
  119. package/dist/core/http/base-controller.js +0 -270
  120. package/dist/core/http/base-controller.js.map +0 -1
  121. package/dist/core/http/dto-response.cjs +0 -19
  122. package/dist/core/http/dto-response.cjs.map +0 -1
  123. package/dist/core/http/dto-response.d.cts +0 -10
  124. package/dist/core/http/dto-response.d.ts +0 -10
  125. package/dist/core/http/dto-response.js +0 -1
  126. package/dist/core/http/dto-response.js.map +0 -1
  127. package/dist/core/http/error-notifier.cjs +0 -19
  128. package/dist/core/http/error-notifier.cjs.map +0 -1
  129. package/dist/core/http/error-notifier.d.cts +0 -1
  130. package/dist/core/http/error-notifier.d.ts +0 -1
  131. package/dist/core/http/error-notifier.js +0 -1
  132. package/dist/core/http/error-notifier.js.map +0 -1
  133. package/dist/core/http/get-take-and-skip.cjs +0 -40
  134. package/dist/core/http/get-take-and-skip.cjs.map +0 -1
  135. package/dist/core/http/get-take-and-skip.d.cts +0 -6
  136. package/dist/core/http/get-take-and-skip.d.ts +0 -6
  137. package/dist/core/http/get-take-and-skip.js +0 -17
  138. package/dist/core/http/get-take-and-skip.js.map +0 -1
  139. package/dist/core/http/health-connections.cjs +0 -42
  140. package/dist/core/http/health-connections.cjs.map +0 -1
  141. package/dist/core/http/health-connections.d.cts +0 -16
  142. package/dist/core/http/health-connections.d.ts +0 -16
  143. package/dist/core/http/health-connections.js +0 -23
  144. package/dist/core/http/health-connections.js.map +0 -1
  145. package/dist/core/http/http.cjs +0 -19
  146. package/dist/core/http/http.cjs.map +0 -1
  147. package/dist/core/http/http.d.cts +0 -10
  148. package/dist/core/http/http.d.ts +0 -10
  149. package/dist/core/http/http.js +0 -1
  150. package/dist/core/http/http.js.map +0 -1
  151. package/dist/core/http/pagination.cjs +0 -19
  152. package/dist/core/http/pagination.cjs.map +0 -1
  153. package/dist/core/http/pagination.d.cts +0 -9
  154. package/dist/core/http/pagination.d.ts +0 -9
  155. package/dist/core/http/pagination.js +0 -1
  156. package/dist/core/http/pagination.js.map +0 -1
  157. package/dist/core/http/validator.cjs +0 -19
  158. package/dist/core/http/validator.cjs.map +0 -1
  159. package/dist/core/http/validator.d.cts +0 -11
  160. package/dist/core/http/validator.d.ts +0 -11
  161. package/dist/core/http/validator.js +0 -1
  162. package/dist/core/http/validator.js.map +0 -1
  163. package/dist/infra/adapters/http/express-adapter.cjs +0 -139
  164. package/dist/infra/adapters/http/express-adapter.cjs.map +0 -1
  165. package/dist/infra/adapters/http/express-adapter.d.cts +0 -15
  166. package/dist/infra/adapters/http/express-adapter.d.ts +0 -15
  167. package/dist/infra/adapters/http/express-adapter.js +0 -106
  168. package/dist/infra/adapters/http/express-adapter.js.map +0 -1
  169. package/dist/infra/adapters/http/fastify-adapter.cjs +0 -124
  170. package/dist/infra/adapters/http/fastify-adapter.cjs.map +0 -1
  171. package/dist/infra/adapters/http/fastify-adapter.d.cts +0 -14
  172. package/dist/infra/adapters/http/fastify-adapter.d.ts +0 -14
  173. package/dist/infra/adapters/http/fastify-adapter.js +0 -91
  174. package/dist/infra/adapters/http/fastify-adapter.js.map +0 -1
  175. package/dist/infra/adapters/http/response-error-code.cjs +0 -35
  176. package/dist/infra/adapters/http/response-error-code.cjs.map +0 -1
  177. package/dist/infra/adapters/http/response-error-code.d.cts +0 -6
  178. package/dist/infra/adapters/http/response-error-code.d.ts +0 -6
  179. package/dist/infra/adapters/http/response-error-code.js +0 -10
  180. package/dist/infra/adapters/http/response-error-code.js.map +0 -1
  181. package/dist/infra/adapters/http/validate-controller-metadata.cjs +0 -42
  182. package/dist/infra/adapters/http/validate-controller-metadata.cjs.map +0 -1
  183. package/dist/infra/adapters/http/validate-controller-metadata.d.cts +0 -11
  184. package/dist/infra/adapters/http/validate-controller-metadata.d.ts +0 -11
  185. package/dist/infra/adapters/http/validate-controller-metadata.js +0 -19
  186. package/dist/infra/adapters/http/validate-controller-metadata.js.map +0 -1
  187. package/dist/infra/adapters/notifications/discord.cjs +0 -90
  188. package/dist/infra/adapters/notifications/discord.cjs.map +0 -1
  189. package/dist/infra/adapters/notifications/discord.d.cts +0 -14
  190. package/dist/infra/adapters/notifications/discord.d.ts +0 -14
  191. package/dist/infra/adapters/notifications/discord.js +0 -65
  192. package/dist/infra/adapters/notifications/discord.js.map +0 -1
  193. package/dist/infra/adapters/notifications/in-memory.cjs +0 -44
  194. package/dist/infra/adapters/notifications/in-memory.cjs.map +0 -1
  195. package/dist/infra/adapters/notifications/in-memory.d.cts +0 -8
  196. package/dist/infra/adapters/notifications/in-memory.d.ts +0 -8
  197. package/dist/infra/adapters/notifications/in-memory.js +0 -21
  198. package/dist/infra/adapters/notifications/in-memory.js.map +0 -1
  199. package/dist/infra/adapters/notifications/notification-factory.cjs +0 -219
  200. package/dist/infra/adapters/notifications/notification-factory.cjs.map +0 -1
  201. package/dist/infra/adapters/notifications/notification-factory.d.cts +0 -18
  202. package/dist/infra/adapters/notifications/notification-factory.d.ts +0 -18
  203. package/dist/infra/adapters/notifications/notification-factory.js +0 -184
  204. package/dist/infra/adapters/notifications/notification-factory.js.map +0 -1
  205. package/dist/infra/adapters/notifications/sentry.cjs +0 -129
  206. package/dist/infra/adapters/notifications/sentry.cjs.map +0 -1
  207. package/dist/infra/adapters/notifications/sentry.d.cts +0 -13
  208. package/dist/infra/adapters/notifications/sentry.d.ts +0 -13
  209. package/dist/infra/adapters/notifications/sentry.js +0 -96
  210. package/dist/infra/adapters/notifications/sentry.js.map +0 -1
  211. package/dist/infra/adapters/validators/zod/index.cjs +0 -179
  212. package/dist/infra/adapters/validators/zod/index.cjs.map +0 -1
  213. package/dist/infra/adapters/validators/zod/index.d.cts +0 -19
  214. package/dist/infra/adapters/validators/zod/index.d.ts +0 -19
  215. package/dist/infra/adapters/validators/zod/index.js +0 -154
  216. package/dist/infra/adapters/validators/zod/index.js.map +0 -1
  217. package/dist/infra/adapters/validators/zod/zod-map-error.cjs +0 -79
  218. package/dist/infra/adapters/validators/zod/zod-map-error.cjs.map +0 -1
  219. package/dist/infra/adapters/validators/zod/zod-map-error.d.cts +0 -15
  220. package/dist/infra/adapters/validators/zod/zod-map-error.d.ts +0 -15
  221. package/dist/infra/adapters/validators/zod/zod-map-error.js +0 -60
  222. package/dist/infra/adapters/validators/zod/zod-map-error.js.map +0 -1
  223. package/dist/infra/adapters/validators/zod/zod-validator.cjs +0 -178
  224. package/dist/infra/adapters/validators/zod/zod-validator.cjs.map +0 -1
  225. package/dist/infra/adapters/validators/zod/zod-validator.d.cts +0 -13
  226. package/dist/infra/adapters/validators/zod/zod-validator.d.ts +0 -13
  227. package/dist/infra/adapters/validators/zod/zod-validator.js +0 -153
  228. package/dist/infra/adapters/validators/zod/zod-validator.js.map +0 -1
  229. package/dist/infra/env/index.cjs +0 -467
  230. package/dist/infra/env/index.cjs.map +0 -1
  231. package/dist/infra/env/index.d.cts +0 -26
  232. package/dist/infra/env/index.d.ts +0 -26
  233. package/dist/infra/env/index.js +0 -452
  234. package/dist/infra/env/index.js.map +0 -1
  235. /package/dist/{index.js.map → index.mjs.map} +0 -0
@@ -1,178 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
7
- var __export = (target, all) => {
8
- for (var name in all)
9
- __defProp(target, name, { get: all[name], enumerable: true });
10
- };
11
- var __copyProps = (to, from, except, desc) => {
12
- if (from && typeof from === "object" || typeof from === "function") {
13
- for (let key of __getOwnPropNames(from))
14
- if (!__hasOwnProp.call(to, key) && key !== except)
15
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
- }
17
- return to;
18
- };
19
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
-
21
- // src/infra/adapters/validators/zod/zod-validator.ts
22
- var zod_validator_exports = {};
23
- __export(zod_validator_exports, {
24
- zodValidator: () => zodValidator
25
- });
26
- module.exports = __toCommonJS(zod_validator_exports);
27
-
28
- // src/core/errors/api-common-error.ts
29
- var ApiErrorEnum = /* @__PURE__ */ function(ApiErrorEnum2) {
30
- ApiErrorEnum2["DOMAIN"] = "ERR001";
31
- ApiErrorEnum2["APPLICATION"] = "ERR002";
32
- ApiErrorEnum2["INFRA"] = "ERR003";
33
- ApiErrorEnum2["HTTP_CLIENT"] = "ERR004";
34
- ApiErrorEnum2["VALIDATOR"] = "ERR005";
35
- return ApiErrorEnum2;
36
- }({});
37
-
38
- // src/core/errors/validation-error.ts
39
- var ValidationError = class extends Error {
40
- static {
41
- __name(this, "ValidationError");
42
- }
43
- props;
44
- constructor(errors) {
45
- super("Validation Error");
46
- this.props = {
47
- code: 400,
48
- errorCode: ApiErrorEnum.VALIDATOR,
49
- message: "Validation Error",
50
- occurredAt: /* @__PURE__ */ new Date(),
51
- errors
52
- };
53
- }
54
- };
55
-
56
- // src/infra/adapters/validators/zod/zod-map-error.ts
57
- var ZodMapError = class {
58
- static {
59
- __name(this, "ZodMapError");
60
- }
61
- static mapCommon(error) {
62
- return {
63
- type: error.code,
64
- path: error.path.join("."),
65
- property: error.path.pop(),
66
- propertyType: error.expected,
67
- receivedValue: error.received,
68
- message: error.message
69
- };
70
- }
71
- static mapInvalidUnion(error) {
72
- const [errors] = error.unionErrors.flat().map((err) => err.issues.map((item) => this.mapCommon(item)));
73
- return errors;
74
- }
75
- static mapInvalidType(error) {
76
- return [
77
- this.mapCommon(error)
78
- ];
79
- }
80
- static mapErrorsFactory(error) {
81
- if (error.code === "invalid_union") {
82
- return this.mapInvalidUnion(error);
83
- }
84
- return this.mapInvalidType(error);
85
- }
86
- static mapErrors(errors) {
87
- const standardizedErrors = /* @__PURE__ */ new Map();
88
- errors.flat().forEach((error) => {
89
- const keyError = standardizedErrors.get(error.path[0]);
90
- if (keyError) {
91
- if (!keyError.propertyErrors) {
92
- keyError.propertyErrors = [];
93
- }
94
- keyError.propertyErrors.push(...this.mapErrorsFactory(error));
95
- return;
96
- }
97
- standardizedErrors.set(error.path[0], {
98
- location: error.path[0],
99
- propertyErrors: Array.from([
100
- ...this.mapErrorsFactory(error)
101
- ])
102
- });
103
- });
104
- return Array.from(standardizedErrors, ([, arr]) => ({
105
- ...arr
106
- })).flat();
107
- }
108
- };
109
-
110
- // src/infra/adapters/validators/zod/index.ts
111
- var ZodValidator = class {
112
- static {
113
- __name(this, "ZodValidator");
114
- }
115
- zodSchema;
116
- constructor(zodSchema) {
117
- this.zodSchema = zodSchema;
118
- }
119
- async validate(requestHttp) {
120
- const errors = [];
121
- const { data: headersData = {}, error: headersErrors = {} } = requestHttp.headers ? await this.zodSchema.shape.headers.safeParseAsync(requestHttp.headers, {
122
- path: [
123
- "headers"
124
- ]
125
- }) : {};
126
- if (headersErrors?.errors) {
127
- errors.push(headersErrors?.errors);
128
- }
129
- const { data: paramsData = {}, error: paramsErrors = {} } = requestHttp.params ? await this.zodSchema.shape.params.safeParseAsync(requestHttp.params, {
130
- path: [
131
- "params"
132
- ]
133
- }) : {};
134
- if (paramsErrors?.errors) {
135
- errors.push(paramsErrors?.errors);
136
- }
137
- const { data: queryData = {}, error: queryErrors = {} } = requestHttp.query ? await this.zodSchema.shape.query.safeParseAsync(requestHttp.query, {
138
- path: [
139
- "query"
140
- ]
141
- }) : {};
142
- if (queryErrors?.errors) {
143
- errors.push(queryErrors?.errors);
144
- }
145
- const { data: bodyData = {}, error: bodyErrors = {} } = requestHttp.body ? await this.zodSchema.shape.body.safeParseAsync(requestHttp.body, {
146
- path: [
147
- "body"
148
- ]
149
- }) : {};
150
- if (bodyErrors?.errors) {
151
- errors.push(bodyErrors?.errors);
152
- }
153
- if (errors.length) {
154
- throw new ValidationError(ZodMapError.mapErrors(errors));
155
- }
156
- return {
157
- body: bodyData,
158
- headers: headersData,
159
- params: paramsData,
160
- query: queryData
161
- };
162
- }
163
- };
164
-
165
- // src/infra/adapters/validators/zod/zod-validator.ts
166
- function zodValidator(schema) {
167
- return async (request) => {
168
- const validator = new ZodValidator(schema);
169
- const validatedRequest = await validator.validate(request);
170
- return validatedRequest;
171
- };
172
- }
173
- __name(zodValidator, "zodValidator");
174
- // Annotate the CommonJS export names for ESM import in node:
175
- 0 && (module.exports = {
176
- zodValidator
177
- });
178
- //# sourceMappingURL=zod-validator.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/infra/adapters/validators/zod/zod-validator.ts","../../../../../src/core/errors/api-common-error.ts","../../../../../src/core/errors/validation-error.ts","../../../../../src/infra/adapters/validators/zod/zod-map-error.ts","../../../../../src/infra/adapters/validators/zod/index.ts"],"sourcesContent":["import { z } from 'zod'\n\nimport { Request } from '../../../../core/http/base-controller'\n\nimport ZodValidator from './index'\n\nexport type ZodSchema = z.ZodObject<{\n headers: z.ZodObject<Record<string, any>>\n params: z.ZodObject<Record<string, any>>\n query: z.ZodObject<Record<string, any>>\n body:\n | z.ZodObject<Record<string, any>>\n | z.ZodEffects<z.ZodObject<Record<string, any>>>\n}>\n\nexport type MiddlewareFunction = (request: Request) => Promise<Request>\n\nexport function zodValidator(schema: ZodSchema): MiddlewareFunction {\n return async (request: Request): Promise<Request> => {\n const validator = new ZodValidator(schema)\n const validatedRequest = await validator.validate<Request>(request)\n return validatedRequest\n }\n}\n","export type PropertiesError = {\n receivedValue?: any\n type: string\n message: string\n property: string | number | undefined\n propertyType?: string\n path?: string\n}\n\nexport type CommonError = {\n location: string\n propertyErrors?: PropertiesError[]\n}\n\nexport type ApiCommonError = {\n code: number\n occurredAt: Date\n message: string\n errorCode: string\n errors?: CommonError[]\n}\n\nexport enum ApiErrorEnum {\n DOMAIN = 'ERR001',\n APPLICATION = 'ERR002',\n INFRA = 'ERR003',\n HTTP_CLIENT = 'ERR004',\n VALIDATOR = 'ERR005',\n}\n","import {\n type ApiCommonError,\n ApiErrorEnum,\n type CommonError,\n} from './api-common-error'\n\nexport default class ValidationError extends Error {\n props: ApiCommonError\n\n constructor(errors: CommonError[]) {\n super('Validation Error')\n this.props = {\n code: 400,\n errorCode: ApiErrorEnum.VALIDATOR,\n message: 'Validation Error',\n occurredAt: new Date(),\n errors,\n }\n }\n}\n","import type { ZodIssue } from 'zod'\n\nimport type {\n CommonError,\n PropertiesError,\n} from '../../../../core/errors/api-common-error'\n\ntype ZodError = ZodIssue & {\n expected: string\n received: string\n}\n\ntype ZodInvalidUnion = ZodError & {\n code: 'invalid_union'\n}\n\nexport default class ZodMapError {\n private static mapCommon(error: ZodError): PropertiesError {\n return {\n type: error.code,\n path: error.path.join('.'),\n property: error.path.pop(),\n propertyType: error.expected,\n receivedValue: error.received,\n message: error.message,\n }\n }\n\n private static mapInvalidUnion(error: ZodInvalidUnion): PropertiesError[] {\n const [errors] = error.unionErrors\n .flat()\n .map((err) => err.issues.map((item: any) => this.mapCommon(item)))\n\n return errors\n }\n\n private static mapInvalidType(error: ZodError): PropertiesError[] {\n return [this.mapCommon(error)]\n }\n\n private static mapErrorsFactory(error: ZodError): PropertiesError[] {\n if (error.code === 'invalid_union') {\n return this.mapInvalidUnion(error)\n }\n\n return this.mapInvalidType(error)\n }\n\n static mapErrors(errors: ZodIssue[][]) {\n const standardizedErrors = new Map<string | number, CommonError>()\n\n errors.flat().forEach((error) => {\n const keyError = standardizedErrors.get(error.path[0])\n\n if (keyError) {\n if (!keyError.propertyErrors) {\n keyError.propertyErrors = []\n }\n\n keyError.propertyErrors.push(\n ...this.mapErrorsFactory(error as ZodError)\n )\n\n return\n }\n\n standardizedErrors.set(error.path[0], {\n location: error.path[0],\n propertyErrors: Array.from([\n ...this.mapErrorsFactory(error as ZodError),\n ]),\n } as CommonError)\n })\n\n return Array.from(standardizedErrors, ([, arr]) => ({\n ...arr,\n })).flat()\n }\n}\n","import { ZodEffects, type ZodError, ZodObject } from 'zod'\n\nimport ValidationError from '../../../../core/errors/validation-error'\nimport IValidationHTTP, { RequestHttp } from '../../../../core/http/validator'\n\nimport ZodMapError from './zod-map-error'\nimport { zodValidator } from './zod-validator'\n\ntype SchemaDefinition = {\n headers: ZodObject<Record<string, any>>\n params: ZodObject<Record<string, any>>\n query: ZodObject<Record<string, any>>\n body:\n | ZodObject<Record<string, any>>\n | ZodEffects<ZodObject<Record<string, any>>>\n}\n\ntype ZodSchemaObject = ZodObject<SchemaDefinition>\n\nexport default class ZodValidator implements IValidationHTTP {\n constructor(private zodSchema: ZodSchemaObject) {}\n\n async validate<T>(requestHttp: RequestHttp): Promise<T> {\n const errors = []\n\n const {\n data: headersData = {},\n error: headersErrors = {} as ZodError<{ errors: ZodError[] }>,\n } = requestHttp.headers\n ? await this.zodSchema.shape.headers.safeParseAsync(requestHttp.headers, {\n path: ['headers'],\n })\n : {}\n\n if (headersErrors?.errors) {\n errors.push(headersErrors?.errors)\n }\n\n const {\n data: paramsData = {},\n error: paramsErrors = {} as ZodError<{ errors: ZodError[] }>,\n } = requestHttp.params\n ? await this.zodSchema.shape.params.safeParseAsync(requestHttp.params, {\n path: ['params'],\n })\n : {}\n\n if (paramsErrors?.errors) {\n errors.push(paramsErrors?.errors)\n }\n\n const {\n data: queryData = {},\n error: queryErrors = {} as ZodError<{ errors: ZodError[] }>,\n } = requestHttp.query\n ? await this.zodSchema.shape.query.safeParseAsync(requestHttp.query, {\n path: ['query'],\n })\n : {}\n\n if (queryErrors?.errors) {\n errors.push(queryErrors?.errors)\n }\n\n const {\n data: bodyData = {},\n error: bodyErrors = {} as ZodError<{ errors: ZodError[] }>,\n } = requestHttp.body\n ? await this.zodSchema.shape.body.safeParseAsync(requestHttp.body, {\n path: ['body'],\n })\n : {}\n\n if (bodyErrors?.errors) {\n errors.push(bodyErrors?.errors)\n }\n\n if (errors.length) {\n throw new ValidationError(ZodMapError.mapErrors(errors))\n }\n\n return {\n body: bodyData,\n headers: headersData,\n params: paramsData,\n query: queryData,\n } as T\n }\n}\n\nexport { zodValidator }\n"],"mappings":"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","names":["ApiErrorEnum","ValidationError","Error","props","constructor","errors","code","errorCode","ApiErrorEnum","VALIDATOR","message","occurredAt","Date","ZodMapError","mapCommon","error","type","code","path","join","property","pop","propertyType","expected","receivedValue","received","message","mapInvalidUnion","errors","unionErrors","flat","map","err","issues","item","mapInvalidType","mapErrorsFactory","mapErrors","standardizedErrors","Map","forEach","keyError","get","propertyErrors","push","set","location","Array","from","arr","ZodValidator","constructor","zodSchema","validate","requestHttp","errors","data","headersData","error","headersErrors","headers","shape","safeParseAsync","path","push","paramsData","paramsErrors","params","queryData","queryErrors","query","bodyData","bodyErrors","body","length","ValidationError","ZodMapError","mapErrors","zodValidator","schema","request","validator","ZodValidator","validatedRequest","validate"]}
@@ -1,13 +0,0 @@
1
- import { z } from 'zod';
2
- import { R as Request } from '../../../../base-controller-68008870.js';
3
-
4
- type ZodSchema = z.ZodObject<{
5
- headers: z.ZodObject<Record<string, any>>;
6
- params: z.ZodObject<Record<string, any>>;
7
- query: z.ZodObject<Record<string, any>>;
8
- body: z.ZodObject<Record<string, any>> | z.ZodEffects<z.ZodObject<Record<string, any>>>;
9
- }>;
10
- type MiddlewareFunction = (request: Request) => Promise<Request>;
11
- declare function zodValidator(schema: ZodSchema): MiddlewareFunction;
12
-
13
- export { MiddlewareFunction, ZodSchema, zodValidator };
@@ -1,13 +0,0 @@
1
- import { z } from 'zod';
2
- import { R as Request } from '../../../../base-controller-68008870.js';
3
-
4
- type ZodSchema = z.ZodObject<{
5
- headers: z.ZodObject<Record<string, any>>;
6
- params: z.ZodObject<Record<string, any>>;
7
- query: z.ZodObject<Record<string, any>>;
8
- body: z.ZodObject<Record<string, any>> | z.ZodEffects<z.ZodObject<Record<string, any>>>;
9
- }>;
10
- type MiddlewareFunction = (request: Request) => Promise<Request>;
11
- declare function zodValidator(schema: ZodSchema): MiddlewareFunction;
12
-
13
- export { MiddlewareFunction, ZodSchema, zodValidator };
@@ -1,153 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
-
4
- // src/core/errors/api-common-error.ts
5
- var ApiErrorEnum = /* @__PURE__ */ function(ApiErrorEnum2) {
6
- ApiErrorEnum2["DOMAIN"] = "ERR001";
7
- ApiErrorEnum2["APPLICATION"] = "ERR002";
8
- ApiErrorEnum2["INFRA"] = "ERR003";
9
- ApiErrorEnum2["HTTP_CLIENT"] = "ERR004";
10
- ApiErrorEnum2["VALIDATOR"] = "ERR005";
11
- return ApiErrorEnum2;
12
- }({});
13
-
14
- // src/core/errors/validation-error.ts
15
- var ValidationError = class extends Error {
16
- static {
17
- __name(this, "ValidationError");
18
- }
19
- props;
20
- constructor(errors) {
21
- super("Validation Error");
22
- this.props = {
23
- code: 400,
24
- errorCode: ApiErrorEnum.VALIDATOR,
25
- message: "Validation Error",
26
- occurredAt: /* @__PURE__ */ new Date(),
27
- errors
28
- };
29
- }
30
- };
31
-
32
- // src/infra/adapters/validators/zod/zod-map-error.ts
33
- var ZodMapError = class {
34
- static {
35
- __name(this, "ZodMapError");
36
- }
37
- static mapCommon(error) {
38
- return {
39
- type: error.code,
40
- path: error.path.join("."),
41
- property: error.path.pop(),
42
- propertyType: error.expected,
43
- receivedValue: error.received,
44
- message: error.message
45
- };
46
- }
47
- static mapInvalidUnion(error) {
48
- const [errors] = error.unionErrors.flat().map((err) => err.issues.map((item) => this.mapCommon(item)));
49
- return errors;
50
- }
51
- static mapInvalidType(error) {
52
- return [
53
- this.mapCommon(error)
54
- ];
55
- }
56
- static mapErrorsFactory(error) {
57
- if (error.code === "invalid_union") {
58
- return this.mapInvalidUnion(error);
59
- }
60
- return this.mapInvalidType(error);
61
- }
62
- static mapErrors(errors) {
63
- const standardizedErrors = /* @__PURE__ */ new Map();
64
- errors.flat().forEach((error) => {
65
- const keyError = standardizedErrors.get(error.path[0]);
66
- if (keyError) {
67
- if (!keyError.propertyErrors) {
68
- keyError.propertyErrors = [];
69
- }
70
- keyError.propertyErrors.push(...this.mapErrorsFactory(error));
71
- return;
72
- }
73
- standardizedErrors.set(error.path[0], {
74
- location: error.path[0],
75
- propertyErrors: Array.from([
76
- ...this.mapErrorsFactory(error)
77
- ])
78
- });
79
- });
80
- return Array.from(standardizedErrors, ([, arr]) => ({
81
- ...arr
82
- })).flat();
83
- }
84
- };
85
-
86
- // src/infra/adapters/validators/zod/index.ts
87
- var ZodValidator = class {
88
- static {
89
- __name(this, "ZodValidator");
90
- }
91
- zodSchema;
92
- constructor(zodSchema) {
93
- this.zodSchema = zodSchema;
94
- }
95
- async validate(requestHttp) {
96
- const errors = [];
97
- const { data: headersData = {}, error: headersErrors = {} } = requestHttp.headers ? await this.zodSchema.shape.headers.safeParseAsync(requestHttp.headers, {
98
- path: [
99
- "headers"
100
- ]
101
- }) : {};
102
- if (headersErrors?.errors) {
103
- errors.push(headersErrors?.errors);
104
- }
105
- const { data: paramsData = {}, error: paramsErrors = {} } = requestHttp.params ? await this.zodSchema.shape.params.safeParseAsync(requestHttp.params, {
106
- path: [
107
- "params"
108
- ]
109
- }) : {};
110
- if (paramsErrors?.errors) {
111
- errors.push(paramsErrors?.errors);
112
- }
113
- const { data: queryData = {}, error: queryErrors = {} } = requestHttp.query ? await this.zodSchema.shape.query.safeParseAsync(requestHttp.query, {
114
- path: [
115
- "query"
116
- ]
117
- }) : {};
118
- if (queryErrors?.errors) {
119
- errors.push(queryErrors?.errors);
120
- }
121
- const { data: bodyData = {}, error: bodyErrors = {} } = requestHttp.body ? await this.zodSchema.shape.body.safeParseAsync(requestHttp.body, {
122
- path: [
123
- "body"
124
- ]
125
- }) : {};
126
- if (bodyErrors?.errors) {
127
- errors.push(bodyErrors?.errors);
128
- }
129
- if (errors.length) {
130
- throw new ValidationError(ZodMapError.mapErrors(errors));
131
- }
132
- return {
133
- body: bodyData,
134
- headers: headersData,
135
- params: paramsData,
136
- query: queryData
137
- };
138
- }
139
- };
140
-
141
- // src/infra/adapters/validators/zod/zod-validator.ts
142
- function zodValidator(schema) {
143
- return async (request) => {
144
- const validator = new ZodValidator(schema);
145
- const validatedRequest = await validator.validate(request);
146
- return validatedRequest;
147
- };
148
- }
149
- __name(zodValidator, "zodValidator");
150
- export {
151
- zodValidator
152
- };
153
- //# sourceMappingURL=zod-validator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/core/errors/api-common-error.ts","../../../../../src/core/errors/validation-error.ts","../../../../../src/infra/adapters/validators/zod/zod-map-error.ts","../../../../../src/infra/adapters/validators/zod/index.ts","../../../../../src/infra/adapters/validators/zod/zod-validator.ts"],"sourcesContent":["export type PropertiesError = {\n receivedValue?: any\n type: string\n message: string\n property: string | number | undefined\n propertyType?: string\n path?: string\n}\n\nexport type CommonError = {\n location: string\n propertyErrors?: PropertiesError[]\n}\n\nexport type ApiCommonError = {\n code: number\n occurredAt: Date\n message: string\n errorCode: string\n errors?: CommonError[]\n}\n\nexport enum ApiErrorEnum {\n DOMAIN = 'ERR001',\n APPLICATION = 'ERR002',\n INFRA = 'ERR003',\n HTTP_CLIENT = 'ERR004',\n VALIDATOR = 'ERR005',\n}\n","import {\n type ApiCommonError,\n ApiErrorEnum,\n type CommonError,\n} from './api-common-error'\n\nexport default class ValidationError extends Error {\n props: ApiCommonError\n\n constructor(errors: CommonError[]) {\n super('Validation Error')\n this.props = {\n code: 400,\n errorCode: ApiErrorEnum.VALIDATOR,\n message: 'Validation Error',\n occurredAt: new Date(),\n errors,\n }\n }\n}\n","import type { ZodIssue } from 'zod'\n\nimport type {\n CommonError,\n PropertiesError,\n} from '../../../../core/errors/api-common-error'\n\ntype ZodError = ZodIssue & {\n expected: string\n received: string\n}\n\ntype ZodInvalidUnion = ZodError & {\n code: 'invalid_union'\n}\n\nexport default class ZodMapError {\n private static mapCommon(error: ZodError): PropertiesError {\n return {\n type: error.code,\n path: error.path.join('.'),\n property: error.path.pop(),\n propertyType: error.expected,\n receivedValue: error.received,\n message: error.message,\n }\n }\n\n private static mapInvalidUnion(error: ZodInvalidUnion): PropertiesError[] {\n const [errors] = error.unionErrors\n .flat()\n .map((err) => err.issues.map((item: any) => this.mapCommon(item)))\n\n return errors\n }\n\n private static mapInvalidType(error: ZodError): PropertiesError[] {\n return [this.mapCommon(error)]\n }\n\n private static mapErrorsFactory(error: ZodError): PropertiesError[] {\n if (error.code === 'invalid_union') {\n return this.mapInvalidUnion(error)\n }\n\n return this.mapInvalidType(error)\n }\n\n static mapErrors(errors: ZodIssue[][]) {\n const standardizedErrors = new Map<string | number, CommonError>()\n\n errors.flat().forEach((error) => {\n const keyError = standardizedErrors.get(error.path[0])\n\n if (keyError) {\n if (!keyError.propertyErrors) {\n keyError.propertyErrors = []\n }\n\n keyError.propertyErrors.push(\n ...this.mapErrorsFactory(error as ZodError)\n )\n\n return\n }\n\n standardizedErrors.set(error.path[0], {\n location: error.path[0],\n propertyErrors: Array.from([\n ...this.mapErrorsFactory(error as ZodError),\n ]),\n } as CommonError)\n })\n\n return Array.from(standardizedErrors, ([, arr]) => ({\n ...arr,\n })).flat()\n }\n}\n","import { ZodEffects, type ZodError, ZodObject } from 'zod'\n\nimport ValidationError from '../../../../core/errors/validation-error'\nimport IValidationHTTP, { RequestHttp } from '../../../../core/http/validator'\n\nimport ZodMapError from './zod-map-error'\nimport { zodValidator } from './zod-validator'\n\ntype SchemaDefinition = {\n headers: ZodObject<Record<string, any>>\n params: ZodObject<Record<string, any>>\n query: ZodObject<Record<string, any>>\n body:\n | ZodObject<Record<string, any>>\n | ZodEffects<ZodObject<Record<string, any>>>\n}\n\ntype ZodSchemaObject = ZodObject<SchemaDefinition>\n\nexport default class ZodValidator implements IValidationHTTP {\n constructor(private zodSchema: ZodSchemaObject) {}\n\n async validate<T>(requestHttp: RequestHttp): Promise<T> {\n const errors = []\n\n const {\n data: headersData = {},\n error: headersErrors = {} as ZodError<{ errors: ZodError[] }>,\n } = requestHttp.headers\n ? await this.zodSchema.shape.headers.safeParseAsync(requestHttp.headers, {\n path: ['headers'],\n })\n : {}\n\n if (headersErrors?.errors) {\n errors.push(headersErrors?.errors)\n }\n\n const {\n data: paramsData = {},\n error: paramsErrors = {} as ZodError<{ errors: ZodError[] }>,\n } = requestHttp.params\n ? await this.zodSchema.shape.params.safeParseAsync(requestHttp.params, {\n path: ['params'],\n })\n : {}\n\n if (paramsErrors?.errors) {\n errors.push(paramsErrors?.errors)\n }\n\n const {\n data: queryData = {},\n error: queryErrors = {} as ZodError<{ errors: ZodError[] }>,\n } = requestHttp.query\n ? await this.zodSchema.shape.query.safeParseAsync(requestHttp.query, {\n path: ['query'],\n })\n : {}\n\n if (queryErrors?.errors) {\n errors.push(queryErrors?.errors)\n }\n\n const {\n data: bodyData = {},\n error: bodyErrors = {} as ZodError<{ errors: ZodError[] }>,\n } = requestHttp.body\n ? await this.zodSchema.shape.body.safeParseAsync(requestHttp.body, {\n path: ['body'],\n })\n : {}\n\n if (bodyErrors?.errors) {\n errors.push(bodyErrors?.errors)\n }\n\n if (errors.length) {\n throw new ValidationError(ZodMapError.mapErrors(errors))\n }\n\n return {\n body: bodyData,\n headers: headersData,\n params: paramsData,\n query: queryData,\n } as T\n }\n}\n\nexport { zodValidator }\n","import { z } from 'zod'\n\nimport { Request } from '../../../../core/http/base-controller'\n\nimport ZodValidator from './index'\n\nexport type ZodSchema = z.ZodObject<{\n headers: z.ZodObject<Record<string, any>>\n params: z.ZodObject<Record<string, any>>\n query: z.ZodObject<Record<string, any>>\n body:\n | z.ZodObject<Record<string, any>>\n | z.ZodEffects<z.ZodObject<Record<string, any>>>\n}>\n\nexport type MiddlewareFunction = (request: Request) => Promise<Request>\n\nexport function zodValidator(schema: ZodSchema): MiddlewareFunction {\n return async (request: Request): Promise<Request> => {\n const validator = new ZodValidator(schema)\n const validatedRequest = await validator.validate<Request>(request)\n return validatedRequest\n }\n}\n"],"mappings":";;;;AAsBO,IAAKA,eAAAA,yBAAAA,eAAAA;;;;;;SAAAA;;;;AChBZ,IAAqBC,kBAArB,cAA6CC,MAAAA;EAN7C,OAM6CA;;;EAC3CC;EAEAC,YAAYC,QAAuB;AACjC,UAAM,kBAAA;AACN,SAAKF,QAAQ;MACXG,MAAM;MACNC,WAAWC,aAAaC;MACxBC,SAAS;MACTC,YAAY,oBAAIC,KAAAA;MAChBP;IACF;EACF;AACF;;;ACHA,IAAqBQ,cAArB,MAAqBA;EAArB,OAAqBA;;;EACnB,OAAeC,UAAUC,OAAkC;AACzD,WAAO;MACLC,MAAMD,MAAME;MACZC,MAAMH,MAAMG,KAAKC,KAAK,GAAA;MACtBC,UAAUL,MAAMG,KAAKG,IAAG;MACxBC,cAAcP,MAAMQ;MACpBC,eAAeT,MAAMU;MACrBC,SAASX,MAAMW;IACjB;EACF;EAEA,OAAeC,gBAAgBZ,OAA2C;AACxE,UAAM,CAACa,MAAAA,IAAUb,MAAMc,YACpBC,KAAI,EACJC,IAAI,CAACC,QAAQA,IAAIC,OAAOF,IAAI,CAACG,SAAc,KAAKpB,UAAUoB,IAAAA,CAAAA,CAAAA;AAE7D,WAAON;EACT;EAEA,OAAeO,eAAepB,OAAoC;AAChE,WAAO;MAAC,KAAKD,UAAUC,KAAAA;;EACzB;EAEA,OAAeqB,iBAAiBrB,OAAoC;AAClE,QAAIA,MAAME,SAAS,iBAAiB;AAClC,aAAO,KAAKU,gBAAgBZ,KAAAA;IAC9B;AAEA,WAAO,KAAKoB,eAAepB,KAAAA;EAC7B;EAEA,OAAOsB,UAAUT,QAAsB;AACrC,UAAMU,qBAAqB,oBAAIC,IAAAA;AAE/BX,WAAOE,KAAI,EAAGU,QAAQ,CAACzB,UAAAA;AACrB,YAAM0B,WAAWH,mBAAmBI,IAAI3B,MAAMG,KAAK,CAAA,CAAE;AAErD,UAAIuB,UAAU;AACZ,YAAI,CAACA,SAASE,gBAAgB;AAC5BF,mBAASE,iBAAiB,CAAA;QAC5B;AAEAF,iBAASE,eAAeC,KAAI,GACvB,KAAKR,iBAAiBrB,KAAAA,CAAAA;AAG3B;MACF;AAEAuB,yBAAmBO,IAAI9B,MAAMG,KAAK,CAAA,GAAI;QACpC4B,UAAU/B,MAAMG,KAAK,CAAA;QACrByB,gBAAgBI,MAAMC,KAAK;aACtB,KAAKZ,iBAAiBrB,KAAAA;SAC1B;MACH,CAAA;IACF,CAAA;AAEA,WAAOgC,MAAMC,KAAKV,oBAAoB,CAAC,CAAA,EAAGW,GAAAA,OAAU;MAClD,GAAGA;IACL,EAAA,EAAInB,KAAI;EACV;AACF;;;AC3DA,IAAqBoB,eAArB,MAAqBA;EAjBrB,OAiBqBA;;;;EACnBC,YAAoBC,WAA4B;SAA5BA,YAAAA;EAA6B;EAEjD,MAAMC,SAAYC,aAAsC;AACtD,UAAMC,SAAS,CAAA;AAEf,UAAM,EACJC,MAAMC,cAAc,CAAC,GACrBC,OAAOC,gBAAgB,CAAC,EAAqC,IAC3DL,YAAYM,UACZ,MAAM,KAAKR,UAAUS,MAAMD,QAAQE,eAAeR,YAAYM,SAAS;MACrEG,MAAM;QAAC;;IACT,CAAA,IACA,CAAC;AAEL,QAAIJ,eAAeJ,QAAQ;AACzBA,aAAOS,KAAKL,eAAeJ,MAAAA;IAC7B;AAEA,UAAM,EACJC,MAAMS,aAAa,CAAC,GACpBP,OAAOQ,eAAe,CAAC,EAAqC,IAC1DZ,YAAYa,SACZ,MAAM,KAAKf,UAAUS,MAAMM,OAAOL,eAAeR,YAAYa,QAAQ;MACnEJ,MAAM;QAAC;;IACT,CAAA,IACA,CAAC;AAEL,QAAIG,cAAcX,QAAQ;AACxBA,aAAOS,KAAKE,cAAcX,MAAAA;IAC5B;AAEA,UAAM,EACJC,MAAMY,YAAY,CAAC,GACnBV,OAAOW,cAAc,CAAC,EAAqC,IACzDf,YAAYgB,QACZ,MAAM,KAAKlB,UAAUS,MAAMS,MAAMR,eAAeR,YAAYgB,OAAO;MACjEP,MAAM;QAAC;;IACT,CAAA,IACA,CAAC;AAEL,QAAIM,aAAad,QAAQ;AACvBA,aAAOS,KAAKK,aAAad,MAAAA;IAC3B;AAEA,UAAM,EACJC,MAAMe,WAAW,CAAC,GAClBb,OAAOc,aAAa,CAAC,EAAqC,IACxDlB,YAAYmB,OACZ,MAAM,KAAKrB,UAAUS,MAAMY,KAAKX,eAAeR,YAAYmB,MAAM;MAC/DV,MAAM;QAAC;;IACT,CAAA,IACA,CAAC;AAEL,QAAIS,YAAYjB,QAAQ;AACtBA,aAAOS,KAAKQ,YAAYjB,MAAAA;IAC1B;AAEA,QAAIA,OAAOmB,QAAQ;AACjB,YAAM,IAAIC,gBAAgBC,YAAYC,UAAUtB,MAAAA,CAAAA;IAClD;AAEA,WAAO;MACLkB,MAAMF;MACNX,SAASH;MACTU,QAAQF;MACRK,OAAOF;IACT;EACF;AACF;;;ACvEO,SAASU,aAAaC,QAAiB;AAC5C,SAAO,OAAOC,YAAAA;AACZ,UAAMC,YAAY,IAAIC,aAAaH,MAAAA;AACnC,UAAMI,mBAAmB,MAAMF,UAAUG,SAAkBJ,OAAAA;AAC3D,WAAOG;EACT;AACF;AANgBL;","names":["ApiErrorEnum","ValidationError","Error","props","constructor","errors","code","errorCode","ApiErrorEnum","VALIDATOR","message","occurredAt","Date","ZodMapError","mapCommon","error","type","code","path","join","property","pop","propertyType","expected","receivedValue","received","message","mapInvalidUnion","errors","unionErrors","flat","map","err","issues","item","mapInvalidType","mapErrorsFactory","mapErrors","standardizedErrors","Map","forEach","keyError","get","propertyErrors","push","set","location","Array","from","arr","ZodValidator","constructor","zodSchema","validate","requestHttp","errors","data","headersData","error","headersErrors","headers","shape","safeParseAsync","path","push","paramsData","paramsErrors","params","queryData","queryErrors","query","bodyData","bodyErrors","body","length","ValidationError","ZodMapError","mapErrors","zodValidator","schema","request","validator","ZodValidator","validatedRequest","validate"]}