@korix/zod-schema 0.1.0-20250713.0 → 0.1.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -22,29 +22,12 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
22
22
 
23
23
  //#endregion
24
24
  const __korix_kori = __toESM(require("@korix/kori"));
25
- const zod_v4 = __toESM(require("zod/v4"));
26
- const fast_json_stringify = __toESM(require("fast-json-stringify"));
25
+ require("zod/v4");
27
26
 
28
- //#region src/fast-json.ts
29
- function zodToFastSerializer(schema) {
30
- if (!isKoriZodSchema(schema)) return void 0;
31
- try {
32
- const jsonSchema = zod_v4.z.toJSONSchema(schema.def);
33
- return (0, fast_json_stringify.default)(jsonSchema);
34
- } catch {
35
- return void 0;
36
- }
37
- }
38
-
39
- //#endregion
40
27
  //#region src/zod-schema.ts
41
28
  const ZodSchemaBrand = Symbol("zod-schema-brand");
42
- const provider = {
43
- __provider: "zod",
44
- toFastSerializer: zodToFastSerializer
45
- };
46
29
  const createKoriZodSchema = (schema) => {
47
- return (0, __korix_kori.createKoriSchema)(ZodSchemaBrand, schema, provider);
30
+ return (0, __korix_kori.createKoriSchema)(ZodSchemaBrand, schema);
48
31
  };
