express-endpoints-collection 1.0.6 → 1.0.8

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/dist/index.d.ts CHANGED
@@ -10,6 +10,8 @@ export declare class EndpointsCollection {
10
10
  private router;
11
11
  constructor();
12
12
  private static validateInput;
13
+ private static coerceAll;
14
+ private static coerceOnly;
13
15
  callOriginal(method: HttpMethod, path: string, { inputSchema, outputSchema, summary, beforeResponse, afterInputValidation, beforeInputValidation, }: EndpointArgs<EndpointInputSchema, EndpointOutputSchema>, handlers: RequestHandler | RequestHandler[] | TypedRequestHandler<any, any>): import("express-serve-static-core").Router;
14
16
  get<TInput extends EndpointInputSchema, TOutput extends EndpointOutputSchema>(path: string, args: EndpointArgs<TInput, TOutput>, handlers: TypedRequestHandler<TInput, TOutput>): import("express-serve-static-core").Router;
15
17
  post<TInput extends EndpointInputSchema, TOutput extends EndpointOutputSchema>(path: string, args: EndpointArgs<TInput, TOutput>, handler: TypedRequestHandler<TInput, TOutput>): import("express-serve-static-core").Router;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -11,14 +11,26 @@ class EndpointsCollection {
11
11
  static validateInput(schema) {
12
12
  return (req, res, next) => {
13
13
  try {
14
- if (schema.query)
15
- schema.query.parse(req.query);
16
- if (schema.body)
17
- schema.body.parse(req.body);
18
- if (schema.params)
19
- schema.params.parse(req.params);
20
- if (schema.headers)
21
- schema.headers.parse(req.headers);
14
+ if (schema.query) {
15
+ this.coerceAll(schema.query, req.query);
16
+ const querySchemaCoerced = zod_1.z.object(schema.query?.shape || {});
17
+ req.query = querySchemaCoerced.parse(req.query);
18
+ }
19
+ if (schema.body) {
20
+ this.coerceAll(schema.body, req.body);
21
+ const bodySchemaCoerced = zod_1.z.object(schema.body?.shape || {});
22
+ req.body = bodySchemaCoerced.parse(req.body);
23
+ }
24
+ if (schema.params) {
25
+ this.coerceAll(schema.params, req.params);
26
+ const paramsSchemaCoerced = zod_1.z.object(schema.params?.shape || {});
27
+ req.params = paramsSchemaCoerced.parse(req.params);
28
+ }
29
+ if (schema.headers) {
30
+ this.coerceAll(schema.headers, req.headers);
31
+ const headersSchemaCoerced = zod_1.z.object(schema.headers?.shape || {});
32
+ req.headers = headersSchemaCoerced.parse(req.headers);
33
+ }
22
34
  next();
23
35
  }
24
36
  catch (error) {
@@ -31,6 +43,77 @@ class EndpointsCollection {
31
43
  }
32
44
  };
33
45
  }
46
+ static coerceAll(schema, data) {
47
+ for (const key in schema.shape) {
48
+ const coerced = EndpointsCollection.coerceOnly(schema.shape[key], data[key]);
49
+ data[key] = coerced.success ? coerced.data : data[key];
50
+ }
51
+ }
52
+ // private static coerce(schema: z.ZodType, data: any) {
53
+ // if (schema instanceof z.ZodNumber) {
54
+ // return Number(data);
55
+ // } else if (schema instanceof z.ZodBoolean) {
56
+ // return data === "true" || data === "1" || data === true;
57
+ // } else if (schema instanceof z.ZodString) {
58
+ // return String(data);
59
+ // } else if (schema instanceof z.ZodDate) {
60
+ // return new Date(data);
61
+ // } else if (schema instanceof z.ZodArray) {
62
+ // return Array.isArray(data) ? data : [data];
63
+ // } else if (schema instanceof z.ZodRecord) {
64
+ // return data;
65
+ // } else if (schema instanceof z.ZodObject) {
66
+ // const result: Record<string, any> = {};
67
+ // for (const key in schema.shape) {
68
+ // result[key] = EndpointsCollection.coerce(schema.shape[key], data[key]);
69
+ // }
70
+ // } else {
71
+ // return data;
72
+ // }
73
+ // }
74
+ static coerceOnly(schema, value) {
75
+ if (schema instanceof zod_1.z.ZodString) {
76
+ return zod_1.z.coerce.string().safeParse(value);
77
+ }
78
+ else if (schema instanceof zod_1.z.ZodNumber) {
79
+ return zod_1.z.coerce.number().safeParse(value);
80
+ }
81
+ else if (schema instanceof zod_1.z.ZodBoolean) {
82
+ return zod_1.z.coerce.boolean().safeParse(value);
83
+ }
84
+ else if (schema instanceof zod_1.z.ZodDate) {
85
+ return zod_1.z.coerce.date().safeParse(value);
86
+ }
87
+ else if (schema instanceof zod_1.z.ZodBigInt) {
88
+ return zod_1.z.coerce.bigint().safeParse(value);
89
+ }
90
+ else if (schema instanceof zod_1.z.ZodArray) {
91
+ if (Array.isArray(value)) {
92
+ const coercedArray = value.map((item) => this.coerceOnly(schema.element, item));
93
+ return zod_1.z
94
+ .array(zod_1.z.any())
95
+ .safeParse(coercedArray.map((result) => result.success ? result.data : result.error));
96
+ }
97
+ return zod_1.z.array(zod_1.z.any()).safeParse(value);
98
+ }
99
+ else if (schema instanceof zod_1.z.ZodObject) {
100
+ if (typeof value === "object" && value !== null) {
101
+ const coercedObject = {};
102
+ for (const [key, propertySchema] of Object.entries(schema.shape)) {
103
+ const propertyValue = value[key];
104
+ const coercedProperty = this.coerceOnly(propertySchema, propertyValue);
105
+ coercedObject[key] = coercedProperty.success
106
+ ? coercedProperty.data
107
+ : propertyValue;
108
+ }
109
+ return zod_1.z.object(schema.shape).safeParse(coercedObject);
110
+ }
111
+ return zod_1.z.object(schema.shape).safeParse(value);
112
+ }
113
+ else {
114
+ return schema.safeParse(value);
115
+ }
116
+ }
34
117
  callOriginal(method, path, { inputSchema, outputSchema, summary, beforeResponse = [], afterInputValidation = [], beforeInputValidation = [], }, handlers) {
35
118
  this.endpoints.push({
36
119
  path,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import { z } from "zod";
1
+ import { AnyZodObject } from "zod";
2
2
  export type EndpointInputSchema = {
3
- query?: z.ZodObject<any>;
4
- body?: z.ZodObject<any>;
5
- params?: z.ZodObject<any>;
6
- headers?: z.ZodObject<any>;
3
+ query?: AnyZodObject;
4
+ body?: AnyZodObject;
5
+ params?: AnyZodObject;
6
+ headers?: AnyZodObject;
7
7
  };
8
8
  //# sourceMappingURL=EndpointInputSchema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EndpointInputSchema.d.ts","sourceRoot":"","sources":["../../src/types/EndpointInputSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACzB,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACxB,MAAM,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC1B,OAAO,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;CAC5B,CAAC"}
1
+ {"version":3,"file":"EndpointInputSchema.d.ts","sourceRoot":"","sources":["../../src/types/EndpointInputSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,KAAK,CAAC;AAEnC,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,OAAO,CAAC,EAAE,YAAY,CAAC;CACxB,CAAC"}
@@ -1,7 +1,7 @@
1
- import { z } from "zod";
1
+ import { AnyZodObject } from "zod";
2
2
  export type EndpointOutputSchema = {
3
3
  status: number;
4
4
  description?: string;
5
- body?: z.ZodType;
5
+ body?: AnyZodObject;
6
6
  }[];
7
7
  //# sourceMappingURL=EndpointOutputSchema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EndpointOutputSchema.d.ts","sourceRoot":"","sources":["../../src/types/EndpointOutputSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC;CAClB,EAAE,CAAC"}
1
+ {"version":3,"file":"EndpointOutputSchema.d.ts","sourceRoot":"","sources":["../../src/types/EndpointOutputSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,KAAK,CAAC;AAEnC,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,YAAY,CAAC;CACrB,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "express-endpoints-collection",
3
- "version": "1.0.6",
3
+ "version": "1.0.8",
4
4
  "main": "./dist/index.js",
5
5
  "repository": "https://github.com/pilotpirxie/express-endpoints-collection.git",
6
6
  "author": "pilotpirxie <10637666+pilotpirxie@users.noreply.github.com>",
@@ -21,7 +21,8 @@
21
21
  "prettier": "prettier --write .",
22
22
  "dev": "ts-node ./example/app.ts",
23
23
  "minimal": "ts-node ./example/minimal.ts",
24
- "build": "tsc"
24
+ "build": "tsc",
25
+ "prepare": "tsc"
25
26
  },
26
27
  "dependencies": {
27
28
  "@asteasolutions/zod-to-openapi": "^7.1.1",