@shware/http 2.2.2 → 2.2.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.
@@ -5,7 +5,7 @@ export { AuthorizerConfig, authorizer } from './authorizer.cjs';
5
5
  export { CSRFConfig, CSRFIgnoreRule, csrf } from './csrf.cjs';
6
6
  import 'zod/mini';
7
7
  import 'hono/utils/http-status';
8
- import 'hono/utils/headers';
8
+ import 'hono/validator';
9
9
  import 'hono/types';
10
10
  import 'hono';
11
11
  import 'zod/v4/core';
@@ -5,7 +5,7 @@ export { AuthorizerConfig, authorizer } from './authorizer.js';
5
5
  export { CSRFConfig, CSRFIgnoreRule, csrf } from './csrf.js';
6
6
  import 'zod/mini';
7
7
  import 'hono/utils/http-status';
8
- import 'hono/utils/headers';
8
+ import 'hono/validator';
9
9
  import 'hono/types';
10
10
  import 'hono';
11
11
  import 'zod/v4/core';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/hono/validator.ts"],"sourcesContent":["import { validator } from 'hono/validator';\nimport { NEVER, pipe, string, transform } 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 { ZodType, output as outputV4 } from 'zod';\nimport type { ZodMiniType, output as outputMini } 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 ({ code, path, message }) => ({\n field: path.join('.'),\n description: message,\n reason: code?.toUpperCase() ?? 'INVALID_ARGUMENT',\n localizedMessage: { locale: 'en-US', message: message },\n })\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,MAAM,QAAQ,OAAO;AAAA,QAC5B,OAAO,KAAK,KAAK,GAAG;AAAA,QACpB,aAAa;AAAA,QACb,QAAQ,MAAM,YAAY,KAAK;AAAA,QAC/B,kBAAkB,EAAE,QAAQ,SAAS,QAAiB;AAAA,MACxD;AAAA,IACF;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
