express-zod-api 9.2.1 → 10.0.0-beta2

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 (183) hide show
  1. package/CHANGELOG.md +62 -0
  2. package/README.md +28 -20
  3. package/SECURITY.md +14 -13
  4. package/dist/esm/index.js +58 -0
  5. package/dist/esm/index.js.map +1 -0
  6. package/dist/esm/package.json +1 -0
  7. package/dist/index.d.ts +776 -21
  8. package/dist/index.js +55 -69
  9. package/dist/index.js.map +1 -1
  10. package/package.json +31 -25
  11. package/dist/api-response.d.ts +0 -16
  12. package/dist/api-response.js +0 -3
  13. package/dist/api-response.js.map +0 -1
  14. package/dist/client-helpers.d.ts +0 -23
  15. package/dist/client-helpers.js +0 -71
  16. package/dist/client-helpers.js.map +0 -1
  17. package/dist/client.d.ts +0 -15
  18. package/dist/client.js +0 -120
  19. package/dist/client.js.map +0 -1
  20. package/dist/common-helpers.d.ts +0 -46
  21. package/dist/common-helpers.js +0 -207
  22. package/dist/common-helpers.js.map +0 -1
  23. package/dist/config-type.d.ts +0 -59
  24. package/dist/config-type.js +0 -11
  25. package/dist/config-type.js.map +0 -1
  26. package/dist/date-in-schema.d.ts +0 -11
  27. package/dist/date-in-schema.js +0 -46
  28. package/dist/date-in-schema.js.map +0 -1
  29. package/dist/date-out-schema.d.ts +0 -10
  30. package/dist/date-out-schema.js +0 -31
  31. package/dist/date-out-schema.js.map +0 -1
  32. package/dist/depends-on-method.d.ts +0 -10
  33. package/dist/depends-on-method.js +0 -32
  34. package/dist/depends-on-method.js.map +0 -1
  35. package/dist/endpoint.d.ts +0 -98
  36. package/dist/endpoint.js +0 -261
  37. package/dist/endpoint.js.map +0 -1
  38. package/dist/endpoints-factory.d.ts +0 -161
  39. package/dist/endpoints-factory.js +0 -68
  40. package/dist/endpoints-factory.js.map +0 -1
  41. package/dist/errors.d.ts +0 -35
  42. package/dist/errors.js +0 -64
  43. package/dist/errors.js.map +0 -1
  44. package/dist/extend-zod.d.ts +0 -22
  45. package/dist/extend-zod.js +0 -33
  46. package/dist/extend-zod.js.map +0 -1
  47. package/dist/file-schema.d.ts +0 -23
  48. package/dist/file-schema.js +0 -55
  49. package/dist/file-schema.js.map +0 -1
  50. package/dist/io-schema.d.ts +0 -16
  51. package/dist/io-schema.js +0 -21
  52. package/dist/io-schema.js.map +0 -1
  53. package/dist/logger.d.ts +0 -3
  54. package/dist/logger.js +0 -54
  55. package/dist/logger.js.map +0 -1
  56. package/dist/logical-container.d.ts +0 -16
  57. package/dist/logical-container.js +0 -85
  58. package/dist/logical-container.js.map +0 -1
  59. package/dist/metadata.d.ts +0 -27
  60. package/dist/metadata.js +0 -58
  61. package/dist/metadata.js.map +0 -1
  62. package/dist/method.d.ts +0 -8
  63. package/dist/method.js +0 -5
  64. package/dist/method.js.map +0 -1
  65. package/dist/middleware.d.ts +0 -32
  66. package/dist/middleware.js +0 -16
  67. package/dist/middleware.js.map +0 -1
  68. package/dist/mime.d.ts +0 -2
  69. package/dist/mime.js +0 -10
  70. package/dist/mime.js.map +0 -1
  71. package/dist/mock.d.ts +0 -38
  72. package/dist/mock.js +0 -66
  73. package/dist/mock.js.map +0 -1
  74. package/dist/open-api-helpers.d.ts +0 -83
  75. package/dist/open-api-helpers.js +0 -621
  76. package/dist/open-api-helpers.js.map +0 -1
  77. package/dist/open-api.d.ts +0 -25
  78. package/dist/open-api.js +0 -98
  79. package/dist/open-api.js.map +0 -1
  80. package/dist/result-handler.d.ts +0 -151
  81. package/dist/result-handler.js +0 -71
  82. package/dist/result-handler.js.map +0 -1
  83. package/dist/routing-walker.d.ts +0 -12
  84. package/dist/routing-walker.js +0 -55
  85. package/dist/routing-walker.js.map +0 -1
  86. package/dist/routing.d.ts +0 -15
  87. package/dist/routing.js +0 -25
  88. package/dist/routing.js.map +0 -1
  89. package/dist/schema-walker.d.ts +0 -23
  90. package/dist/schema-walker.js +0 -26
  91. package/dist/schema-walker.js.map +0 -1
  92. package/dist/security.d.ts +0 -72
  93. package/dist/security.js +0 -3
  94. package/dist/security.js.map +0 -1
  95. package/dist/serve-static.d.ts +0 -9
  96. package/dist/serve-static.js +0 -17
  97. package/dist/serve-static.js.map +0 -1
  98. package/dist/server.d.ts +0 -20
  99. package/dist/server.js +0 -131
  100. package/dist/server.js.map +0 -1
  101. package/dist/startup-logo.d.ts +0 -1
  102. package/dist/startup-logo.js +0 -27
  103. package/dist/startup-logo.js.map +0 -1
  104. package/dist/upload-schema.d.ts +0 -11
  105. package/dist/upload-schema.js +0 -42
  106. package/dist/upload-schema.js.map +0 -1
  107. package/dist/zts-helpers.d.ts +0 -37
  108. package/dist/zts-helpers.js +0 -60
  109. package/dist/zts-helpers.js.map +0 -1
  110. package/dist/zts.d.ts +0 -31
  111. package/dist/zts.js +0 -147
  112. package/dist/zts.js.map +0 -1
  113. package/dist-esm/api-response.js +0 -2
  114. package/dist-esm/api-response.js.map +0 -1
  115. package/dist-esm/client-helpers.js +0 -48
  116. package/dist-esm/client-helpers.js.map +0 -1
  117. package/dist-esm/client.js +0 -113
  118. package/dist-esm/client.js.map +0 -1
  119. package/dist-esm/common-helpers.js +0 -188
  120. package/dist-esm/common-helpers.js.map +0 -1
  121. package/dist-esm/config-type.js +0 -7
  122. package/dist-esm/config-type.js.map +0 -1
  123. package/dist-esm/date-in-schema.js +0 -42
  124. package/dist-esm/date-in-schema.js.map +0 -1
  125. package/dist-esm/date-out-schema.js +0 -27
  126. package/dist-esm/date-out-schema.js.map +0 -1
  127. package/dist-esm/depends-on-method.js +0 -28
  128. package/dist-esm/depends-on-method.js.map +0 -1
  129. package/dist-esm/endpoint.js +0 -256
  130. package/dist-esm/endpoint.js.map +0 -1
  131. package/dist-esm/endpoints-factory.js +0 -64
  132. package/dist-esm/endpoints-factory.js.map +0 -1
  133. package/dist-esm/errors.js +0 -54
  134. package/dist-esm/errors.js.map +0 -1
  135. package/dist-esm/extend-zod.js +0 -16
  136. package/dist-esm/extend-zod.js.map +0 -1
  137. package/dist-esm/file-schema.js +0 -51
  138. package/dist-esm/file-schema.js.map +0 -1
  139. package/dist-esm/index.js +0 -19
  140. package/dist-esm/index.js.map +0 -1
  141. package/dist-esm/io-schema.js +0 -17
  142. package/dist-esm/io-schema.js.map +0 -1
  143. package/dist-esm/logger.js +0 -47
  144. package/dist-esm/logger.js.map +0 -1
  145. package/dist-esm/logical-container.js +0 -78
  146. package/dist-esm/logical-container.js.map +0 -1
  147. package/dist-esm/metadata.js +0 -51
  148. package/dist-esm/metadata.js.map +0 -1
  149. package/dist-esm/method.js +0 -2
  150. package/dist-esm/method.js.map +0 -1
  151. package/dist-esm/middleware.js +0 -12
  152. package/dist-esm/middleware.js.map +0 -1
  153. package/dist-esm/mime.js +0 -4
  154. package/dist-esm/mime.js.map +0 -1
  155. package/dist-esm/mock.js +0 -57
  156. package/dist-esm/mock.js.map +0 -1
  157. package/dist-esm/open-api-helpers.js +0 -575
  158. package/dist-esm/open-api-helpers.js.map +0 -1
  159. package/dist-esm/open-api.js +0 -94
  160. package/dist-esm/open-api.js.map +0 -1
  161. package/dist-esm/package.json +0 -1
  162. package/dist-esm/result-handler.js +0 -66
  163. package/dist-esm/result-handler.js.map +0 -1
  164. package/dist-esm/routing-walker.js +0 -51
  165. package/dist-esm/routing-walker.js.map +0 -1
  166. package/dist-esm/routing.js +0 -21
  167. package/dist-esm/routing.js.map +0 -1
  168. package/dist-esm/schema-walker.js +0 -22
  169. package/dist-esm/schema-walker.js.map +0 -1
  170. package/dist-esm/security.js +0 -2
  171. package/dist-esm/security.js.map +0 -1
  172. package/dist-esm/serve-static.js +0 -10
  173. package/dist-esm/serve-static.js.map +0 -1
  174. package/dist-esm/server.js +0 -98
  175. package/dist-esm/server.js.map +0 -1
  176. package/dist-esm/startup-logo.js +0 -23
  177. package/dist-esm/startup-logo.js.map +0 -1
  178. package/dist-esm/upload-schema.js +0 -38
  179. package/dist-esm/upload-schema.js.map +0 -1
  180. package/dist-esm/zts-helpers.js +0 -50
  181. package/dist-esm/zts-helpers.js.map +0 -1
  182. package/dist-esm/zts.js +0 -140
  183. package/dist-esm/zts.js.map +0 -1
