@shware/http 1.1.2 → 1.1.4
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/hono/handler.cjs +1 -0
- package/dist/hono/handler.cjs.map +1 -1
- package/dist/hono/handler.mjs +1 -0
- package/dist/hono/handler.mjs.map +1 -1
- package/dist/hono/index.d.cts +2 -2
- package/dist/hono/index.d.ts +2 -2
- package/dist/hono/validator.cjs +6 -6
- package/dist/hono/validator.cjs.map +1 -1
- package/dist/hono/validator.d.cts +4 -4
- package/dist/hono/validator.d.ts +4 -4
- package/dist/hono/validator.mjs +1 -1
- package/dist/hono/validator.mjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/response.cjs +9 -7
- package/dist/response.cjs.map +1 -1
- package/dist/response.d.cts +5 -5
- package/dist/response.d.ts +5 -5
- package/dist/response.mjs +5 -3
- package/dist/response.mjs.map +1 -1
- package/dist/vaild.cjs.map +1 -1
- package/dist/vaild.d.cts +1 -1
- package/dist/vaild.d.ts +1 -1
- package/dist/vaild.mjs.map +1 -1
- package/package.json +3 -3
package/dist/hono/handler.cjs
CHANGED
|
@@ -59,6 +59,7 @@ function errorHandler(error, c) {
|
|
|
59
59
|
});
|
|
60
60
|
return import_status.Status.internal("Axios error").response(details);
|
|
61
61
|
}
|
|
62
|
+
console.error(`serving data: ${servingData}`);
|
|
62
63
|
console.error(error);
|
|
63
64
|
return import_status.Status.internal("Unknown error").response(details);
|
|
64
65
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/hono/handler.ts"],"sourcesContent":["import { Details, DetailType } from '../error/detail';\nimport { Status, StatusError } from '../error/status';\nimport type { AxiosError } from 'axios';\nimport type { Context } from 'hono';\nimport type { RequestIdVariables } from 'hono/request-id';\nimport type { HTTPResponseError, Bindings } from 'hono/types';\nimport type { ContentfulStatusCode } from 'hono/utils/http-status';\n\ntype Env = {\n Variables: RequestIdVariables;\n Bindings?: Bindings;\n};\n\nexport function isAxiosError(payload: unknown): payload is AxiosError {\n return (\n payload !== null &&\n typeof payload === 'object' &&\n 'isAxiosError' in payload &&\n payload.isAxiosError === true\n );\n}\n\nexport function errorHandler<E extends Env = never>(\n error: Error | HTTPResponseError,\n c: Context<E>\n): Response | Promise<Response> {\n const requestId = c.get('requestId');\n const servingData = `${c.req.method}: ${c.req.path}`;\n const details = Details.new().requestInfo({ requestId, servingData });\n\n if (error instanceof StatusError) {\n error.body?.error?.details?.push(...details.list);\n const badRequest = error.body?.error?.details.find((d) => d.type === DetailType.BAD_REQUEST);\n if (badRequest) {\n console.warn({ requestId, servingData, ...badRequest });\n }\n return c.json(error.body, error.status as ContentfulStatusCode);\n }\n\n if (error instanceof SyntaxError) {\n if (/^Cannot convert .* to a BigInt$/.test(error.message)) {\n return Status.invalidArgument(`Invalid number. ${error.message}`).response(details);\n }\n }\n\n if (isAxiosError(error)) {\n console.error({\n status: error.status,\n message: error.message,\n request: {\n method: error.config?.method,\n url: error.config?.url,\n data: error.config?.data,\n },\n response: { data: error.response?.data },\n });\n return Status.internal('Axios error').response(details);\n }\n\n console.error(error);\n return Status.internal('Unknown error').response(details);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAoC;AACpC,oBAAoC;AAY7B,SAAS,aAAa,SAAyC;AACpE,SACE,YAAY,QACZ,OAAO,YAAY,YACnB,kBAAkB,WAClB,QAAQ,iBAAiB;AAE7B;AAEO,SAAS,aACd,OACA,GAC8B;AAC9B,QAAM,YAAY,EAAE,IAAI,WAAW;AACnC,QAAM,cAAc,GAAG,EAAE,IAAI,MAAM,KAAK,EAAE,IAAI,IAAI;AAClD,QAAM,UAAU,sBAAQ,IAAI,EAAE,YAAY,EAAE,WAAW,YAAY,CAAC;AAEpE,MAAI,iBAAiB,2BAAa;AAChC,UAAM,MAAM,OAAO,SAAS,KAAK,GAAG,QAAQ,IAAI;AAChD,UAAM,aAAa,MAAM,MAAM,OAAO,QAAQ,KAAK,CAAC,MAAM,EAAE,SAAS,yBAAW,WAAW;AAC3F,QAAI,YAAY;AACd,cAAQ,KAAK,EAAE,WAAW,aAAa,GAAG,WAAW,CAAC;AAAA,IACxD;AACA,WAAO,EAAE,KAAK,MAAM,MAAM,MAAM,MAA8B;AAAA,EAChE;AAEA,MAAI,iBAAiB,aAAa;AAChC,QAAI,kCAAkC,KAAK,MAAM,OAAO,GAAG;AACzD,aAAO,qBAAO,gBAAgB,mBAAmB,MAAM,OAAO,EAAE,EAAE,SAAS,OAAO;AAAA,IACpF;AAAA,EACF;AAEA,MAAI,aAAa,KAAK,GAAG;AACvB,YAAQ,MAAM;AAAA,MACZ,QAAQ,MAAM;AAAA,MACd,SAAS,MAAM;AAAA,MACf,SAAS;AAAA,QACP,QAAQ,MAAM,QAAQ;AAAA,QACtB,KAAK,MAAM,QAAQ;AAAA,QACnB,MAAM,MAAM,QAAQ;AAAA,MACtB;AAAA,MACA,UAAU,EAAE,MAAM,MAAM,UAAU,KAAK;AAAA,IACzC,CAAC;AACD,WAAO,qBAAO,SAAS,aAAa,EAAE,SAAS,OAAO;AAAA,EACxD;AAEA,UAAQ,MAAM,KAAK;AACnB,SAAO,qBAAO,SAAS,eAAe,EAAE,SAAS,OAAO;AAC1D;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../src/hono/handler.ts"],"sourcesContent":["import { Details, DetailType } from '../error/detail';\nimport { Status, StatusError } from '../error/status';\nimport type { AxiosError } from 'axios';\nimport type { Context } from 'hono';\nimport type { RequestIdVariables } from 'hono/request-id';\nimport type { HTTPResponseError, Bindings } from 'hono/types';\nimport type { ContentfulStatusCode } from 'hono/utils/http-status';\n\ntype Env = {\n Variables: RequestIdVariables;\n Bindings?: Bindings;\n};\n\nexport function isAxiosError(payload: unknown): payload is AxiosError {\n return (\n payload !== null &&\n typeof payload === 'object' &&\n 'isAxiosError' in payload &&\n payload.isAxiosError === true\n );\n}\n\nexport function errorHandler<E extends Env = never>(\n error: Error | HTTPResponseError,\n c: Context<E>\n): Response | Promise<Response> {\n const requestId = c.get('requestId');\n const servingData = `${c.req.method}: ${c.req.path}`;\n const details = Details.new().requestInfo({ requestId, servingData });\n\n if (error instanceof StatusError) {\n error.body?.error?.details?.push(...details.list);\n const badRequest = error.body?.error?.details.find((d) => d.type === DetailType.BAD_REQUEST);\n if (badRequest) {\n console.warn({ requestId, servingData, ...badRequest });\n }\n return c.json(error.body, error.status as ContentfulStatusCode);\n }\n\n if (error instanceof SyntaxError) {\n if (/^Cannot convert .* to a BigInt$/.test(error.message)) {\n return Status.invalidArgument(`Invalid number. ${error.message}`).response(details);\n }\n }\n\n if (isAxiosError(error)) {\n console.error({\n status: error.status,\n message: error.message,\n request: {\n method: error.config?.method,\n url: error.config?.url,\n data: error.config?.data,\n },\n response: { data: error.response?.data },\n });\n return Status.internal('Axios error').response(details);\n }\n\n console.error(`serving data: ${servingData}`);\n console.error(error);\n return Status.internal('Unknown error').response(details);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAoC;AACpC,oBAAoC;AAY7B,SAAS,aAAa,SAAyC;AACpE,SACE,YAAY,QACZ,OAAO,YAAY,YACnB,kBAAkB,WAClB,QAAQ,iBAAiB;AAE7B;AAEO,SAAS,aACd,OACA,GAC8B;AAC9B,QAAM,YAAY,EAAE,IAAI,WAAW;AACnC,QAAM,cAAc,GAAG,EAAE,IAAI,MAAM,KAAK,EAAE,IAAI,IAAI;AAClD,QAAM,UAAU,sBAAQ,IAAI,EAAE,YAAY,EAAE,WAAW,YAAY,CAAC;AAEpE,MAAI,iBAAiB,2BAAa;AAChC,UAAM,MAAM,OAAO,SAAS,KAAK,GAAG,QAAQ,IAAI;AAChD,UAAM,aAAa,MAAM,MAAM,OAAO,QAAQ,KAAK,CAAC,MAAM,EAAE,SAAS,yBAAW,WAAW;AAC3F,QAAI,YAAY;AACd,cAAQ,KAAK,EAAE,WAAW,aAAa,GAAG,WAAW,CAAC;AAAA,IACxD;AACA,WAAO,EAAE,KAAK,MAAM,MAAM,MAAM,MAA8B;AAAA,EAChE;AAEA,MAAI,iBAAiB,aAAa;AAChC,QAAI,kCAAkC,KAAK,MAAM,OAAO,GAAG;AACzD,aAAO,qBAAO,gBAAgB,mBAAmB,MAAM,OAAO,EAAE,EAAE,SAAS,OAAO;AAAA,IACpF;AAAA,EACF;AAEA,MAAI,aAAa,KAAK,GAAG;AACvB,YAAQ,MAAM;AAAA,MACZ,QAAQ,MAAM;AAAA,MACd,SAAS,MAAM;AAAA,MACf,SAAS;AAAA,QACP,QAAQ,MAAM,QAAQ;AAAA,QACtB,KAAK,MAAM,QAAQ;AAAA,QACnB,MAAM,MAAM,QAAQ;AAAA,MACtB;AAAA,MACA,UAAU,EAAE,MAAM,MAAM,UAAU,KAAK;AAAA,IACzC,CAAC;AACD,WAAO,qBAAO,SAAS,aAAa,EAAE,SAAS,OAAO;AAAA,EACxD;AAEA,UAAQ,MAAM,iBAAiB,WAAW,EAAE;AAC5C,UAAQ,MAAM,KAAK;AACnB,SAAO,qBAAO,SAAS,eAAe,EAAE,SAAS,OAAO;AAC1D;","names":[]}
|
package/dist/hono/handler.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/hono/handler.ts"],"sourcesContent":["import { Details, DetailType } from '../error/detail';\nimport { Status, StatusError } from '../error/status';\nimport type { AxiosError } from 'axios';\nimport type { Context } from 'hono';\nimport type { RequestIdVariables } from 'hono/request-id';\nimport type { HTTPResponseError, Bindings } from 'hono/types';\nimport type { ContentfulStatusCode } from 'hono/utils/http-status';\n\ntype Env = {\n Variables: RequestIdVariables;\n Bindings?: Bindings;\n};\n\nexport function isAxiosError(payload: unknown): payload is AxiosError {\n return (\n payload !== null &&\n typeof payload === 'object' &&\n 'isAxiosError' in payload &&\n payload.isAxiosError === true\n );\n}\n\nexport function errorHandler<E extends Env = never>(\n error: Error | HTTPResponseError,\n c: Context<E>\n): Response | Promise<Response> {\n const requestId = c.get('requestId');\n const servingData = `${c.req.method}: ${c.req.path}`;\n const details = Details.new().requestInfo({ requestId, servingData });\n\n if (error instanceof StatusError) {\n error.body?.error?.details?.push(...details.list);\n const badRequest = error.body?.error?.details.find((d) => d.type === DetailType.BAD_REQUEST);\n if (badRequest) {\n console.warn({ requestId, servingData, ...badRequest });\n }\n return c.json(error.body, error.status as ContentfulStatusCode);\n }\n\n if (error instanceof SyntaxError) {\n if (/^Cannot convert .* to a BigInt$/.test(error.message)) {\n return Status.invalidArgument(`Invalid number. ${error.message}`).response(details);\n }\n }\n\n if (isAxiosError(error)) {\n console.error({\n status: error.status,\n message: error.message,\n request: {\n method: error.config?.method,\n url: error.config?.url,\n data: error.config?.data,\n },\n response: { data: error.response?.data },\n });\n return Status.internal('Axios error').response(details);\n }\n\n console.error(error);\n return Status.internal('Unknown error').response(details);\n}\n"],"mappings":";AAAA,SAAS,SAAS,kBAAkB;AACpC,SAAS,QAAQ,mBAAmB;AAY7B,SAAS,aAAa,SAAyC;AACpE,SACE,YAAY,QACZ,OAAO,YAAY,YACnB,kBAAkB,WAClB,QAAQ,iBAAiB;AAE7B;AAEO,SAAS,aACd,OACA,GAC8B;AAC9B,QAAM,YAAY,EAAE,IAAI,WAAW;AACnC,QAAM,cAAc,GAAG,EAAE,IAAI,MAAM,KAAK,EAAE,IAAI,IAAI;AAClD,QAAM,UAAU,QAAQ,IAAI,EAAE,YAAY,EAAE,WAAW,YAAY,CAAC;AAEpE,MAAI,iBAAiB,aAAa;AAChC,UAAM,MAAM,OAAO,SAAS,KAAK,GAAG,QAAQ,IAAI;AAChD,UAAM,aAAa,MAAM,MAAM,OAAO,QAAQ,KAAK,CAAC,MAAM,EAAE,SAAS,WAAW,WAAW;AAC3F,QAAI,YAAY;AACd,cAAQ,KAAK,EAAE,WAAW,aAAa,GAAG,WAAW,CAAC;AAAA,IACxD;AACA,WAAO,EAAE,KAAK,MAAM,MAAM,MAAM,MAA8B;AAAA,EAChE;AAEA,MAAI,iBAAiB,aAAa;AAChC,QAAI,kCAAkC,KAAK,MAAM,OAAO,GAAG;AACzD,aAAO,OAAO,gBAAgB,mBAAmB,MAAM,OAAO,EAAE,EAAE,SAAS,OAAO;AAAA,IACpF;AAAA,EACF;AAEA,MAAI,aAAa,KAAK,GAAG;AACvB,YAAQ,MAAM;AAAA,MACZ,QAAQ,MAAM;AAAA,MACd,SAAS,MAAM;AAAA,MACf,SAAS;AAAA,QACP,QAAQ,MAAM,QAAQ;AAAA,QACtB,KAAK,MAAM,QAAQ;AAAA,QACnB,MAAM,MAAM,QAAQ;AAAA,MACtB;AAAA,MACA,UAAU,EAAE,MAAM,MAAM,UAAU,KAAK;AAAA,IACzC,CAAC;AACD,WAAO,OAAO,SAAS,aAAa,EAAE,SAAS,OAAO;AAAA,EACxD;AAEA,UAAQ,MAAM,KAAK;AACnB,SAAO,OAAO,SAAS,eAAe,EAAE,SAAS,OAAO;AAC1D;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../src/hono/handler.ts"],"sourcesContent":["import { Details, DetailType } from '../error/detail';\nimport { Status, StatusError } from '../error/status';\nimport type { AxiosError } from 'axios';\nimport type { Context } from 'hono';\nimport type { RequestIdVariables } from 'hono/request-id';\nimport type { HTTPResponseError, Bindings } from 'hono/types';\nimport type { ContentfulStatusCode } from 'hono/utils/http-status';\n\ntype Env = {\n Variables: RequestIdVariables;\n Bindings?: Bindings;\n};\n\nexport function isAxiosError(payload: unknown): payload is AxiosError {\n return (\n payload !== null &&\n typeof payload === 'object' &&\n 'isAxiosError' in payload &&\n payload.isAxiosError === true\n );\n}\n\nexport function errorHandler<E extends Env = never>(\n error: Error | HTTPResponseError,\n c: Context<E>\n): Response | Promise<Response> {\n const requestId = c.get('requestId');\n const servingData = `${c.req.method}: ${c.req.path}`;\n const details = Details.new().requestInfo({ requestId, servingData });\n\n if (error instanceof StatusError) {\n error.body?.error?.details?.push(...details.list);\n const badRequest = error.body?.error?.details.find((d) => d.type === DetailType.BAD_REQUEST);\n if (badRequest) {\n console.warn({ requestId, servingData, ...badRequest });\n }\n return c.json(error.body, error.status as ContentfulStatusCode);\n }\n\n if (error instanceof SyntaxError) {\n if (/^Cannot convert .* to a BigInt$/.test(error.message)) {\n return Status.invalidArgument(`Invalid number. ${error.message}`).response(details);\n }\n }\n\n if (isAxiosError(error)) {\n console.error({\n status: error.status,\n message: error.message,\n request: {\n method: error.config?.method,\n url: error.config?.url,\n data: error.config?.data,\n },\n response: { data: error.response?.data },\n });\n return Status.internal('Axios error').response(details);\n }\n\n console.error(`serving data: ${servingData}`);\n console.error(error);\n return Status.internal('Unknown error').response(details);\n}\n"],"mappings":";AAAA,SAAS,SAAS,kBAAkB;AACpC,SAAS,QAAQ,mBAAmB;AAY7B,SAAS,aAAa,SAAyC;AACpE,SACE,YAAY,QACZ,OAAO,YAAY,YACnB,kBAAkB,WAClB,QAAQ,iBAAiB;AAE7B;AAEO,SAAS,aACd,OACA,GAC8B;AAC9B,QAAM,YAAY,EAAE,IAAI,WAAW;AACnC,QAAM,cAAc,GAAG,EAAE,IAAI,MAAM,KAAK,EAAE,IAAI,IAAI;AAClD,QAAM,UAAU,QAAQ,IAAI,EAAE,YAAY,EAAE,WAAW,YAAY,CAAC;AAEpE,MAAI,iBAAiB,aAAa;AAChC,UAAM,MAAM,OAAO,SAAS,KAAK,GAAG,QAAQ,IAAI;AAChD,UAAM,aAAa,MAAM,MAAM,OAAO,QAAQ,KAAK,CAAC,MAAM,EAAE,SAAS,WAAW,WAAW;AAC3F,QAAI,YAAY;AACd,cAAQ,KAAK,EAAE,WAAW,aAAa,GAAG,WAAW,CAAC;AAAA,IACxD;AACA,WAAO,EAAE,KAAK,MAAM,MAAM,MAAM,MAA8B;AAAA,EAChE;AAEA,MAAI,iBAAiB,aAAa;AAChC,QAAI,kCAAkC,KAAK,MAAM,OAAO,GAAG;AACzD,aAAO,OAAO,gBAAgB,mBAAmB,MAAM,OAAO,EAAE,EAAE,SAAS,OAAO;AAAA,IACpF;AAAA,EACF;AAEA,MAAI,aAAa,KAAK,GAAG;AACvB,YAAQ,MAAM;AAAA,MACZ,QAAQ,MAAM;AAAA,MACd,SAAS,MAAM;AAAA,MACf,SAAS;AAAA,QACP,QAAQ,MAAM,QAAQ;AAAA,QACtB,KAAK,MAAM,QAAQ;AAAA,QACnB,MAAM,MAAM,QAAQ;AAAA,MACtB;AAAA,MACA,UAAU,EAAE,MAAM,MAAM,UAAU,KAAK;AAAA,IACzC,CAAC;AACD,WAAO,OAAO,SAAS,aAAa,EAAE,SAAS,OAAO;AAAA,EACxD;AAEA,UAAQ,MAAM,iBAAiB,WAAW,EAAE;AAC5C,UAAQ,MAAM,KAAK;AACnB,SAAO,OAAO,SAAS,eAAe,EAAE,SAAS,OAAO;AAC1D;","names":[]}
|
package/dist/hono/index.d.cts
CHANGED
|
@@ -2,11 +2,11 @@ export { bigintId, zValidator } from './validator.cjs';
|
|
|
2
2
|
export { errorHandler } from './handler.cjs';
|
|
3
3
|
export { geolocation } from './geolocation.cjs';
|
|
4
4
|
export { Authorizer } from './authorizer.cjs';
|
|
5
|
-
import 'zod/
|
|
5
|
+
import 'zod/mini';
|
|
6
6
|
import 'hono/utils/headers';
|
|
7
7
|
import 'hono/types';
|
|
8
8
|
import 'hono';
|
|
9
9
|
import 'zod/v4/core';
|
|
10
|
-
import 'zod
|
|
10
|
+
import 'zod';
|
|
11
11
|
import 'axios';
|
|
12
12
|
import 'hono/request-id';
|
package/dist/hono/index.d.ts
CHANGED
|
@@ -2,11 +2,11 @@ export { bigintId, zValidator } from './validator.js';
|
|
|
2
2
|
export { errorHandler } from './handler.js';
|
|
3
3
|
export { geolocation } from './geolocation.js';
|
|
4
4
|
export { Authorizer } from './authorizer.js';
|
|
5
|
-
import 'zod/
|
|
5
|
+
import 'zod/mini';
|
|
6
6
|
import 'hono/utils/headers';
|
|
7
7
|
import 'hono/types';
|
|
8
8
|
import 'hono';
|
|
9
9
|
import 'zod/v4/core';
|
|
10
|
-
import 'zod
|
|
10
|
+
import 'zod';
|
|
11
11
|
import 'axios';
|
|
12
12
|
import 'hono/request-id';
|
package/dist/hono/validator.cjs
CHANGED
|
@@ -25,7 +25,7 @@ __export(validator_exports, {
|
|
|
25
25
|
});
|
|
26
26
|
module.exports = __toCommonJS(validator_exports);
|
|
27
27
|
var import_validator = require("hono/validator");
|
|
28
|
-
var
|
|
28
|
+
var import_mini = require("zod/mini");
|
|
29
29
|
var import_detail = require("../error/detail.cjs");
|
|
30
30
|
var import_status = require("../error/status.cjs");
|
|
31
31
|
function zValidator(target, schema) {
|
|
@@ -39,20 +39,20 @@ function zValidator(target, schema) {
|
|
|
39
39
|
throw import_status.Status.invalidArgument().error(details);
|
|
40
40
|
});
|
|
41
41
|
}
|
|
42
|
-
var bigintId = (0,
|
|
43
|
-
(0,
|
|
44
|
-
(0,
|
|
42
|
+
var bigintId = (0, import_mini.pipe)(
|
|
43
|
+
(0, import_mini.string)(),
|
|
44
|
+
(0, import_mini.transform)((input, ctx) => {
|
|
45
45
|
if (!/^(0|[1-9]\d{0,19})$/.test(input)) {
|
|
46
46
|
const message = `Invalid bigint id: ${input}`;
|
|
47
47
|
ctx.issues.push({ code: "custom", input, message });
|
|
48
|
-
return
|
|
48
|
+
return import_mini.NEVER;
|
|
49
49
|
}
|
|
50
50
|
try {
|
|
51
51
|
return BigInt(input);
|
|
52
52
|
} catch {
|
|
53
53
|
const message = `Parse bigint id: ${input} failed`;
|
|
54
54
|
ctx.issues.push({ code: "custom", input, message });
|
|
55
|
-
return
|
|
55
|
+
return import_mini.NEVER;
|
|
56
56
|
}
|
|
57
57
|
})
|
|
58
58
|
);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/hono/validator.ts"],"sourcesContent":["import { validator } from 'hono/validator';\nimport { transform, pipe, string, NEVER } from 'zod/
|
|
1
|
+
{"version":3,"sources":["../../src/hono/validator.ts"],"sourcesContent":["import { validator } from 'hono/validator';\nimport { transform, pipe, string, NEVER } from 'zod/mini';\nimport { Details } from '../error/detail';\nimport { Status } from '../error/status';\nimport type { BadRequest } from '../error/detail';\nimport type { ValidationTargets } from 'hono';\nimport type { output as outputV4, ZodType } from 'zod';\nimport type { output as outputMini, ZodMiniType } from 'zod/mini';\n\nexport function zValidator<S extends ZodType | ZodMiniType>(\n target: keyof ValidationTargets,\n schema: S\n) {\n return validator(target, async (value) => {\n const result = await schema.safeParseAsync(value);\n if (result.success) return result.data as S extends ZodType ? outputV4<S> : outputMini<S>;\n\n const fieldViolations: BadRequest['fieldViolations'] = result.error.issues.map(\n ({ path, message }) => ({ field: path.join('.'), description: message })\n );\n const details = Details.new().badRequest({ fieldViolations });\n throw Status.invalidArgument().error(details);\n });\n}\n\nexport const bigintId = pipe(\n string(),\n transform((input, ctx) => {\n if (!/^(0|[1-9]\\d{0,19})$/.test(input)) {\n const message = `Invalid bigint id: ${input}`;\n ctx.issues.push({ code: 'custom', input, message });\n return NEVER;\n }\n try {\n return BigInt(input);\n } catch {\n const message = `Parse bigint id: ${input} failed`;\n ctx.issues.push({ code: 'custom', input, message });\n return NEVER;\n }\n })\n);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAA0B;AAC1B,kBAA+C;AAC/C,oBAAwB;AACxB,oBAAuB;AAMhB,SAAS,WACd,QACA,QACA;AACA,aAAO,4BAAU,QAAQ,OAAO,UAAU;AACxC,UAAM,SAAS,MAAM,OAAO,eAAe,KAAK;AAChD,QAAI,OAAO,QAAS,QAAO,OAAO;AAElC,UAAM,kBAAiD,OAAO,MAAM,OAAO;AAAA,MACzE,CAAC,EAAE,MAAM,QAAQ,OAAO,EAAE,OAAO,KAAK,KAAK,GAAG,GAAG,aAAa,QAAQ;AAAA,IACxE;AACA,UAAM,UAAU,sBAAQ,IAAI,EAAE,WAAW,EAAE,gBAAgB,CAAC;AAC5D,UAAM,qBAAO,gBAAgB,EAAE,MAAM,OAAO;AAAA,EAC9C,CAAC;AACH;AAEO,IAAM,eAAW;AAAA,MACtB,oBAAO;AAAA,MACP,uBAAU,CAAC,OAAO,QAAQ;AACxB,QAAI,CAAC,sBAAsB,KAAK,KAAK,GAAG;AACtC,YAAM,UAAU,sBAAsB,KAAK;AAC3C,UAAI,OAAO,KAAK,EAAE,MAAM,UAAU,OAAO,QAAQ,CAAC;AAClD,aAAO;AAAA,IACT;AACA,QAAI;AACF,aAAO,OAAO,KAAK;AAAA,IACrB,QAAQ;AACN,YAAM,UAAU,oBAAoB,KAAK;AACzC,UAAI,OAAO,KAAK,EAAE,MAAM,UAAU,OAAO,QAAQ,CAAC;AAClD,aAAO;AAAA,IACT;AAAA,EACF,CAAC;AACH;","names":[]}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import { ZodMiniType } from 'zod/
|
|
1
|
+
import * as zod_mini from 'zod/mini';
|
|
2
|
+
import { ZodMiniType } from 'zod/mini';
|
|
3
3
|
import * as hono_utils_headers from 'hono/utils/headers';
|
|
4
4
|
import * as hono_types from 'hono/types';
|
|
5
5
|
import * as hono from 'hono';
|
|
6
6
|
import { ValidationTargets } from 'hono';
|
|
7
7
|
import * as zod_v4_core from 'zod/v4/core';
|
|
8
|
-
import { ZodType, output } from 'zod
|
|
8
|
+
import { ZodType, output } from 'zod';
|
|
9
9
|
|
|
10
10
|
declare function zValidator<S extends ZodType | ZodMiniType>(target: keyof ValidationTargets, schema: S): hono.MiddlewareHandler<any, string, {
|
|
11
11
|
in: {
|
|
@@ -25,6 +25,6 @@ declare function zValidator<S extends ZodType | ZodMiniType>(target: keyof Valid
|
|
|
25
25
|
cookie: (S extends ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? output<S> : output<S>) extends infer T_16 ? T_16 extends (S extends ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? output<S> : output<S>) ? T_16 extends Response & hono.TypedResponse<any> ? never : T_16 : never : never;
|
|
26
26
|
};
|
|
27
27
|
}>;
|
|
28
|
-
declare const bigintId:
|
|
28
|
+
declare const bigintId: zod_mini.ZodMiniPipe<zod_mini.ZodMiniString<string>, zod_mini.ZodMiniTransform<bigint, string>>;
|
|
29
29
|
|
|
30
30
|
export { bigintId, zValidator };
|
package/dist/hono/validator.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import { ZodMiniType } from 'zod/
|
|
1
|
+
import * as zod_mini from 'zod/mini';
|
|
2
|
+
import { ZodMiniType } from 'zod/mini';
|
|
3
3
|
import * as hono_utils_headers from 'hono/utils/headers';
|
|
4
4
|
import * as hono_types from 'hono/types';
|
|
5
5
|
import * as hono from 'hono';
|
|
6
6
|
import { ValidationTargets } from 'hono';
|
|
7
7
|
import * as zod_v4_core from 'zod/v4/core';
|
|
8
|
-
import { ZodType, output } from 'zod
|
|
8
|
+
import { ZodType, output } from 'zod';
|
|
9
9
|
|
|
10
10
|
declare function zValidator<S extends ZodType | ZodMiniType>(target: keyof ValidationTargets, schema: S): hono.MiddlewareHandler<any, string, {
|
|
11
11
|
in: {
|
|
@@ -25,6 +25,6 @@ declare function zValidator<S extends ZodType | ZodMiniType>(target: keyof Valid
|
|
|
25
25
|
cookie: (S extends ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? output<S> : output<S>) extends infer T_16 ? T_16 extends (S extends ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? output<S> : output<S>) ? T_16 extends Response & hono.TypedResponse<any> ? never : T_16 : never : never;
|
|
26
26
|
};
|
|
27
27
|
}>;
|
|
28
|
-
declare const bigintId:
|
|
28
|
+
declare const bigintId: zod_mini.ZodMiniPipe<zod_mini.ZodMiniString<string>, zod_mini.ZodMiniTransform<bigint, string>>;
|
|
29
29
|
|
|
30
30
|
export { bigintId, zValidator };
|
package/dist/hono/validator.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// src/hono/validator.ts
|
|
2
2
|
import { validator } from "hono/validator";
|
|
3
|
-
import { transform, pipe, string, NEVER } from "zod/
|
|
3
|
+
import { transform, pipe, string, NEVER } from "zod/mini";
|
|
4
4
|
import { Details } from "../error/detail.mjs";
|
|
5
5
|
import { Status } from "../error/status.mjs";
|
|
6
6
|
function zValidator(target, schema) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/hono/validator.ts"],"sourcesContent":["import { validator } from 'hono/validator';\nimport { transform, pipe, string, NEVER } from 'zod/
|
|
1
|
+
{"version":3,"sources":["../../src/hono/validator.ts"],"sourcesContent":["import { validator } from 'hono/validator';\nimport { transform, pipe, string, NEVER } from 'zod/mini';\nimport { Details } from '../error/detail';\nimport { Status } from '../error/status';\nimport type { BadRequest } from '../error/detail';\nimport type { ValidationTargets } from 'hono';\nimport type { output as outputV4, ZodType } from 'zod';\nimport type { output as outputMini, ZodMiniType } from 'zod/mini';\n\nexport function zValidator<S extends ZodType | ZodMiniType>(\n target: keyof ValidationTargets,\n schema: S\n) {\n return validator(target, async (value) => {\n const result = await schema.safeParseAsync(value);\n if (result.success) return result.data as S extends ZodType ? outputV4<S> : outputMini<S>;\n\n const fieldViolations: BadRequest['fieldViolations'] = result.error.issues.map(\n ({ path, message }) => ({ field: path.join('.'), description: message })\n );\n const details = Details.new().badRequest({ fieldViolations });\n throw Status.invalidArgument().error(details);\n });\n}\n\nexport const bigintId = pipe(\n string(),\n transform((input, ctx) => {\n if (!/^(0|[1-9]\\d{0,19})$/.test(input)) {\n const message = `Invalid bigint id: ${input}`;\n ctx.issues.push({ code: 'custom', input, message });\n return NEVER;\n }\n try {\n return BigInt(input);\n } catch {\n const message = `Parse bigint id: ${input} failed`;\n ctx.issues.push({ code: 'custom', input, message });\n return NEVER;\n }\n })\n);\n"],"mappings":";AAAA,SAAS,iBAAiB;AAC1B,SAAS,WAAW,MAAM,QAAQ,aAAa;AAC/C,SAAS,eAAe;AACxB,SAAS,cAAc;AAMhB,SAAS,WACd,QACA,QACA;AACA,SAAO,UAAU,QAAQ,OAAO,UAAU;AACxC,UAAM,SAAS,MAAM,OAAO,eAAe,KAAK;AAChD,QAAI,OAAO,QAAS,QAAO,OAAO;AAElC,UAAM,kBAAiD,OAAO,MAAM,OAAO;AAAA,MACzE,CAAC,EAAE,MAAM,QAAQ,OAAO,EAAE,OAAO,KAAK,KAAK,GAAG,GAAG,aAAa,QAAQ;AAAA,IACxE;AACA,UAAM,UAAU,QAAQ,IAAI,EAAE,WAAW,EAAE,gBAAgB,CAAC;AAC5D,UAAM,OAAO,gBAAgB,EAAE,MAAM,OAAO;AAAA,EAC9C,CAAC;AACH;AAEO,IAAM,WAAW;AAAA,EACtB,OAAO;AAAA,EACP,UAAU,CAAC,OAAO,QAAQ;AACxB,QAAI,CAAC,sBAAsB,KAAK,KAAK,GAAG;AACtC,YAAM,UAAU,sBAAsB,KAAK;AAC3C,UAAI,OAAO,KAAK,EAAE,MAAM,UAAU,OAAO,QAAQ,CAAC;AAClD,aAAO;AAAA,IACT;AACA,QAAI;AACF,aAAO,OAAO,KAAK;AAAA,IACrB,QAAQ;AACN,YAAM,UAAU,oBAAoB,KAAK;AACzC,UAAI,OAAO,KAAK,EAAE,MAAM,UAAU,OAAO,QAAQ,CAAC;AAClD,aAAO;AAAA,IACT;AAAA,EACF,CAAC;AACH;","names":[]}
|
package/dist/index.d.cts
CHANGED
package/dist/index.d.ts
CHANGED
package/dist/response.cjs
CHANGED
|
@@ -27,13 +27,13 @@ __export(response_exports, {
|
|
|
27
27
|
pageParamsSchema: () => pageParamsSchema
|
|
28
28
|
});
|
|
29
29
|
module.exports = __toCommonJS(response_exports);
|
|
30
|
-
var
|
|
30
|
+
var import_mini = require("zod/mini");
|
|
31
31
|
var import_string = require("./utils/string.cjs");
|
|
32
32
|
function pageParamsSchema(max = 100, defaultLimit = 20) {
|
|
33
|
-
return (0,
|
|
34
|
-
limit: (0,
|
|
35
|
-
prev: (0,
|
|
36
|
-
next: (0,
|
|
33
|
+
return (0, import_mini.object)({
|
|
34
|
+
limit: (0, import_mini._default)(import_mini.coerce.number().check((0, import_mini.int)(), (0, import_mini.minimum)(1), (0, import_mini.maximum)(max)), defaultLimit),
|
|
35
|
+
prev: (0, import_mini.optional)((0, import_mini.string)()),
|
|
36
|
+
next: (0, import_mini.optional)((0, import_mini.string)())
|
|
37
37
|
});
|
|
38
38
|
}
|
|
39
39
|
var Cursor = {
|
|
@@ -48,8 +48,10 @@ var Cursor = {
|
|
|
48
48
|
},
|
|
49
49
|
decode(token, type = "bigint") {
|
|
50
50
|
const value = Buffer.from(token, "base64").toString("utf-8");
|
|
51
|
-
if (type === "bigint")
|
|
52
|
-
|
|
51
|
+
if (type === "bigint")
|
|
52
|
+
return BigInt(value);
|
|
53
|
+
if (type === "number")
|
|
54
|
+
return Number(value);
|
|
53
55
|
return value;
|
|
54
56
|
}
|
|
55
57
|
};
|
package/dist/response.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/response.ts"],"sourcesContent":["import { object, string, coerce, optional, int, minimum, maximum, _default } from 'zod/
|
|
1
|
+
{"version":3,"sources":["../src/response.ts"],"sourcesContent":["import { object, string, coerce, optional, int, minimum, maximum, _default } from 'zod/mini';\nimport { hasText } from './utils/string';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport type Empty = {};\nexport type EntityId = string | number;\nexport type Entity = { id: EntityId };\n\nexport type Response<T = never> = { data: T };\n\nexport type InitParams = { limit: number; parent?: string };\nexport type NextParams = { limit: number; parent?: string; next: string };\nexport type PrevParams = { limit: number; parent?: string; prev: string };\nexport type PageParams = { limit: number; prev?: string; next?: string };\nexport type ParentPageParams = { limit: number; parent: string; prev?: string; next?: string };\nexport type Page<T = never> = { data: T[]; paging: { next: string; prev: string } };\n\nexport function pageParamsSchema(max: number = 100, defaultLimit: number = 20) {\n return object({\n limit: _default(coerce.number().check(int(), minimum(1), maximum(max)), defaultLimit),\n prev: optional(string()),\n next: optional(string()),\n });\n}\n\nexport const Cursor = {\n of(prev: bigint | number | string | undefined, next: bigint | number | string | undefined) {\n return { prev: prev ? this.encode(prev) : '', next: next ? this.encode(next) : '' };\n },\n empty() {\n return { prev: '', next: '' };\n },\n encode(id: bigint | number | string): string {\n return Buffer.from(id.toString(), 'utf-8').toString('base64');\n },\n decode<T extends 'bigint' | 'number' | 'string' = 'bigint'>(\n token: string,\n type: T = 'bigint' as T\n ): T extends 'bigint' ? bigint : T extends 'number' ? number : string {\n const value = Buffer.from(token, 'base64').toString('utf-8');\n if (type === 'bigint')\n return BigInt(value) as T extends 'bigint' ? bigint : T extends 'number' ? number : string;\n if (type === 'number')\n return Number(value) as T extends 'bigint' ? bigint : T extends 'number' ? number : string;\n return value as T extends 'bigint' ? bigint : T extends 'number' ? number : string;\n },\n};\n\nexport const initialPageParam: Omit<PageParams, 'limit'> = { next: '', prev: '' };\n\nexport function getPreviousPageParam<T = never>(first: Page<T>): Omit<PageParams, 'limit'> | null {\n return hasText(first.paging.prev) ? { next: '', prev: first.paging.prev } : null;\n}\n\nexport function getNextPageParam<T = never>(last: Page<T>): Omit<PageParams, 'limit'> | null {\n return hasText(last.paging.next) ? { next: last.paging.next, prev: '' } : null;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAkF;AAClF,oBAAwB;AAgBjB,SAAS,iBAAiB,MAAc,KAAK,eAAuB,IAAI;AAC7E,aAAO,oBAAO;AAAA,IACZ,WAAO,sBAAS,mBAAO,OAAO,EAAE,UAAM,iBAAI,OAAG,qBAAQ,CAAC,OAAG,qBAAQ,GAAG,CAAC,GAAG,YAAY;AAAA,IACpF,UAAM,0BAAS,oBAAO,CAAC;AAAA,IACvB,UAAM,0BAAS,oBAAO,CAAC;AAAA,EACzB,CAAC;AACH;AAEO,IAAM,SAAS;AAAA,EACpB,GAAG,MAA4C,MAA4C;AACzF,WAAO,EAAE,MAAM,OAAO,KAAK,OAAO,IAAI,IAAI,IAAI,MAAM,OAAO,KAAK,OAAO,IAAI,IAAI,GAAG;AAAA,EACpF;AAAA,EACA,QAAQ;AACN,WAAO,EAAE,MAAM,IAAI,MAAM,GAAG;AAAA,EAC9B;AAAA,EACA,OAAO,IAAsC;AAC3C,WAAO,OAAO,KAAK,GAAG,SAAS,GAAG,OAAO,EAAE,SAAS,QAAQ;AAAA,EAC9D;AAAA,EACA,OACE,OACA,OAAU,UAC0D;AACpE,UAAM,QAAQ,OAAO,KAAK,OAAO,QAAQ,EAAE,SAAS,OAAO;AAC3D,QAAI,SAAS;AACX,aAAO,OAAO,KAAK;AACrB,QAAI,SAAS;AACX,aAAO,OAAO,KAAK;AACrB,WAAO;AAAA,EACT;AACF;AAEO,IAAM,mBAA8C,EAAE,MAAM,IAAI,MAAM,GAAG;AAEzE,SAAS,qBAAgC,OAAkD;AAChG,aAAO,uBAAQ,MAAM,OAAO,IAAI,IAAI,EAAE,MAAM,IAAI,MAAM,MAAM,OAAO,KAAK,IAAI;AAC9E;AAEO,SAAS,iBAA4B,MAAiD;AAC3F,aAAO,uBAAQ,KAAK,OAAO,IAAI,IAAI,EAAE,MAAM,KAAK,OAAO,MAAM,MAAM,GAAG,IAAI;AAC5E;","names":[]}
|
package/dist/response.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as zod_v4_core from 'zod/v4/core';
|
|
2
|
-
import * as
|
|
2
|
+
import * as zod_mini from 'zod/mini';
|
|
3
3
|
|
|
4
4
|
type Empty = {};
|
|
5
5
|
type EntityId = string | number;
|
|
@@ -41,10 +41,10 @@ type Page<T = never> = {
|
|
|
41
41
|
prev: string;
|
|
42
42
|
};
|
|
43
43
|
};
|
|
44
|
-
declare function pageParamsSchema(max?: number, defaultLimit?: number):
|
|
45
|
-
limit:
|
|
46
|
-
prev:
|
|
47
|
-
next:
|
|
44
|
+
declare function pageParamsSchema(max?: number, defaultLimit?: number): zod_mini.ZodMiniObject<{
|
|
45
|
+
limit: zod_mini.ZodMiniDefault<zod_mini.ZodMiniNumber<unknown>>;
|
|
46
|
+
prev: zod_mini.ZodMiniOptional<zod_mini.ZodMiniString<string>>;
|
|
47
|
+
next: zod_mini.ZodMiniOptional<zod_mini.ZodMiniString<string>>;
|
|
48
48
|
}, zod_v4_core.$strip>;
|
|
49
49
|
declare const Cursor: {
|
|
50
50
|
of(prev: bigint | number | string | undefined, next: bigint | number | string | undefined): {
|
package/dist/response.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as zod_v4_core from 'zod/v4/core';
|
|
2
|
-
import * as
|
|
2
|
+
import * as zod_mini from 'zod/mini';
|
|
3
3
|
|
|
4
4
|
type Empty = {};
|
|
5
5
|
type EntityId = string | number;
|
|
@@ -41,10 +41,10 @@ type Page<T = never> = {
|
|
|
41
41
|
prev: string;
|
|
42
42
|
};
|
|
43
43
|
};
|
|
44
|
-
declare function pageParamsSchema(max?: number, defaultLimit?: number):
|
|
45
|
-
limit:
|
|
46
|
-
prev:
|
|
47
|
-
next:
|
|
44
|
+
declare function pageParamsSchema(max?: number, defaultLimit?: number): zod_mini.ZodMiniObject<{
|
|
45
|
+
limit: zod_mini.ZodMiniDefault<zod_mini.ZodMiniNumber<unknown>>;
|
|
46
|
+
prev: zod_mini.ZodMiniOptional<zod_mini.ZodMiniString<string>>;
|
|
47
|
+
next: zod_mini.ZodMiniOptional<zod_mini.ZodMiniString<string>>;
|
|
48
48
|
}, zod_v4_core.$strip>;
|
|
49
49
|
declare const Cursor: {
|
|
50
50
|
of(prev: bigint | number | string | undefined, next: bigint | number | string | undefined): {
|
package/dist/response.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// src/response.ts
|
|
2
|
-
import { object, string, coerce, optional, int, minimum, maximum, _default } from "zod/
|
|
2
|
+
import { object, string, coerce, optional, int, minimum, maximum, _default } from "zod/mini";
|
|
3
3
|
import { hasText } from "./utils/string.mjs";
|
|
4
4
|
function pageParamsSchema(max = 100, defaultLimit = 20) {
|
|
5
5
|
return object({
|
|
@@ -20,8 +20,10 @@ var Cursor = {
|
|
|
20
20
|
},
|
|
21
21
|
decode(token, type = "bigint") {
|
|
22
22
|
const value = Buffer.from(token, "base64").toString("utf-8");
|
|
23
|
-
if (type === "bigint")
|
|
24
|
-
|
|
23
|
+
if (type === "bigint")
|
|
24
|
+
return BigInt(value);
|
|
25
|
+
if (type === "number")
|
|
26
|
+
return Number(value);
|
|
25
27
|
return value;
|
|
26
28
|
}
|
|
27
29
|
};
|
package/dist/response.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/response.ts"],"sourcesContent":["import { object, string, coerce, optional, int, minimum, maximum, _default } from 'zod/
|
|
1
|
+
{"version":3,"sources":["../src/response.ts"],"sourcesContent":["import { object, string, coerce, optional, int, minimum, maximum, _default } from 'zod/mini';\nimport { hasText } from './utils/string';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport type Empty = {};\nexport type EntityId = string | number;\nexport type Entity = { id: EntityId };\n\nexport type Response<T = never> = { data: T };\n\nexport type InitParams = { limit: number; parent?: string };\nexport type NextParams = { limit: number; parent?: string; next: string };\nexport type PrevParams = { limit: number; parent?: string; prev: string };\nexport type PageParams = { limit: number; prev?: string; next?: string };\nexport type ParentPageParams = { limit: number; parent: string; prev?: string; next?: string };\nexport type Page<T = never> = { data: T[]; paging: { next: string; prev: string } };\n\nexport function pageParamsSchema(max: number = 100, defaultLimit: number = 20) {\n return object({\n limit: _default(coerce.number().check(int(), minimum(1), maximum(max)), defaultLimit),\n prev: optional(string()),\n next: optional(string()),\n });\n}\n\nexport const Cursor = {\n of(prev: bigint | number | string | undefined, next: bigint | number | string | undefined) {\n return { prev: prev ? this.encode(prev) : '', next: next ? this.encode(next) : '' };\n },\n empty() {\n return { prev: '', next: '' };\n },\n encode(id: bigint | number | string): string {\n return Buffer.from(id.toString(), 'utf-8').toString('base64');\n },\n decode<T extends 'bigint' | 'number' | 'string' = 'bigint'>(\n token: string,\n type: T = 'bigint' as T\n ): T extends 'bigint' ? bigint : T extends 'number' ? number : string {\n const value = Buffer.from(token, 'base64').toString('utf-8');\n if (type === 'bigint')\n return BigInt(value) as T extends 'bigint' ? bigint : T extends 'number' ? number : string;\n if (type === 'number')\n return Number(value) as T extends 'bigint' ? bigint : T extends 'number' ? number : string;\n return value as T extends 'bigint' ? bigint : T extends 'number' ? number : string;\n },\n};\n\nexport const initialPageParam: Omit<PageParams, 'limit'> = { next: '', prev: '' };\n\nexport function getPreviousPageParam<T = never>(first: Page<T>): Omit<PageParams, 'limit'> | null {\n return hasText(first.paging.prev) ? { next: '', prev: first.paging.prev } : null;\n}\n\nexport function getNextPageParam<T = never>(last: Page<T>): Omit<PageParams, 'limit'> | null {\n return hasText(last.paging.next) ? { next: last.paging.next, prev: '' } : null;\n}\n"],"mappings":";AAAA,SAAS,QAAQ,QAAQ,QAAQ,UAAU,KAAK,SAAS,SAAS,gBAAgB;AAClF,SAAS,eAAe;AAgBjB,SAAS,iBAAiB,MAAc,KAAK,eAAuB,IAAI;AAC7E,SAAO,OAAO;AAAA,IACZ,OAAO,SAAS,OAAO,OAAO,EAAE,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,QAAQ,GAAG,CAAC,GAAG,YAAY;AAAA,IACpF,MAAM,SAAS,OAAO,CAAC;AAAA,IACvB,MAAM,SAAS,OAAO,CAAC;AAAA,EACzB,CAAC;AACH;AAEO,IAAM,SAAS;AAAA,EACpB,GAAG,MAA4C,MAA4C;AACzF,WAAO,EAAE,MAAM,OAAO,KAAK,OAAO,IAAI,IAAI,IAAI,MAAM,OAAO,KAAK,OAAO,IAAI,IAAI,GAAG;AAAA,EACpF;AAAA,EACA,QAAQ;AACN,WAAO,EAAE,MAAM,IAAI,MAAM,GAAG;AAAA,EAC9B;AAAA,EACA,OAAO,IAAsC;AAC3C,WAAO,OAAO,KAAK,GAAG,SAAS,GAAG,OAAO,EAAE,SAAS,QAAQ;AAAA,EAC9D;AAAA,EACA,OACE,OACA,OAAU,UAC0D;AACpE,UAAM,QAAQ,OAAO,KAAK,OAAO,QAAQ,EAAE,SAAS,OAAO;AAC3D,QAAI,SAAS;AACX,aAAO,OAAO,KAAK;AACrB,QAAI,SAAS;AACX,aAAO,OAAO,KAAK;AACrB,WAAO;AAAA,EACT;AACF;AAEO,IAAM,mBAA8C,EAAE,MAAM,IAAI,MAAM,GAAG;AAEzE,SAAS,qBAAgC,OAAkD;AAChG,SAAO,QAAQ,MAAM,OAAO,IAAI,IAAI,EAAE,MAAM,IAAI,MAAM,MAAM,OAAO,KAAK,IAAI;AAC9E;AAEO,SAAS,iBAA4B,MAAiD;AAC3F,SAAO,QAAQ,KAAK,OAAO,IAAI,IAAI,EAAE,MAAM,KAAK,OAAO,MAAM,MAAM,GAAG,IAAI;AAC5E;","names":[]}
|
package/dist/vaild.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/vaild.ts"],"sourcesContent":["import { Details, BadRequest } from './error/detail';\nimport { Status } from './error/status';\nimport type { z, ZodMiniType } from 'zod/
|
|
1
|
+
{"version":3,"sources":["../src/vaild.ts"],"sourcesContent":["import { Details, BadRequest } from './error/detail';\nimport { Status } from './error/status';\nimport type { z, ZodMiniType } from 'zod/mini';\n\nexport type Result<S extends ZodMiniType> =\n | { data: z.infer<S>; error: null }\n | { data: null; error: Response };\n\ntype Target = 'json' | 'form' | 'query' | 'param' | 'header' | 'cookie';\n\nasync function getTarget(request: Request, target: Target): Promise<any> {\n switch (target) {\n case 'json':\n return request.json();\n default:\n throw new Error(`Unsupported target: ${target}`);\n }\n}\n\nexport async function valid<S extends ZodMiniType>(\n request: Request,\n target: Target,\n schema: S\n): Promise<Result<S>> {\n const value = await getTarget(request, target);\n const validator = await schema.safeParseAsync(value);\n if (validator.success) return { data: validator.data, error: null };\n const fieldViolations: BadRequest['fieldViolations'] = validator.error.issues.map(\n ({ path, message }) => ({ field: path.join('.'), description: message })\n );\n const details = Details.new().badRequest({ fieldViolations });\n const error = Status.invalidArgument().response(details);\n return { data: null, error };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAoC;AACpC,oBAAuB;AASvB,eAAe,UAAU,SAAkB,QAA8B;AACvE,UAAQ,QAAQ;AAAA,IACd,KAAK;AACH,aAAO,QAAQ,KAAK;AAAA,IACtB;AACE,YAAM,IAAI,MAAM,uBAAuB,MAAM,EAAE;AAAA,EACnD;AACF;AAEA,eAAsB,MACpB,SACA,QACA,QACoB;AACpB,QAAM,QAAQ,MAAM,UAAU,SAAS,MAAM;AAC7C,QAAM,YAAY,MAAM,OAAO,eAAe,KAAK;AACnD,MAAI,UAAU,QAAS,QAAO,EAAE,MAAM,UAAU,MAAM,OAAO,KAAK;AAClE,QAAM,kBAAiD,UAAU,MAAM,OAAO;AAAA,IAC5E,CAAC,EAAE,MAAM,QAAQ,OAAO,EAAE,OAAO,KAAK,KAAK,GAAG,GAAG,aAAa,QAAQ;AAAA,EACxE;AACA,QAAM,UAAU,sBAAQ,IAAI,EAAE,WAAW,EAAE,gBAAgB,CAAC;AAC5D,QAAM,QAAQ,qBAAO,gBAAgB,EAAE,SAAS,OAAO;AACvD,SAAO,EAAE,MAAM,MAAM,MAAM;AAC7B;","names":[]}
|
package/dist/vaild.d.cts
CHANGED
package/dist/vaild.d.ts
CHANGED
package/dist/vaild.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/vaild.ts"],"sourcesContent":["import { Details, BadRequest } from './error/detail';\nimport { Status } from './error/status';\nimport type { z, ZodMiniType } from 'zod/
|
|
1
|
+
{"version":3,"sources":["../src/vaild.ts"],"sourcesContent":["import { Details, BadRequest } from './error/detail';\nimport { Status } from './error/status';\nimport type { z, ZodMiniType } from 'zod/mini';\n\nexport type Result<S extends ZodMiniType> =\n | { data: z.infer<S>; error: null }\n | { data: null; error: Response };\n\ntype Target = 'json' | 'form' | 'query' | 'param' | 'header' | 'cookie';\n\nasync function getTarget(request: Request, target: Target): Promise<any> {\n switch (target) {\n case 'json':\n return request.json();\n default:\n throw new Error(`Unsupported target: ${target}`);\n }\n}\n\nexport async function valid<S extends ZodMiniType>(\n request: Request,\n target: Target,\n schema: S\n): Promise<Result<S>> {\n const value = await getTarget(request, target);\n const validator = await schema.safeParseAsync(value);\n if (validator.success) return { data: validator.data, error: null };\n const fieldViolations: BadRequest['fieldViolations'] = validator.error.issues.map(\n ({ path, message }) => ({ field: path.join('.'), description: message })\n );\n const details = Details.new().badRequest({ fieldViolations });\n const error = Status.invalidArgument().response(details);\n return { data: null, error };\n}\n"],"mappings":";AAAA,SAAS,eAA2B;AACpC,SAAS,cAAc;AASvB,eAAe,UAAU,SAAkB,QAA8B;AACvE,UAAQ,QAAQ;AAAA,IACd,KAAK;AACH,aAAO,QAAQ,KAAK;AAAA,IACtB;AACE,YAAM,IAAI,MAAM,uBAAuB,MAAM,EAAE;AAAA,EACnD;AACF;AAEA,eAAsB,MACpB,SACA,QACA,QACoB;AACpB,QAAM,QAAQ,MAAM,UAAU,SAAS,MAAM;AAC7C,QAAM,YAAY,MAAM,OAAO,eAAe,KAAK;AACnD,MAAI,UAAU,QAAS,QAAO,EAAE,MAAM,UAAU,MAAM,OAAO,KAAK;AAClE,QAAM,kBAAiD,UAAU,MAAM,OAAO;AAAA,IAC5E,CAAC,EAAE,MAAM,QAAQ,OAAO,EAAE,OAAO,KAAK,KAAK,GAAG,GAAG,aAAa,QAAQ;AAAA,EACxE;AACA,QAAM,UAAU,QAAQ,IAAI,EAAE,WAAW,EAAE,gBAAgB,CAAC;AAC5D,QAAM,QAAQ,OAAO,gBAAgB,EAAE,SAAS,OAAO;AACvD,SAAO,EAAE,MAAM,MAAM,MAAM;AAC7B;","names":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shware/http",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.4",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"scripts": {
|
|
@@ -48,14 +48,14 @@
|
|
|
48
48
|
"@repo/eslint-config": "workspace:*",
|
|
49
49
|
"@repo/typescript-config": "workspace:*",
|
|
50
50
|
"@types/jest": "^30.0.0",
|
|
51
|
-
"@types/node": "^24.0.
|
|
51
|
+
"@types/node": "^24.0.12",
|
|
52
52
|
"@types/react": "^19.1.8",
|
|
53
53
|
"jest": "^30.0.4",
|
|
54
54
|
"ts-jest": "^29.4.0",
|
|
55
55
|
"typescript": "^5.8.3"
|
|
56
56
|
},
|
|
57
57
|
"dependencies": {
|
|
58
|
-
"zod": "^
|
|
58
|
+
"zod": "^4.0.2"
|
|
59
59
|
},
|
|
60
60
|
"peerDependencies": {
|
|
61
61
|
"axios": "^1.10.0",
|