49
32
  function isKoriZodSchema(value) {
50
33
  if (!(0, __korix_kori.isKoriSchema)(value)) return false;
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":["schema: KoriSchemaDefault","schema: T","value: unknown","input: {\n params?: TParams;\n headers?: THeaders;\n queries?: TQueries;\n body?: TBody;\n}","result: Record<string, KoriZodSchema<z.ZodType>>","schema: KoriResponseSchemaStructure<S>"],"sources":["../src/fast-json.ts","../src/zod-schema.ts","../src/zod-request-schema.ts","../src/zod-response-schema.ts"],"sourcesContent":["import { type KoriSchemaDefault } from '@korix/kori';\nimport fastJson from 'fast-json-stringify';\nimport { z } from 'zod/v4';\n\nimport { isKoriZodSchema } from './zod-schema.js';\n\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport function zodToFastSerializer(schema: KoriSchemaDefault) {\n if (!isKoriZodSchema(schema)) return undefined;\n try {\n const jsonSchema = z.toJSONSchema(schema.def as unknown as z.ZodType);\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-explicit-any\n return fastJson(jsonSchema as any);\n } catch {\n return undefined;\n }\n}\n","import {\n type KoriSchema,\n type KoriSchemaProvider,\n createKoriSchema,\n isKoriSchema,\n getKoriSchemaBrand,\n} from '@korix/kori';\nimport { type z } from 'zod/v4';\n\nimport { zodToFastSerializer } from './fast-json.js';\n\nconst ZodSchemaBrand = Symbol('zod-schema-brand');\n\nexport type KoriZodSchemaProvider = KoriSchemaProvider<'zod'>;\n\nexport type KoriZodSchema<T extends z.ZodType> = KoriSchema<T, z.output<T>>;\n\nexport type KoriZodSchemaDefault = KoriZodSchema<z.ZodType>;\n\nconst provider = {\n __provider: 'zod',\n toFastSerializer: zodToFastSerializer,\n} as const;\n\nexport const createKoriZodSchema = <T extends z.ZodType>(schema: T): KoriZodSchema<T> => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return createKoriSchema(ZodSchemaBrand, schema, provider as any);\n};\n\nexport function isKoriZodSchema(value: unknown): value is KoriZodSchemaDefault {\n if (!isKoriSchema(value)) return false;\n return getKoriSchemaBrand(value) === ZodSchemaBrand;\n}\n","import {\n type KoriRequestSchema,\n type KoriRequestSchemaStructure,\n type KoriRequestSchemaContent,\n type KoriRequestSchemaBody,\n} from '@korix/kori';\nimport { type z } from 'zod/v4';\n\nimport { type KoriZodSchema, type KoriZodSchemaProvider, createKoriZodSchema } from './zod-schema.js';\n\nexport type KoriZodRequestSchema<\n Params extends KoriZodSchema<z.ZodType> = never,\n Headers extends KoriZodSchema<z.ZodType> = never,\n Queries extends KoriZodSchema<z.ZodType> = never,\n Body extends KoriZodSchema<z.ZodType> = never,\n> = KoriRequestSchema<KoriZodSchemaProvider, Params, Headers, Queries, Body>;\n\nexport type KoriZodRequestParts = KoriRequestSchemaStructure<\n KoriZodSchema<z.ZodType>,\n KoriZodSchema<z.ZodType>,\n KoriZodSchema<z.ZodType>,\n KoriZodSchema<z.ZodType>\n>;\n\nexport type KoriZodRequestBodySchema =\n | KoriZodSchema<z.ZodType>\n | KoriRequestSchemaContent<KoriZodSchema<z.ZodType>>\n | KoriRequestSchemaBody<KoriZodSchema<z.ZodType>>;\n\ntype ToKoriZodSchema<T extends z.ZodType> = KoriZodSchema<T>;\n\nexport function zodRequestSchema<\n TParams extends z.ZodType | undefined = undefined,\n THeaders extends z.ZodType | undefined = undefined,\n TQueries extends z.ZodType | undefined = undefined,\n TBody extends z.ZodType | undefined = undefined,\n>(input: {\n params?: TParams;\n headers?: THeaders;\n queries?: TQueries;\n body?: TBody;\n}): KoriZodRequestSchema<\n TParams extends z.ZodType ? ToKoriZodSchema<TParams> : never,\n THeaders extends z.ZodType ? ToKoriZodSchema<THeaders> : never,\n TQueries extends z.ZodType ? ToKoriZodSchema<TQueries> : never,\n TBody extends z.ZodType ? ToKoriZodSchema<TBody> : never\n> {\n const result: Record<string, KoriZodSchema<z.ZodType>> = {};\n\n if (input.params) {\n result.params = createKoriZodSchema(input.params);\n }\n\n if (input.headers) {\n result.headers = createKoriZodSchema(input.headers);\n }\n\n if (input.queries) {\n result.queries = createKoriZodSchema(input.queries);\n }\n\n if (input.body) {\n result.body = createKoriZodSchema(input.body);\n }\n\n return result;\n}\n","import { type KoriResponseSchema, type KoriResponseSchemaStructure } from '@korix/kori';\nimport { type z } from 'zod/v4';\n\nimport { type KoriZodSchema, type KoriZodSchemaProvider } from './zod-schema.js';\n\nexport type KoriZodResponseSchema<S extends KoriZodSchema<z.ZodType>> = KoriResponseSchema<KoriZodSchemaProvider, S>;\n\nexport function zodResponseSchema<S extends KoriZodSchema<z.ZodType>>(\n schema: KoriResponseSchemaStructure<S>,\n): KoriZodResponseSchema<S> {\n return schema;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,SAAgB,oBAAoBA,QAA2B;AAC7D,MAAK,gBAAgB,OAAO,CAAE;AAC9B,KAAI;EACF,MAAM,aAAa,SAAE,aAAa,OAAO,IAA4B;AAGrE,SAAO,iCAAS,WAAkB;CACnC,QAAO;AACN;CACD;AACF;;;;ACND,MAAM,iBAAiB,OAAO,mBAAmB;AAQjD,MAAM,WAAW;CACf,YAAY;CACZ,kBAAkB;AACnB;AAED,MAAa,sBAAsB,CAAsBC,WAAgC;AAEvF,QAAO,mCAAiB,gBAAgB,QAAQ,SAAgB;AACjE;AAED,SAAgB,gBAAgBC,OAA+C;AAC7E,MAAK,+BAAa,MAAM,CAAE,QAAO;AACjC,QAAO,qCAAmB,MAAM,KAAK;AACtC;;;;ACDD,SAAgB,iBAKdC,OAUA;CACA,MAAMC,SAAmD,CAAE;AAE3D,KAAI,MAAM,OACR,QAAO,SAAS,oBAAoB,MAAM,OAAO;AAGnD,KAAI,MAAM,QACR,QAAO,UAAU,oBAAoB,MAAM,QAAQ;AAGrD,KAAI,MAAM,QACR,QAAO,UAAU,oBAAoB,MAAM,QAAQ;AAGrD,KAAI,MAAM,KACR,QAAO,OAAO,oBAAoB,MAAM,KAAK;AAG/C,QAAO;AACR;;;;AC3DD,SAAgB,kBACdC,QAC0B;AAC1B,QAAO;AACR"}
1
+ {"version":3,"file":"index.cjs","names":["schema: T","value: unknown","input: {\n params?: TParams;\n headers?: THeaders;\n queries?: TQueries;\n body?: TBody;\n}","result: Record<string, KoriZodSchema<z.ZodType>>","schema: KoriResponseSchemaStructure<S>"],"sources":["../src/zod-schema.ts","../src/zod-request-schema.ts","../src/zod-response-schema.ts"],"sourcesContent":["import {\n type KoriSchema,\n type KoriSchemaProvider,\n createKoriSchema,\n isKoriSchema,\n getKoriSchemaBrand,\n} from '@korix/kori';\nimport { type z } from 'zod/v4';\n\nconst ZodSchemaBrand = Symbol('zod-schema-brand');\n\nexport type KoriZodSchemaProvider = KoriSchemaProvider<'zod'>;\n\nexport type KoriZodSchema<T extends z.ZodType> = KoriSchema<T, z.output<T>>;\n\nexport type KoriZodSchemaDefault = KoriZodSchema<z.ZodType>;\n\nexport const createKoriZodSchema = <T extends z.ZodType>(schema: T): KoriZodSchema<T> => {\n return createKoriSchema(ZodSchemaBrand, schema);\n};\n\nexport function isKoriZodSchema(value: unknown): value is KoriZodSchemaDefault {\n if (!isKoriSchema(value)) return false;\n return getKoriSchemaBrand(value) === ZodSchemaBrand;\n}\n","import {\n type KoriRequestSchema,\n type KoriRequestSchemaStructure,\n type KoriRequestSchemaContent,\n type KoriRequestSchemaBody,\n} from '@korix/kori';\nimport { type z } from 'zod/v4';\n\nimport { type KoriZodSchema, type KoriZodSchemaProvider, createKoriZodSchema } from './zod-schema.js';\n\nexport type KoriZodRequestSchema<\n Params extends KoriZodSchema<z.ZodType> = never,\n Headers extends KoriZodSchema<z.ZodType> = never,\n Queries extends KoriZodSchema<z.ZodType> = never,\n Body extends KoriZodSchema<z.ZodType> = never,\n> = KoriRequestSchema<KoriZodSchemaProvider, Params, Headers, Queries, Body>;\n\nexport type KoriZodRequestParts = KoriRequestSchemaStructure<\n KoriZodSchema<z.ZodType>,\n KoriZodSchema<z.ZodType>,\n KoriZodSchema<z.ZodType>,\n KoriZodSchema<z.ZodType>\n>;\n\nexport type KoriZodRequestBodySchema =\n | KoriZodSchema<z.ZodType>\n | KoriRequestSchemaContent<KoriZodSchema<z.ZodType>>\n | KoriRequestSchemaBody<KoriZodSchema<z.ZodType>>;\n\ntype ToKoriZodSchema<T extends z.ZodType> = KoriZodSchema<T>;\n\nexport function zodRequestSchema<\n TParams extends z.ZodType | undefined = undefined,\n THeaders extends z.ZodType | undefined = undefined,\n TQueries extends z.ZodType | undefined = undefined,\n TBody extends z.ZodType | undefined = undefined,\n>(input: {\n params?: TParams;\n headers?: THeaders;\n queries?: TQueries;\n body?: TBody;\n}): KoriZodRequestSchema<\n TParams extends z.ZodType ? ToKoriZodSchema<TParams> : never,\n THeaders extends z.ZodType ? ToKoriZodSchema<THeaders> : never,\n TQueries extends z.ZodType ? ToKoriZodSchema<TQueries> : never,\n TBody extends z.ZodType ? ToKoriZodSchema<TBody> : never\n> {\n const result: Record<string, KoriZodSchema<z.ZodType>> = {};\n\n if (input.params) {\n result.params = createKoriZodSchema(input.params);\n }\n\n if (input.headers) {\n result.headers = createKoriZodSchema(input.headers);\n }\n\n if (input.queries) {\n result.queries = createKoriZodSchema(input.queries);\n }\n\n if (input.body) {\n result.body = createKoriZodSchema(input.body);\n }\n\n return result;\n}\n","import { type KoriResponseSchema, type KoriResponseSchemaStructure } from '@korix/kori';\nimport { type z } from 'zod/v4';\n\nimport { type KoriZodSchema, type KoriZodSchemaProvider } from './zod-schema.js';\n\nexport type KoriZodResponseSchema<S extends KoriZodSchema<z.ZodType>> = KoriResponseSchema<KoriZodSchemaProvider, S>;\n\nexport function zodResponseSchema<S extends KoriZodSchema<z.ZodType>>(\n schema: KoriResponseSchemaStructure<S>,\n): KoriZodResponseSchema<S> {\n return schema;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,MAAM,iBAAiB,OAAO,mBAAmB;AAQjD,MAAa,sBAAsB,CAAsBA,WAAgC;AACvF,QAAO,mCAAiB,gBAAgB,OAAO;AAChD;AAED,SAAgB,gBAAgBC,OAA+C;AAC7E,MAAK,+BAAa,MAAM,CAAE,QAAO;AACjC,QAAO,qCAAmB,MAAM,KAAK;AACtC;;;;ACOD,SAAgB,iBAKdC,OAUA;CACA,MAAMC,SAAmD,CAAE;AAE3D,KAAI,MAAM,OACR,QAAO,SAAS,oBAAoB,MAAM,OAAO;AAGnD,KAAI,MAAM,QACR,QAAO,UAAU,oBAAoB,MAAM,QAAQ;AAGrD,KAAI,MAAM,QACR,QAAO,UAAU,oBAAoB,MAAM,QAAQ;AAGrD,KAAI,MAAM,KACR,QAAO,OAAO,oBAAoB,MAAM,KAAK;AAG/C,QAAO;AACR;;;;AC3DD,SAAgB,kBACdC,QAC0B;AAC1B,QAAO;AACR"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../src/zod-schema.ts","../src/zod-request-schema.ts","../src/zod-response-schema.ts"],"sourcesContent":[],"mappings":";;;;KAaY,qBAAA,GAAwB;KAExB,wBAAwB,CAAA,CAAE,WAAW,WAAW,GAAG,CAAA,CAAE,OAAO;AAF5D,KAIA,oBAAA,GAAuB,aAJC,CAIa,CAAA,CAAE,OAJG,CAAA;AAE1C,cASC,mBATY,EAAA,CAAA,UASqB,CAAA,CAAE,OATvB,CAAA,CAAA,MAAA,EASwC,CATxC,EAAA,GAS4C,aAT5C,CAS0D,CAT1D,CAAA;AAAA,iBAcT,eAAA,CAdS,KAAA,EAAA,OAAA,CAAA,EAAA,KAAA,IAciC,oBAdjC;;;;KCLb,oCACK,cAAc,CAAA,CAAE,kCACf,cAAc,CAAA,CAAE,kCAChB,cAAc,CAAA,CAAE,+BACnB,cAAc,CAAA,CAAE,oBAC3B,kBAAkB,uBAAuB,QAAQ,SAAS,SAAS;ADF3D,KCIA,mBAAA,GAAsB,0BDJoB,CCKpD,aDLoD,CCKtC,CAAA,CAAE,ODLoC,CAAA,ECMpD,aDNoD,CCMtC,CAAA,CAAE,ODNoC,CAAA,ECOpD,aDPoD,CCOtC,CAAA,CAAE,ODPoC,CAAA,ECQpD,aDRoD,CCQtC,CAAA,CAAE,ODRoC,CAAA,CAAA;KCgBjD,eDdoB,CAAA,UCcM,CAAA,CAAE,ODdR,CAAA,GCcmB,aDdnB,CCciC,CDdjC,CAAA;AAAW,iBCgBpB,gBDhBsB,CAAA,gBCiBpB,CAAA,CAAE,ODjBkB,GAAA,SAAA,GAAA,SAAA,EAAA,iBCkBnB,CAAA,CAAE,ODlBiB,GAAA,SAAA,GAAA,SAAA,EAAA,iBCmBnB,CAAA,CAAE,ODnBiB,GAAA,SAAA,GAAA,SAAA,EAAA,cCoBtB,CAAA,CAAE,ODpBoB,GAAA,SAAA,GAAA,SAAA,CAAA,CAAA,KAAA,EAAA;EAAO,MAAe,CAAA,ECsBjD,ODtBiD;EAAC,OAAW,CAAA,ECuB5D,QDvB4D;EAAC,OAAR,CAAA,ECwBrD,QDxBqD;EAAM,IAAtB,CAAA,ECyBxC,KDzBwC;AAAU,CAAA,CAAA,EC0BvD,oBD1BuD,CC2BzD,OD3ByD,SC2BzC,CAAA,CAAE,OD3BuC,GC2B7B,eD3B6B,CC2Bb,OD3Ba,CAAA,GAAA,KAAA,EC4BzD,QD5ByD,SC4BxC,CAAA,CAAE,OD5BsC,GC4B5B,eD5B4B,CC4BZ,QD5BY,CAAA,GAAA,KAAA,EC6BzD,QD7ByD,SC6BxC,CAAA,CAAE,OD7BsC,GC6B5B,eD7B4B,CC6BZ,QD7BY,CAAA,GAAA,KAAA,EC8BzD,KD9ByD,SC8B3C,CAAA,CAAE,OD9ByC,GC8B/B,eD9B+B,CC8Bf,KD9Be,CAAA,GAAA,KAAA,CAAA;;;KEV/C,gCAAgC,cAAc,CAAA,CAAE,YAAY,mBAAmB,uBAAuB;AFQtG,iBENI,iBFMoB,CAAA,UENQ,aFMU,CENI,CAAA,CAAE,OFMN,CAAA,CAAA,CAAA,MAAA,EEL5C,2BFK4C,CELhB,CFKgB,CAAA,CAAA,EEJnD,qBFImD,CEJ7B,CFI6B,CAAA;AAEtD"}
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../src/zod-schema.ts","../src/zod-request-schema.ts","../src/zod-response-schema.ts"],"sourcesContent":[],"mappings":";;;;KAWY,qBAAA,GAAwB;KAExB,wBAAwB,CAAA,CAAE,WAAW,WAAW,GAAG,CAAA,CAAE,OAAO;AAF5D,KAIA,oBAAA,GAAuB,aAJC,CAIa,CAAA,CAAE,OAJG,CAAA;AAE1C,cAIC,mBAJY,EAAA,CAAA,UAIqB,CAAA,CAAE,OAJvB,CAAA,CAAA,MAAA,EAIwC,CAJxC,EAAA,GAI4C,aAJ5C,CAI0D,CAJ1D,CAAA;AAAA,iBAQT,eAAA,CARS,KAAA,EAAA,OAAA,CAAA,EAAA,KAAA,IAQiC,oBARjC;;;;KCHb,oCACK,cAAc,CAAA,CAAE,kCACf,cAAc,CAAA,CAAE,kCAChB,cAAc,CAAA,CAAE,+BACnB,cAAc,CAAA,CAAE,oBAC3B,kBAAkB,uBAAuB,QAAQ,SAAS,SAAS;ADJ3D,KCMA,mBAAA,GAAsB,0BDNoB,CCOpD,aDPoD,CCOtC,CAAA,CAAE,ODPoC,CAAA,ECQpD,aDRoD,CCQtC,CAAA,CAAE,ODRoC,CAAA,ECSpD,aDToD,CCStC,CAAA,CAAE,ODToC,CAAA,ECUpD,aDVoD,CCUtC,CAAA,CAAE,ODVoC,CAAA,CAAA;KCkBjD,eDhBoB,CAAA,UCgBM,CAAA,CAAE,ODhBR,CAAA,GCgBmB,aDhBnB,CCgBiC,CDhBjC,CAAA;AAAW,iBCkBpB,gBDlBsB,CAAA,gBCmBpB,CAAA,CAAE,ODnBkB,GAAA,SAAA,GAAA,SAAA,EAAA,iBCoBnB,CAAA,CAAE,ODpBiB,GAAA,SAAA,GAAA,SAAA,EAAA,iBCqBnB,CAAA,CAAE,ODrBiB,GAAA,SAAA,GAAA,SAAA,EAAA,cCsBtB,CAAA,CAAE,ODtBoB,GAAA,SAAA,GAAA,SAAA,CAAA,CAAA,KAAA,EAAA;EAAO,MAAe,CAAA,ECwBjD,ODxBiD;EAAC,OAAW,CAAA,ECyB5D,QDzB4D;EAAC,OAAR,CAAA,EC0BrD,QD1BqD;EAAM,IAAtB,CAAA,EC2BxC,KD3BwC;AAAU,CAAA,CAAA,EC4BvD,oBD5BuD,CC6BzD,OD7ByD,SC6BzC,CAAA,CAAE,OD7BuC,GC6B7B,eD7B6B,CC6Bb,OD7Ba,CAAA,GAAA,KAAA,EC8BzD,QD9ByD,SC8BxC,CAAA,CAAE,OD9BsC,GC8B5B,eD9B4B,CC8BZ,QD9BY,CAAA,GAAA,KAAA,EC+BzD,QD/ByD,SC+BxC,CAAA,CAAE,OD/BsC,GC+B5B,eD/B4B,CC+BZ,QD/BY,CAAA,GAAA,KAAA,ECgCzD,KDhCyD,SCgC3C,CAAA,CAAE,ODhCyC,GCgC/B,eDhC+B,CCgCf,KDhCe,CAAA,GAAA,KAAA,CAAA;;;KER/C,gCAAgC,cAAc,CAAA,CAAE,YAAY,mBAAmB,uBAAuB;AFMtG,iBEJI,iBFIoB,CAAA,UEJQ,aFIU,CEJI,CAAA,CAAE,OFIN,CAAA,CAAA,CAAA,MAAA,EEH5C,2BFG4C,CEHhB,CFGgB,CAAA,CAAA,EEFnD,qBFEmD,CEF7B,CFE6B,CAAA;AAEtD"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../src/zod-schema.ts","../src/zod-request-schema.ts","../src/zod-response-schema.ts"],"sourcesContent":[],"mappings":";;;;KAaY,qBAAA,GAAwB;KAExB,wBAAwB,CAAA,CAAE,WAAW,WAAW,GAAG,CAAA,CAAE,OAAO;AAF5D,KAIA,oBAAA,GAAuB,aAJC,CAIa,CAAA,CAAE,OAJG,CAAA;AAE1C,cASC,mBATY,EAAA,CAAA,UASqB,CAAA,CAAE,OATvB,CAAA,CAAA,MAAA,EASwC,CATxC,EAAA,GAS4C,aAT5C,CAS0D,CAT1D,CAAA;AAAA,iBAcT,eAAA,CAdS,KAAA,EAAA,OAAA,CAAA,EAAA,KAAA,IAciC,oBAdjC;;;;KCLb,oCACK,cAAc,CAAA,CAAE,kCACf,cAAc,CAAA,CAAE,kCAChB,cAAc,CAAA,CAAE,+BACnB,cAAc,CAAA,CAAE,oBAC3B,kBAAkB,uBAAuB,QAAQ,SAAS,SAAS;ADF3D,KCIA,mBAAA,GAAsB,0BDJoB,CCKpD,aDLoD,CCKtC,CAAA,CAAE,ODLoC,CAAA,ECMpD,aDNoD,CCMtC,CAAA,CAAE,ODNoC,CAAA,ECOpD,aDPoD,CCOtC,CAAA,CAAE,ODPoC,CAAA,ECQpD,aDRoD,CCQtC,CAAA,CAAE,ODRoC,CAAA,CAAA;KCgBjD,eDdoB,CAAA,UCcM,CAAA,CAAE,ODdR,CAAA,GCcmB,aDdnB,CCciC,CDdjC,CAAA;AAAW,iBCgBpB,gBDhBsB,CAAA,gBCiBpB,CAAA,CAAE,ODjBkB,GAAA,SAAA,GAAA,SAAA,EAAA,iBCkBnB,CAAA,CAAE,ODlBiB,GAAA,SAAA,GAAA,SAAA,EAAA,iBCmBnB,CAAA,CAAE,ODnBiB,GAAA,SAAA,GAAA,SAAA,EAAA,cCoBtB,CAAA,CAAE,ODpBoB,GAAA,SAAA,GAAA,SAAA,CAAA,CAAA,KAAA,EAAA;EAAO,MAAe,CAAA,ECsBjD,ODtBiD;EAAC,OAAW,CAAA,ECuB5D,QDvB4D;EAAC,OAAR,CAAA,ECwBrD,QDxBqD;EAAM,IAAtB,CAAA,ECyBxC,KDzBwC;AAAU,CAAA,CAAA,EC0BvD,oBD1BuD,CC2BzD,OD3ByD,SC2BzC,CAAA,CAAE,OD3BuC,GC2B7B,eD3B6B,CC2Bb,OD3Ba,CAAA,GAAA,KAAA,EC4BzD,QD5ByD,SC4BxC,CAAA,CAAE,OD5BsC,GC4B5B,eD5B4B,CC4BZ,QD5BY,CAAA,GAAA,KAAA,EC6BzD,QD7ByD,SC6BxC,CAAA,CAAE,OD7BsC,GC6B5B,eD7B4B,CC6BZ,QD7BY,CAAA,GAAA,KAAA,EC8BzD,KD9ByD,SC8B3C,CAAA,CAAE,OD9ByC,GC8B/B,eD9B+B,CC8Bf,KD9Be,CAAA,GAAA,KAAA,CAAA;;;KEV/C,gCAAgC,cAAc,CAAA,CAAE,YAAY,mBAAmB,uBAAuB;AFQtG,iBENI,iBFMoB,CAAA,UENQ,aFMU,CENI,CAAA,CAAE,OFMN,CAAA,CAAA,CAAA,MAAA,EEL5C,2BFK4C,CELhB,CFKgB,CAAA,CAAA,EEJnD,qBFImD,CEJ7B,CFI6B,CAAA;AAEtD"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../src/zod-schema.ts","../src/zod-request-schema.ts","../src/zod-response-schema.ts"],"sourcesContent":[],"mappings":";;;;KAWY,qBAAA,GAAwB;KAExB,wBAAwB,CAAA,CAAE,WAAW,WAAW,GAAG,CAAA,CAAE,OAAO;AAF5D,KAIA,oBAAA,GAAuB,aAJC,CAIa,CAAA,CAAE,OAJG,CAAA;AAE1C,cAIC,mBAJY,EAAA,CAAA,UAIqB,CAAA,CAAE,OAJvB,CAAA,CAAA,MAAA,EAIwC,CAJxC,EAAA,GAI4C,aAJ5C,CAI0D,CAJ1D,CAAA;AAAA,iBAQT,eAAA,CARS,KAAA,EAAA,OAAA,CAAA,EAAA,KAAA,IAQiC,oBARjC;;;;KCHb,oCACK,cAAc,CAAA,CAAE,kCACf,cAAc,CAAA,CAAE,kCAChB,cAAc,CAAA,CAAE,+BACnB,cAAc,CAAA,CAAE,oBAC3B,kBAAkB,uBAAuB,QAAQ,SAAS,SAAS;ADJ3D,KCMA,mBAAA,GAAsB,0BDNoB,CCOpD,aDPoD,CCOtC,CAAA,CAAE,ODPoC,CAAA,ECQpD,aDRoD,CCQtC,CAAA,CAAE,ODRoC,CAAA,ECSpD,aDToD,CCStC,CAAA,CAAE,ODToC,CAAA,ECUpD,aDVoD,CCUtC,CAAA,CAAE,ODVoC,CAAA,CAAA;KCkBjD,eDhBoB,CAAA,UCgBM,CAAA,CAAE,ODhBR,CAAA,GCgBmB,aDhBnB,CCgBiC,CDhBjC,CAAA;AAAW,iBCkBpB,gBDlBsB,CAAA,gBCmBpB,CAAA,CAAE,ODnBkB,GAAA,SAAA,GAAA,SAAA,EAAA,iBCoBnB,CAAA,CAAE,ODpBiB,GAAA,SAAA,GAAA,SAAA,EAAA,iBCqBnB,CAAA,CAAE,ODrBiB,GAAA,SAAA,GAAA,SAAA,EAAA,cCsBtB,CAAA,CAAE,ODtBoB,GAAA,SAAA,GAAA,SAAA,CAAA,CAAA,KAAA,EAAA;EAAO,MAAe,CAAA,ECwBjD,ODxBiD;EAAC,OAAW,CAAA,ECyB5D,QDzB4D;EAAC,OAAR,CAAA,EC0BrD,QD1BqD;EAAM,IAAtB,CAAA,EC2BxC,KD3BwC;AAAU,CAAA,CAAA,EC4BvD,oBD5BuD,CC6BzD,OD7ByD,SC6BzC,CAAA,CAAE,OD7BuC,GC6B7B,eD7B6B,CC6Bb,OD7Ba,CAAA,GAAA,KAAA,EC8BzD,QD9ByD,SC8BxC,CAAA,CAAE,OD9BsC,GC8B5B,eD9B4B,CC8BZ,QD9BY,CAAA,GAAA,KAAA,EC+BzD,QD/ByD,SC+BxC,CAAA,CAAE,OD/BsC,GC+B5B,eD/B4B,CC+BZ,QD/BY,CAAA,GAAA,KAAA,ECgCzD,KDhCyD,SCgC3C,CAAA,CAAE,ODhCyC,GCgC/B,eDhC+B,CCgCf,KDhCe,CAAA,GAAA,KAAA,CAAA;;;KER/C,gCAAgC,cAAc,CAAA,CAAE,YAAY,mBAAmB,uBAAuB;AFMtG,iBEJI,iBFIoB,CAAA,UEJQ,aFIU,CEJI,CAAA,CAAE,OFIN,CAAA,CAAA,CAAA,MAAA,EEH5C,2BFG4C,CEHhB,CFGgB,CAAA,CAAA,EEFnD,qBFEmD,CEF7B,CFE6B,CAAA;AAEtD"}
package/dist/index.js CHANGED
@@ -1,27 +1,10 @@
1
1
  import { createKoriSchema, getKoriSchemaBrand, isKoriSchema } from "@korix/kori";
2
- import { z } from "zod/v4";
3
- import fastJson from "fast-json-stringify";
2
+ import "zod/v4";
4
3
 
5
- //#region src/fast-json.ts
6
- function zodToFastSerializer(schema) {
7
- if (!isKoriZodSchema(schema)) return void 0;
8
- try {
9
- const jsonSchema = z.toJSONSchema(schema.def);
10
- return fastJson(jsonSchema);
11
- } catch {
12
- return void 0;
13
- }
14
- }
15
-
16
- //#endregion
17
4
  //#region src/zod-schema.ts
18
5
  const ZodSchemaBrand = Symbol("zod-schema-brand");
19
- const provider = {
20
- __provider: "zod",
21
- toFastSerializer: zodToFastSerializer
22
- };
23
6
  const createKoriZodSchema = (schema) => {
24
- return createKoriSchema(ZodSchemaBrand, schema, provider);
7
+ return createKoriSchema(ZodSchemaBrand, schema);
25
8
  };
26
9
  function isKoriZodSchema(value) {
27
10
  if (!isKoriSchema(value)) return false;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["schema: KoriSchemaDefault","schema: T","value: unknown","input: {\n params?: TParams;\n headers?: THeaders;\n queries?: TQueries;\n body?: TBody;\n}","result: Record<string, KoriZodSchema<z.ZodType>>","schema: KoriResponseSchemaStructure<S>"],"sources":["../src/fast-json.ts","../src/zod-schema.ts","../src/zod-request-schema.ts","../src/zod-response-schema.ts"],"sourcesContent":["import { type KoriSchemaDefault } from '@korix/kori';\nimport fastJson from 'fast-json-stringify';\nimport { z } from 'zod/v4';\n\nimport { isKoriZodSchema } from './zod-schema.js';\n\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport function zodToFastSerializer(schema: KoriSchemaDefault) {\n if (!isKoriZodSchema(schema)) return undefined;\n try {\n const jsonSchema = z.toJSONSchema(schema.def as unknown as z.ZodType);\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-explicit-any\n return fastJson(jsonSchema as any);\n } catch {\n return undefined;\n }\n}\n","import {\n type KoriSchema,\n type KoriSchemaProvider,\n createKoriSchema,\n isKoriSchema,\n getKoriSchemaBrand,\n} from '@korix/kori';\nimport { type z } from 'zod/v4';\n\nimport { zodToFastSerializer } from './fast-json.js';\n\nconst ZodSchemaBrand = Symbol('zod-schema-brand');\n\nexport type KoriZodSchemaProvider = KoriSchemaProvider<'zod'>;\n\nexport type KoriZodSchema<T extends z.ZodType> = KoriSchema<T, z.output<T>>;\n\nexport type KoriZodSchemaDefault = KoriZodSchema<z.ZodType>;\n\nconst provider = {\n __provider: 'zod',\n toFastSerializer: zodToFastSerializer,\n} as const;\n\nexport const createKoriZodSchema = <T extends z.ZodType>(schema: T): KoriZodSchema<T> => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return createKoriSchema(ZodSchemaBrand, schema, provider as any);\n};\n\nexport function isKoriZodSchema(value: unknown): value is KoriZodSchemaDefault {\n if (!isKoriSchema(value)) return false;\n return getKoriSchemaBrand(value) === ZodSchemaBrand;\n}\n","import {\n type KoriRequestSchema,\n type KoriRequestSchemaStructure,\n type KoriRequestSchemaContent,\n type KoriRequestSchemaBody,\n} from '@korix/kori';\nimport { type z } from 'zod/v4';\n\nimport { type KoriZodSchema, type KoriZodSchemaProvider, createKoriZodSchema } from './zod-schema.js';\n\nexport type KoriZodRequestSchema<\n Params extends KoriZodSchema<z.ZodType> = never,\n Headers extends KoriZodSchema<z.ZodType> = never,\n Queries extends KoriZodSchema<z.ZodType> = never,\n Body extends KoriZodSchema<z.ZodType> = never,\n> = KoriRequestSchema<KoriZodSchemaProvider, Params, Headers, Queries, Body>;\n\nexport type KoriZodRequestParts = KoriRequestSchemaStructure<\n KoriZodSchema<z.ZodType>,\n KoriZodSchema<z.ZodType>,\n KoriZodSchema<z.ZodType>,\n KoriZodSchema<z.ZodType>\n>;\n\nexport type KoriZodRequestBodySchema =\n | KoriZodSchema<z.ZodType>\n | KoriRequestSchemaContent<KoriZodSchema<z.ZodType>>\n | KoriRequestSchemaBody<KoriZodSchema<z.ZodType>>;\n\ntype ToKoriZodSchema<T extends z.ZodType> = KoriZodSchema<T>;\n\nexport function zodRequestSchema<\n TParams extends z.ZodType | undefined = undefined,\n THeaders extends z.ZodType | undefined = undefined,\n TQueries extends z.ZodType | undefined = undefined,\n TBody extends z.ZodType | undefined = undefined,\n>(input: {\n params?: TParams;\n headers?: THeaders;\n queries?: TQueries;\n body?: TBody;\n}): KoriZodRequestSchema<\n TParams extends z.ZodType ? ToKoriZodSchema<TParams> : never,\n THeaders extends z.ZodType ? ToKoriZodSchema<THeaders> : never,\n TQueries extends z.ZodType ? ToKoriZodSchema<TQueries> : never,\n TBody extends z.ZodType ? ToKoriZodSchema<TBody> : never\n> {\n const result: Record<string, KoriZodSchema<z.ZodType>> = {};\n\n if (input.params) {\n result.params = createKoriZodSchema(input.params);\n }\n\n if (input.headers) {\n result.headers = createKoriZodSchema(input.headers);\n }\n\n if (input.queries) {\n result.queries = createKoriZodSchema(input.queries);\n }\n\n if (input.body) {\n result.body = createKoriZodSchema(input.body);\n }\n\n return result;\n}\n","import { type KoriResponseSchema, type KoriResponseSchemaStructure } from '@korix/kori';\nimport { type z } from 'zod/v4';\n\nimport { type KoriZodSchema, type KoriZodSchemaProvider } from './zod-schema.js';\n\nexport type KoriZodResponseSchema<S extends KoriZodSchema<z.ZodType>> = KoriResponseSchema<KoriZodSchemaProvider, S>;\n\nexport function zodResponseSchema<S extends KoriZodSchema<z.ZodType>>(\n schema: KoriResponseSchemaStructure<S>,\n): KoriZodResponseSchema<S> {\n return schema;\n}\n"],"mappings":";;;;;AAOA,SAAgB,oBAAoBA,QAA2B;AAC7D,MAAK,gBAAgB,OAAO,CAAE;AAC9B,KAAI;EACF,MAAM,aAAa,EAAE,aAAa,OAAO,IAA4B;AAGrE,SAAO,SAAS,WAAkB;CACnC,QAAO;AACN;CACD;AACF;;;;ACND,MAAM,iBAAiB,OAAO,mBAAmB;AAQjD,MAAM,WAAW;CACf,YAAY;CACZ,kBAAkB;AACnB;AAED,MAAa,sBAAsB,CAAsBC,WAAgC;AAEvF,QAAO,iBAAiB,gBAAgB,QAAQ,SAAgB;AACjE;AAED,SAAgB,gBAAgBC,OAA+C;AAC7E,MAAK,aAAa,MAAM,CAAE,QAAO;AACjC,QAAO,mBAAmB,MAAM,KAAK;AACtC;;;;ACDD,SAAgB,iBAKdC,OAUA;CACA,MAAMC,SAAmD,CAAE;AAE3D,KAAI,MAAM,OACR,QAAO,SAAS,oBAAoB,MAAM,OAAO;AAGnD,KAAI,MAAM,QACR,QAAO,UAAU,oBAAoB,MAAM,QAAQ;AAGrD,KAAI,MAAM,QACR,QAAO,UAAU,oBAAoB,MAAM,QAAQ;AAGrD,KAAI,MAAM,KACR,QAAO,OAAO,oBAAoB,MAAM,KAAK;AAG/C,QAAO;AACR;;;;AC3DD,SAAgB,kBACdC,QAC0B;AAC1B,QAAO;AACR"}
1
+ {"version":3,"file":"index.js","names":["schema: T","value: unknown","input: {\n params?: TParams;\n headers?: THeaders;\n queries?: TQueries;\n body?: TBody;\n}","result: Record<string, KoriZodSchema<z.ZodType>>","schema: KoriResponseSchemaStructure<S>"],"sources":["../src/zod-schema.ts","../src/zod-request-schema.ts","../src/zod-response-schema.ts"],"sourcesContent":["import {\n type KoriSchema,\n type KoriSchemaProvider,\n createKoriSchema,\n isKoriSchema,\n getKoriSchemaBrand,\n} from '@korix/kori';\nimport { type z } from 'zod/v4';\n\nconst ZodSchemaBrand = Symbol('zod-schema-brand');\n\nexport type KoriZodSchemaProvider = KoriSchemaProvider<'zod'>;\n\nexport type KoriZodSchema<T extends z.ZodType> = KoriSchema<T, z.output<T>>;\n\nexport type KoriZodSchemaDefault = KoriZodSchema<z.ZodType>;\n\nexport const createKoriZodSchema = <T extends z.ZodType>(schema: T): KoriZodSchema<T> => {\n return createKoriSchema(ZodSchemaBrand, schema);\n};\n\nexport function isKoriZodSchema(value: unknown): value is KoriZodSchemaDefault {\n if (!isKoriSchema(value)) return false;\n return getKoriSchemaBrand(value) === ZodSchemaBrand;\n}\n","import {\n type KoriRequestSchema,\n type KoriRequestSchemaStructure,\n type KoriRequestSchemaContent,\n type KoriRequestSchemaBody,\n} from '@korix/kori';\nimport { type z } from 'zod/v4';\n\nimport { type KoriZodSchema, type KoriZodSchemaProvider, createKoriZodSchema } from './zod-schema.js';\n\nexport type KoriZodRequestSchema<\n Params extends KoriZodSchema<z.ZodType> = never,\n Headers extends KoriZodSchema<z.ZodType> = never,\n Queries extends KoriZodSchema<z.ZodType> = never,\n Body extends KoriZodSchema<z.ZodType> = never,\n> = KoriRequestSchema<KoriZodSchemaProvider, Params, Headers, Queries, Body>;\n\nexport type KoriZodRequestParts = KoriRequestSchemaStructure<\n KoriZodSchema<z.ZodType>,\n KoriZodSchema<z.ZodType>,\n KoriZodSchema<z.ZodType>,\n KoriZodSchema<z.ZodType>\n>;\n\nexport type KoriZodRequestBodySchema =\n | KoriZodSchema<z.ZodType>\n | KoriRequestSchemaContent<KoriZodSchema<z.ZodType>>\n | KoriRequestSchemaBody<KoriZodSchema<z.ZodType>>;\n\ntype ToKoriZodSchema<T extends z.ZodType> = KoriZodSchema<T>;\n\nexport function zodRequestSchema<\n TParams extends z.ZodType | undefined = undefined,\n THeaders extends z.ZodType | undefined = undefined,\n TQueries extends z.ZodType | undefined = undefined,\n TBody extends z.ZodType | undefined = undefined,\n>(input: {\n params?: TParams;\n headers?: THeaders;\n queries?: TQueries;\n body?: TBody;\n}): KoriZodRequestSchema<\n TParams extends z.ZodType ? ToKoriZodSchema<TParams> : never,\n THeaders extends z.ZodType ? ToKoriZodSchema<THeaders> : never,\n TQueries extends z.ZodType ? ToKoriZodSchema<TQueries> : never,\n TBody extends z.ZodType ? ToKoriZodSchema<TBody> : never\n> {\n const result: Record<string, KoriZodSchema<z.ZodType>> = {};\n\n if (input.params) {\n result.params = createKoriZodSchema(input.params);\n }\n\n if (input.headers) {\n result.headers = createKoriZodSchema(input.headers);\n }\n\n if (input.queries) {\n result.queries = createKoriZodSchema(input.queries);\n }\n\n if (input.body) {\n result.body = createKoriZodSchema(input.body);\n }\n\n return result;\n}\n","import { type KoriResponseSchema, type KoriResponseSchemaStructure } from '@korix/kori';\nimport { type z } from 'zod/v4';\n\nimport { type KoriZodSchema, type KoriZodSchemaProvider } from './zod-schema.js';\n\nexport type KoriZodResponseSchema<S extends KoriZodSchema<z.ZodType>> = KoriResponseSchema<KoriZodSchemaProvider, S>;\n\nexport function zodResponseSchema<S extends KoriZodSchema<z.ZodType>>(\n schema: KoriResponseSchemaStructure<S>,\n): KoriZodResponseSchema<S> {\n return schema;\n}\n"],"mappings":";;;;AASA,MAAM,iBAAiB,OAAO,mBAAmB;AAQjD,MAAa,sBAAsB,CAAsBA,WAAgC;AACvF,QAAO,iBAAiB,gBAAgB,OAAO;AAChD;AAED,SAAgB,gBAAgBC,OAA+C;AAC7E,MAAK,aAAa,MAAM,CAAE,QAAO;AACjC,QAAO,mBAAmB,MAAM,KAAK;AACtC;;;;ACOD,SAAgB,iBAKdC,OAUA;CACA,MAAMC,SAAmD,CAAE;AAE3D,KAAI,MAAM,OACR,QAAO,SAAS,oBAAoB,MAAM,OAAO;AAGnD,KAAI,MAAM,QACR,QAAO,UAAU,oBAAoB,MAAM,QAAQ;AAGrD,KAAI,MAAM,QACR,QAAO,UAAU,oBAAoB,MAAM,QAAQ;AAGrD,KAAI,MAAM,KACR,QAAO,OAAO,oBAAoB,MAAM,KAAK;AAG/C,QAAO;AACR;;;;AC3DD,SAAgB,kBACdC,QAC0B;AAC1B,QAAO;AACR"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@korix/zod-schema",
3
- "version": "0.1.0-20250713.0",
3
+ "version": "0.1.0-alpha.1",
4
4
  "description": "Zod schema integration for Kori framework",
5
5
  "type": "module",
6
6
  "author": "mitz (@bufferings)",
@@ -32,12 +32,9 @@
32
32
  }
33
33
  }
34
34
  },
35
- "dependencies": {
36
- "fast-json-stringify": "^6.0.0"
37
- },
38
35
  "peerDependencies": {
39
36
  "zod": "^3.25.0",
40
- "@korix/kori": "0.1.0-20250713.11"
37
+ "@korix/kori": "0.1.0-alpha.1"
41
38
  },
42
39
  "devDependencies": {
43
40
  "@types/node": "20.11.17",
@@ -47,8 +44,8 @@
47
44
  "typescript": "5.8.3",
48
45
  "vitest": "2.1.9",
49
46
  "zod": "3.25.67",
50
- "@korix/kori": "0.1.0-20250713.11",
51
- "@korix/eslint-config": "0.1.0-alpha.0"
47
+ "@korix/eslint-config": "0.1.0-alpha.0",
48
+ "@korix/kori": "0.1.0-alpha.1"
52
49
  },
53
50
  "scripts": {
54
51
  "clean": "rimraf dist *.tsbuildinfo .turbo .tsup",