package/dist/endpoint.js DELETED
@@ -1,261 +0,0 @@
1
- "use strict";
2
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
3
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
4
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
5
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
6
- };
7
- var _Endpoint_instances, _Endpoint_getDefaultCorsHeaders, _Endpoint_parseOutput, _Endpoint_runMiddlewares, _Endpoint_parseAndRunHandler, _Endpoint_handleResult;
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.Endpoint = exports.AbstractEndpoint = void 0;
10
- const zod_1 = require("zod");
11
- const errors_1 = require("./errors");
12
- const common_helpers_1 = require("./common-helpers");
13
- const logical_container_1 = require("./logical-container");
14
- const mime_1 = require("./mime");
15
- const result_handler_1 = require("./result-handler");
16
- const getMimeTypesFromApiResponse = (subject, fallback = [mime_1.mimeJson]) => {
17
- if (subject instanceof zod_1.z.ZodType) {
18
- return fallback;
19
- }
20
- const { mimeTypes, mimeType } = subject;
21
- return mimeType ? [mimeType] : mimeTypes || fallback;
22
- };
23
- class AbstractEndpoint {
24
- }
25
- exports.AbstractEndpoint = AbstractEndpoint;
26
- class Endpoint extends AbstractEndpoint {
27
- constructor({ middlewares, inputSchema, outputSchema, handler, resultHandler, description, shortDescription, ...rest }) {
28
- super();
29
- _Endpoint_instances.add(this);
30
- this.methods = [];
31
- this.siblingMethods = [];
32
- this.middlewares = [];
33
- this.scopes = [];
34
- this.tags = [];
35
- [
36
- { name: "input schema", schema: inputSchema },
37
- { name: "output schema", schema: outputSchema },
38
- ].forEach(({ name, schema }) => {
39
- if ((0, common_helpers_1.hasTopLevelTransformingEffect)(schema)) {
40
- throw new errors_1.IOSchemaError(`Using transformations on the top level of endpoint ${name} is not allowed.`);
41
- }
42
- });
43
- this.middlewares = middlewares;
44
- const apiResponse = {
45
- positive: resultHandler.getPositiveResponse(outputSchema),
46
- negative: resultHandler.getNegativeResponse(),
47
- };
48
- this.mimeTypes = {
49
- input: (0, common_helpers_1.hasUpload)(inputSchema) ? [mime_1.mimeMultipart] : [mime_1.mimeJson],
50
- positive: getMimeTypesFromApiResponse(apiResponse.positive),
51
- negative: getMimeTypesFromApiResponse(apiResponse.negative),
52
- };
53
- this.schemas = {
54
- input: inputSchema,
55
- output: outputSchema,
56
- positive: apiResponse.positive instanceof zod_1.z.ZodType
57
- ? apiResponse.positive
58
- : apiResponse.positive.schema,
59
- negative: apiResponse.negative instanceof zod_1.z.ZodType
60
- ? apiResponse.negative
61
- : apiResponse.negative.schema,
62
- };
63
- this.statusCodes = {
64
- positive: apiResponse.positive instanceof zod_1.z.ZodType
65
- ? result_handler_1.defaultStatusCodes.positive
66
- : apiResponse.positive.statusCode || result_handler_1.defaultStatusCodes.positive,
67
- negative: apiResponse.negative instanceof zod_1.z.ZodType
68
- ? result_handler_1.defaultStatusCodes.negative
69
- : apiResponse.negative.statusCode || result_handler_1.defaultStatusCodes.negative,
70
- };
71
- this.handler = handler;
72
- this.resultHandler = resultHandler;
73
- this.descriptions = { long: description, short: shortDescription };
74
- if ("scopes" in rest && rest.scopes) {
75
- this.scopes.push(...rest.scopes);
76
- }
77
- if ("scope" in rest && rest.scope) {
78
- this.scopes.push(rest.scope);
79
- }
80
- if ("tags" in rest && rest.tags) {
81
- this.tags.push(...rest.tags);
82
- }
83
- if ("tag" in rest && rest.tag) {
84
- this.tags.push(rest.tag);
85
- }
86
- if ("methods" in rest) {
87
- this.methods = rest.methods;
88
- }
89
- else {
90
- this.methods = [rest.method];
91
- }
92
- }
93
- /**
94
- * @desc Sets the other methods supported by the same path. Used by Routing in DependsOnMethod case, for options.
95
- * @deprecated This method is for internal needs of the library, please avoid using it.
96
- * */
97
- _setSiblingMethods(methods) {
98
- this.siblingMethods = methods;
99
- }
100
- getDescription(variant) {
101
- return this.descriptions[variant];
102
- }
103
- getMethods() {
104
- return this.methods;
105
- }
106
- getSchema(variant) {
107
- return this.schemas[variant];
108
- }
109
- getMimeTypes(variant) {
110
- return this.mimeTypes[variant];
111
- }
112
- getStatusCode(variant) {
113
- return this.statusCodes[variant];
114
- }
115
- getSecurity() {
116
- return this.middlewares.reduce((acc, middleware) => middleware.security ? (0, logical_container_1.combineContainers)(acc, middleware.security) : acc, { and: [] });
117
- }
118
- getScopes() {
119
- return this.scopes;
120
- }
121
- getTags() {
122
- return this.tags;
123
- }
124
- async execute({ request, response, logger, config, }) {
125
- const method = (0, common_helpers_1.getActualMethod)(request);
126
- let output;
127
- let error = null;
128
- if (config.cors) {
129
- let headers = __classPrivateFieldGet(this, _Endpoint_instances, "m", _Endpoint_getDefaultCorsHeaders).call(this);
130
- if (typeof config.cors === "function") {
131
- headers = await config.cors({
132
- request,
133
- logger,
134
- endpoint: this,
135
- defaultHeaders: headers,
136
- });
137
- }
138
- for (const key in headers) {
139
- response.set(key, headers[key]);
140
- }
141
- }
142
- const input = (0, common_helpers_1.getInput)(request, config.inputSources);
143
- try {
144
- const { options, isStreamClosed } = await __classPrivateFieldGet(this, _Endpoint_instances, "m", _Endpoint_runMiddlewares).call(this, {
145
- method,
146
- input,
147
- request,
148
- response,
149
- logger,
150
- });
151
- if (isStreamClosed) {
152
- return;
153
- }
154
- if (method === "options") {
155
- response.status(200).end();
156
- return;
157
- }
158
- output = await __classPrivateFieldGet(this, _Endpoint_instances, "m", _Endpoint_parseOutput).call(this, await __classPrivateFieldGet(this, _Endpoint_instances, "m", _Endpoint_parseAndRunHandler).call(this, { input, options, logger }));
159
- }
160
- catch (e) {
161
- error = (0, common_helpers_1.makeErrorFromAnything)(e);
162
- }
163
- await __classPrivateFieldGet(this, _Endpoint_instances, "m", _Endpoint_handleResult).call(this, {
164
- input,
165
- output,
166
- request,
167
- response,
168
- error,
169
- logger,
170
- });
171
- }
172
- }
173
- exports.Endpoint = Endpoint;
174
- _Endpoint_instances = new WeakSet(), _Endpoint_getDefaultCorsHeaders = function _Endpoint_getDefaultCorsHeaders() {
175
- const accessMethods = this.methods
176
- .concat(this.siblingMethods)
177
- .concat("options")
178
- .join(", ")
179
- .toUpperCase();
180
- return {
181
- "Access-Control-Allow-Origin": "*",
182
- "Access-Control-Allow-Methods": accessMethods,
183
- "Access-Control-Allow-Headers": "content-type",
184
- };
185
- }, _Endpoint_parseOutput = async function _Endpoint_parseOutput(output) {
186
- try {
187
- return await this.schemas.output.parseAsync(output);
188
- }
189
- catch (e) {
190
- if (e instanceof zod_1.z.ZodError) {
191
- throw new errors_1.OutputValidationError(e);
192
- }
193
- throw e;
194
- }
195
- }, _Endpoint_runMiddlewares = async function _Endpoint_runMiddlewares({ method, input, request, response, logger, }) {
196
- const options = {};
197
- let isStreamClosed = false;
198
- for (const def of this.middlewares) {
199
- if (method === "options" && def.type === "proprietary") {
200
- continue;
201
- }
202
- let finalInput;
203
- try {
204
- finalInput = await def.input.parseAsync(input);
205
- }
206
- catch (e) {
207
- if (e instanceof zod_1.z.ZodError) {
208
- throw new errors_1.InputValidationError(e);
209
- }
210
- throw e;
211
- }
212
- Object.assign(options, await def.middleware({
213
- input: finalInput,
214
- options,
215
- request,
216
- response,
217
- logger,
218
- }));
219
- isStreamClosed = "writableEnded" in response && response.writableEnded;
220
- if (isStreamClosed) {
221
- logger.warn(`The middleware ${def.middleware.name} has closed the stream. Accumulated options:`, options);
222
- break;
223
- }
224
- }
225
- return { options, isStreamClosed };
226
- }, _Endpoint_parseAndRunHandler = async function _Endpoint_parseAndRunHandler({ input, options, logger, }) {
227
- let finalInput; // final input types transformations for handler
228
- try {
229
- finalInput = (await this.schemas.input.parseAsync(input));
230
- }
231
- catch (e) {
232
- if (e instanceof zod_1.z.ZodError) {
233
- throw new errors_1.InputValidationError(e);
234
- }
235
- throw e;
236
- }
237
- return this.handler({
238
- input: finalInput,
239
- options,
240
- logger,
241
- });
242
- }, _Endpoint_handleResult = async function _Endpoint_handleResult({ error, request, response, logger, input, output, }) {
243
- try {
244
- await this.resultHandler.handler({
245
- error,
246
- output,
247
- request,
248
- response,
249
- logger,
250
- input,
251
- });
252
- }
253
- catch (e) {
254
- (0, result_handler_1.lastResortHandler)({
255
- logger,
256
- response,
257
- error: new errors_1.ResultHandlerError((0, common_helpers_1.makeErrorFromAnything)(e).message, error),
258
- });
259
- }
260
- };
261
- //# sourceMappingURL=endpoint.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../src/endpoint.ts"],"names":[],"mappings":"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"}
@@ -1,161 +0,0 @@
1
- /// <reference types="qs" />
2
- import { Request, Response } from "express";
3
- import { z } from "zod";
4
- import { FlatObject } from "./common-helpers";
5
- import { CommonConfig } from "./config-type";
6
- import { Endpoint, Handler } from "./endpoint";
7
- import { IOSchema, ProbableIntersection } from "./io-schema";
8
- import { Method, MethodsDefinition } from "./method";
9
- import { AnyMiddlewareDef, ExpressMiddleware, ExpressMiddlewareFeatures, MiddlewareDefinition } from "./middleware";
10
- import { ResultHandlerDefinition } from "./result-handler";
11
- type BuildProps<IN extends IOSchema, OUT extends IOSchema, MIN extends IOSchema<"strip"> | null, OPT extends FlatObject, M extends Method, SCO extends string, TAG extends string> = {
12
- input: IN;
13
- output: OUT;
14
- handler: Handler<z.output<ProbableIntersection<MIN, IN>>, z.input<OUT>, OPT>;
15
- description?: string;
16
- shortDescription?: string;
17
- } & ({
18
- scopes?: SCO[];
19
- } | {
20
- scope?: SCO;
21
- }) & ({
22
- tags?: TAG[];
23
- } | {
24
- tag?: TAG;
25
- }) & MethodsDefinition<M>;
26
- export declare class EndpointsFactory<POS extends z.ZodTypeAny, NEG extends z.ZodTypeAny, IN extends IOSchema<"strip"> | null = null, OUT extends FlatObject = {}, SCO extends string = string, TAG extends string = string> {
27
- #private;
28
- protected resultHandler: ResultHandlerDefinition<POS, NEG>;
29
- protected middlewares: AnyMiddlewareDef[];
30
- constructor(resultHandler: ResultHandlerDefinition<POS, NEG>);
31
- /** @desc Consider using the "config" prop with the "tags" option to enforce constraints on tagging the endpoints */
32
- constructor(params: {
33
- resultHandler: ResultHandlerDefinition<POS, NEG>;
34
- config?: CommonConfig<TAG>;
35
- });
36
- addMiddleware<AIN extends IOSchema<"strip">, AOUT extends FlatObject, ASCO extends string>(subject: MiddlewareDefinition<AIN, OUT, AOUT, ASCO>): EndpointsFactory<POS, NEG, ProbableIntersection<IN, AIN>, OUT & AOUT, SCO & ASCO, TAG>;
37
- use: <R extends Request<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>, S extends Response<any, Record<string, any>>, AOUT extends FlatObject = {}>(middleware: ExpressMiddleware<R, S>, features?: ExpressMiddlewareFeatures<R, S, AOUT> | undefined) => EndpointsFactory<POS, NEG, IN, OUT & AOUT, SCO, TAG>;
38
- addExpressMiddleware<R extends Request, S extends Response, AOUT extends FlatObject = {}>(middleware: ExpressMiddleware<R, S>, features?: ExpressMiddlewareFeatures<R, S, AOUT>): EndpointsFactory<POS, NEG, IN, OUT & AOUT, SCO, TAG>;
39
- addOptions<AOUT extends FlatObject>(options: AOUT): EndpointsFactory<POS, NEG, IN, OUT & AOUT, SCO, TAG>;
40
- build<BIN extends IOSchema, BOUT extends IOSchema, M extends Method>({ input, handler, output: outputSchema, ...rest }: BuildProps<BIN, BOUT, IN, OUT, M, SCO, TAG>): Endpoint<ProbableIntersection<IN, BIN>, BOUT, OUT, M, POS, NEG, SCO, TAG>;
41
- }
42
- export declare const defaultEndpointsFactory: EndpointsFactory<z.ZodObject<{
43
- status: z.ZodLiteral<"success">;
44
- data: IOSchema<any>;
45
- }, "strip", z.ZodTypeAny, {
46
- status: "success";
47
- data?: unknown;
48
- }, {
49
- status: "success";
50
- data?: unknown;
51
- }> & {
52
- keyof: () => z.ZodEnum<never>;
53
- } & {
54
- _def: z.ZodObjectDef<{
55
- status: z.ZodLiteral<"success">;
56
- data: IOSchema<any>;
57
- }, "strip", z.ZodTypeAny> & import("./metadata").MetaDef<z.ZodObject<{
58
- status: z.ZodLiteral<"success">;
59
- data: IOSchema<any>;
60
- }, "strip", z.ZodTypeAny, {
61
- status: "success";
62
- data?: unknown;
63
- }, {
64
- status: "success";
65
- data?: unknown;
66
- }>>;
67
- example: (example: {
68
- status: "success";
69
- data?: unknown;
70
- }) => z.ZodObject<{
71
- status: z.ZodLiteral<"success">;
72
- data: IOSchema<any>;
73
- }, "strip", z.ZodTypeAny, {
74
- status: "success";
75
- data?: unknown;
76
- }, {
77
- status: "success";
78
- data?: unknown;
79
- }> & {
80
- keyof: () => z.ZodEnum<never>;
81
- } & any;
82
- }, z.ZodObject<{
83
- status: z.ZodLiteral<"error">;
84
- error: z.ZodObject<{
85
- message: z.ZodString;
86
- }, "strip", z.ZodTypeAny, {
87
- message: string;
88
- }, {
89
- message: string;
90
- }>;
91
- }, "strip", z.ZodTypeAny, {
92
- status: "error";
93
- error: {
94
- message: string;
95
- };
96
- }, {
97
- status: "error";
98
- error: {
99
- message: string;
100
- };
101
- }> & {
102
- keyof: () => z.ZodEnum<never>;
103
- } & {
104
- _def: z.ZodObjectDef<{
105
- status: z.ZodLiteral<"error">;
106
- error: z.ZodObject<{
107
- message: z.ZodString;
108
- }, "strip", z.ZodTypeAny, {
109
- message: string;
110
- }, {
111
- message: string;
112
- }>;
113
- }, "strip", z.ZodTypeAny> & import("./metadata").MetaDef<z.ZodObject<{
114
- status: z.ZodLiteral<"error">;
115
- error: z.ZodObject<{
116
- message: z.ZodString;
117
- }, "strip", z.ZodTypeAny, {
118
- message: string;
119
- }, {
120
- message: string;
121
- }>;
122
- }, "strip", z.ZodTypeAny, {
123
- status: "error";
124
- error: {
125
- message: string;
126
- };
127
- }, {
128
- status: "error";
129
- error: {
130
- message: string;
131
- };
132
- }>>;
133
- example: (example: {
134
- status: "error";
135
- error: {
136
- message: string;
137
- };
138
- }) => z.ZodObject<{
139
- status: z.ZodLiteral<"error">;
140
- error: z.ZodObject<{
141
- message: z.ZodString;
142
- }, "strip", z.ZodTypeAny, {
143
- message: string;
144
- }, {
145
- message: string;
146
- }>;
147
- }, "strip", z.ZodTypeAny, {
148
- status: "error";
149
- error: {
150
- message: string;
151
- };
152
- }, {
153
- status: "error";
154
- error: {
155
- message: string;
156
- };
157
- }> & {
158
- keyof: () => z.ZodEnum<never>;
159
- } & any;
160
- }, null, {}, string, string>;
161
- export {};
@@ -1,68 +0,0 @@
1
- "use strict";
2
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
3
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
4
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
5
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
6
- };
7
- var _a, _EndpointsFactory_create;
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.defaultEndpointsFactory = exports.EndpointsFactory = void 0;
10
- const zod_1 = require("zod");
11
- const endpoint_1 = require("./endpoint");
12
- const io_schema_1 = require("./io-schema");
13
- const middleware_1 = require("./middleware");
14
- const result_handler_1 = require("./result-handler");
15
- class EndpointsFactory {
16
- constructor(subject) {
17
- this.middlewares = [];
18
- this.use = this.addExpressMiddleware;
19
- this.resultHandler =
20
- "resultHandler" in subject ? subject.resultHandler : subject;
21
- }
22
- addMiddleware(subject) {
23
- return __classPrivateFieldGet(EndpointsFactory, _a, "m", _EndpointsFactory_create).call(EndpointsFactory, this.middlewares.concat(subject), this.resultHandler);
24
- }
25
- addExpressMiddleware(middleware, features) {
26
- const transformer = features?.transformer || ((err) => err);
27
- const provider = features?.provider || (() => ({}));
28
- const definition = {
29
- type: "express",
30
- input: zod_1.z.object({}),
31
- middleware: async ({ request, response }) => new Promise((resolve, reject) => {
32
- const next = (err) => {
33
- if (err && err instanceof Error) {
34
- return reject(transformer(err));
35
- }
36
- resolve(provider(request, response));
37
- };
38
- middleware(request, response, next);
39
- }),
40
- };
41
- return __classPrivateFieldGet(EndpointsFactory, _a, "m", _EndpointsFactory_create).call(EndpointsFactory, this.middlewares.concat(definition), this.resultHandler);
42
- }
43
- addOptions(options) {
44
- return __classPrivateFieldGet(EndpointsFactory, _a, "m", _EndpointsFactory_create).call(EndpointsFactory, this.middlewares.concat((0, middleware_1.createMiddleware)({
45
- input: zod_1.z.object({}),
46
- middleware: async () => options,
47
- })), this.resultHandler);
48
- }
49
- build({ input, handler, output: outputSchema, ...rest }) {
50
- const { middlewares, resultHandler } = this;
51
- return new endpoint_1.Endpoint({
52
- handler,
53
- middlewares,
54
- outputSchema,
55
- resultHandler,
56
- inputSchema: (0, io_schema_1.getFinalEndpointInputSchema)(middlewares, input),
57
- ...rest,
58
- });
59
- }
60
- }
61
- exports.EndpointsFactory = EndpointsFactory;
62
- _a = EndpointsFactory, _EndpointsFactory_create = function _EndpointsFactory_create(middlewares, resultHandler) {
63
- const factory = new EndpointsFactory(resultHandler);
64
- factory.middlewares = middlewares;
65
- return factory;
66
- };
67
- exports.defaultEndpointsFactory = new EndpointsFactory(result_handler_1.defaultResultHandler);
68
- //# sourceMappingURL=endpoints-factory.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"endpoints-factory.js","sourceRoot":"","sources":["../src/endpoints-factory.ts"],"names":[],"mappings":";;;;;;;;;AACA,6BAAwB;AAGxB,yCAA+C;AAC/C,2CAIqB;AAErB,6CAMsB;AACtB,qDAG0B;AAoB1B,MAAa,gBAAgB;IAiB3B,YACE,OAKK;QAdG,gBAAW,GAAuB,EAAE,CAAC;QAqDxC,QAAG,GAAG,IAAI,CAAC,oBAAoB,CAAC;QArCrC,IAAI,CAAC,aAAa;YAChB,eAAe,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC;IACjE,CAAC;IAoBM,aAAa,CAIlB,OAAmD;QACnD,OAAO,uBAAA,gBAAgB,oCAAQ,MAAxB,gBAAgB,EAOrB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IAC1D,CAAC;IAIM,oBAAoB,CAKzB,UAAmC,EACnC,QAAgD;QAEhD,MAAM,WAAW,GAAG,QAAQ,EAAE,WAAW,IAAI,CAAC,CAAC,GAAU,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;QACnE,MAAM,QAAQ,GAAG,QAAQ,EAAE,QAAQ,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAW,CAAA,CAAC,CAAC;QAC5D,MAAM,UAAU,GAAqB;YACnC,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,OAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YACnB,UAAU,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,CAC1C,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACpC,MAAM,IAAI,GAAG,CAAC,GAAS,EAAE,EAAE;oBACzB,IAAI,GAAG,IAAI,GAAG,YAAY,KAAK,EAAE;wBAC/B,OAAO,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;qBACjC;oBACD,OAAO,CAAC,QAAQ,CAAC,OAAY,EAAE,QAAa,CAAC,CAAC,CAAC;gBACjD,CAAC,CAAC;gBACF,UAAU,CAAC,OAAY,EAAE,QAAa,EAAE,IAAI,CAAC,CAAC;YAChD,CAAC,CAAC;SACL,CAAC;QACF,OAAO,uBAAA,gBAAgB,oCAAQ,MAAxB,gBAAgB,EACrB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,EACnC,IAAI,CAAC,aAAa,CACnB,CAAC;IACJ,CAAC;IAEM,UAAU,CAA0B,OAAa;QACtD,OAAO,uBAAA,gBAAgB,oCAAQ,MAAxB,gBAAgB,EACrB,IAAI,CAAC,WAAW,CAAC,MAAM,CACrB,IAAA,6BAAgB,EAAC;YACf,KAAK,EAAE,OAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YACnB,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,OAAO;SAChC,CAAC,CACH,EACD,IAAI,CAAC,aAAa,CACnB,CAAC;IACJ,CAAC;IAEM,KAAK,CAAgE,EAC1E,KAAK,EACL,OAAO,EACP,MAAM,EAAE,YAAY,EACpB,GAAG,IAAI,EACqC;QAU5C,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;QAC5C,OAAO,IAAI,mBAAQ,CAAC;YAClB,OAAO;YACP,WAAW;YACX,YAAY;YACZ,aAAa;YACb,WAAW,EAAE,IAAA,uCAA2B,EAAU,WAAW,EAAE,KAAK,CAAC;YACrE,GAAG,IAAI;SACR,CAAC,CAAC;IACL,CAAC;CACF;AAnID,4CAmIC;oFA9FG,WAA+B,EAC/B,aAAkD;IAElD,MAAM,OAAO,GAAG,IAAI,gBAAgB,CAClC,aAAa,CACd,CAAC;IACF,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC;IAClC,OAAO,OAAO,CAAC;AACjB,CAAC;AAwFU,QAAA,uBAAuB,GAAG,IAAI,gBAAgB,CACzD,qCAAoB,CACrB,CAAC"}
package/dist/errors.d.ts DELETED
@@ -1,35 +0,0 @@
1
- import { ZodError } from "zod";
2
- /** @desc An error related to the wrong Routing declaration */
3
- export declare class RoutingError extends Error {
4
- name: string;
5
- }
6
- /** @desc An error related to the issues of using DependsOnMethod class */
7
- export declare class DependsOnMethodError extends RoutingError {
8
- name: string;
9
- }
10
- /** @desc An error related to the generating of the documentation */
11
- export declare class OpenAPIError extends Error {
12
- name: string;
13
- }
14
- /** @desc An error related to the input and output schemas declaration */
15
- export declare class IOSchemaError extends Error {
16
- name: string;
17
- }
18
- /** @desc An error of validating the Endpoint handler's returns against the Endpoint output schema */
19
- export declare class OutputValidationError extends IOSchemaError {
20
- name: string;
21
- readonly originalError: ZodError;
22
- constructor(originalError: ZodError);
23
- }
24
- /** @desc An error of validating the input sources against the Middleware or Endpoint input schema */
25
- export declare class InputValidationError extends IOSchemaError {
26
- name: string;
27
- readonly originalError: ZodError;
28
- constructor(originalError: ZodError);
29
- }
30
- /** @desc An error related to the execution of ResultHandler */
31
- export declare class ResultHandlerError extends Error {
32
- name: string;
33
- readonly originalError: Error | undefined;
34
- constructor(message: string, originalError?: Error | null);
35
- }
package/dist/errors.js DELETED
@@ -1,64 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ResultHandlerError = exports.InputValidationError = exports.OutputValidationError = exports.IOSchemaError = exports.OpenAPIError = exports.DependsOnMethodError = exports.RoutingError = void 0;
4
- const common_helpers_1 = require("./common-helpers");
5
- /** @desc An error related to the wrong Routing declaration */
6
- class RoutingError extends Error {
7
- constructor() {
8
- super(...arguments);
9
- this.name = "RoutingError";
10
- }
11
- }
12
- exports.RoutingError = RoutingError;
13
- /** @desc An error related to the issues of using DependsOnMethod class */
14
- class DependsOnMethodError extends RoutingError {
15
- constructor() {
16
- super(...arguments);
17
- this.name = "DependsOnMethodError";
18
- }
19
- }
20
- exports.DependsOnMethodError = DependsOnMethodError;
21
- /** @desc An error related to the generating of the documentation */
22
- class OpenAPIError extends Error {
23
- constructor() {
24
- super(...arguments);
25
- this.name = "OpenAPIError";
26
- }
27
- }
28
- exports.OpenAPIError = OpenAPIError;
29
- /** @desc An error related to the input and output schemas declaration */
30
- class IOSchemaError extends Error {
31
- constructor() {
32
- super(...arguments);
33
- this.name = "IOSchemaError";
34
- }
35
- }
36
- exports.IOSchemaError = IOSchemaError;
37
- /** @desc An error of validating the Endpoint handler's returns against the Endpoint output schema */
38
- class OutputValidationError extends IOSchemaError {
39
- constructor(originalError) {
40
- super((0, common_helpers_1.getMessageFromError)(originalError));
41
- this.name = "OutputValidationError";
42
- this.originalError = originalError;
43
- }
44
- }
45
- exports.OutputValidationError = OutputValidationError;
46
- /** @desc An error of validating the input sources against the Middleware or Endpoint input schema */
47
- class InputValidationError extends IOSchemaError {
48
- constructor(originalError) {
49
- super((0, common_helpers_1.getMessageFromError)(originalError));
50
- this.name = "InputValidationError";
51
- this.originalError = originalError;
52
- }
53
- }
54
- exports.InputValidationError = InputValidationError;
55
- /** @desc An error related to the execution of ResultHandler */
56
- class ResultHandlerError extends Error {
57
- constructor(message, originalError) {
58
- super(message);
59
- this.name = "ResultHandlerError";
60
- this.originalError = originalError || undefined;
61
- }
62
- }
63
- exports.ResultHandlerError = ResultHandlerError;
64
- //# sourceMappingURL=errors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;AACA,qDAAuD;AAEvD,8DAA8D;AAC9D,MAAa,YAAa,SAAQ,KAAK;IAAvC;;QACkB,SAAI,GAAG,cAAc,CAAC;IACxC,CAAC;CAAA;AAFD,oCAEC;AAED,0EAA0E;AAC1E,MAAa,oBAAqB,SAAQ,YAAY;IAAtD;;QACkB,SAAI,GAAG,sBAAsB,CAAC;IAChD,CAAC;CAAA;AAFD,oDAEC;AAED,oEAAoE;AACpE,MAAa,YAAa,SAAQ,KAAK;IAAvC;;QACkB,SAAI,GAAG,cAAc,CAAC;IACxC,CAAC;CAAA;AAFD,oCAEC;AAED,yEAAyE;AACzE,MAAa,aAAc,SAAQ,KAAK;IAAxC;;QACkB,SAAI,GAAG,eAAe,CAAC;IACzC,CAAC;CAAA;AAFD,sCAEC;AAED,qGAAqG;AACrG,MAAa,qBAAsB,SAAQ,aAAa;IAItD,YAAY,aAAuB;QACjC,KAAK,CAAC,IAAA,oCAAmB,EAAC,aAAa,CAAC,CAAC,CAAC;QAJ5B,SAAI,GAAG,uBAAuB,CAAC;QAK7C,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;CACF;AARD,sDAQC;AAED,qGAAqG;AACrG,MAAa,oBAAqB,SAAQ,aAAa;IAIrD,YAAY,aAAuB;QACjC,KAAK,CAAC,IAAA,oCAAmB,EAAC,aAAa,CAAC,CAAC,CAAC;QAJ5B,SAAI,GAAG,sBAAsB,CAAC;QAK5C,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;CACF;AARD,oDAQC;AAED,+DAA+D;AAC/D,MAAa,kBAAmB,SAAQ,KAAK;IAI3C,YAAY,OAAe,EAAE,aAA4B;QACvD,KAAK,CAAC,OAAO,CAAC,CAAC;QAJD,SAAI,GAAG,oBAAoB,CAAC;QAK1C,IAAI,CAAC,aAAa,GAAG,aAAa,IAAI,SAAS,CAAC;IAClD,CAAC;CACF;AARD,gDAQC"}
@@ -1,22 +0,0 @@
1
- import { ZodDate } from "zod";
2
- import { ZodDateIn } from "./date-in-schema";
3
- import { ZodDateOut } from "./date-out-schema";
4
- import { ZodFile } from "./file-schema";
5
- import { ZodUpload } from "./upload-schema";
6
- export * from "zod";
7
- export declare const file: () => ZodFile;
8
- export declare const upload: () => ZodUpload;
9
- export declare const dateIn: () => ZodDateIn;
10
- export declare const dateOut: () => ZodDateOut;
11
- /**
12
- * @description z.date() represents the Date, it should not be used within IO schemas
13
- * @deprecated Please use z.dateIn() or z.dateOut() within IO schemas
14
- * */
15
- export declare const date: (params?: ({
16
- errorMap?: import("zod").ZodErrorMap | undefined;
17
- invalid_type_error?: string | undefined;
18
- required_error?: string | undefined;
19
- description?: string | undefined;
20
- } & {
21
- coerce?: boolean | undefined;
22
- }) | undefined) => ZodDate;
@@ -1,33 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.date = exports.dateOut = exports.dateIn = exports.upload = exports.file = void 0;
18
- const zod_1 = require("zod");
19
- const date_in_schema_1 = require("./date-in-schema");
20
- const date_out_schema_1 = require("./date-out-schema");
21
- const file_schema_1 = require("./file-schema");
22
- const upload_schema_1 = require("./upload-schema");
23
- __exportStar(require("zod"), exports);
24
- exports.file = file_schema_1.ZodFile.create;
25
- exports.upload = upload_schema_1.ZodUpload.create;
26
- exports.dateIn = date_in_schema_1.ZodDateIn.create;
27
- exports.dateOut = date_out_schema_1.ZodDateOut.create;
28
- /**
29
- * @description z.date() represents the Date, it should not be used within IO schemas
30
- * @deprecated Please use z.dateIn() or z.dateOut() within IO schemas
31
- * */
32
- exports.date = zod_1.ZodDate.create;
33
- //# sourceMappingURL=extend-zod.js.map