+ {"version":3,"sources":["../../src/hono/validator.ts"],"sourcesContent":["import { validator } from 'hono/validator';\nimport {\n NEVER,\n type ZodMiniType,\n type output as outputMini,\n pipe,\n string,\n transform,\n} from 'zod/mini';\nimport { type BadRequest, Details } from '../error/detail';\nimport { Status } from '../error/status';\nimport type { ValidationTargets } from 'hono';\nimport type { ZodType, output as outputV4 } from 'zod';\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 ({ code, path, message }) => ({\n field: path.join('.'),\n description: message,\n reason: code?.toUpperCase() ?? 'INVALID_ARGUMENT',\n localizedMessage: { locale: 'en-US', message: message },\n })\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,kBAOO;AACP,oBAAyC;AACzC,oBAAuB;AAIhB,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,MAAM,QAAQ,OAAO;AAAA,QAC5B,OAAO,KAAK,KAAK,GAAG;AAAA,QACpB,aAAa;AAAA,QACb,QAAQ,MAAM,YAAY,KAAK;AAAA,QAC/B,kBAAkB,EAAE,QAAQ,SAAS,QAAiB;AAAA,MACxD;AAAA,IACF;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,21 +1,21 @@
1
1
  import * as zod_mini from 'zod/mini';
2
- import { ZodMiniType } from 'zod/mini';
2
+ import { ZodMiniType, output } from 'zod/mini';
3
3
  import * as hono_utils_http_status from 'hono/utils/http-status';
4
- import * as hono_utils_headers from 'hono/utils/headers';
4
+ import * as hono_validator from 'hono/validator';
5
5
  import * as hono_types from 'hono/types';
6
6
  import * as hono from 'hono';
7
7
  import { ValidationTargets } from 'hono';
8
8
  import * as zod_v4_core from 'zod/v4/core';
9
- import { ZodType, output } from 'zod';
9
+ import { ZodType } from 'zod';
10
10
 
11
11
  declare function zValidator<S extends ZodType | ZodMiniType>(target: keyof ValidationTargets, schema: S): hono.MiddlewareHandler<any, string, {
12
12
  in: {
13
13
  json: (S extends ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? output<S> : output<S>) extends infer T ? T extends (S extends ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? output<S> : output<S>) ? T extends Response | hono.TypedResponse<any, any, any> ? never : T : never : never;
14
- form: { [K2 in keyof ((S extends ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? output<S> : output<S>) extends infer T_1 ? T_1 extends (S extends ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? output<S> : output<S>) ? T_1 extends Response | hono.TypedResponse<any, any, any> ? never : T_1 : never : never)]: Record<string, hono_types.FormValue | hono_types.FormValue[]>[K2]; };
15
- query: { [K2_1 in keyof ((S extends ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? output<S> : output<S>) extends infer T_2 ? T_2 extends (S extends ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? output<S> : output<S>) ? T_2 extends Response | hono.TypedResponse<any, any, any> ? never : T_2 : never : never)]: Record<string, string | string[]>[K2_1]; };
16
- param: { [K2_2 in keyof ((S extends ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? output<S> : output<S>) extends infer T_3 ? T_3 extends (S extends ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? output<S> : output<S>) ? T_3 extends Response | hono.TypedResponse<any, any, any> ? never : T_3 : never : never)]: Record<string, string>[K2_2]; };
17
- header: { [K2_3 in keyof ((S extends ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? output<S> : output<S>) extends infer T_4 ? T_4 extends (S extends ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? output<S> : output<S>) ? T_4 extends Response | hono.TypedResponse<any, any, any> ? never : T_4 : never : never)]: Record<hono_utils_headers.RequestHeader | hono_utils_headers.CustomHeader, string>[K2_3]; };
18
- cookie: { [K2_4 in keyof ((S extends ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? output<S> : output<S>) extends infer T_5 ? T_5 extends (S extends ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? output<S> : output<S>) ? T_5 extends Response | hono.TypedResponse<any, any, any> ? never : T_5 : never : never)]: Record<string, string>[K2_4]; };
14
+ form: hono_validator.InferInput<(S extends ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? output<S> : output<S>) extends infer T_1 ? T_1 extends (S extends ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? output<S> : output<S>) ? T_1 extends Response | hono.TypedResponse<any, any, any> ? never : T_1 : never : never, "form", hono_types.FormValue>;
15
+ query: hono_validator.InferInput<(S extends ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? output<S> : output<S>) extends infer T_2 ? T_2 extends (S extends ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? output<S> : output<S>) ? T_2 extends Response | hono.TypedResponse<any, any, any> ? never : T_2 : never : never, "query", hono_types.FormValue>;
16
+ param: hono_validator.InferInput<(S extends ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? output<S> : output<S>) extends infer T_3 ? T_3 extends (S extends ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? output<S> : output<S>) ? T_3 extends Response | hono.TypedResponse<any, any, any> ? never : T_3 : never : never, "param", hono_types.FormValue>;
17
+ header: hono_validator.InferInput<(S extends ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? output<S> : output<S>) extends infer T_4 ? T_4 extends (S extends ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? output<S> : output<S>) ? T_4 extends Response | hono.TypedResponse<any, any, any> ? never : T_4 : never : never, "header", hono_types.FormValue>;
18
+ cookie: hono_validator.InferInput<(S extends ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? output<S> : output<S>) extends infer T_5 ? T_5 extends (S extends ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? output<S> : output<S>) ? T_5 extends Response | hono.TypedResponse<any, any, any> ? never : T_5 : never : never, "cookie", hono_types.FormValue>;
19
19
  };
20
20
  out: {
21
21
  json: (S extends ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? output<S> : output<S>) extends infer T_6 ? T_6 extends (S extends ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? output<S> : output<S>) ? T_6 extends Response | hono.TypedResponse<any, any, any> ? never : T_6 : never : never;
@@ -1,21 +1,21 @@
1
1
  import * as zod_mini from 'zod/mini';
2
- import { ZodMiniType } from 'zod/mini';
2
+ import { ZodMiniType, output } from 'zod/mini';
3
3
  import * as hono_utils_http_status from 'hono/utils/http-status';
4
- import * as hono_utils_headers from 'hono/utils/headers';
4
+ import * as hono_validator from 'hono/validator';
5
5
  import * as hono_types from 'hono/types';
6
6
  import * as hono from 'hono';
7
7
  import { ValidationTargets } from 'hono';
8
8
  import * as zod_v4_core from 'zod/v4/core';
9
- import { ZodType, output } from 'zod';
9
+ import { ZodType } from 'zod';
10
10
 
11
11
  declare function zValidator<S extends ZodType | ZodMiniType>(target: keyof ValidationTargets, schema: S): hono.MiddlewareHandler<any, string, {
12
12
  in: {
13
13
  json: (S extends ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? output<S> : output<S>) extends infer T ? T extends (S extends ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? output<S> : output<S>) ? T extends Response | hono.TypedResponse<any, any, any> ? never : T : never : never;
14
- form: { [K2 in keyof ((S extends ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? output<S> : output<S>) extends infer T_1 ? T_1 extends (S extends ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? output<S> : output<S>) ? T_1 extends Response | hono.TypedResponse<any, any, any> ? never : T_1 : never : never)]: Record<string, hono_types.FormValue | hono_types.FormValue[]>[K2]; };
15
- query: { [K2_1 in keyof ((S extends ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? output<S> : output<S>) extends infer T_2 ? T_2 extends (S extends ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? output<S> : output<S>) ? T_2 extends Response | hono.TypedResponse<any, any, any> ? never : T_2 : never : never)]: Record<string, string | string[]>[K2_1]; };
16
- param: { [K2_2 in keyof ((S extends ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? output<S> : output<S>) extends infer T_3 ? T_3 extends (S extends ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? output<S> : output<S>) ? T_3 extends Response | hono.TypedResponse<any, any, any> ? never : T_3 : never : never)]: Record<string, string>[K2_2]; };
17
- header: { [K2_3 in keyof ((S extends ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? output<S> : output<S>) extends infer T_4 ? T_4 extends (S extends ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? output<S> : output<S>) ? T_4 extends Response | hono.TypedResponse<any, any, any> ? never : T_4 : never : never)]: Record<hono_utils_headers.RequestHeader | hono_utils_headers.CustomHeader, string>[K2_3]; };
18
- cookie: { [K2_4 in keyof ((S extends ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? output<S> : output<S>) extends infer T_5 ? T_5 extends (S extends ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? output<S> : output<S>) ? T_5 extends Response | hono.TypedResponse<any, any, any> ? never : T_5 : never : never)]: Record<string, string>[K2_4]; };
14
+ form: hono_validator.InferInput<(S extends ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? output<S> : output<S>) extends infer T_1 ? T_1 extends (S extends ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? output<S> : output<S>) ? T_1 extends Response | hono.TypedResponse<any, any, any> ? never : T_1 : never : never, "form", hono_types.FormValue>;
15
+ query: hono_validator.InferInput<(S extends ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? output<S> : output<S>) extends infer T_2 ? T_2 extends (S extends ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? output<S> : output<S>) ? T_2 extends Response | hono.TypedResponse<any, any, any> ? never : T_2 : never : never, "query", hono_types.FormValue>;
16
+ param: hono_validator.InferInput<(S extends ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? output<S> : output<S>) extends infer T_3 ? T_3 extends (S extends ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? output<S> : output<S>) ? T_3 extends Response | hono.TypedResponse<any, any, any> ? never : T_3 : never : never, "param", hono_types.FormValue>;
17
+ header: hono_validator.InferInput<(S extends ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? output<S> : output<S>) extends infer T_4 ? T_4 extends (S extends ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? output<S> : output<S>) ? T_4 extends Response | hono.TypedResponse<any, any, any> ? never : T_4 : never : never, "header", hono_types.FormValue>;
18
+ cookie: hono_validator.InferInput<(S extends ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? output<S> : output<S>) extends infer T_5 ? T_5 extends (S extends ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? output<S> : output<S>) ? T_5 extends Response | hono.TypedResponse<any, any, any> ? never : T_5 : never : never, "cookie", hono_types.FormValue>;
19
19
  };
20
20
  out: {
21
21
  json: (S extends ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? output<S> : output<S>) extends infer T_6 ? T_6 extends (S extends ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? output<S> : output<S>) ? T_6 extends Response | hono.TypedResponse<any, any, any> ? never : T_6 : never : never;
@@ -1,6 +1,11 @@
1
1
  // src/hono/validator.ts
2
2
  import { validator } from "hono/validator";
3
- import { NEVER, pipe, string, transform } from "zod/mini";
3
+ import {
4
+ NEVER,
5
+ pipe,
6
+ string,
7
+ transform
8
+ } from "zod/mini";
4
9
  import { Details } from "../error/detail.mjs";
5
10
  import { Status } from "../error/status.mjs";
6
11
  function zValidator(target, schema) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/hono/validator.ts"],"sourcesContent":["import { validator } from 'hono/validator';\nimport { NEVER, pipe, string, transform } 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 { ZodType, output as outputV4 } from 'zod';\nimport type { ZodMiniType, output as outputMini } 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 ({ code, path, message }) => ({\n field: path.join('.'),\n description: message,\n reason: code?.toUpperCase() ?? 'INVALID_ARGUMENT',\n localizedMessage: { locale: 'en-US', message: message },\n })\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,OAAO,MAAM,QAAQ,iBAAiB;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,MAAM,QAAQ,OAAO;AAAA,QAC5B,OAAO,KAAK,KAAK,GAAG;AAAA,QACpB,aAAa;AAAA,QACb,QAAQ,MAAM,YAAY,KAAK;AAAA,QAC/B,kBAAkB,EAAE,QAAQ,SAAS,QAAiB;AAAA,MACxD;AAAA,IACF;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":[]}
1
+ {"version":3,"sources":["../../src/hono/validator.ts"],"sourcesContent":["import { validator } from 'hono/validator';\nimport {\n NEVER,\n type ZodMiniType,\n type output as outputMini,\n pipe,\n string,\n transform,\n} from 'zod/mini';\nimport { type BadRequest, Details } from '../error/detail';\nimport { Status } from '../error/status';\nimport type { ValidationTargets } from 'hono';\nimport type { ZodType, output as outputV4 } from 'zod';\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 ({ code, path, message }) => ({\n field: path.join('.'),\n description: message,\n reason: code?.toUpperCase() ?? 'INVALID_ARGUMENT',\n localizedMessage: { locale: 'en-US', message: message },\n })\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;AAAA,EACE;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAA0B,eAAe;AACzC,SAAS,cAAc;AAIhB,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,MAAM,QAAQ,OAAO;AAAA,QAC5B,OAAO,KAAK,KAAK,GAAG;AAAA,QACpB,aAAa;AAAA,QACb,QAAQ,MAAM,YAAY,KAAK;AAAA,QAC/B,kBAAkB,EAAE,QAAQ,SAAS,QAAiB;AAAA,MACxD;AAAA,IACF;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":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/response.ts"],"sourcesContent":["import { hasText } from '@shware/utils';\nimport { _default, coerce, int, maximum, minimum, object, optional, string } from 'zod/mini';\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,mBAAwB;AACxB,kBAAkF;AAgB3E,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,sBAAQ,MAAM,OAAO,IAAI,IAAI,EAAE,MAAM,IAAI,MAAM,MAAM,OAAO,KAAK,IAAI;AAC9E;AAEO,SAAS,iBAA4B,MAAiD;AAC3F,aAAO,sBAAQ,KAAK,OAAO,IAAI,IAAI,EAAE,MAAM,KAAK,OAAO,MAAM,MAAM,GAAG,IAAI;AAC5E;","names":[]}
1
+ {"version":3,"sources":["../src/response.ts"],"sourcesContent":["import { hasText } from '@shware/utils';\nimport { _default, coerce, int, maximum, minimum, object, optional, string } from 'zod/mini';\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 = 100, defaultLimit = 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,mBAAwB;AACxB,kBAAkF;AAgB3E,SAAS,iBAAiB,MAAM,KAAK,eAAe,IAAI;AAC7D,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,sBAAQ,MAAM,OAAO,IAAI,IAAI,EAAE,MAAM,IAAI,MAAM,MAAM,OAAO,KAAK,IAAI;AAC9E;AAEO,SAAS,iBAA4B,MAAiD;AAC3F,aAAO,sBAAQ,KAAK,OAAO,IAAI,IAAI,EAAE,MAAM,KAAK,OAAO,MAAM,MAAM,GAAG,IAAI;AAC5E;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/response.ts"],"sourcesContent":["import { hasText } from '@shware/utils';\nimport { _default, coerce, int, maximum, minimum, object, optional, string } from 'zod/mini';\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,eAAe;AACxB,SAAS,UAAU,QAAQ,KAAK,SAAS,SAAS,QAAQ,UAAU,cAAc;AAgB3E,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":[]}
1
+ {"version":3,"sources":["../src/response.ts"],"sourcesContent":["import { hasText } from '@shware/utils';\nimport { _default, coerce, int, maximum, minimum, object, optional, string } from 'zod/mini';\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 = 100, defaultLimit = 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,eAAe;AACxB,SAAS,UAAU,QAAQ,KAAK,SAAS,SAAS,QAAQ,UAAU,cAAc;AAgB3E,SAAS,iBAAiB,MAAM,KAAK,eAAe,IAAI;AAC7D,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/package.json CHANGED
@@ -1,12 +1,15 @@
1
1
  {
2
2
  "name": "@shware/http",
3
- "version": "2.2.2",
3
+ "version": "2.2.4",
4
4
  "private": false,
5
- "type": "module",
6
5
  "repository": {
7
6
  "type": "git",
8
7
  "url": "git+https://github.com/ShwareHQ/shware-sdk.git"
9
8
  },
9
+ "files": [
10
+ "dist"
11
+ ],
12
+ "type": "module",
10
13
  "exports": {
11
14
  ".": {
12
15
  "types": "./dist/index.d.ts",
@@ -34,22 +37,16 @@
34
37
  "require": "./dist/google-one-tap/index.cjs"
35
38
  }
36
39
  },
37
- "files": [
38
- "dist"
39
- ],
40
+ "dependencies": {
41
+ "vitest": "^4.0.16",
42
+ "zod": "^4.3.5",
43
+ "@shware/utils": "^1.1.4"
44
+ },
40
45
  "devDependencies": {
41
- "@types/jest": "^30.0.0",
42
- "@types/node": "^24.10.2",
46
+ "@types/node": "^24",
43
47
  "@types/react": "^19.2.7",
44
- "jest": "^30.2.0",
45
- "ts-jest": "^29.4.6",
46
48
  "typescript": "^5.9.3",
47
- "@repo/typescript-config": "0.0.0",
48
- "@repo/eslint-config": "0.0.11"
49
- },
50
- "dependencies": {
51
- "zod": "^4.2.1",
52
- "@shware/utils": "^1.1.1"
49
+ "@repo/typescript-config": "0.0.0"
53
50
  },
54
51
  "peerDependencies": {
55
52
  "hono": "^4.10.4",
@@ -70,8 +67,8 @@
70
67
  "scripts": {
71
68
  "dev": "tsc --watch",
72
69
  "build": "tsup",
73
- "test": "jest",
70
+ "test": "vitest run",
74
71
  "check-types": "tsc --noEmit",
75
- "lint": "npx eslint . --fix --ext .js,.jsx,.ts,.tsx"
72
+ "lint": "oxlint . --fix"
76
73
  }
77
74
  }
@@ -1,27 +0,0 @@
1
- "use strict";
2
-
3
- // src/__tests__/index.test.ts
4
- var import__ = require("../index.cjs");
5
- describe("error details", () => {
6
- test("test detail list constructor", () => {
7
- const details = import__.Details.new().requestInfo({ requestId: "123456", servingData: "/v1/tests" }).errorInfo({ reason: "ACCESS_DENIED" });
8
- expect(details.list).toEqual([
9
- {
10
- type: import__.DetailType.REQUEST_INFO,
11
- requestId: "123456",
12
- servingData: "/v1/tests"
13
- },
14
- {
15
- type: import__.DetailType.ERROR_INFO,
16
- reason: "ACCESS_DENIED"
17
- }
18
- ]);
19
- });
20
- });
21
- describe("error status", () => {
22
- test("status type", () => {
23
- const error = import__.Status.invalidArgument().error();
24
- expect(error instanceof import__.StatusError).toBe(true);
25
- });
26
- });
27
- //# sourceMappingURL=index.test.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/__tests__/index.test.ts"],"sourcesContent":["import { DetailType, Details, Status, StatusError } from '../index';\n\ndescribe('error details', () => {\n test('test detail list constructor', () => {\n const details = Details.new()\n .requestInfo({ requestId: '123456', servingData: '/v1/tests' })\n .errorInfo({ reason: 'ACCESS_DENIED' });\n\n expect(details.list).toEqual([\n {\n type: DetailType.REQUEST_INFO,\n requestId: '123456',\n servingData: '/v1/tests',\n },\n {\n type: DetailType.ERROR_INFO,\n reason: 'ACCESS_DENIED',\n },\n ]);\n });\n});\n\ndescribe('error status', () => {\n test('status type', () => {\n const error = Status.invalidArgument().error();\n expect(error instanceof StatusError).toBe(true);\n });\n});\n"],"mappings":";;;AAAA,eAAyD;AAEzD,SAAS,iBAAiB,MAAM;AAC9B,OAAK,gCAAgC,MAAM;AACzC,UAAM,UAAU,iBAAQ,IAAI,EACzB,YAAY,EAAE,WAAW,UAAU,aAAa,YAAY,CAAC,EAC7D,UAAU,EAAE,QAAQ,gBAAgB,CAAC;AAExC,WAAO,QAAQ,IAAI,EAAE,QAAQ;AAAA,MAC3B;AAAA,QACE,MAAM,oBAAW;AAAA,QACjB,WAAW;AAAA,QACX,aAAa;AAAA,MACf;AAAA,MACA;AAAA,QACE,MAAM,oBAAW;AAAA,QACjB,QAAQ;AAAA,MACV;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,MAAM;AAC7B,OAAK,eAAe,MAAM;AACxB,UAAM,QAAQ,gBAAO,gBAAgB,EAAE,MAAM;AAC7C,WAAO,iBAAiB,oBAAW,EAAE,KAAK,IAAI;AAAA,EAChD,CAAC;AACH,CAAC;","names":[]}
@@ -1,2 +0,0 @@
1
-
2
- export { }
@@ -1,2 +0,0 @@
1
-
2
- export { }
@@ -1,25 +0,0 @@
1
- // src/__tests__/index.test.ts
2
- import { DetailType, Details, Status, StatusError } from "../index.mjs";
3
- describe("error details", () => {
4
- test("test detail list constructor", () => {
5
- const details = Details.new().requestInfo({ requestId: "123456", servingData: "/v1/tests" }).errorInfo({ reason: "ACCESS_DENIED" });
6
- expect(details.list).toEqual([
7
- {
8
- type: DetailType.REQUEST_INFO,
9
- requestId: "123456",
10
- servingData: "/v1/tests"
11
- },
12
- {
13
- type: DetailType.ERROR_INFO,
14
- reason: "ACCESS_DENIED"
15
- }
16
- ]);
17
- });
18
- });
19
- describe("error status", () => {
20
- test("status type", () => {
21
- const error = Status.invalidArgument().error();
22
- expect(error instanceof StatusError).toBe(true);
23
- });
24
- });
25
- //# sourceMappingURL=index.test.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/__tests__/index.test.ts"],"sourcesContent":["import { DetailType, Details, Status, StatusError } from '../index';\n\ndescribe('error details', () => {\n test('test detail list constructor', () => {\n const details = Details.new()\n .requestInfo({ requestId: '123456', servingData: '/v1/tests' })\n .errorInfo({ reason: 'ACCESS_DENIED' });\n\n expect(details.list).toEqual([\n {\n type: DetailType.REQUEST_INFO,\n requestId: '123456',\n servingData: '/v1/tests',\n },\n {\n type: DetailType.ERROR_INFO,\n reason: 'ACCESS_DENIED',\n },\n ]);\n });\n});\n\ndescribe('error status', () => {\n test('status type', () => {\n const error = Status.invalidArgument().error();\n expect(error instanceof StatusError).toBe(true);\n });\n});\n"],"mappings":";AAAA,SAAS,YAAY,SAAS,QAAQ,mBAAmB;AAEzD,SAAS,iBAAiB,MAAM;AAC9B,OAAK,gCAAgC,MAAM;AACzC,UAAM,UAAU,QAAQ,IAAI,EACzB,YAAY,EAAE,WAAW,UAAU,aAAa,YAAY,CAAC,EAC7D,UAAU,EAAE,QAAQ,gBAAgB,CAAC;AAExC,WAAO,QAAQ,IAAI,EAAE,QAAQ;AAAA,MAC3B;AAAA,QACE,MAAM,WAAW;AAAA,QACjB,WAAW;AAAA,QACX,aAAa;AAAA,MACf;AAAA,MACA;AAAA,QACE,MAAM,WAAW;AAAA,QACjB,QAAQ;AAAA,MACV;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,MAAM;AAC7B,OAAK,eAAe,MAAM;AACxB,UAAM,QAAQ,OAAO,gBAAgB,EAAE,MAAM;AAC7C,WAAO,iBAAiB,WAAW,EAAE,KAAK,IAAI;AAAA,EAChD,CAAC;AACH,CAAC;","names":[]}