@quentinadam/zod 0.1.12 → 0.1.14

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/zod.d.ts CHANGED
@@ -77,3 +77,4 @@ declare function createUnionSchema<T extends unknown[]>(schemas: {
77
77
  }): Schema<T[number]>;
78
78
  declare function createUnknownSchema(): Schema<unknown>;
79
79
  export { createArraySchema as array, createBigIntSchema as bigint, createBooleanSchema as boolean, createDateSchema as date, createDiscrimatedUnionSchema as discriminatedUnion, createInstanceofSchema as instanceof, createLazySchema as lazy, createLiteralSchema as literal, createNullableSchema as nullable, createNullishSchema as nullish, createNullSchema as null, createNumberSchema as number, createObjectSchema as object, createOptionalSchema as optional, createRecordSchema as record, createStrictObjectSchema as strictObject, createStringSchema as string, createTupleSchema as tuple, createUndefinedSchema as undefined, createUnionSchema as union, createUnknownSchema as unknown, };
80
+ //# sourceMappingURL=zod.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zod.d.ts","sourceRoot":"","sources":["../src/zod.ts"],"names":[],"mappings":"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"}
package/dist/zod.js CHANGED
@@ -414,3 +414,4 @@ function createUnknownSchema() {
414
414
  });
415
415
  }
416
416
  export { createArraySchema as array, createBigIntSchema as bigint, createBooleanSchema as boolean, createDateSchema as date, createDiscrimatedUnionSchema as discriminatedUnion, createInstanceofSchema as instanceof, createLazySchema as lazy, createLiteralSchema as literal, createNullableSchema as nullable, createNullishSchema as nullish, createNullSchema as null, createNumberSchema as number, createObjectSchema as object, createOptionalSchema as optional, createRecordSchema as record, createStrictObjectSchema as strictObject, createStringSchema as string, createTupleSchema as tuple, createUndefinedSchema as undefined, createUnionSchema as union, createUnknownSchema as unknown, };
417
+ //# sourceMappingURL=zod.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zod.js","sourceRoot":"","sources":["../src/zod.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,YAAY,CAAC,KAAc;IACzC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,WAAW,CAAC;IAC5C,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC;IAClC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC;IACzC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,UAAU,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;IAC5G,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,UAAU,KAAK,EAAE,CAAC;IAC3B,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,UAAU,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC;IACtC,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,WAAW,KAAK,EAAE,CAAC;IAC5B,CAAC;IACD,OAAO,OAAO,KAAK,CAAC;AACtB,CAAC;AAED,MAAM,OAAO,MAAM;IACE,WAAW,CAAmD;IAEjF,YAAY,WAA6D;QACvE,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,KAAc;QAClB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,MAAM,CAAC,IAAI,CAAC;QACrB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,SAAS,CAAC,KAAc;QAGtB,MAAM,OAAO,GAAY,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAChD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,OAAO;YACL,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,sBACP,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CACpF,EAAE;YACF,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC;IACJ,CAAC;IAED,iBAAiB,CAAC,KAAc,EAAE,OAAiB;QACjD,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED,SAAS,CAAI,SAA0B;QACrC,OAAO,IAAI,MAAM,CAAC,CAAC,KAAK,EAAE,OAAO,EAAmD,EAAE;YACpF,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBACtD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzD,CAAC;gBACD,OAAO,MAAM,CAAC;YAChB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;oBAC1B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC/G,CAAC;gBACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;YAC5B,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ;QACN,OAAO,oBAAoB,CAAI,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,QAAQ;QACN,OAAO,oBAAoB,CAAI,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,OAAO;QACL,OAAO,mBAAmB,CAAI,IAAI,CAAC,CAAC;IACtC,CAAC;CACF;AAED,MAAM,OAAO,YAAgD,SAAQ,MAAS;IACnE,OAAO,CAAmC;IAEnD,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,YAAY,MAAwC,EAAE,MAAM,GAAG,KAAK;QAClE,KAAK,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YACvB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxE,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;oBAC1B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,wBAAwB,YAAY,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;gBACtG,CAAC;gBACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;YAC5B,CAAC;YACD,MAAM,MAAM,GAAG,KAAgC,CAAC;YAChD,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE;gBACnB,MAAM,YAAY,GAA4B,EAAE,CAAC;gBACjD,KAAK,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAkB,MAAM,CAAC,EAAE,CAAC;oBACzE,MAAM,MAAM,GAAG,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC1D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;wBACpB,OAAO,MAAM,CAAC;oBAChB,CAAC;oBACD,YAAY,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC;gBAClC,CAAC;gBACD,IAAI,MAAM,EAAE,CAAC;oBACX,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;wBACtC,IAAI,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,EAAE,CAAC;4BACrB,OAAO,EAAE,OAAO,EAAE,KAAc,EAAE,CAAC;wBACrC,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,YAAiB,EAAE,CAAC;YACpD,CAAC,CAAC,EAAE,CAAC;YACL,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,KAAK,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;oBACxD,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;gBACvG,CAAC;gBACD,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,gBAAgB,GAAG,IAAI,KAAK,EAAU,CAAC;oBAC7C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;wBACtC,IAAI,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,EAAE,CAAC;4BACrB,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBAC7B,CAAC;oBACH,CAAC;oBACD,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAChC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,sBAAsB,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC5G,CAAC;gBACH,CAAC;YACH,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;CACF;AAED,SAAS,iBAAiB,CAAI,MAAiB;IAC7C,OAAO,IAAI,MAAM,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACnC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,uBAAuB,YAAY,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YACrG,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC5B,CAAC;QACD,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE;YACnB,MAAM,WAAW,GAAG,IAAI,KAAK,EAAK,CAAC;YACnC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,MAAM,GAAG,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBAC9C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACpB,OAAO,MAAM,CAAC;gBAChB,CAAC;qBAAM,CAAC;oBACN,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;QAC9C,CAAC,CAAC,EAAE,CAAC;QACL,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;gBAClD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC1B,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YAC7F,CAAC;QACH,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC5B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB;IACzB,OAAO,IAAI,MAAM,CAAS,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QAC3C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,wBAAwB,YAAY,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YACtG,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC5B,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB;IAC1B,OAAO,IAAI,MAAM,CAAU,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QAC5C,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;YAC/B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,yBAAyB,YAAY,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YACvG,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC5B,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,gBAAgB;IACvB,OAAO,sBAAsB,CAAO,IAAI,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,4BAA4B,CACnC,aAAgB,EAChB,OAA+C;IAE/C,OAAO,IAAI,MAAM,CAAY,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QAC9C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACxE,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;oBAClB,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,OAAO,EAAE,wBAAwB,YAAY,CAAC,KAAK,CAAC,EAAE;iBACvD,CAAC,CAAC;YACL,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC5B,CAAC;QACD,MAAM,MAAM,GAAG,KAAgC,CAAC;QAChD,MAAM,kBAAkB,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;QACjD,MAAM,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;YACrD,OAAO,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC;QAC3E,CAAC,CAAC,CAAC;QACH,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;oBAClB,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,aAAa,CAAC;oBACtC,OAAO,EAAE,iCAAiC,YAAY,CAAC,kBAAkB,CAAC,EAAE;iBAC7E,CAAC,CAAC;YACL,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC5B,CAAC;QACD,MAAM,mBAAmB,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC;QACpD,IAAI,mBAAmB,KAAK,SAAS,EAAE,CAAC;YACtC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;oBAClB,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,aAAa,CAAC;oBACtC,OAAO,EAAE,+BAA+B,YAAY,CAAC,kBAAkB,CAAC,EAAE;iBAC3E,CAAC,CAAC;YACL,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC5B,CAAC;QACD,OAAO,mBAAmB,CAAC,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;AACL,CAAC;AAED,mCAAmC;AACnC,SAAS,sBAAsB,CAAI,MAAmC;IACpE,OAAO,IAAI,MAAM,CAAI,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACtC,IAAI,CAAC,CAAC,KAAK,YAAY,MAAM,CAAC,EAAE,CAAC;YAC/B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;oBAClB,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,OAAO,EAAE,wBAAwB,MAAM,CAAC,IAAI,SAAS,YAAY,CAAC,KAAK,CAAC,EAAE;iBAC3E,CAAC,CAAC;YACL,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC5B,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,gBAAgB,CAAI,EAAmB;IAC9C,OAAO,IAAI,MAAM,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,mBAAmB,CAAyD,OAAgB;IACnG,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,OAAO,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO,IAAI,MAAM,CAAI,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACtC,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;YACtB,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;oBAClB,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,OAAO,EAAE,oBAAoB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,YAAY,CAAC,KAAK,CAAC,EAAE;iBACnF,CAAC,CAAC;YACL,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC5B,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAC1C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB,CACzB,MAAwC;IAExC,OAAO,IAAI,YAAY,CAAI,MAAM,EAAE,KAAK,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,oBAAoB,CAAI,MAAiB;IAChD,OAAO,iBAAiB,CAAC,CAAC,qBAAqB,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,oBAAoB,CAAI,MAAiB;IAChD,OAAO,iBAAiB,CAAC,CAAC,gBAAgB,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,mBAAmB,CAAI,MAAiB;IAC/C,OAAO,iBAAiB,CAAC,CAAC,gBAAgB,EAAE,EAAE,qBAAqB,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;AAClF,CAAC;AAED,SAAS,gBAAgB;IACvB,OAAO,IAAI,MAAM,CAAO,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACzC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,sBAAsB,YAAY,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YACpG,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC5B,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB;IACzB,OAAO,IAAI,MAAM,CAAS,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QAC3C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,wBAAwB,YAAY,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YACtG,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC5B,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB,CAAI,MAAiB;IAC9C,OAAO,IAAI,MAAM,CAAoB,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;QACvD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3E,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,wBAAwB,YAAY,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;YACvG,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC5B,CAAC;QACD,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE;YACnB,MAAM,YAAY,GAAsB,EAAE,CAAC;YAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAClD,MAAM,MAAM,GAAG,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;gBAC/C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACpB,OAAO,MAAM,CAAC;gBAChB,CAAC;gBACD,YAAY,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC;YAClC,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;QAC/C,CAAC,CAAC,EAAE,CAAC;QACL,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAClD,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YAC5F,CAAC;QACH,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC5B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,wBAAwB,CAC/B,MAAwC;IAExC,OAAO,IAAI,YAAY,CAAI,MAAM,EAAE,IAAI,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,kBAAkB;IACzB,OAAO,IAAI,MAAM,CAAS,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QAC3C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,wBAAwB,YAAY,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YACtG,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC5B,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CAAsB,MAAwC;IACtF,OAAO,IAAI,MAAM,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACnC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,uBAAuB,YAAY,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YACrG,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC5B,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;YACnC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;oBAClB,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,OAAO,EAAE,4BAA4B,MAAM,CAAC,MAAM,yBAAyB,KAAK,CAAC,MAAM,EAAE;iBAC1F,CAAC,CAAC;YACL,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC5B,CAAC;QACD,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE;YACnB,MAAM,WAAW,GAAc,EAAE,CAAC;YAClC,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,KAAK,MAAM,UAAU,IAAI,MAAM,EAAE,CAAC;gBAChC,MAAM,MAAM,GAAG,UAAU,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC1D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACpB,OAAO,MAAM,CAAC;gBAChB,CAAC;gBACD,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC9B,KAAK,EAAE,CAAC;YACV,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,WAAgB,EAAE,CAAC;QACnD,CAAC,CAAC,EAAE,CAAC;QACL,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,KAAK,MAAM,UAAU,IAAI,MAAM,EAAE,CAAC;gBAChC,UAAU,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;gBACvG,KAAK,EAAE,CAAC;YACV,CAAC;QACH,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC5B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,qBAAqB;IAC5B,OAAO,IAAI,MAAM,CAAY,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QAC9C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,2BAA2B,YAAY,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YACzG,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC5B,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CAAsB,OAAyC;IACvF,OAAO,IAAI,MAAM,CAAY,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QAC9C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YAC/C,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;QACD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC5B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB;IAC1B,OAAO,IAAI,MAAM,CAAU,CAAC,KAAK,EAAE,EAAE;QACnC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,OAAO,EACL,iBAAiB,IAAI,KAAK,EAC1B,kBAAkB,IAAI,MAAM,EAC5B,mBAAmB,IAAI,OAAO,EAC9B,gBAAgB,IAAI,IAAI,EACxB,4BAA4B,IAAI,kBAAkB,EAClD,sBAAsB,IAAI,UAAU,EACpC,gBAAgB,IAAI,IAAI,EACxB,mBAAmB,IAAI,OAAO,EAC9B,oBAAoB,IAAI,QAAQ,EAChC,mBAAmB,IAAI,OAAO,EAC9B,gBAAgB,IAAI,IAAI,EACxB,kBAAkB,IAAI,MAAM,EAC5B,kBAAkB,IAAI,MAAM,EAC5B,oBAAoB,IAAI,QAAQ,EAChC,kBAAkB,IAAI,MAAM,EAC5B,wBAAwB,IAAI,YAAY,EACxC,kBAAkB,IAAI,MAAM,EAC5B,iBAAiB,IAAI,KAAK,EAC1B,qBAAqB,IAAI,SAAS,EAClC,iBAAiB,IAAI,KAAK,EAC1B,mBAAmB,IAAI,OAAO,GAC/B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quentinadam/zod",
3
- "version": "0.1.12",
3
+ "version": "0.1.14",
4
4
  "description": "A simple library to parse data, inspired by zod",
5
5
  "license": "MIT",
6
6
  "author": "Quentin Adam",
@@ -11,7 +11,9 @@
11
11
  "type": "module",
12
12
  "exports": "./dist/zod.js",
13
13
  "files": [
14
+ "src",
14
15
  "dist",
15
- "README.md"
16
+ "README.md",
17
+ "!**/*.test.ts"
16
18
  ]
17
19
  }
package/src/zod.ts ADDED
@@ -0,0 +1,482 @@
1
+ type Path = (string | number)[];
2
+ type Context = { path: Path; errors: { path: Path; message: string }[] };
3
+ type Result<T> = { success: true; data: T } | { success: false };
4
+
5
+ export function inspectValue(value: unknown): string {
6
+ if (value === undefined) return 'undefined';
7
+ if (value === null) return 'null';
8
+ if (Array.isArray(value)) return 'array';
9
+ if (typeof value === 'string') {
10
+ return `string ${value.length > 32 ? JSON.stringify(value.slice(0, 32) + '...') : JSON.stringify(value)}`;
11
+ }
12
+ if (typeof value === 'number') {
13
+ return `number ${value}`;
14
+ }
15
+ if (typeof value === 'bigint') {
16
+ return `bigint ${value.toString()}`;
17
+ }
18
+ if (typeof value === 'boolean') {
19
+ return `boolean ${value}`;
20
+ }
21
+ return typeof value;
22
+ }
23
+
24
+ export class Schema<T> {
25
+ protected readonly safeParseFn: (value: unknown, context?: Context) => Result<T>;
26
+
27
+ constructor(safeParseFn: (value: unknown, context?: Context) => Result<T>) {
28
+ this.safeParseFn = safeParseFn;
29
+ }
30
+
31
+ parse(value: unknown): T {
32
+ const result = this.safeParse(value);
33
+ if (result.success) {
34
+ return result.data;
35
+ }
36
+ throw new Error(result.message);
37
+ }
38
+
39
+ safeParse(value: unknown):
40
+ | { success: true; data: T }
41
+ | { success: false; message: string; errors: { path: Path; message: string }[] } {
42
+ const context: Context = { path: [], errors: [] };
43
+ const result = this.safeParseFn(value, context);
44
+ if (result.success) {
45
+ return result;
46
+ }
47
+ return {
48
+ success: false,
49
+ message: `Validation failed: ${
50
+ context.errors.map((e) => `${e.message} (at path /${e.path.join('/')})`).join(', ')
51
+ }`,
52
+ errors: context.errors,
53
+ };
54
+ }
55
+
56
+ internalSafeParse(value: unknown, context?: Context): Result<T> {
57
+ return this.safeParseFn(value, context);
58
+ }
59
+
60
+ transform<U>(transform: (value: T) => U): Schema<U> {
61
+ return new Schema((value, context): { success: true; data: U } | { success: false } => {
62
+ try {
63
+ const result = this.internalSafeParse(value, context);
64
+ if (result.success) {
65
+ return { success: true, data: transform(result.data) };
66
+ }
67
+ return result;
68
+ } catch (error) {
69
+ if (context !== undefined) {
70
+ context.errors.push({ path: context.path, message: error instanceof Error ? error.message : String(error) });
71
+ }
72
+ return { success: false };
73
+ }
74
+ });
75
+ }
76
+
77
+ optional(): Schema<T | undefined> {
78
+ return createOptionalSchema<T>(this);
79
+ }
80
+
81
+ nullable(): Schema<T | null> {
82
+ return createNullableSchema<T>(this);
83
+ }
84
+
85
+ nullish(): Schema<T | null | undefined> {
86
+ return createNullishSchema<T>(this);
87
+ }
88
+ }
89
+
90
+ export class ObjectSchema<T extends Record<string, unknown>> extends Schema<T> {
91
+ readonly #schema: { [K in keyof T]: Schema<T[K]> };
92
+
93
+ get shape(): { [K in keyof T]: Schema<T[K]> } {
94
+ return this.#schema;
95
+ }
96
+
97
+ constructor(schema: { [K in keyof T]: Schema<T[K]> }, strict = false) {
98
+ super((value, context) => {
99
+ if (typeof value !== 'object' || value === null || Array.isArray(value)) {
100
+ if (context !== undefined) {
101
+ context.errors.push({ path: context.path, message: `Expected object, got ${inspectValue(value)}` });
102
+ }
103
+ return { success: false };
104
+ }
105
+ const object = value as Record<string, unknown>;
106
+ const result = (() => {
107
+ const parsedObject: Record<string, unknown> = {};
108
+ for (const [key, valueSchema] of Object.entries<Schema<unknown>>(schema)) {
109
+ const result = valueSchema.internalSafeParse(object[key]);
110
+ if (!result.success) {
111
+ return result;
112
+ }
113
+ parsedObject[key] = result.data;
114
+ }
115
+ if (strict) {
116
+ for (const key of Object.keys(object)) {
117
+ if (!(key in schema)) {
118
+ return { success: false as const };
119
+ }
120
+ }
121
+ }
122
+ return { success: true, data: parsedObject as T };
123
+ })();
124
+ if (result.success) {
125
+ return result;
126
+ }
127
+ if (context !== undefined) {
128
+ for (const [key, valueSchema] of Object.entries(schema)) {
129
+ valueSchema.internalSafeParse(object[key], { path: [...context.path, key], errors: context.errors });
130
+ }
131
+ if (strict) {
132
+ const unrecognizedKeys = new Array<string>();
133
+ for (const key of Object.keys(object)) {
134
+ if (!(key in schema)) {
135
+ unrecognizedKeys.push(key);
136
+ }
137
+ }
138
+ if (unrecognizedKeys.length > 0) {
139
+ context.errors.push({ path: context.path, message: `Unrecognized keys: ${unrecognizedKeys.join(', ')}` });
140
+ }
141
+ }
142
+ }
143
+ return { success: false };
144
+ });
145
+ this.#schema = schema;
146
+ }
147
+ }
148
+
149
+ function createArraySchema<T>(schema: Schema<T>): Schema<T[]> {
150
+ return new Schema((value, context) => {
151
+ if (!Array.isArray(value)) {
152
+ if (context !== undefined) {
153
+ context.errors.push({ path: context.path, message: `Expected array, got ${inspectValue(value)}` });
154
+ }
155
+ return { success: false };
156
+ }
157
+ const result = (() => {
158
+ const parsedItems = new Array<T>();
159
+ for (const item of value) {
160
+ const result = schema.internalSafeParse(item);
161
+ if (!result.success) {
162
+ return result;
163
+ } else {
164
+ parsedItems.push(result.data);
165
+ }
166
+ }
167
+ return { success: true, data: parsedItems };
168
+ })();
169
+ if (result.success) {
170
+ return result;
171
+ }
172
+ if (context !== undefined) {
173
+ for (let index = 0; index < value.length; index++) {
174
+ const item = value[index];
175
+ schema.internalSafeParse(item, { path: [...context.path, index], errors: context.errors });
176
+ }
177
+ }
178
+ return { success: false };
179
+ });
180
+ }
181
+
182
+ function createBigIntSchema(): Schema<bigint> {
183
+ return new Schema<bigint>((value, context) => {
184
+ if (typeof value !== 'bigint') {
185
+ if (context !== undefined) {
186
+ context.errors.push({ path: context.path, message: `Expected bigint, got ${inspectValue(value)}` });
187
+ }
188
+ return { success: false };
189
+ }
190
+ return { success: true, data: value };
191
+ });
192
+ }
193
+
194
+ function createBooleanSchema(): Schema<boolean> {
195
+ return new Schema<boolean>((value, context) => {
196
+ if (typeof value !== 'boolean') {
197
+ if (context !== undefined) {
198
+ context.errors.push({ path: context.path, message: `Expected boolean, got ${inspectValue(value)}` });
199
+ }
200
+ return { success: false };
201
+ }
202
+ return { success: true, data: value };
203
+ });
204
+ }
205
+
206
+ function createDateSchema(): Schema<Date> {
207
+ return createInstanceofSchema<Date>(Date);
208
+ }
209
+
210
+ function createDiscrimatedUnionSchema<B extends string, T extends Record<B, unknown>[]>(
211
+ discriminator: B,
212
+ schemas: { [K in keyof T]: ObjectSchema<T[K]> },
213
+ ): Schema<T[number]> {
214
+ return new Schema<T[number]>((value, context) => {
215
+ if (typeof value !== 'object' || value === null || Array.isArray(value)) {
216
+ if (context !== undefined) {
217
+ context.errors.push({
218
+ path: context.path,
219
+ message: `Expected object, got ${inspectValue(value)}`,
220
+ });
221
+ }
222
+ return { success: false };
223
+ }
224
+ const object = value as Record<string, unknown>;
225
+ const discriminatorValue = object[discriminator];
226
+ const discriminatedSchemas = schemas.filter((schema) => {
227
+ return schema.shape[discriminator].safeParse(discriminatorValue).success;
228
+ });
229
+ if (discriminatedSchemas.length > 1) {
230
+ if (context !== undefined) {
231
+ context.errors.push({
232
+ path: [...context.path, discriminator],
233
+ message: `Ambiguous discriminator value ${inspectValue(discriminatorValue)}`,
234
+ });
235
+ }
236
+ return { success: false };
237
+ }
238
+ const discriminatedSchema = discriminatedSchemas[0];
239
+ if (discriminatedSchema === undefined) {
240
+ if (context !== undefined) {
241
+ context.errors.push({
242
+ path: [...context.path, discriminator],
243
+ message: `Invalid discriminator value ${inspectValue(discriminatorValue)}`,
244
+ });
245
+ }
246
+ return { success: false };
247
+ }
248
+ return discriminatedSchema.internalSafeParse(value, context);
249
+ });
250
+ }
251
+
252
+ // deno-lint-ignore no-explicit-any
253
+ function createInstanceofSchema<T>(schema: { new (...args: any[]): T }): Schema<T> {
254
+ return new Schema<T>((value, context) => {
255
+ if (!(value instanceof schema)) {
256
+ if (context !== undefined) {
257
+ context.errors.push({
258
+ path: context.path,
259
+ message: `Expected instance of ${schema.name}, got ${inspectValue(value)}`,
260
+ });
261
+ }
262
+ return { success: false };
263
+ }
264
+ return { success: true, data: value };
265
+ });
266
+ }
267
+
268
+ function createLazySchema<T>(fn: () => Schema<T>): Schema<T> {
269
+ return new Schema((value, context) => fn().internalSafeParse(value, context));
270
+ }
271
+
272
+ function createLiteralSchema<T extends string | number | boolean | null | undefined>(literal: T | T[]): Schema<T> {
273
+ if (Array.isArray(literal)) {
274
+ return createUnionSchema(literal.map((item) => createLiteralSchema(item)));
275
+ }
276
+ return new Schema<T>((value, context) => {
277
+ if (value !== literal) {
278
+ if (context !== undefined) {
279
+ context.errors.push({
280
+ path: context.path,
281
+ message: `Expected literal ${JSON.stringify(literal)}, got ${inspectValue(value)}`,
282
+ });
283
+ }
284
+ return { success: false };
285
+ }
286
+ return { success: true, data: literal };
287
+ });
288
+ }
289
+
290
+ function createObjectSchema<T extends Record<string, unknown>>(
291
+ schema: { [K in keyof T]: Schema<T[K]> },
292
+ ): ObjectSchema<T> {
293
+ return new ObjectSchema<T>(schema, false);
294
+ }
295
+
296
+ function createOptionalSchema<T>(schema: Schema<T>): Schema<T | undefined> {
297
+ return createUnionSchema([createUndefinedSchema(), schema]);
298
+ }
299
+
300
+ function createNullableSchema<T>(schema: Schema<T>): Schema<T | null> {
301
+ return createUnionSchema([createNullSchema(), schema]);
302
+ }
303
+
304
+ function createNullishSchema<T>(schema: Schema<T>): Schema<T | null | undefined> {
305
+ return createUnionSchema([createNullSchema(), createUndefinedSchema(), schema]);
306
+ }
307
+
308
+ function createNullSchema(): Schema<null> {
309
+ return new Schema<null>((value, context) => {
310
+ if (value !== null) {
311
+ if (context !== undefined) {
312
+ context.errors.push({ path: context.path, message: `Expected null, got ${inspectValue(value)}` });
313
+ }
314
+ return { success: false };
315
+ }
316
+ return { success: true, data: value };
317
+ });
318
+ }
319
+
320
+ function createNumberSchema(): Schema<number> {
321
+ return new Schema<number>((value, context) => {
322
+ if (typeof value !== 'number') {
323
+ if (context !== undefined) {
324
+ context.errors.push({ path: context.path, message: `Expected number, got ${inspectValue(value)}` });
325
+ }
326
+ return { success: false };
327
+ }
328
+ return { success: true, data: value };
329
+ });
330
+ }
331
+
332
+ function createRecordSchema<T>(schema: Schema<T>): Schema<Record<string, T>> {
333
+ return new Schema<Record<string, T>>((record, context) => {
334
+ if (typeof record !== 'object' || record === null || Array.isArray(record)) {
335
+ if (context !== undefined) {
336
+ context.errors.push({ path: context.path, message: `Expected object, got ${inspectValue(record)}` });
337
+ }
338
+ return { success: false };
339
+ }
340
+ const result = (() => {
341
+ const parsedObject: Record<string, T> = {};
342
+ for (const [key, value] of Object.entries(record)) {
343
+ const result = schema.internalSafeParse(value);
344
+ if (!result.success) {
345
+ return result;
346
+ }
347
+ parsedObject[key] = result.data;
348
+ }
349
+ return { success: true, data: parsedObject };
350
+ })();
351
+ if (result.success) {
352
+ return result;
353
+ }
354
+ if (context !== undefined) {
355
+ for (const [key, value] of Object.entries(record)) {
356
+ schema.internalSafeParse(value, { path: [...context.path, key], errors: context.errors });
357
+ }
358
+ }
359
+ return { success: false };
360
+ });
361
+ }
362
+
363
+ function createStrictObjectSchema<T extends Record<string, unknown>>(
364
+ schema: { [K in keyof T]: Schema<T[K]> },
365
+ ): Schema<T> {
366
+ return new ObjectSchema<T>(schema, true);
367
+ }
368
+
369
+ function createStringSchema(): Schema<string> {
370
+ return new Schema<string>((value, context) => {
371
+ if (typeof value !== 'string') {
372
+ if (context !== undefined) {
373
+ context.errors.push({ path: context.path, message: `Expected string, got ${inspectValue(value)}` });
374
+ }
375
+ return { success: false };
376
+ }
377
+ return { success: true, data: value };
378
+ });
379
+ }
380
+
381
+ function createTupleSchema<T extends unknown[]>(schema: { [K in keyof T]: Schema<T[K]> }): Schema<T> {
382
+ return new Schema((value, context) => {
383
+ if (!Array.isArray(value)) {
384
+ if (context !== undefined) {
385
+ context.errors.push({ path: context.path, message: `Expected array, got ${inspectValue(value)}` });
386
+ }
387
+ return { success: false };
388
+ }
389
+ if (value.length !== schema.length) {
390
+ if (context !== undefined) {
391
+ context.errors.push({
392
+ path: context.path,
393
+ message: `Expected array of length ${schema.length}, got array of length ${value.length}`,
394
+ });
395
+ }
396
+ return { success: false };
397
+ }
398
+ const result = (() => {
399
+ const parsedItems: unknown[] = [];
400
+ let index = 0;
401
+ for (const itemSchema of schema) {
402
+ const result = itemSchema.internalSafeParse(value[index]);
403
+ if (!result.success) {
404
+ return result;
405
+ }
406
+ parsedItems.push(result.data);
407
+ index++;
408
+ }
409
+ return { success: true, data: parsedItems as T };
410
+ })();
411
+ if (result.success) {
412
+ return result;
413
+ }
414
+ if (context !== undefined) {
415
+ let index = 0;
416
+ for (const itemSchema of schema) {
417
+ itemSchema.internalSafeParse(value[index], { path: [...context.path, index], errors: context.errors });
418
+ index++;
419
+ }
420
+ }
421
+ return { success: false };
422
+ });
423
+ }
424
+
425
+ function createUndefinedSchema(): Schema<undefined> {
426
+ return new Schema<undefined>((value, context) => {
427
+ if (value !== undefined) {
428
+ if (context !== undefined) {
429
+ context.errors.push({ path: context.path, message: `Expected undefined, got ${inspectValue(value)}` });
430
+ }
431
+ return { success: false };
432
+ }
433
+ return { success: true, data: value };
434
+ });
435
+ }
436
+
437
+ function createUnionSchema<T extends unknown[]>(schemas: { [K in keyof T]: Schema<T[K]> }): Schema<T[number]> {
438
+ return new Schema<T[number]>((value, context) => {
439
+ for (const schema of schemas) {
440
+ const result = schema.internalSafeParse(value);
441
+ if (result.success) {
442
+ return result;
443
+ }
444
+ }
445
+ if (context !== undefined) {
446
+ for (const schema of schemas) {
447
+ schema.internalSafeParse(value, context);
448
+ }
449
+ }
450
+ return { success: false };
451
+ });
452
+ }
453
+
454
+ function createUnknownSchema(): Schema<unknown> {
455
+ return new Schema<unknown>((value) => {
456
+ return { success: true, data: value };
457
+ });
458
+ }
459
+
460
+ export {
461
+ createArraySchema as array,
462
+ createBigIntSchema as bigint,
463
+ createBooleanSchema as boolean,
464
+ createDateSchema as date,
465
+ createDiscrimatedUnionSchema as discriminatedUnion,
466
+ createInstanceofSchema as instanceof,
467
+ createLazySchema as lazy,
468
+ createLiteralSchema as literal,
469
+ createNullableSchema as nullable,
470
+ createNullishSchema as nullish,
471
+ createNullSchema as null,
472
+ createNumberSchema as number,
473
+ createObjectSchema as object,
474
+ createOptionalSchema as optional,
475
+ createRecordSchema as record,
476
+ createStrictObjectSchema as strictObject,
477
+ createStringSchema as string,
478
+ createTupleSchema as tuple,
479
+ createUndefinedSchema as undefined,
480
+ createUnionSchema as union,
481
+ createUnknownSchema as unknown,
482
+ };