@nmtjs/type 0.8.1 → 0.10.0

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.js CHANGED
@@ -46,3 +46,5 @@ export const type = {
46
46
  };
47
47
  export { type as t, zod };
48
48
  export default type;
49
+
50
+ //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"mappings":"AAAA,YAAY,SAAS,WAAW;AAChC,SAAS,eAAe,gBAAgB;AACxC,SAAS,iBAAiB,kBAAkB;AAE5C,SAAS,mBAAmB,oBAAoB;AAChD,SAAS,kBAAkB,mBAAmB;AAC9C,SAAS,gBAAgB,iBAAiB;AAC1C,SAAS,gBAAgB,iBAAiB;AAC1C,SAAS,mBAAmB,oBAAoB;AAChD,SAAS,iBAAiB,kBAAkB;AAC5C,SAAS,YAAY,aAAa,kBAAkB,mBAAmB;AACvE,SACE,QACA,OACA,OACA,YACA,MACA,SACA,MACA,kBACK,mBAAmB;AAC1B,SAAS,kBAAkB,mBAAmB;AAC9C,SAAS,iBAAiB,kBAAkB;AAC5C,SACE,wBACA,kBACA,iBACK,kBAAkB;AAEzB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC;AAEjC,SAAS,wBAAwB;AACjC,SAAS,gBAAkC;AAC3C,SACE,SACA,WACA,aACA,YACA,UACA,UACA,aACA,aACA,YACA,YACA,YACA,kBACA,WACA,WACA,WACA,wBACA;AAqBF,OAAO,MAAM,OAAO;CAClB,OAAO,UAAU;CACjB,SAAS,YAAY;CACrB,QAAQ,WAAW;CACnB,QAAQ,WAAW;CACnB,SAAS,YAAY;CACrB,QAAQ,WAAW;CACnB,SAAS,YAAY;CACrB,MAAM,SAAS;CACf,OAAO,UAAU;CACjB,MAAM,SAAS;CACf,OAAO,UAAU;CACjB,QAAQ,WAAW;CACnB,KAAK,QAAQ;CACb,IAAI,UAAU;CACd,KAAK,iBAAiB;CACtB,OAAO,UAAU;CACjB,cAAc,iBAAiB;CAC/B,oBAAoB,uBAAuB;CAC3C,QAAQ,WAAW;CACnB,QAAQ,WAAW;CACnB;CACA;CACA;CACA;CACA;CACA;AACD;AACD,SAAS,QAAQ,GAAG;AACpB,eAAe","names":[],"sources":["src/index.ts"],"sourcesContent":["import * as zod from '@zod/mini'\nimport { AnyType } from './types/any.ts'\nimport { ArrayType } from './types/array.ts'\nimport type { BaseTypeAny } from './types/base.ts'\nimport { BooleanType } from './types/boolean.ts'\nimport { CustomType } from './types/custom.ts'\nimport { DateType } from './types/date.ts'\nimport { EnumType } from './types/enum.ts'\nimport { LiteralType } from './types/literal.ts'\nimport { NeverType } from './types/never.ts'\nimport { BigIntType, IntegerType, NumberType } from './types/number.ts'\nimport {\n extend,\n keyof,\n merge,\n ObjectType,\n omit,\n partial,\n pick,\n RecordType,\n} from './types/object.ts'\nimport { StringType } from './types/string.ts'\nimport { TupleType } from './types/tuple.ts'\nimport {\n DiscriminatedUnionType,\n IntersactionType,\n UnionType,\n} from './types/union.ts'\n\nzod.config(zod.core.locales.en())\n\nexport { NeemataTypeError } from './types/base.ts'\nexport { BaseType, type BaseTypeAny } from './types/base.ts'\nexport {\n AnyType,\n ArrayType,\n BooleanType,\n CustomType,\n DateType,\n EnumType,\n LiteralType,\n IntegerType,\n NumberType,\n ObjectType,\n StringType,\n IntersactionType,\n UnionType,\n TupleType,\n NeverType,\n DiscriminatedUnionType,\n RecordType,\n}\n\nexport namespace type {\n export namespace infer {\n export namespace decoded {\n export type input<T extends BaseTypeAny> =\n T['decodedZodType']['_zod']['input']\n export type output<T extends BaseTypeAny> =\n T['decodedZodType']['_zod']['output']\n }\n\n export namespace encoded {\n export type input<T extends BaseTypeAny> =\n T['encodedZodType']['_zod']['input']\n export type output<T extends BaseTypeAny> =\n T['encodedZodType']['_zod']['output']\n }\n }\n}\n\nexport const type = {\n never: NeverType.factory,\n boolean: BooleanType.factory,\n string: StringType.factory,\n number: NumberType.factory,\n integer: IntegerType.factory,\n bigint: BigIntType.factory,\n literal: LiteralType.factory,\n enum: EnumType.factory,\n tuple: TupleType.factory,\n date: DateType.factory,\n array: ArrayType.factory,\n record: RecordType.factory,\n any: AnyType.factory,\n or: UnionType.factory,\n and: IntersactionType.factory,\n union: UnionType.factory,\n intersaction: IntersactionType.factory,\n discriminatedUnion: DiscriminatedUnionType.factory,\n custom: CustomType.factory,\n object: ObjectType.factory,\n keyof,\n partial,\n merge,\n omit,\n extend,\n pick,\n}\nexport { type as t, zod }\nexport default type\n"],"version":3}
1
+ {"mappings":"AAAA,YAAY,SAAS,WAAW;AAChC,SAAS,eAAe,gBAAgB;AACxC,SAAS,iBAAiB,kBAAkB;AAE5C,SAAS,mBAAmB,oBAAoB;AAChD,SAAS,kBAAkB,mBAAmB;AAC9C,SAAS,gBAAgB,iBAAiB;AAC1C,SAAS,gBAAgB,iBAAiB;AAC1C,SAAS,mBAAmB,oBAAoB;AAChD,SAAS,iBAAiB,kBAAkB;AAC5C,SAAS,YAAY,aAAa,kBAAkB,mBAAmB;AACvE,SACE,QACA,OACA,OACA,YACA,MACA,SACA,MACA,kBACK,mBAAmB;AAC1B,SAAS,kBAAkB,mBAAmB;AAC9C,SAAS,iBAAiB,kBAAkB;AAC5C,SACE,wBACA,kBACA,iBACK,kBAAkB;AAEzB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC;AAEjC,SAAS,wBAAwB;AACjC,SAAS,gBAAkC;AAC3C,SACE,SACA,WACA,aACA,YACA,UACA,UACA,aACA,aACA,YACA,YACA,YACA,kBACA,WACA,WACA,WACA,wBACA;AAqBF,OAAO,MAAM,OAAO;CAClB,OAAO,UAAU;CACjB,SAAS,YAAY;CACrB,QAAQ,WAAW;CACnB,QAAQ,WAAW;CACnB,SAAS,YAAY;CACrB,QAAQ,WAAW;CACnB,SAAS,YAAY;CACrB,MAAM,SAAS;CACf,OAAO,UAAU;CACjB,MAAM,SAAS;CACf,OAAO,UAAU;CACjB,QAAQ,WAAW;CACnB,KAAK,QAAQ;CACb,IAAI,UAAU;CACd,KAAK,iBAAiB;CACtB,OAAO,UAAU;CACjB,cAAc,iBAAiB;CAC/B,oBAAoB,uBAAuB;CAC3C,QAAQ,WAAW;CACnB,QAAQ,WAAW;CACnB;CACA;CACA;CACA;CACA;CACA;AACD;AACD,SAAS,QAAQ,GAAG;AACpB,eAAe","names":[],"sources":["../src/index.ts"],"sourcesContent":["import * as zod from '@zod/mini'\nimport { AnyType } from './types/any.ts'\nimport { ArrayType } from './types/array.ts'\nimport type { BaseTypeAny } from './types/base.ts'\nimport { BooleanType } from './types/boolean.ts'\nimport { CustomType } from './types/custom.ts'\nimport { DateType } from './types/date.ts'\nimport { EnumType } from './types/enum.ts'\nimport { LiteralType } from './types/literal.ts'\nimport { NeverType } from './types/never.ts'\nimport { BigIntType, IntegerType, NumberType } from './types/number.ts'\nimport {\n extend,\n keyof,\n merge,\n ObjectType,\n omit,\n partial,\n pick,\n RecordType,\n} from './types/object.ts'\nimport { StringType } from './types/string.ts'\nimport { TupleType } from './types/tuple.ts'\nimport {\n DiscriminatedUnionType,\n IntersactionType,\n UnionType,\n} from './types/union.ts'\n\nzod.config(zod.core.locales.en())\n\nexport { NeemataTypeError } from './types/base.ts'\nexport { BaseType, type BaseTypeAny } from './types/base.ts'\nexport {\n AnyType,\n ArrayType,\n BooleanType,\n CustomType,\n DateType,\n EnumType,\n LiteralType,\n IntegerType,\n NumberType,\n ObjectType,\n StringType,\n IntersactionType,\n UnionType,\n TupleType,\n NeverType,\n DiscriminatedUnionType,\n RecordType,\n}\n\nexport namespace type {\n export namespace infer {\n export namespace decoded {\n export type input<T extends BaseTypeAny> =\n T['decodedZodType']['_zod']['input']\n export type output<T extends BaseTypeAny> =\n T['decodedZodType']['_zod']['output']\n }\n\n export namespace encoded {\n export type input<T extends BaseTypeAny> =\n T['encodedZodType']['_zod']['input']\n export type output<T extends BaseTypeAny> =\n T['encodedZodType']['_zod']['output']\n }\n }\n}\n\nexport const type = {\n never: NeverType.factory,\n boolean: BooleanType.factory,\n string: StringType.factory,\n number: NumberType.factory,\n integer: IntegerType.factory,\n bigint: BigIntType.factory,\n literal: LiteralType.factory,\n enum: EnumType.factory,\n tuple: TupleType.factory,\n date: DateType.factory,\n array: ArrayType.factory,\n record: RecordType.factory,\n any: AnyType.factory,\n or: UnionType.factory,\n and: IntersactionType.factory,\n union: UnionType.factory,\n intersaction: IntersactionType.factory,\n discriminatedUnion: DiscriminatedUnionType.factory,\n custom: CustomType.factory,\n object: ObjectType.factory,\n keyof,\n partial,\n merge,\n omit,\n extend,\n pick,\n}\nexport { type as t, zod }\nexport default type\n"],"version":3,"file":"index.js"}
package/dist/temporal.js CHANGED
@@ -6,3 +6,5 @@ export const zonedDatetime = ZonedDateTimeType.factory;
6
6
  export const duration = DurationType.factory;
7
7
  export const plainYearMonth = PlainYearMonthType.factory;
8
8
  export const plainMonthDay = PlainMonthDayType.factory;
9
+
10
+ //# sourceMappingURL=temporal.js.map
@@ -1 +1 @@
1
- {"mappings":"AAAA,SACE,cACA,mBACA,eACA,mBACA,eACA,oBACA,yBACK,qBAAqB;AAE5B,OAAO,MAAM,YAAY,cAAc;AACvC,OAAO,MAAM,gBAAgB,kBAAkB;AAC/C,OAAO,MAAM,YAAY,cAAc;AACvC,OAAO,MAAM,gBAAgB,kBAAkB;AAC/C,OAAO,MAAM,WAAW,aAAa;AACrC,OAAO,MAAM,iBAAiB,mBAAmB;AACjD,OAAO,MAAM,gBAAgB,kBAAkB","names":[],"sources":["src/temporal.ts"],"sourcesContent":["import {\n DurationType,\n PlainDateTimeType,\n PlainDateType,\n PlainMonthDayType,\n PlainTimeType,\n PlainYearMonthType,\n ZonedDateTimeType,\n} from './types/temporal.ts'\n\nexport const plainDate = PlainDateType.factory\nexport const plainDatetime = PlainDateTimeType.factory\nexport const plainTime = PlainTimeType.factory\nexport const zonedDatetime = ZonedDateTimeType.factory\nexport const duration = DurationType.factory\nexport const plainYearMonth = PlainYearMonthType.factory\nexport const plainMonthDay = PlainMonthDayType.factory\n\nexport type {\n DurationType,\n PlainDateTimeType,\n PlainDateType,\n PlainMonthDayType,\n PlainTimeType,\n PlainYearMonthType,\n ZonedDateTimeType,\n}\n"],"version":3}
1
+ {"mappings":"AAAA,SACE,cACA,mBACA,eACA,mBACA,eACA,oBACA,yBACK,qBAAqB;AAE5B,OAAO,MAAM,YAAY,cAAc;AACvC,OAAO,MAAM,gBAAgB,kBAAkB;AAC/C,OAAO,MAAM,YAAY,cAAc;AACvC,OAAO,MAAM,gBAAgB,kBAAkB;AAC/C,OAAO,MAAM,WAAW,aAAa;AACrC,OAAO,MAAM,iBAAiB,mBAAmB;AACjD,OAAO,MAAM,gBAAgB,kBAAkB","names":[],"sources":["../src/temporal.ts"],"sourcesContent":["import {\n DurationType,\n PlainDateTimeType,\n PlainDateType,\n PlainMonthDayType,\n PlainTimeType,\n PlainYearMonthType,\n ZonedDateTimeType,\n} from './types/temporal.ts'\n\nexport const plainDate = PlainDateType.factory\nexport const plainDatetime = PlainDateTimeType.factory\nexport const plainTime = PlainTimeType.factory\nexport const zonedDatetime = ZonedDateTimeType.factory\nexport const duration = DurationType.factory\nexport const plainYearMonth = PlainYearMonthType.factory\nexport const plainMonthDay = PlainMonthDayType.factory\n\nexport type {\n DurationType,\n PlainDateTimeType,\n PlainDateType,\n PlainMonthDayType,\n PlainTimeType,\n PlainYearMonthType,\n ZonedDateTimeType,\n}\n"],"version":3,"file":"temporal.js"}
package/dist/types/any.js CHANGED
@@ -5,3 +5,5 @@ export class AnyType extends BaseType {
5
5
  return new AnyType({ encodedZodType: any() });
6
6
  }
7
7
  }
8
+
9
+ //# sourceMappingURL=any.js.map
@@ -1 +1 @@
1
- {"mappings":"AAAA,SAAS,WAA4B,WAAW;AAChD,SAAS,gBAAgB,WAAW;AAEpC,OAAO,MAAM,gBAAgB,SAAqB;CAChD,OAAO,UAAU;AACf,SAAO,IAAI,QAAQ,EACjB,gBAAgB,KAAK,CACtB;CACF;AACF","names":[],"sources":["src/types/any.ts"],"sourcesContent":["import { any, type ZodMiniAny } from '@zod/mini'\nimport { BaseType } from './base.ts'\n\nexport class AnyType extends BaseType<ZodMiniAny> {\n static factory() {\n return new AnyType({\n encodedZodType: any(),\n })\n }\n}\n"],"version":3}
1
+ {"mappings":"AAAA,SAAS,WAA4B,WAAW;AAChD,SAAS,gBAAgB,WAAW;AAEpC,OAAO,MAAM,gBAAgB,SAAqB;CAChD,OAAO,UAAU;AACf,SAAO,IAAI,QAAQ,EACjB,gBAAgB,KAAK,CACtB;CACF;AACF","names":[],"sources":["../../src/types/any.ts"],"sourcesContent":["import { any, type ZodMiniAny } from '@zod/mini'\nimport { BaseType } from './base.ts'\n\nexport class AnyType extends BaseType<ZodMiniAny> {\n static factory() {\n return new AnyType({\n encodedZodType: any(),\n })\n }\n}\n"],"version":3,"file":"any.js"}
@@ -22,3 +22,5 @@ export class ArrayType extends BaseType {
22
22
  return ArrayType.factory(this.props.element, ...this.params.checks, check);
23
23
  }
24
24
  }
25
+
26
+ //# sourceMappingURL=array.js.map
@@ -1 +1 @@
1
- {"mappings":"AAAA,SACE,OAEA,QACA,WACA,iBAEK,WAAW;AAClB,SAAS,gBAAgB,WAAW;AAIpC,OAAO,MAAM,kBAAiD,SAI5D;CACA,OAAO,QAA4BA,SAAY,GAAG,QAAiB;AACjE,SAAO,IAAI,UAAa;GACtB,gBAAgB,MAAM,QAAQ,eAAe,CAAC,MAAM,GAAG,OAAO;GAC9D,gBAAgB,MAAM,QAAQ,eAAe,CAAC,MAAM,GAAG,OAAO;GAC9D,QAAQ,EAAE,OAAQ;GAClB,OAAO,EAAE,QAAS;EACnB;CACF;CAED,IAAIC,OAAe;EACjB,MAAM,QAAQ,UAAU,MAAM;AAC9B,SAAO,UAAU,QACf,KAAK,MAAM,SACX,GAAG,KAAK,OAAO,QACf,MACD;CACF;CAED,IAAIA,OAAe;EACjB,MAAM,QAAQ,UAAU,MAAM;AAC9B,SAAO,UAAU,QACf,KAAK,MAAM,SACX,GAAG,KAAK,OAAO,QACf,MACD;CACF;CAED,OAAOA,OAAe;EACpB,MAAM,QAAQ,OAAO,MAAM;AAC3B,SAAO,UAAU,QACf,KAAK,MAAM,SACX,GAAG,KAAK,OAAO,QACf,MACD;CACF;AACF","names":["element: T","value: number"],"sources":["src/types/array.ts"],"sourcesContent":["import {\n array,\n type core,\n length,\n maxLength,\n minLength,\n type ZodMiniArray,\n} from '@zod/mini'\nimport { BaseType } from './base.ts'\n\ntype Check = core.CheckFn<any[]> | core.$ZodCheck<any[]>\n\nexport class ArrayType<T extends BaseType = BaseType> extends BaseType<\n ZodMiniArray<T['encodedZodType']>,\n ZodMiniArray<T['decodedZodType']>,\n { element: T }\n> {\n static factory<T extends BaseType>(element: T, ...checks: Check[]) {\n return new ArrayType<T>({\n encodedZodType: array(element.encodedZodType).check(...checks),\n decodedZodType: array(element.decodedZodType).check(...checks),\n params: { checks },\n props: { element },\n })\n }\n\n min(value: number) {\n const check = minLength(value)\n return ArrayType.factory<T>(\n this.props.element,\n ...this.params.checks,\n check,\n )\n }\n\n max(value: number) {\n const check = maxLength(value)\n return ArrayType.factory<T>(\n this.props.element,\n ...this.params.checks,\n check,\n )\n }\n\n length(value: number) {\n const check = length(value)\n return ArrayType.factory<T>(\n this.props.element,\n ...this.params.checks,\n check,\n )\n }\n}\n"],"version":3}
1
+ {"mappings":"AAAA,SACE,OAEA,QACA,WACA,iBAEK,WAAW;AAClB,SAAS,gBAAgB,WAAW;AAIpC,OAAO,MAAM,kBAAiD,SAI5D;CACA,OAAO,QAA4BA,SAAY,GAAG,QAAiB;AACjE,SAAO,IAAI,UAAa;GACtB,gBAAgB,MAAM,QAAQ,eAAe,CAAC,MAAM,GAAG,OAAO;GAC9D,gBAAgB,MAAM,QAAQ,eAAe,CAAC,MAAM,GAAG,OAAO;GAC9D,QAAQ,EAAE,OAAQ;GAClB,OAAO,EAAE,QAAS;EACnB;CACF;CAED,IAAIC,OAAe;EACjB,MAAM,QAAQ,UAAU,MAAM;AAC9B,SAAO,UAAU,QACf,KAAK,MAAM,SACX,GAAG,KAAK,OAAO,QACf,MACD;CACF;CAED,IAAIA,OAAe;EACjB,MAAM,QAAQ,UAAU,MAAM;AAC9B,SAAO,UAAU,QACf,KAAK,MAAM,SACX,GAAG,KAAK,OAAO,QACf,MACD;CACF;CAED,OAAOA,OAAe;EACpB,MAAM,QAAQ,OAAO,MAAM;AAC3B,SAAO,UAAU,QACf,KAAK,MAAM,SACX,GAAG,KAAK,OAAO,QACf,MACD;CACF;AACF","names":["element: T","value: number"],"sources":["../../src/types/array.ts"],"sourcesContent":["import {\n array,\n type core,\n length,\n maxLength,\n minLength,\n type ZodMiniArray,\n} from '@zod/mini'\nimport { BaseType } from './base.ts'\n\ntype Check = core.CheckFn<any[]> | core.$ZodCheck<any[]>\n\nexport class ArrayType<T extends BaseType = BaseType> extends BaseType<\n ZodMiniArray<T['encodedZodType']>,\n ZodMiniArray<T['decodedZodType']>,\n { element: T }\n> {\n static factory<T extends BaseType>(element: T, ...checks: Check[]) {\n return new ArrayType<T>({\n encodedZodType: array(element.encodedZodType).check(...checks),\n decodedZodType: array(element.decodedZodType).check(...checks),\n params: { checks },\n props: { element },\n })\n }\n\n min(value: number) {\n const check = minLength(value)\n return ArrayType.factory<T>(\n this.props.element,\n ...this.params.checks,\n check,\n )\n }\n\n max(value: number) {\n const check = maxLength(value)\n return ArrayType.factory<T>(\n this.props.element,\n ...this.params.checks,\n check,\n )\n }\n\n length(value: number) {\n const check = length(value)\n return ArrayType.factory<T>(\n this.props.element,\n ...this.params.checks,\n check,\n )\n }\n}\n"],"version":3,"file":"array.js"}
@@ -71,3 +71,5 @@ export class DefaultType extends BaseType {
71
71
  });
72
72
  }
73
73
  }
74
+
75
+ //# sourceMappingURL=base.js.map
@@ -1 +1 @@
1
- {"mappings":"AAAA,SACE,UACA,MACA,UACA,UACA,gBAoBK,WAAW;AAmDlB,OAAO,MAAM,gBAAgB,UAAwB;AAErD,OAAO,MAAM,mBAAmB,KAAK;AAGrC,OAAO,MAAe,SAIpB;CACA,AAAS;CACT,AAAS;CACT,AAAS;CACT,AAAS;CAET,YAAY,EACV,gBACA,iBAAiB,gBACjB,QAAQ,CAAE,GACV,SAAS,CAAE,GAMZ,EAAE;AACD,OAAK,iBAAiB;AACtB,OAAK,iBAAiB;AAEtB,OAAK,QAAQ;AACb,OAAK,SAAS,OAAO,OAAO,EAAE,QAAQ,CAAE,EAAE,GAAE,OAAO;CACpD;CAED,WAA+B;AAC7B,SAAO,aAAa,QAAQ,KAAK;CAClC;CAED,WAA+B;AAC7B,SAAO,aAAa,QAAQ,KAAK;CAClC;CAED,UAAU;AACR,SAAO,KAAK,UAAU,CAAC,UAAU;CAClC;CAED,QAAQA,OAAmE;AACzE,SAAO,YAAY,QAAQ,MAAM,MAAM;CACxC;CAED,MAAMC,OAAqB;AACzB,SAAO,KAAK,KAAK,EAAE,MAAO,EAAC;CAC5B;CAED,YAAYC,aAA2B;AACrC,SAAO,KAAK,KAAK,EAAE,YAAa,EAAC;CAClC;CAED,SAAS,GAAG,UAA2D;AACrE,SAAO,KAAK,KAAK,EACf,UAAU,KAAK,OAAO,SAClB,SAAS,IAAI,KAAK,OAAO,OAAO,GAChC,SACL,EAAC;CACH;CAED,KAAKC,aAAiC;EACpC,MAAM,WAAW,cAAc,IAAI,KAAK,eAAe,IAAI,CAAE;AAC7D,SAAO,OAAO,UAAU,YAAY;AACpC,gBAAc,IAAI,KAAK,gBAAgB,SAAS;AAChD,SAAO;CACR;CAED,OACEC,MAC0C;AAC1C,SAAO,KAAK,eAAe,MAAM,MAAM,EAAE,aAAa,KAAM,EAAC;CAC9D;CAED,OACEC,MAC0C;AAC1C,SAAO,KAAK,eAAe,MAAM,MAAM,EAAE,aAAa,KAAM,EAAC;CAC9D;AACF;AAED,OAAO,MAAM,qBAEH,SAIR;CACA,OAAO,QAA+BC,MAAS;AAC7C,SAAO,IAAI,aAAgB;GACzB,gBAAgB,SAAS,KAAK,eAAe;GAC7C,OAAO,EAAE,OAAO,KAAM;EACvB;CACF;AACF;AAED,OAAO,MAAM,qBAEH,SAIR;CACA,OAAO,QAAoCA,MAAS;AAClD,SAAO,IAAI,aAAgB;GACzB,gBAAgB,SAAS,KAAK,eAAe;GAC7C,OAAO,EAAE,OAAO,KAAM;EACvB;CACF;AACF;AAED,OAAO,MAAM,oBAEH,SAIR;CACA,OAAO,QAAoCA,MAASC,cAAmB;AACrE,SAAO,IAAI,YAAe;GACxB,gBAAgB,SACd,KAAK,gBACL,KAAK,OAAO,SAAS,aAAa,IAAI,aACvC;GACD,gBAAgB,SAAS,KAAK,gBAAgB,aAAa;GAC3D,OAAO,EAAE,OAAO,KAAM;EACvB;CACF;AACF","names":["value: this['encodedZodType']['_zod']['input']","title: string","description: string","newMetadata: TypeMetadata","data: this['encodedZodType']['_zod']['input']","data: this['decodedZodType']['_zod']['input']","type: T","defaultValue: any"],"sources":["src/types/base.ts"],"sourcesContent":["import {\n _default,\n core,\n nullable,\n optional,\n registry,\n type ZodMiniAny,\n type ZodMiniArray,\n type ZodMiniBoolean,\n type ZodMiniCustom,\n type ZodMiniDefault,\n type ZodMiniEnum,\n type ZodMiniInterface,\n type ZodMiniIntersection,\n type ZodMiniLiteral,\n type ZodMiniNever,\n type ZodMiniNullable,\n type ZodMiniNumber,\n type ZodMiniObject,\n type ZodMiniOptional,\n type ZodMiniPipe,\n type ZodMiniRecord,\n type ZodMiniString,\n type ZodMiniType,\n type ZodMiniUnion,\n} from '@zod/mini'\n\nexport type PrimitiveValueType = string | number | boolean | null\n\nexport type PrimitiveZodType =\n | ZodMiniNever\n | ZodMiniDefault\n | ZodMiniNullable\n | ZodMiniOptional\n | ZodMiniString\n | ZodMiniObject\n | ZodMiniAny\n | ZodMiniArray\n | ZodMiniBoolean\n | ZodMiniNumber\n | ZodMiniEnum<any>\n | ZodMiniLiteral<PrimitiveValueType>\n | ZodMiniUnion\n | ZodMiniIntersection\n | ZodMiniInterface\n | ZodMiniRecord\n\nexport type SimpleZodType = ZodMiniType\n\nexport type ZodType = SimpleZodType | ZodMiniType\n\nexport type TypeProps = Record<string, any>\n\nexport type TypeMetadata<T = any> = {\n id?: string\n description?: string\n examples?: T[]\n title?: string\n}\n\nexport type TypeParams = {\n encode?: (value: any) => any\n metadata?: TypeMetadata\n checks: Array<core.CheckFn<any> | core.$ZodCheck<any>>\n}\n\nexport type DefaultTypeParams = {\n encode?: TypeParams['encode']\n metadata?: TypeMetadata\n}\n\nexport type BaseTypeAny<\n EncodedZodType extends SimpleZodType = SimpleZodType,\n DecodedZodType extends ZodType = ZodMiniType,\n> = BaseType<EncodedZodType, DecodedZodType, TypeProps>\n\nexport const typesRegistry = registry<TypeMetadata>()\n\nexport const NeemataTypeError = core.$ZodError\nexport type NeemataTypeError = core.$ZodError\n\nexport abstract class BaseType<\n EncodedZodType extends SimpleZodType = SimpleZodType,\n DecodedZodType extends ZodType = EncodedZodType,\n Props extends TypeProps = TypeProps,\n> {\n readonly encodedZodType: EncodedZodType\n readonly decodedZodType: DecodedZodType\n readonly props: Props\n readonly params: TypeParams\n\n constructor({\n encodedZodType,\n decodedZodType = encodedZodType as unknown as DecodedZodType,\n props = {} as Props,\n params = {} as Partial<TypeParams>,\n }: {\n encodedZodType: EncodedZodType\n decodedZodType?: DecodedZodType\n props?: Props\n params?: Partial<TypeParams>\n }) {\n this.encodedZodType = encodedZodType\n this.decodedZodType = decodedZodType\n\n this.props = props\n this.params = Object.assign({ checks: [] }, params)\n }\n\n optional(): OptionalType<this> {\n return OptionalType.factory(this)\n }\n\n nullable(): NullableType<this> {\n return NullableType.factory(this)\n }\n\n nullish() {\n return this.nullable().optional()\n }\n\n default(value: this['encodedZodType']['_zod']['input']): DefaultType<this> {\n return DefaultType.factory(this, value)\n }\n\n title(title: string): this {\n return this.meta({ title })\n }\n\n description(description: string): this {\n return this.meta({ description })\n }\n\n examples(...examples: this['decodedZodType']['_zod']['input'][]): this {\n return this.meta({\n examples: this.params.encode\n ? examples.map(this.params.encode)\n : examples,\n })\n }\n\n meta(newMetadata: TypeMetadata): this {\n const metadata = typesRegistry.get(this.encodedZodType) ?? {}\n Object.assign(metadata, newMetadata)\n typesRegistry.add(this.encodedZodType, metadata)\n return this\n }\n\n encode(\n data: this['encodedZodType']['_zod']['input'],\n ): this['encodedZodType']['_zod']['output'] {\n return this.encodedZodType.parse(data, { reportInput: true })\n }\n\n decode(\n data: this['decodedZodType']['_zod']['input'],\n ): this['decodedZodType']['_zod']['output'] {\n return this.decodedZodType.parse(data, { reportInput: true })\n }\n}\n\nexport class OptionalType<\n Type extends BaseTypeAny = BaseTypeAny,\n> extends BaseType<\n ZodMiniOptional<Type['encodedZodType']>,\n ZodMiniOptional<Type['decodedZodType']>,\n { inner: Type }\n> {\n static factory<T extends BaseTypeAny>(type: T) {\n return new OptionalType<T>({\n encodedZodType: optional(type.encodedZodType) as any,\n props: { inner: type },\n })\n }\n}\n\nexport class NullableType<\n Type extends BaseTypeAny<any> = BaseTypeAny<any>,\n> extends BaseType<\n ZodMiniNullable<Type['encodedZodType']>,\n ZodMiniNullable<Type['decodedZodType']>,\n { inner: Type }\n> {\n static factory<T extends BaseTypeAny<any>>(type: T) {\n return new NullableType<T>({\n encodedZodType: nullable(type.encodedZodType),\n props: { inner: type },\n })\n }\n}\n\nexport class DefaultType<\n Type extends BaseTypeAny = BaseTypeAny,\n> extends BaseType<\n ZodMiniDefault<Type['encodedZodType']>,\n ZodMiniDefault<Type['decodedZodType']>,\n { inner: Type }\n> {\n static factory<T extends BaseTypeAny<any>>(type: T, defaultValue: any) {\n return new DefaultType<T>({\n encodedZodType: _default(\n type.encodedZodType,\n type.params.encode?.(defaultValue) ?? defaultValue,\n ) as any,\n decodedZodType: _default(type.decodedZodType, defaultValue) as any,\n props: { inner: type },\n })\n }\n}\n"],"version":3}
1
+ {"mappings":"AAAA,SACE,UACA,MACA,UACA,UACA,gBAoBK,WAAW;AAmDlB,OAAO,MAAM,gBAAgB,UAAwB;AAErD,OAAO,MAAM,mBAAmB,KAAK;AAGrC,OAAO,MAAe,SAIpB;CACA,AAAS;CACT,AAAS;CACT,AAAS;CACT,AAAS;CAET,YAAY,EACV,gBACA,iBAAiB,gBACjB,QAAQ,CAAE,GACV,SAAS,CAAE,GAMZ,EAAE;AACD,OAAK,iBAAiB;AACtB,OAAK,iBAAiB;AAEtB,OAAK,QAAQ;AACb,OAAK,SAAS,OAAO,OAAO,EAAE,QAAQ,CAAE,EAAE,GAAE,OAAO;CACpD;CAED,WAA+B;AAC7B,SAAO,aAAa,QAAQ,KAAK;CAClC;CAED,WAA+B;AAC7B,SAAO,aAAa,QAAQ,KAAK;CAClC;CAED,UAAU;AACR,SAAO,KAAK,UAAU,CAAC,UAAU;CAClC;CAED,QAAQA,OAAmE;AACzE,SAAO,YAAY,QAAQ,MAAM,MAAM;CACxC;CAED,MAAMC,OAAqB;AACzB,SAAO,KAAK,KAAK,EAAE,MAAO,EAAC;CAC5B;CAED,YAAYC,aAA2B;AACrC,SAAO,KAAK,KAAK,EAAE,YAAa,EAAC;CAClC;CAED,SAAS,GAAG,UAA2D;AACrE,SAAO,KAAK,KAAK,EACf,UAAU,KAAK,OAAO,SAClB,SAAS,IAAI,KAAK,OAAO,OAAO,GAChC,SACL,EAAC;CACH;CAED,KAAKC,aAAiC;EACpC,MAAM,WAAW,cAAc,IAAI,KAAK,eAAe,IAAI,CAAE;AAC7D,SAAO,OAAO,UAAU,YAAY;AACpC,gBAAc,IAAI,KAAK,gBAAgB,SAAS;AAChD,SAAO;CACR;CAED,OACEC,MAC0C;AAC1C,SAAO,KAAK,eAAe,MAAM,MAAM,EAAE,aAAa,KAAM,EAAC;CAC9D;CAED,OACEC,MAC0C;AAC1C,SAAO,KAAK,eAAe,MAAM,MAAM,EAAE,aAAa,KAAM,EAAC;CAC9D;AACF;AAED,OAAO,MAAM,qBAEH,SAIR;CACA,OAAO,QAA+BC,MAAS;AAC7C,SAAO,IAAI,aAAgB;GACzB,gBAAgB,SAAS,KAAK,eAAe;GAC7C,OAAO,EAAE,OAAO,KAAM;EACvB;CACF;AACF;AAED,OAAO,MAAM,qBAEH,SAIR;CACA,OAAO,QAAoCA,MAAS;AAClD,SAAO,IAAI,aAAgB;GACzB,gBAAgB,SAAS,KAAK,eAAe;GAC7C,OAAO,EAAE,OAAO,KAAM;EACvB;CACF;AACF;AAED,OAAO,MAAM,oBAEH,SAIR;CACA,OAAO,QAAoCA,MAASC,cAAmB;AACrE,SAAO,IAAI,YAAe;GACxB,gBAAgB,SACd,KAAK,gBACL,KAAK,OAAO,SAAS,aAAa,IAAI,aACvC;GACD,gBAAgB,SAAS,KAAK,gBAAgB,aAAa;GAC3D,OAAO,EAAE,OAAO,KAAM;EACvB;CACF;AACF","names":["value: this['encodedZodType']['_zod']['input']","title: string","description: string","newMetadata: TypeMetadata","data: this['encodedZodType']['_zod']['input']","data: this['decodedZodType']['_zod']['input']","type: T","defaultValue: any"],"sources":["../../src/types/base.ts"],"sourcesContent":["import {\n _default,\n core,\n nullable,\n optional,\n registry,\n type ZodMiniAny,\n type ZodMiniArray,\n type ZodMiniBoolean,\n type ZodMiniCustom,\n type ZodMiniDefault,\n type ZodMiniEnum,\n type ZodMiniInterface,\n type ZodMiniIntersection,\n type ZodMiniLiteral,\n type ZodMiniNever,\n type ZodMiniNullable,\n type ZodMiniNumber,\n type ZodMiniObject,\n type ZodMiniOptional,\n type ZodMiniPipe,\n type ZodMiniRecord,\n type ZodMiniString,\n type ZodMiniType,\n type ZodMiniUnion,\n} from '@zod/mini'\n\nexport type PrimitiveValueType = string | number | boolean | null\n\nexport type PrimitiveZodType =\n | ZodMiniNever\n | ZodMiniDefault\n | ZodMiniNullable\n | ZodMiniOptional\n | ZodMiniString\n | ZodMiniObject\n | ZodMiniAny\n | ZodMiniArray\n | ZodMiniBoolean\n | ZodMiniNumber\n | ZodMiniEnum<any>\n | ZodMiniLiteral<PrimitiveValueType>\n | ZodMiniUnion\n | ZodMiniIntersection\n | ZodMiniInterface\n | ZodMiniRecord\n\nexport type SimpleZodType = ZodMiniType\n\nexport type ZodType = SimpleZodType | ZodMiniType\n\nexport type TypeProps = Record<string, any>\n\nexport type TypeMetadata<T = any> = {\n id?: string\n description?: string\n examples?: T[]\n title?: string\n}\n\nexport type TypeParams = {\n encode?: (value: any) => any\n metadata?: TypeMetadata\n checks: Array<core.CheckFn<any> | core.$ZodCheck<any>>\n}\n\nexport type DefaultTypeParams = {\n encode?: TypeParams['encode']\n metadata?: TypeMetadata\n}\n\nexport type BaseTypeAny<\n EncodedZodType extends SimpleZodType = SimpleZodType,\n DecodedZodType extends ZodType = ZodMiniType,\n> = BaseType<EncodedZodType, DecodedZodType, TypeProps>\n\nexport const typesRegistry = registry<TypeMetadata>()\n\nexport const NeemataTypeError = core.$ZodError\nexport type NeemataTypeError = core.$ZodError\n\nexport abstract class BaseType<\n EncodedZodType extends SimpleZodType = SimpleZodType,\n DecodedZodType extends ZodType = EncodedZodType,\n Props extends TypeProps = TypeProps,\n> {\n readonly encodedZodType: EncodedZodType\n readonly decodedZodType: DecodedZodType\n readonly props: Props\n readonly params: TypeParams\n\n constructor({\n encodedZodType,\n decodedZodType = encodedZodType as unknown as DecodedZodType,\n props = {} as Props,\n params = {} as Partial<TypeParams>,\n }: {\n encodedZodType: EncodedZodType\n decodedZodType?: DecodedZodType\n props?: Props\n params?: Partial<TypeParams>\n }) {\n this.encodedZodType = encodedZodType\n this.decodedZodType = decodedZodType\n\n this.props = props\n this.params = Object.assign({ checks: [] }, params)\n }\n\n optional(): OptionalType<this> {\n return OptionalType.factory(this)\n }\n\n nullable(): NullableType<this> {\n return NullableType.factory(this)\n }\n\n nullish() {\n return this.nullable().optional()\n }\n\n default(value: this['encodedZodType']['_zod']['input']): DefaultType<this> {\n return DefaultType.factory(this, value)\n }\n\n title(title: string): this {\n return this.meta({ title })\n }\n\n description(description: string): this {\n return this.meta({ description })\n }\n\n examples(...examples: this['decodedZodType']['_zod']['input'][]): this {\n return this.meta({\n examples: this.params.encode\n ? examples.map(this.params.encode)\n : examples,\n })\n }\n\n meta(newMetadata: TypeMetadata): this {\n const metadata = typesRegistry.get(this.encodedZodType) ?? {}\n Object.assign(metadata, newMetadata)\n typesRegistry.add(this.encodedZodType, metadata)\n return this\n }\n\n encode(\n data: this['encodedZodType']['_zod']['input'],\n ): this['encodedZodType']['_zod']['output'] {\n return this.encodedZodType.parse(data, { reportInput: true })\n }\n\n decode(\n data: this['decodedZodType']['_zod']['input'],\n ): this['decodedZodType']['_zod']['output'] {\n return this.decodedZodType.parse(data, { reportInput: true })\n }\n}\n\nexport class OptionalType<\n Type extends BaseTypeAny = BaseTypeAny,\n> extends BaseType<\n ZodMiniOptional<Type['encodedZodType']>,\n ZodMiniOptional<Type['decodedZodType']>,\n { inner: Type }\n> {\n static factory<T extends BaseTypeAny>(type: T) {\n return new OptionalType<T>({\n encodedZodType: optional(type.encodedZodType) as any,\n props: { inner: type },\n })\n }\n}\n\nexport class NullableType<\n Type extends BaseTypeAny<any> = BaseTypeAny<any>,\n> extends BaseType<\n ZodMiniNullable<Type['encodedZodType']>,\n ZodMiniNullable<Type['decodedZodType']>,\n { inner: Type }\n> {\n static factory<T extends BaseTypeAny<any>>(type: T) {\n return new NullableType<T>({\n encodedZodType: nullable(type.encodedZodType),\n props: { inner: type },\n })\n }\n}\n\nexport class DefaultType<\n Type extends BaseTypeAny = BaseTypeAny,\n> extends BaseType<\n ZodMiniDefault<Type['encodedZodType']>,\n ZodMiniDefault<Type['decodedZodType']>,\n { inner: Type }\n> {\n static factory<T extends BaseTypeAny<any>>(type: T, defaultValue: any) {\n return new DefaultType<T>({\n encodedZodType: _default(\n type.encodedZodType,\n type.params.encode?.(defaultValue) ?? defaultValue,\n ) as any,\n decodedZodType: _default(type.decodedZodType, defaultValue) as any,\n props: { inner: type },\n })\n }\n}\n"],"version":3,"file":"base.js"}
@@ -5,3 +5,5 @@ export class BooleanType extends BaseType {
5
5
  return new BooleanType({ encodedZodType: boolean() });
6
6
  }
7
7
  }
8
+
9
+ //# sourceMappingURL=boolean.js.map
@@ -1 +1 @@
1
- {"mappings":"AAAA,SAAS,eAAoC,WAAW;AACxD,SAAS,gBAAgB,WAAW;AAEpC,OAAO,MAAM,oBAAoB,SAAkC;CACjE,OAAO,UAAU;AACf,SAAO,IAAI,YAAY,EACrB,gBAAgB,SAAS,CAC1B;CACF;AACF","names":[],"sources":["src/types/boolean.ts"],"sourcesContent":["import { boolean, type ZodMiniBoolean } from '@zod/mini'\nimport { BaseType } from './base.ts'\n\nexport class BooleanType extends BaseType<ZodMiniBoolean<boolean>> {\n static factory() {\n return new BooleanType({\n encodedZodType: boolean(),\n })\n }\n}\n"],"version":3}
1
+ {"mappings":"AAAA,SAAS,eAAoC,WAAW;AACxD,SAAS,gBAAgB,WAAW;AAEpC,OAAO,MAAM,oBAAoB,SAAkC;CACjE,OAAO,UAAU;AACf,SAAO,IAAI,YAAY,EACrB,gBAAgB,SAAS,CAC1B;CACF;AACF","names":[],"sources":["../../src/types/boolean.ts"],"sourcesContent":["import { boolean, type ZodMiniBoolean } from '@zod/mini'\nimport { BaseType } from './base.ts'\n\nexport class BooleanType extends BaseType<ZodMiniBoolean<boolean>> {\n static factory() {\n return new BooleanType({\n encodedZodType: boolean(),\n })\n }\n}\n"],"version":3,"file":"boolean.js"}
@@ -1,12 +1,20 @@
1
- import { any, custom, overwrite, pipe } from "@zod/mini";
1
+ import { any, custom, overwrite, pipe, refine } from "@zod/mini";
2
2
  import { BaseType } from "./base.js";
3
3
  export class TransformType extends BaseType {}
4
4
  export class CustomType extends TransformType {
5
5
  static factory({ decode, encode, error, type = any() }) {
6
6
  return new CustomType({
7
- encodedZodType: pipe(custom().check(overwrite(encode)), type),
8
- decodedZodType: pipe(type, custom(undefined, { error }).check(overwrite(decode))),
7
+ encodedZodType: pipe(custom().check(refine((val) => typeof val !== "undefined", {
8
+ error,
9
+ abort: true
10
+ }), overwrite(encode)), type),
11
+ decodedZodType: pipe(type, custom().check(refine((val) => typeof val !== "undefined", {
12
+ error,
13
+ abort: true
14
+ }), overwrite(decode))),
9
15
  params: { encode }
10
16
  });
11
17
  }
12
18
  }
19
+
20
+ //# sourceMappingURL=custom.js.map
@@ -1 +1 @@
1
- {"mappings":"AAAA,SACE,KAEA,QACA,WACA,YAGK,WAAW;AAClB,SAAS,gBAAkD,WAAW;AAGtE,OAAO,MAAe,sBAIZ,SASR,CAAE;AAEJ,OAAO,MAAM,mBAIH,cAA8C;CACtD,OAAO,QAIL,EACA,QACA,QACA,OACA,OAAO,KAAK,EAYb,EAAE;AACD,SAAO,IAAI,WAA2C;GACpD,gBAAgB,KAAK,QAAQ,CAAC,MAAM,UAAU,OAAO,CAAC,EAAE,KAAK;GAC7D,gBAAgB,KACd,MACA,OAAO,WAAW,EAAE,MAAO,EAAC,CAAC,MAAM,UAAU,OAAO,CAAC,CACtD;GACD,QAAQ,EAAE,OAAQ;EACnB;CACF;AACF","names":[],"sources":["src/types/custom.ts"],"sourcesContent":["import {\n any,\n type core,\n custom,\n overwrite,\n pipe,\n type ZodMiniPipe,\n type ZodMiniType,\n} from '@zod/mini'\nimport { BaseType, type SimpleZodType, type ZodType } from './base.ts'\n\nexport type CustomTransformFn<I, O> = (value: I) => O\nexport abstract class TransformType<\n Type,\n EncodedType extends SimpleZodType = ZodMiniType<Type, Type>,\n DecodedType extends ZodType = ZodMiniType<Type, Type>,\n> extends BaseType<\n ZodMiniPipe<\n ZodMiniType<DecodedType['_zod']['output'], DecodedType['_zod']['input']>,\n EncodedType\n >,\n ZodMiniPipe<\n EncodedType,\n ZodMiniType<EncodedType['_zod']['output'], EncodedType['_zod']['input']>\n >\n> {}\n\nexport class CustomType<\n Type,\n EncodedType extends SimpleZodType = ZodMiniType<Type, Type>,\n DecodedType extends ZodType = ZodMiniType<Type, Type>,\n> extends TransformType<Type, EncodedType, DecodedType> {\n static factory<\n Type,\n EncodedType extends SimpleZodType = ZodMiniType<Type, Type>,\n DecodedType extends ZodType = ZodMiniType<Type, Type>,\n >({\n decode,\n encode,\n error,\n type = any() as unknown as EncodedType,\n }: {\n decode: CustomTransformFn<\n EncodedType['_zod']['input'],\n DecodedType['_zod']['output']\n >\n encode: CustomTransformFn<\n DecodedType['_zod']['input'],\n EncodedType['_zod']['output']\n >\n error?: string | core.$ZodErrorMap<core.$ZodIssueBase>\n type?: EncodedType\n }) {\n return new CustomType<Type, EncodedType, DecodedType>({\n encodedZodType: pipe(custom().check(overwrite(encode)), type),\n decodedZodType: pipe(\n type,\n custom(undefined, { error }).check(overwrite(decode)),\n ),\n params: { encode },\n })\n }\n}\n"],"version":3}
1
+ {"mappings":"AAAA,SACE,KAEA,QACA,WACA,MACA,cAGK,WAAW;AAClB,SAAS,gBAAkD,WAAW;AAGtE,OAAO,MAAe,sBAIZ,SASR,CAAE;AAEJ,OAAO,MAAM,mBAIH,cAA8C;CACtD,OAAO,QAIL,EACA,QACA,QACA,OACA,OAAO,KAAK,EAYb,EAAE;AACD,SAAO,IAAI,WAA2C;GACpD,gBAAgB,KACd,QAAQ,CAAC,MACP,OAAO,CAAC,eAAe,QAAQ,aAAa;IAAE;IAAO,OAAO;GAAM,EAAC,EACnE,UAAU,OAAO,CAClB,EACD,KACD;GACD,gBAAgB,KACd,MACA,QAAQ,CAAC,MACP,OAAO,CAAC,eAAe,QAAQ,aAAa;IAAE;IAAO,OAAO;GAAM,EAAC,EACnE,UAAU,OAAO,CAClB,CACF;GACD,QAAQ,EAAE,OAAQ;EACnB;CACF;AACF","names":[],"sources":["../../src/types/custom.ts"],"sourcesContent":["import {\n any,\n type core,\n custom,\n overwrite,\n pipe,\n refine,\n type ZodMiniPipe,\n type ZodMiniType,\n} from '@zod/mini'\nimport { BaseType, type SimpleZodType, type ZodType } from './base.ts'\n\nexport type CustomTransformFn<I, O> = (value: I) => O\nexport abstract class TransformType<\n Type,\n EncodedType extends SimpleZodType = ZodMiniType<Type, Type>,\n DecodedType extends ZodType = ZodMiniType<Type, Type>,\n> extends BaseType<\n ZodMiniPipe<\n ZodMiniType<DecodedType['_zod']['output'], DecodedType['_zod']['input']>,\n EncodedType\n >,\n ZodMiniPipe<\n EncodedType,\n ZodMiniType<EncodedType['_zod']['output'], EncodedType['_zod']['input']>\n >\n> {}\n\nexport class CustomType<\n Type,\n EncodedType extends SimpleZodType = ZodMiniType<Type, Type>,\n DecodedType extends ZodType = ZodMiniType<Type, Type>,\n> extends TransformType<Type, EncodedType, DecodedType> {\n static factory<\n Type,\n EncodedType extends SimpleZodType = ZodMiniType<Type, Type>,\n DecodedType extends ZodType = ZodMiniType<Type, Type>,\n >({\n decode,\n encode,\n error,\n type = any() as unknown as EncodedType,\n }: {\n decode: CustomTransformFn<\n EncodedType['_zod']['input'],\n DecodedType['_zod']['output']\n >\n encode: CustomTransformFn<\n DecodedType['_zod']['input'],\n EncodedType['_zod']['output']\n >\n error?: string | core.$ZodErrorMap<core.$ZodIssueBase>\n type?: EncodedType\n }) {\n return new CustomType<Type, EncodedType, DecodedType>({\n encodedZodType: pipe(\n custom().check(\n refine((val) => typeof val !== 'undefined', { error, abort: true }),\n overwrite(encode),\n ),\n type,\n ),\n decodedZodType: pipe(\n type,\n custom().check(\n refine((val) => typeof val !== 'undefined', { error, abort: true }),\n overwrite(decode),\n ),\n ),\n params: { encode },\n })\n }\n}\n"],"version":3,"file":"custom.js"}
@@ -9,3 +9,5 @@ export class DateType extends TransformType {
9
9
  });
10
10
  }
11
11
  }
12
+
13
+ //# sourceMappingURL=date.js.map
@@ -1 +1 @@
1
- {"mappings":"AAAA,SAAS,KAAK,aAAgC,WAAW;AACzD,SAAS,YAAY,qBAAqB,aAAa;AAEvD,OAAO,MAAM,iBAAiB,cAG5B;CACA,OAAO,UAAU;AACf,SAAO,WAAW,QAGhB;GACA,QAAQ,CAACA,UAAwB,IAAI,KAAK;GAC1C,QAAQ,CAACC,UAAwB,MAAM,aAAa;GACpD,MAAM,MAAM,CAAC,IAAI,UAAU,EAAE,IAAI,MAAM,AAAC,EAAC;EAC1C,EAAC;CACH;AACF","names":["value: string","value: Date"],"sources":["src/types/date.ts"],"sourcesContent":["import { iso, union, type ZodMiniUnion } from '@zod/mini'\nimport { CustomType, TransformType } from './custom.ts'\n\nexport class DateType extends TransformType<\n Date,\n ZodMiniUnion<[iso.ZodMiniISODate, iso.ZodMiniISODateTime]>\n> {\n static factory() {\n return CustomType.factory<\n Date,\n ZodMiniUnion<Array<iso.ZodMiniISODate | iso.ZodMiniISODateTime>>\n >({\n decode: (value: string): Date => new Date(value),\n encode: (value: Date): string => value.toISOString(),\n type: union([iso.datetime(), iso.date()]),\n })\n }\n}\n"],"version":3}
1
+ {"mappings":"AAAA,SAAS,KAAK,aAAgC,WAAW;AACzD,SAAS,YAAY,qBAAqB,aAAa;AAEvD,OAAO,MAAM,iBAAiB,cAG5B;CACA,OAAO,UAAU;AACf,SAAO,WAAW,QAGhB;GACA,QAAQ,CAACA,UAAwB,IAAI,KAAK;GAC1C,QAAQ,CAACC,UAAwB,MAAM,aAAa;GACpD,MAAM,MAAM,CAAC,IAAI,UAAU,EAAE,IAAI,MAAM,AAAC,EAAC;EAC1C,EAAC;CACH;AACF","names":["value: string","value: Date"],"sources":["../../src/types/date.ts"],"sourcesContent":["import { iso, union, type ZodMiniUnion } from '@zod/mini'\nimport { CustomType, TransformType } from './custom.ts'\n\nexport class DateType extends TransformType<\n Date,\n ZodMiniUnion<[iso.ZodMiniISODate, iso.ZodMiniISODateTime]>\n> {\n static factory() {\n return CustomType.factory<\n Date,\n ZodMiniUnion<Array<iso.ZodMiniISODate | iso.ZodMiniISODateTime>>\n >({\n decode: (value: string): Date => new Date(value),\n encode: (value: Date): string => value.toISOString(),\n type: union([iso.datetime(), iso.date()]),\n })\n }\n}\n"],"version":3,"file":"date.js"}
@@ -8,3 +8,5 @@ export class EnumType extends BaseType {
8
8
  });
9
9
  }
10
10
  }
11
+
12
+ //# sourceMappingURL=enum.js.map
@@ -1 +1 @@
1
- {"mappings":"AAAA,SAAoB,QAAQ,aAA+B,WAAW;AACtE,SAAS,gBAAgB,WAAW;AAEpC,OAAO,MAAM,iBAEH,SAAwD;CAKhE,OAAO,QAAiDA,QAAW;AACjE,SAAO,IAAI,SAAS;GAClB,gBAAgB,MAAM,OAAc;GACpC,OAAO,EAAE,OAAQ;EAClB;CACF;AACF","names":["values: T"],"sources":["src/types/enum.ts"],"sourcesContent":["import { type core, enum as enum_, type ZodMiniEnum } from '@zod/mini'\nimport { BaseType } from './base.ts'\n\nexport class EnumType<\n T extends core.util.EnumLike = core.util.EnumLike,\n> extends BaseType<ZodMiniEnum<T>, ZodMiniEnum<T>, { values: T }> {\n static factory<T extends core.util.EnumLike>(values: T): EnumType<T>\n static factory<T extends string[]>(\n values: T,\n ): EnumType<core.util.ToEnum<T[number]>>\n static factory<T extends core.util.EnumLike | string[]>(values: T) {\n return new EnumType({\n encodedZodType: enum_(values as any),\n props: { values },\n })\n }\n}\n"],"version":3}
1
+ {"mappings":"AAAA,SAAoB,QAAQ,aAA+B,WAAW;AACtE,SAAS,gBAAgB,WAAW;AAEpC,OAAO,MAAM,iBAEH,SAAwD;CAKhE,OAAO,QAAiDA,QAAW;AACjE,SAAO,IAAI,SAAS;GAClB,gBAAgB,MAAM,OAAc;GACpC,OAAO,EAAE,OAAQ;EAClB;CACF;AACF","names":["values: T"],"sources":["../../src/types/enum.ts"],"sourcesContent":["import { type core, enum as enum_, type ZodMiniEnum } from '@zod/mini'\nimport { BaseType } from './base.ts'\n\nexport class EnumType<\n T extends core.util.EnumLike = core.util.EnumLike,\n> extends BaseType<ZodMiniEnum<T>, ZodMiniEnum<T>, { values: T }> {\n static factory<T extends core.util.EnumLike>(values: T): EnumType<T>\n static factory<T extends string[]>(\n values: T,\n ): EnumType<core.util.ToEnum<T[number]>>\n static factory<T extends core.util.EnumLike | string[]>(values: T) {\n return new EnumType({\n encodedZodType: enum_(values as any),\n props: { values },\n })\n }\n}\n"],"version":3,"file":"enum.js"}
@@ -8,3 +8,5 @@ export class LiteralType extends BaseType {
8
8
  });
9
9
  }
10
10
  }
11
+
12
+ //# sourceMappingURL=literal.js.map
@@ -1 +1 @@
1
- {"mappings":"AAAA,SAAS,eAAoC,WAAW;AACxD,SAAS,gBAAyC,WAAW;AAE7D,OAAO,MAAM,oBAEH,SAA6D;CACrE,OAAO,QAAsCA,OAAU;AACrD,SAAO,IAAI,YAAe;GACxB,gBAAgB,QAAQ,MAAM;GAC9B,OAAO,EAAE,MAAO;EACjB;CACF;AACF","names":["value: T"],"sources":["src/types/literal.ts"],"sourcesContent":["import { literal, type ZodMiniLiteral } from '@zod/mini'\nimport { BaseType, type PrimitiveValueType } from './base.ts'\n\nexport class LiteralType<\n T extends PrimitiveValueType = PrimitiveValueType,\n> extends BaseType<ZodMiniLiteral<T>, ZodMiniLiteral<T>, { value: T }> {\n static factory<T extends PrimitiveValueType>(value: T) {\n return new LiteralType<T>({\n encodedZodType: literal(value),\n props: { value },\n })\n }\n}\n"],"version":3}
1
+ {"mappings":"AAAA,SAAS,eAAoC,WAAW;AACxD,SAAS,gBAAyC,WAAW;AAE7D,OAAO,MAAM,oBAEH,SAA6D;CACrE,OAAO,QAAsCA,OAAU;AACrD,SAAO,IAAI,YAAe;GACxB,gBAAgB,QAAQ,MAAM;GAC9B,OAAO,EAAE,MAAO;EACjB;CACF;AACF","names":["value: T"],"sources":["../../src/types/literal.ts"],"sourcesContent":["import { literal, type ZodMiniLiteral } from '@zod/mini'\nimport { BaseType, type PrimitiveValueType } from './base.ts'\n\nexport class LiteralType<\n T extends PrimitiveValueType = PrimitiveValueType,\n> extends BaseType<ZodMiniLiteral<T>, ZodMiniLiteral<T>, { value: T }> {\n static factory<T extends PrimitiveValueType>(value: T) {\n return new LiteralType<T>({\n encodedZodType: literal(value),\n props: { value },\n })\n }\n}\n"],"version":3,"file":"literal.js"}
@@ -5,3 +5,5 @@ export class NeverType extends BaseType {
5
5
  return new NeverType({ encodedZodType: never() });
6
6
  }
7
7
  }
8
+
9
+ //# sourceMappingURL=never.js.map
@@ -1 +1 @@
1
- {"mappings":"AAAA,SAAS,aAAgC,WAAW;AACpD,SAAS,gBAAgB,WAAW;AAEpC,OAAO,MAAM,kBAAkB,SAAuB;CACpD,OAAO,UAAU;AACf,SAAO,IAAI,UAAU,EACnB,gBAAgB,OAAO,CACxB;CACF;AACF","names":[],"sources":["src/types/never.ts"],"sourcesContent":["import { never, type ZodMiniNever } from '@zod/mini'\nimport { BaseType } from './base.ts'\n\nexport class NeverType extends BaseType<ZodMiniNever> {\n static factory() {\n return new NeverType({\n encodedZodType: never(),\n })\n }\n}\n"],"version":3}
1
+ {"mappings":"AAAA,SAAS,aAAgC,WAAW;AACpD,SAAS,gBAAgB,WAAW;AAEpC,OAAO,MAAM,kBAAkB,SAAuB;CACpD,OAAO,UAAU;AACf,SAAO,IAAI,UAAU,EACnB,gBAAgB,OAAO,CACxB;CACF;AACF","names":[],"sources":["../../src/types/never.ts"],"sourcesContent":["import { never, type ZodMiniNever } from '@zod/mini'\nimport { BaseType } from './base.ts'\n\nexport class NeverType extends BaseType<ZodMiniNever> {\n static factory() {\n return new NeverType({\n encodedZodType: never(),\n })\n }\n}\n"],"version":3,"file":"never.js"}
@@ -42,3 +42,5 @@ export class BigIntType extends TransformType {
42
42
  });
43
43
  }
44
44
  }
45
+
46
+ //# sourceMappingURL=number.js.map
@@ -1 +1 @@
1
- {"mappings":"AAAA,SAEE,IACA,KACA,KACA,IACA,KACA,QACA,OACA,cAGK,WAAW;AAClB,SAAS,gBAAgB,WAAW;AACpC,SAAS,YAAY,qBAAqB,aAAa;AAIvD,OAAO,MAAM,mBAAmB,SAG9B;CACA,OAAO,QAAQ,GAAG,QAAiB;AACjC,SAAO,IAAI,WAAW;GACpB,gBAAgB,QAAQ,CAAC,MAAM,GAAG,OAAO;GACzC,QAAQ,EAAE,OAAQ;EACnB;CACF;CAED,WAAW;AACT,SAAO,WAAW,QAAQ,GAAG,KAAK,OAAO,QAAQ,IAAI,EAAE,CAAC;CACzD;CAED,WAAW;AACT,SAAO,WAAW,QAAQ,GAAG,KAAK,OAAO,QAAQ,IAAI,EAAE,CAAC;CACzD;CAED,GAAGA,OAAe;AAChB,SAAO,WAAW,QAAQ,GAAG,KAAK,OAAO,QAAQ,GAAG,MAAM,CAAC;CAC5D;CAED,IAAIA,OAAe;AACjB,SAAO,WAAW,QAAQ,GAAG,KAAK,OAAO,QAAQ,IAAI,MAAM,CAAC;CAC7D;CAED,IAAIA,OAAe;AACjB,SAAO,WAAW,QAAQ,GAAG,KAAK,OAAO,QAAQ,IAAI,MAAM,CAAC;CAC7D;CAED,GAAGA,OAAe;AAChB,SAAO,WAAW,QAAQ,GAAG,KAAK,OAAO,QAAQ,GAAG,MAAM,CAAC;CAC5D;AACF;AAED,OAAO,MAAM,oBAAoB,WAAW;CAC1C,OAAO,QAAQ,GAAG,QAAiB;AACjC,SAAO,WAAW,QAAQ,GAAG,QAAQ,KAAK,CAAC;CAC5C;AACF;AAED,OAAO,MAAM,mBAAmB,cAA6C;CAC3E,OAAO,UAAU;AACf,SAAO,WAAW,QAAuC;GACvD,QAAQ,CAAC,UAAU,OAAO,MAAM;GAChC,QAAQ,CAAC,UAAU,MAAM,UAAU;GACnC,MAAM,QAAQ,CAAC,MAAM,MAAM,UAAU,CAAC;GACtC,OAAO;EACR,EAAC;CACH;AACF","names":["value: number"],"sources":["src/types/number.ts"],"sourcesContent":["import {\n type core,\n gt,\n gte,\n int,\n lt,\n lte,\n number,\n regex,\n string,\n type ZodMiniNumber,\n type ZodMiniString,\n} from '@zod/mini'\nimport { BaseType } from './base.ts'\nimport { CustomType, TransformType } from './custom.ts'\n\ntype Check = core.CheckFn<number> | core.$ZodCheck<number>\n\nexport class NumberType extends BaseType<\n ZodMiniNumber<number>,\n ZodMiniNumber<number>\n> {\n static factory(...checks: Check[]) {\n return new NumberType({\n encodedZodType: number().check(...checks),\n params: { checks },\n })\n }\n\n positive() {\n return NumberType.factory(...this.params.checks, gte(0))\n }\n\n negative() {\n return NumberType.factory(...this.params.checks, lte(0))\n }\n\n lt(value: number) {\n return NumberType.factory(...this.params.checks, lt(value))\n }\n\n lte(value: number) {\n return NumberType.factory(...this.params.checks, lte(value))\n }\n\n gte(value: number) {\n return NumberType.factory(...this.params.checks, gte(value))\n }\n\n gt(value: number) {\n return NumberType.factory(...this.params.checks, gt(value))\n }\n}\n\nexport class IntegerType extends NumberType {\n static factory(...checks: Check[]) {\n return NumberType.factory(...checks, int())\n }\n}\n\nexport class BigIntType extends TransformType<bigint, ZodMiniString<string>> {\n static factory() {\n return CustomType.factory<bigint, ZodMiniString<string>>({\n decode: (value) => BigInt(value),\n encode: (value) => value.toString(),\n type: string().check(regex(/^-?\\d+$/)),\n error: 'Invalid bigint format',\n })\n }\n}\n"],"version":3}
1
+ {"mappings":"AAAA,SAEE,IACA,KACA,KACA,IACA,KACA,QACA,OACA,cAGK,WAAW;AAClB,SAAS,gBAAgB,WAAW;AACpC,SAAS,YAAY,qBAAqB,aAAa;AAIvD,OAAO,MAAM,mBAAmB,SAG9B;CACA,OAAO,QAAQ,GAAG,QAAiB;AACjC,SAAO,IAAI,WAAW;GACpB,gBAAgB,QAAQ,CAAC,MAAM,GAAG,OAAO;GACzC,QAAQ,EAAE,OAAQ;EACnB;CACF;CAED,WAAW;AACT,SAAO,WAAW,QAAQ,GAAG,KAAK,OAAO,QAAQ,IAAI,EAAE,CAAC;CACzD;CAED,WAAW;AACT,SAAO,WAAW,QAAQ,GAAG,KAAK,OAAO,QAAQ,IAAI,EAAE,CAAC;CACzD;CAED,GAAGA,OAAe;AAChB,SAAO,WAAW,QAAQ,GAAG,KAAK,OAAO,QAAQ,GAAG,MAAM,CAAC;CAC5D;CAED,IAAIA,OAAe;AACjB,SAAO,WAAW,QAAQ,GAAG,KAAK,OAAO,QAAQ,IAAI,MAAM,CAAC;CAC7D;CAED,IAAIA,OAAe;AACjB,SAAO,WAAW,QAAQ,GAAG,KAAK,OAAO,QAAQ,IAAI,MAAM,CAAC;CAC7D;CAED,GAAGA,OAAe;AAChB,SAAO,WAAW,QAAQ,GAAG,KAAK,OAAO,QAAQ,GAAG,MAAM,CAAC;CAC5D;AACF;AAED,OAAO,MAAM,oBAAoB,WAAW;CAC1C,OAAO,QAAQ,GAAG,QAAiB;AACjC,SAAO,WAAW,QAAQ,GAAG,QAAQ,KAAK,CAAC;CAC5C;AACF;AAED,OAAO,MAAM,mBAAmB,cAA6C;CAC3E,OAAO,UAAU;AACf,SAAO,WAAW,QAAuC;GACvD,QAAQ,CAAC,UAAU,OAAO,MAAM;GAChC,QAAQ,CAAC,UAAU,MAAM,UAAU;GACnC,MAAM,QAAQ,CAAC,MAAM,MAAM,UAAU,CAAC;GACtC,OAAO;EACR,EAAC;CACH;AACF","names":["value: number"],"sources":["../../src/types/number.ts"],"sourcesContent":["import {\n type core,\n gt,\n gte,\n int,\n lt,\n lte,\n number,\n regex,\n string,\n type ZodMiniNumber,\n type ZodMiniString,\n} from '@zod/mini'\nimport { BaseType } from './base.ts'\nimport { CustomType, TransformType } from './custom.ts'\n\ntype Check = core.CheckFn<number> | core.$ZodCheck<number>\n\nexport class NumberType extends BaseType<\n ZodMiniNumber<number>,\n ZodMiniNumber<number>\n> {\n static factory(...checks: Check[]) {\n return new NumberType({\n encodedZodType: number().check(...checks),\n params: { checks },\n })\n }\n\n positive() {\n return NumberType.factory(...this.params.checks, gte(0))\n }\n\n negative() {\n return NumberType.factory(...this.params.checks, lte(0))\n }\n\n lt(value: number) {\n return NumberType.factory(...this.params.checks, lt(value))\n }\n\n lte(value: number) {\n return NumberType.factory(...this.params.checks, lte(value))\n }\n\n gte(value: number) {\n return NumberType.factory(...this.params.checks, gte(value))\n }\n\n gt(value: number) {\n return NumberType.factory(...this.params.checks, gt(value))\n }\n}\n\nexport class IntegerType extends NumberType {\n static factory(...checks: Check[]) {\n return NumberType.factory(...checks, int())\n }\n}\n\nexport class BigIntType extends TransformType<bigint, ZodMiniString<string>> {\n static factory() {\n return CustomType.factory<bigint, ZodMiniString<string>>({\n decode: (value) => BigInt(value),\n encode: (value) => value.toString(),\n type: string().check(regex(/^-?\\d+$/)),\n error: 'Invalid bigint format',\n })\n }\n}\n"],"version":3,"file":"number.js"}
@@ -58,3 +58,5 @@ export function partial(object) {
58
58
  }
59
59
  return ObjectType.factory(properties);
60
60
  }
61
+
62
+ //# sourceMappingURL=object.js.map
@@ -1 +1 @@
1
- {"mappings":"AAAA,SAEE,QACA,QACA,oBAGK,WAAW;AAElB,SAAS,gBAAqD,WAAW;AACzE,SAAS,gBAAgB,WAAW;AAMpC,OAAO,MAAM,mBAAmD,SAI9D;CACA,OAAO,QAAwCA,YAAe;EAC5D,MAAM,mBAAmB,CAAE;EAG3B,MAAM,mBAAmB,CAAE;AAI3B,OAAK,MAAM,OAAO,YAAY;AAC5B,oBAAiB,OAAO,WAAW,KAAK;AACxC,oBAAiB,OAAO,WAAW,KAAK;EACzC;AAED,SAAO,IAAI,WAAc;GACvB,gBAAgB,OAAO,iBAAiB;GACxC,gBAAgB,OAAO,iBAAiB;GACxC,OAAO,EAAE,WAAY;EACtB;CACF;AACF;AAED,OAAO,MAAM,mBAGH,SAGR;CACA,OAAO,QAGLC,KAAQC,SAAY;AACpB,SAAO,IAAI,WAAiB;GAC1B,gBAAgB,OACb,IAAY,gBACb,QAAQ,eACT;GACD,gBAAgB,OACb,IAAY,gBACb,QAAQ,eACT;GACD,OAAO;IAAE;IAAK;GAAS;EACxB;CACF;AACF;AAED,OAAO,SAAS,MACdC,MAC6E;AAC7E,QAAO,SAAS,QAAQ,OAAO,KAAK,KAAK,MAAM,WAAW,CAAQ;AACnE;AAED,OAAO,SAAS,KAIdC,QACAC,MAOC;CACD,MAAM,aAAa,OAAO,YACxB,OAAO,QAAQ,OAAO,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,KAAK,KAAK,CACrE;AACD,QAAO,WAAW,QAAQ,WAAW;AACtC;AAED,OAAO,SAAS,KAIdD,QACAE,MAKC;CACD,MAAM,aAAa,OAAO,YACxB,OAAO,QAAQ,OAAO,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,MAAM,KAAK,KAAK,CACtE;AACD,QAAO,WAAW,QAAQ,WAAW;AACtC;AAED,OAAO,SAAS,OACdC,SACAC,YAOC;AACD,QAAO,WAAW,QAAQ;EACxB,GAAG,QAAQ,MAAM;EACjB,GAAG;CACJ,EAAC;AACH;AAED,OAAO,SAAS,MACdC,SACAC,SASC;AACD,QAAO,WAAW,QAAQ;EACxB,GAAG,QAAQ,MAAM;EACjB,GAAG,QAAQ,MAAM;CAClB,EAAC;AACH;AAED,OAAO,SAAS,QAIdC,QAGC;CACD,MAAM,aAAa,CAAE;AAErB,MAAK,MAAM,CAAC,KAAK,MAAM,IAAI,OAAO,QAAQ,OAAO,MAAM,WAAW,EAAE;AAClE,aAAW,OAAO,MAAM,UAAU;CACnC;AAED,QAAO,WAAW,QAAQ,WAAW;AACtC","names":["properties: T","key: K","element: E","type: T","source: T","pick: P","omit: P","object1: T","properties: P","object1: T1","object2: T2","object: T"],"sources":["src/types/object.ts"],"sourcesContent":["import {\n type core,\n object,\n record,\n strictObject,\n type ZodMiniObject,\n type ZodMiniRecord,\n} from '@zod/mini'\n\nimport { BaseType, type BaseTypeAny, type OptionalType } from './base.ts'\nimport { EnumType } from './enum.ts'\nimport type { LiteralType } from './literal.ts'\nimport type { StringType } from './string.ts'\n\nexport type ObjectTypeProps = { [k: string]: BaseTypeAny }\nexport type AnyObjectType = ObjectType<ObjectTypeProps>\nexport class ObjectType<T extends ObjectTypeProps = {}> extends BaseType<\n ZodMiniObject<{ [K in keyof T]: T[K]['encodedZodType'] }, {}>,\n ZodMiniObject<{ [K in keyof T]: T[K]['decodedZodType'] }, {}>,\n { properties: T }\n> {\n static factory<T extends ObjectTypeProps = {}>(properties: T) {\n const encodeProperties = {} as {\n [K in keyof T]: T[K]['encodedZodType']\n }\n const decodeProperties = {} as {\n [K in keyof T]: T[K]['decodedZodType']\n }\n\n for (const key in properties) {\n encodeProperties[key] = properties[key].encodedZodType\n decodeProperties[key] = properties[key].decodedZodType\n }\n\n return new ObjectType<T>({\n encodedZodType: object(encodeProperties),\n decodedZodType: object(decodeProperties),\n props: { properties },\n })\n }\n}\n\nexport class RecordType<\n K extends LiteralType<string | number> | EnumType | StringType,\n E extends BaseType,\n> extends BaseType<\n ZodMiniRecord<K['encodedZodType'], E['encodedZodType']>,\n ZodMiniRecord<K['decodedZodType'], E['decodedZodType']>\n> {\n static factory<\n K extends LiteralType<string | number> | EnumType | StringType,\n E extends BaseType,\n >(key: K, element: E) {\n return new RecordType<K, E>({\n encodedZodType: record(\n (key as any).encodedZodType,\n element.encodedZodType,\n ),\n decodedZodType: record(\n (key as any).decodedZodType,\n element.decodedZodType,\n ),\n props: { key, element },\n })\n }\n}\n\nexport function keyof<T extends ObjectType>(\n type: T,\n): EnumType<core.util.ToEnum<Extract<keyof T['props']['properties'], string>>> {\n return EnumType.factory(Object.keys(type.props.properties) as any)\n}\n\nexport function pick<\n T extends AnyObjectType,\n P extends { [K in keyof T['props']['properties']]?: true },\n>(\n source: T,\n pick: P,\n): ObjectType<{\n [K in keyof P]: P[K] extends true\n ? K extends keyof T['props']['properties']\n ? T['props']['properties'][K]\n : never\n : never\n}> {\n const properties = Object.fromEntries(\n Object.entries(source.props.properties).filter(([key]) => pick[key]),\n )\n return ObjectType.factory(properties) as any\n}\n\nexport function omit<\n T extends AnyObjectType,\n P extends { [K in keyof T['props']['properties']]?: true },\n>(\n source: T,\n omit: P,\n): ObjectType<{\n [K in keyof T['props']['properties'] as K extends keyof P\n ? never\n : K]: T['props']['properties'][K]\n}> {\n const properties = Object.fromEntries(\n Object.entries(source.props.properties).filter(([key]) => !omit[key]),\n )\n return ObjectType.factory(properties) as any\n}\n\nexport function extend<T extends AnyObjectType, P extends ObjectTypeProps>(\n object1: T,\n properties: P,\n): ObjectType<{\n [K in keyof T['props']['properties'] | keyof P]: K extends keyof P\n ? P[K]\n : K extends keyof T['props']['properties']\n ? T['props']['properties'][K]\n : never\n}> {\n return ObjectType.factory({\n ...object1.props.properties,\n ...properties,\n }) as any\n}\n\nexport function merge<T1 extends AnyObjectType, T2 extends AnyObjectType>(\n object1: T1,\n object2: T2,\n): ObjectType<{\n [K in\n | keyof T1['props']['properties']\n | keyof T2['props']['properties']]: K extends keyof T2['props']['properties']\n ? T2['props']['properties'][K]\n : K extends keyof T1['props']['properties']\n ? T1['props']['properties'][K]\n : never\n}> {\n return ObjectType.factory({\n ...object1.props.properties,\n ...object2.props.properties,\n }) as any\n}\n\nexport function partial<\n T extends AnyObjectType,\n P extends T extends ObjectType<infer Props> ? Props : never,\n>(\n object: T,\n): ObjectType<{\n [K in keyof P]: OptionalType<P[K]>\n}> {\n const properties = {} as any\n\n for (const [key, value] of Object.entries(object.props.properties)) {\n properties[key] = value.optional()\n }\n\n return ObjectType.factory(properties)\n}\n"],"version":3}
1
+ {"mappings":"AAAA,SAEE,QACA,QACA,oBAGK,WAAW;AAElB,SAAS,gBAAqD,WAAW;AACzE,SAAS,gBAAgB,WAAW;AAMpC,OAAO,MAAM,mBAAmD,SAI9D;CACA,OAAO,QAAwCA,YAAe;EAC5D,MAAM,mBAAmB,CAAE;EAG3B,MAAM,mBAAmB,CAAE;AAI3B,OAAK,MAAM,OAAO,YAAY;AAC5B,oBAAiB,OAAO,WAAW,KAAK;AACxC,oBAAiB,OAAO,WAAW,KAAK;EACzC;AAED,SAAO,IAAI,WAAc;GACvB,gBAAgB,OAAO,iBAAiB;GACxC,gBAAgB,OAAO,iBAAiB;GACxC,OAAO,EAAE,WAAY;EACtB;CACF;AACF;AAED,OAAO,MAAM,mBAGH,SAGR;CACA,OAAO,QAGLC,KAAQC,SAAY;AACpB,SAAO,IAAI,WAAiB;GAC1B,gBAAgB,OACb,IAAY,gBACb,QAAQ,eACT;GACD,gBAAgB,OACb,IAAY,gBACb,QAAQ,eACT;GACD,OAAO;IAAE;IAAK;GAAS;EACxB;CACF;AACF;AAED,OAAO,SAAS,MACdC,MAC6E;AAC7E,QAAO,SAAS,QAAQ,OAAO,KAAK,KAAK,MAAM,WAAW,CAAQ;AACnE;AAED,OAAO,SAAS,KAIdC,QACAC,MAOC;CACD,MAAM,aAAa,OAAO,YACxB,OAAO,QAAQ,OAAO,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,KAAK,KAAK,CACrE;AACD,QAAO,WAAW,QAAQ,WAAW;AACtC;AAED,OAAO,SAAS,KAIdD,QACAE,MAKC;CACD,MAAM,aAAa,OAAO,YACxB,OAAO,QAAQ,OAAO,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,MAAM,KAAK,KAAK,CACtE;AACD,QAAO,WAAW,QAAQ,WAAW;AACtC;AAED,OAAO,SAAS,OACdC,SACAC,YAOC;AACD,QAAO,WAAW,QAAQ;EACxB,GAAG,QAAQ,MAAM;EACjB,GAAG;CACJ,EAAC;AACH;AAED,OAAO,SAAS,MACdC,SACAC,SASC;AACD,QAAO,WAAW,QAAQ;EACxB,GAAG,QAAQ,MAAM;EACjB,GAAG,QAAQ,MAAM;CAClB,EAAC;AACH;AAED,OAAO,SAAS,QAIdC,QAGC;CACD,MAAM,aAAa,CAAE;AAErB,MAAK,MAAM,CAAC,KAAK,MAAM,IAAI,OAAO,QAAQ,OAAO,MAAM,WAAW,EAAE;AAClE,aAAW,OAAO,MAAM,UAAU;CACnC;AAED,QAAO,WAAW,QAAQ,WAAW;AACtC","names":["properties: T","key: K","element: E","type: T","source: T","pick: P","omit: P","object1: T","properties: P","object1: T1","object2: T2","object: T"],"sources":["../../src/types/object.ts"],"sourcesContent":["import {\n type core,\n object,\n record,\n strictObject,\n type ZodMiniObject,\n type ZodMiniRecord,\n} from '@zod/mini'\n\nimport { BaseType, type BaseTypeAny, type OptionalType } from './base.ts'\nimport { EnumType } from './enum.ts'\nimport type { LiteralType } from './literal.ts'\nimport type { StringType } from './string.ts'\n\nexport type ObjectTypeProps = { [k: string]: BaseTypeAny }\nexport type AnyObjectType = ObjectType<ObjectTypeProps>\nexport class ObjectType<T extends ObjectTypeProps = {}> extends BaseType<\n ZodMiniObject<{ [K in keyof T]: T[K]['encodedZodType'] }, {}>,\n ZodMiniObject<{ [K in keyof T]: T[K]['decodedZodType'] }, {}>,\n { properties: T }\n> {\n static factory<T extends ObjectTypeProps = {}>(properties: T) {\n const encodeProperties = {} as {\n [K in keyof T]: T[K]['encodedZodType']\n }\n const decodeProperties = {} as {\n [K in keyof T]: T[K]['decodedZodType']\n }\n\n for (const key in properties) {\n encodeProperties[key] = properties[key].encodedZodType\n decodeProperties[key] = properties[key].decodedZodType\n }\n\n return new ObjectType<T>({\n encodedZodType: object(encodeProperties),\n decodedZodType: object(decodeProperties),\n props: { properties },\n })\n }\n}\n\nexport class RecordType<\n K extends LiteralType<string | number> | EnumType | StringType,\n E extends BaseType,\n> extends BaseType<\n ZodMiniRecord<K['encodedZodType'], E['encodedZodType']>,\n ZodMiniRecord<K['decodedZodType'], E['decodedZodType']>\n> {\n static factory<\n K extends LiteralType<string | number> | EnumType | StringType,\n E extends BaseType,\n >(key: K, element: E) {\n return new RecordType<K, E>({\n encodedZodType: record(\n (key as any).encodedZodType,\n element.encodedZodType,\n ),\n decodedZodType: record(\n (key as any).decodedZodType,\n element.decodedZodType,\n ),\n props: { key, element },\n })\n }\n}\n\nexport function keyof<T extends ObjectType>(\n type: T,\n): EnumType<core.util.ToEnum<Extract<keyof T['props']['properties'], string>>> {\n return EnumType.factory(Object.keys(type.props.properties) as any)\n}\n\nexport function pick<\n T extends AnyObjectType,\n P extends { [K in keyof T['props']['properties']]?: true },\n>(\n source: T,\n pick: P,\n): ObjectType<{\n [K in keyof P]: P[K] extends true\n ? K extends keyof T['props']['properties']\n ? T['props']['properties'][K]\n : never\n : never\n}> {\n const properties = Object.fromEntries(\n Object.entries(source.props.properties).filter(([key]) => pick[key]),\n )\n return ObjectType.factory(properties) as any\n}\n\nexport function omit<\n T extends AnyObjectType,\n P extends { [K in keyof T['props']['properties']]?: true },\n>(\n source: T,\n omit: P,\n): ObjectType<{\n [K in keyof T['props']['properties'] as K extends keyof P\n ? never\n : K]: T['props']['properties'][K]\n}> {\n const properties = Object.fromEntries(\n Object.entries(source.props.properties).filter(([key]) => !omit[key]),\n )\n return ObjectType.factory(properties) as any\n}\n\nexport function extend<T extends AnyObjectType, P extends ObjectTypeProps>(\n object1: T,\n properties: P,\n): ObjectType<{\n [K in keyof T['props']['properties'] | keyof P]: K extends keyof P\n ? P[K]\n : K extends keyof T['props']['properties']\n ? T['props']['properties'][K]\n : never\n}> {\n return ObjectType.factory({\n ...object1.props.properties,\n ...properties,\n }) as any\n}\n\nexport function merge<T1 extends AnyObjectType, T2 extends AnyObjectType>(\n object1: T1,\n object2: T2,\n): ObjectType<{\n [K in\n | keyof T1['props']['properties']\n | keyof T2['props']['properties']]: K extends keyof T2['props']['properties']\n ? T2['props']['properties'][K]\n : K extends keyof T1['props']['properties']\n ? T1['props']['properties'][K]\n : never\n}> {\n return ObjectType.factory({\n ...object1.props.properties,\n ...object2.props.properties,\n }) as any\n}\n\nexport function partial<\n T extends AnyObjectType,\n P extends T extends ObjectType<infer Props> ? Props : never,\n>(\n object: T,\n): ObjectType<{\n [K in keyof P]: OptionalType<P[K]>\n}> {\n const properties = {} as any\n\n for (const [key, value] of Object.entries(object.props.properties)) {\n properties[key] = value.optional()\n }\n\n return ObjectType.factory(properties)\n}\n"],"version":3,"file":"object.js"}
@@ -50,3 +50,5 @@ export class StringType extends BaseType {
50
50
  return StringType.factory(...this.params.checks, jwt(options));
51
51
  }
52
52
  }
53
+
54
+ //# sourceMappingURL=string.js.map
@@ -1 +1 @@
1
- {"mappings":"AAAA,SAEE,MACA,OACA,MACA,OACA,OACA,MACA,MACA,KACA,WACA,WACA,QACA,OACA,QACA,KACA,YAEK,WAAW;AAElB,SAAS,gBAAgB,WAAW;AAIpC,OAAO,MAAM,mBAAmB,SAG9B;CACA,OAAO,QAAQ,GAAG,QAAiB;AACjC,SAAO,IAAI,WAAW;GACpB,gBAAgB,QAAQ,CAAC,MAAM,GAAG,OAAO;GACzC,QAAQ,EAAE,OAAQ;EACnB;CACF;CAED,IAAIA,OAAe;AACjB,SAAO,WAAW,QAAQ,GAAG,KAAK,OAAO,QAAQ,UAAU,MAAM,CAAC;CACnE;CAED,IAAIA,OAAe;AACjB,SAAO,WAAW,QAAQ,GAAG,KAAK,OAAO,QAAQ,UAAU,MAAM,CAAC;CACnE;CAED,QAAQC,SAA0B;AAChC,SAAO,WAAW,QAChB,GAAG,KAAK,OAAO,QACf,aAAa,YAAY,WAAW,IAAI,OAAO,WAAW,QAAQ,CACnE;CACF;CAED,MAAMC,SAAgC;AACpC,SAAO,WAAW,QAAQ,GAAG,KAAK,OAAO,QAAQ,MAAM,QAAQ,CAAC;CACjE;CAED,IAAIC,SAA8B;AAChC,SAAO,WAAW,QAAQ,GAAG,KAAK,OAAO,QAAQ,IAAI,QAAQ,CAAC;CAC/D;CAED,KAAKC,SAA+B;AAClC,SAAO,WAAW,QAAQ,GAAG,KAAK,OAAO,QAAQ,KAAK,QAAQ,CAAC;CAChE;CAED,KAAKC,SAA+B;AAClC,SAAO,WAAW,QAAQ,GAAG,KAAK,OAAO,QAAQ,KAAK,QAAQ,CAAC;CAChE;CAED,KAAKC,SAA+B;AAClC,SAAO,WAAW,QAAQ,GAAG,KAAK,OAAO,QAAQ,KAAK,QAAQ,CAAC;CAChE;CAED,MAAMC,SAAgC;AACpC,SAAO,WAAW,QAAQ,GAAG,KAAK,OAAO,QAAQ,MAAM,QAAQ,CAAC;CACjE;CAED,OAAOC,SAAiC;AACtC,SAAO,WAAW,QAAQ,GAAG,KAAK,OAAO,QAAQ,OAAO,QAAQ,CAAC;CAClE;CAED,KAAKC,SAA+B;AAClC,SAAO,WAAW,QAAQ,GAAG,KAAK,OAAO,QAAQ,KAAK,QAAQ,CAAC;CAChE;CAED,MAAMC,SAAgC;AACpC,SAAO,WAAW,QAAQ,GAAG,KAAK,OAAO,QAAQ,MAAM,QAAQ,CAAC;CACjE;CAED,KAAKC,SAA+B;AAClC,SAAO,WAAW,QAAQ,GAAG,KAAK,OAAO,QAAQ,KAAK,QAAQ,CAAC;CAChE;CAED,IAAIC,SAA8B;AAChC,SAAO,WAAW,QAAQ,GAAG,KAAK,OAAO,QAAQ,IAAI,QAAQ,CAAC;CAC/D;AACF","names":["value: number","pattern: string | RegExp","options?: core.$ZodEmailParams","options?: core.$ZodURLParams","options?: core.$ZodIPv4Params","options?: core.$ZodIPv6Params","options?: core.$ZodUUIDParams","options?: core.$ZodEmojiParams","options?: core.$ZodNanoIDParams","options?: core.$ZodCUIDParams","options?: core.$ZodCUID2Params","options?: core.$ZodE164Params","options?: core.$ZodJWTParams"],"sources":["src/types/string.ts"],"sourcesContent":["import {\n type core,\n cuid,\n cuid2,\n e164,\n email,\n emoji,\n ipv4,\n ipv6,\n jwt,\n maxLength,\n minLength,\n nanoid,\n regex,\n string,\n url,\n uuid,\n type ZodMiniString,\n} from '@zod/mini'\n\nimport { BaseType } from './base.ts'\n\ntype Check = core.CheckFn<string> | core.$ZodCheck<string>\n\nexport class StringType extends BaseType<\n ZodMiniString<string>,\n ZodMiniString<string>\n> {\n static factory(...checks: Check[]) {\n return new StringType({\n encodedZodType: string().check(...checks),\n params: { checks },\n })\n }\n\n max(value: number) {\n return StringType.factory(...this.params.checks, maxLength(value))\n }\n\n min(value: number) {\n return StringType.factory(...this.params.checks, minLength(value))\n }\n\n pattern(pattern: string | RegExp) {\n return StringType.factory(\n ...this.params.checks,\n regex(typeof pattern === 'string' ? new RegExp(pattern) : pattern),\n )\n }\n\n email(options?: core.$ZodEmailParams) {\n return StringType.factory(...this.params.checks, email(options))\n }\n\n url(options?: core.$ZodURLParams) {\n return StringType.factory(...this.params.checks, url(options))\n }\n\n ipv4(options?: core.$ZodIPv4Params) {\n return StringType.factory(...this.params.checks, ipv4(options))\n }\n\n ipv6(options?: core.$ZodIPv6Params) {\n return StringType.factory(...this.params.checks, ipv6(options))\n }\n\n uuid(options?: core.$ZodUUIDParams) {\n return StringType.factory(...this.params.checks, uuid(options))\n }\n\n emoji(options?: core.$ZodEmojiParams) {\n return StringType.factory(...this.params.checks, emoji(options))\n }\n\n nanoid(options?: core.$ZodNanoIDParams) {\n return StringType.factory(...this.params.checks, nanoid(options))\n }\n\n cuid(options?: core.$ZodCUIDParams) {\n return StringType.factory(...this.params.checks, cuid(options))\n }\n\n cuid2(options?: core.$ZodCUID2Params) {\n return StringType.factory(...this.params.checks, cuid2(options))\n }\n\n e164(options?: core.$ZodE164Params) {\n return StringType.factory(...this.params.checks, e164(options))\n }\n\n jwt(options?: core.$ZodJWTParams) {\n return StringType.factory(...this.params.checks, jwt(options))\n }\n}\n"],"version":3}
1
+ {"mappings":"AAAA,SAEE,MACA,OACA,MACA,OACA,OACA,MACA,MACA,KACA,WACA,WACA,QACA,OACA,QACA,KACA,YAEK,WAAW;AAElB,SAAS,gBAAgB,WAAW;AAIpC,OAAO,MAAM,mBAAmB,SAG9B;CACA,OAAO,QAAQ,GAAG,QAAiB;AACjC,SAAO,IAAI,WAAW;GACpB,gBAAgB,QAAQ,CAAC,MAAM,GAAG,OAAO;GACzC,QAAQ,EAAE,OAAQ;EACnB;CACF;CAED,IAAIA,OAAe;AACjB,SAAO,WAAW,QAAQ,GAAG,KAAK,OAAO,QAAQ,UAAU,MAAM,CAAC;CACnE;CAED,IAAIA,OAAe;AACjB,SAAO,WAAW,QAAQ,GAAG,KAAK,OAAO,QAAQ,UAAU,MAAM,CAAC;CACnE;CAED,QAAQC,SAA0B;AAChC,SAAO,WAAW,QAChB,GAAG,KAAK,OAAO,QACf,aAAa,YAAY,WAAW,IAAI,OAAO,WAAW,QAAQ,CACnE;CACF;CAED,MAAMC,SAAgC;AACpC,SAAO,WAAW,QAAQ,GAAG,KAAK,OAAO,QAAQ,MAAM,QAAQ,CAAC;CACjE;CAED,IAAIC,SAA8B;AAChC,SAAO,WAAW,QAAQ,GAAG,KAAK,OAAO,QAAQ,IAAI,QAAQ,CAAC;CAC/D;CAED,KAAKC,SAA+B;AAClC,SAAO,WAAW,QAAQ,GAAG,KAAK,OAAO,QAAQ,KAAK,QAAQ,CAAC;CAChE;CAED,KAAKC,SAA+B;AAClC,SAAO,WAAW,QAAQ,GAAG,KAAK,OAAO,QAAQ,KAAK,QAAQ,CAAC;CAChE;CAED,KAAKC,SAA+B;AAClC,SAAO,WAAW,QAAQ,GAAG,KAAK,OAAO,QAAQ,KAAK,QAAQ,CAAC;CAChE;CAED,MAAMC,SAAgC;AACpC,SAAO,WAAW,QAAQ,GAAG,KAAK,OAAO,QAAQ,MAAM,QAAQ,CAAC;CACjE;CAED,OAAOC,SAAiC;AACtC,SAAO,WAAW,QAAQ,GAAG,KAAK,OAAO,QAAQ,OAAO,QAAQ,CAAC;CAClE;CAED,KAAKC,SAA+B;AAClC,SAAO,WAAW,QAAQ,GAAG,KAAK,OAAO,QAAQ,KAAK,QAAQ,CAAC;CAChE;CAED,MAAMC,SAAgC;AACpC,SAAO,WAAW,QAAQ,GAAG,KAAK,OAAO,QAAQ,MAAM,QAAQ,CAAC;CACjE;CAED,KAAKC,SAA+B;AAClC,SAAO,WAAW,QAAQ,GAAG,KAAK,OAAO,QAAQ,KAAK,QAAQ,CAAC;CAChE;CAED,IAAIC,SAA8B;AAChC,SAAO,WAAW,QAAQ,GAAG,KAAK,OAAO,QAAQ,IAAI,QAAQ,CAAC;CAC/D;AACF","names":["value: number","pattern: string | RegExp","options?: core.$ZodEmailParams","options?: core.$ZodURLParams","options?: core.$ZodIPv4Params","options?: core.$ZodIPv6Params","options?: core.$ZodUUIDParams","options?: core.$ZodEmojiParams","options?: core.$ZodNanoIDParams","options?: core.$ZodCUIDParams","options?: core.$ZodCUID2Params","options?: core.$ZodE164Params","options?: core.$ZodJWTParams"],"sources":["../../src/types/string.ts"],"sourcesContent":["import {\n type core,\n cuid,\n cuid2,\n e164,\n email,\n emoji,\n ipv4,\n ipv6,\n jwt,\n maxLength,\n minLength,\n nanoid,\n regex,\n string,\n url,\n uuid,\n type ZodMiniString,\n} from '@zod/mini'\n\nimport { BaseType } from './base.ts'\n\ntype Check = core.CheckFn<string> | core.$ZodCheck<string>\n\nexport class StringType extends BaseType<\n ZodMiniString<string>,\n ZodMiniString<string>\n> {\n static factory(...checks: Check[]) {\n return new StringType({\n encodedZodType: string().check(...checks),\n params: { checks },\n })\n }\n\n max(value: number) {\n return StringType.factory(...this.params.checks, maxLength(value))\n }\n\n min(value: number) {\n return StringType.factory(...this.params.checks, minLength(value))\n }\n\n pattern(pattern: string | RegExp) {\n return StringType.factory(\n ...this.params.checks,\n regex(typeof pattern === 'string' ? new RegExp(pattern) : pattern),\n )\n }\n\n email(options?: core.$ZodEmailParams) {\n return StringType.factory(...this.params.checks, email(options))\n }\n\n url(options?: core.$ZodURLParams) {\n return StringType.factory(...this.params.checks, url(options))\n }\n\n ipv4(options?: core.$ZodIPv4Params) {\n return StringType.factory(...this.params.checks, ipv4(options))\n }\n\n ipv6(options?: core.$ZodIPv6Params) {\n return StringType.factory(...this.params.checks, ipv6(options))\n }\n\n uuid(options?: core.$ZodUUIDParams) {\n return StringType.factory(...this.params.checks, uuid(options))\n }\n\n emoji(options?: core.$ZodEmojiParams) {\n return StringType.factory(...this.params.checks, emoji(options))\n }\n\n nanoid(options?: core.$ZodNanoIDParams) {\n return StringType.factory(...this.params.checks, nanoid(options))\n }\n\n cuid(options?: core.$ZodCUIDParams) {\n return StringType.factory(...this.params.checks, cuid(options))\n }\n\n cuid2(options?: core.$ZodCUID2Params) {\n return StringType.factory(...this.params.checks, cuid2(options))\n }\n\n e164(options?: core.$ZodE164Params) {\n return StringType.factory(...this.params.checks, e164(options))\n }\n\n jwt(options?: core.$ZodJWTParams) {\n return StringType.factory(...this.params.checks, jwt(options))\n }\n}\n"],"version":3,"file":"string.js"}
@@ -89,3 +89,5 @@ export class PlainMonthDayType extends TransformType {
89
89
  });
90
90
  }
91
91
  }
92
+
93
+ //# sourceMappingURL=temporal.js.map
@@ -1 +1 @@
1
- {"mappings":"AAAA,SAAS,KAAK,OAAO,cAAkC,WAAW;AAClE,SAAS,gBAAgB,mBAAmB;AAC5C,SAAS,YAAY,qBAAqB,aAAa;AAYvD,MAAM,4BAA4B,CAChCA,MACA,SAAS,CAACC,UAAkB,SAAS,MAAM,KAAK,MAAM,KACnD;CACH,MAAM,SAAS,CAACC,UACd,MAAM,SAAS;EACb,cAAc;EACd,cAAc;EACd,cAAc;CACf,EAAC;AAEJ,QAAO;EACL;EACA;CACD;AACF;AAID,OAAO,MAAM,sBAAsB,cAGjC;CACA,OAAO,cAAc,0BAA0B,YAAY;CAE3D,OAAO,UAAU;AACf,SAAO,WAAW,QAAyC;GACzD,QAAQ,cAAc,YAAY;GAClC,QAAQ,cAAc,YAAY;GAClC,MAAM,IAAI,MAAM;GAChB,OAAO;EACR,EAAC;CACH;AACF;AAED,OAAO,MAAM,0BAA0B,cAGrC;CACA,OAAO,cAAc,0BAA0B,gBAAgB;CAE/D,OAAO,UAAU;AACf,SAAO,WAAW,QAA6C;GAC7D,QAAQ,kBAAkB,YAAY;GACtC,QAAQ,kBAAkB,YAAY;GACtC,MAAM,IAAI,SAAS,EAAE,OAAO,KAAM,EAAC;GACnC,OAAO;EACR,EAAC;CACH;AACF;AAED,OAAO,MAAM,0BAA0B,cAGrC;CACA,OAAO,cAAc,0BAA0B,iBAAiB,CAAC,UAC/D,SAAS,QAAQ,KAAK,MAAM,CAAC,mBAAmB,MAAM,CACvD;CAED,OAAO,UAAU;AACf,SAAO,WAAW,QAA6C;GAC7D,QAAQ,kBAAkB,YAAY;GACtC,QAAQ,kBAAkB,YAAY;GACtC,MAAM,IAAI,SAAS,EAAE,OAAO,KAAM,EAAC;GACnC,OAAO;EACR,EAAC;CACH;AACF;AAED,OAAO,MAAM,sBAAsB,cAGjC;CACA,OAAO,cAAc,0BAA0B,YAAY;CAE3D,OAAO,UAAU;AACf,SAAO,WAAW,QAAyC;GACzD,QAAQ,cAAc,YAAY;GAClC,QAAQ,cAAc,YAAY;GAClC,MAAM,IAAI,MAAM;GAChB,OAAO;EACR,EAAC;CACH;AACF;AAED,OAAO,MAAM,qBAAqB,cAGhC;CACA,OAAO,cAAc,0BAA0B,WAAW;CAE1D,OAAO,UAAU;AACf,SAAO,WAAW,QAAwC;GACxD,QAAQ,aAAa,YAAY;GACjC,QAAQ,aAAa,YAAY;GACjC,MAAM,IAAI,UAAU;GACpB,OAAO;EACR,EAAC;CACH;AACF;AAED,OAAO,MAAM,2BAA2B,cAGtC;CACA,OAAO,cAAc,0BAA0B,iBAAiB;CAEhE,OAAO,UAAU;AACf,SAAO,WAAW,QAA8C;GAC9D,QAAQ,mBAAmB,YAAY;GACvC,QAAQ,mBAAmB,YAAY;GACvC,MAAM,QAAQ,CAAC,MAAM,MAAM,gBAAgB,CAAC;GAC5C,OAAO;EACR,EAAC;CACH;AACF;AAED,OAAO,MAAM,0BAA0B,cAGrC;CACA,OAAO,cAAc,0BAA0B,gBAAgB;CAE/D,OAAO,UAAU;AACf,SAAO,WAAW,QAA6C;GAC7D,QAAQ,kBAAkB,YAAY;GACtC,QAAQ,kBAAkB,YAAY;GACtC,MAAM,QAAQ,CAAC,MAAM,MAAM,gBAAgB,CAAC;GAC5C,OAAO;EACR,EAAC;CACH;AACF","names":["type: T","value: string","value: ReturnType<(typeof Temporal)[T]['from']>"],"sources":["src/types/temporal.ts"],"sourcesContent":["import { iso, regex, string, type ZodMiniString } from '@zod/mini'\nimport { Temporal } from 'temporal-polyfill'\nimport { CustomType, TransformType } from './custom.ts'\n\ntype Types = Exclude<\n keyof typeof Temporal,\n 'Now' | 'Instant' | 'Calendar' | 'TimeZone'\n>\n\ntype TemporalTransformer<T extends Types> = {\n decode: (value: string) => ReturnType<(typeof Temporal)[T]['from']>\n encode: (value: ReturnType<(typeof Temporal)[T]['from']>) => string\n}\n\nconst createTemporalTransformer = <T extends Types>(\n type: T,\n decode = (value: string) => Temporal[type].from(value),\n) => {\n const encode = (value: ReturnType<(typeof Temporal)[T]['from']>) =>\n value.toString({\n calendarName: 'never',\n smallestUnit: 'microsecond',\n timeZoneName: 'never',\n })\n\n return {\n decode,\n encode,\n } as TemporalTransformer<T>\n}\n\ntype EncodedType = ZodMiniString<string>\n\nexport class PlainDateType extends TransformType<\n Temporal.PlainDate,\n EncodedType\n> {\n static transformer = createTemporalTransformer('PlainDate')\n\n static factory() {\n return CustomType.factory<Temporal.PlainDate, EncodedType>({\n decode: PlainDateType.transformer.decode,\n encode: PlainDateType.transformer.encode,\n type: iso.date(),\n error: 'Invalid date format',\n })\n }\n}\n\nexport class PlainDateTimeType extends TransformType<\n Temporal.PlainDateTime,\n EncodedType\n> {\n static transformer = createTemporalTransformer('PlainDateTime')\n\n static factory() {\n return CustomType.factory<Temporal.PlainDateTime, EncodedType>({\n decode: PlainDateTimeType.transformer.decode,\n encode: PlainDateTimeType.transformer.encode,\n type: iso.datetime({ local: true }),\n error: 'Invalid datetime format',\n })\n }\n}\n\nexport class ZonedDateTimeType extends TransformType<\n Temporal.ZonedDateTime,\n EncodedType\n> {\n static transformer = createTemporalTransformer('ZonedDateTime', (value) =>\n Temporal.Instant.from(value).toZonedDateTimeISO('UTC'),\n )\n\n static factory() {\n return CustomType.factory<Temporal.ZonedDateTime, EncodedType>({\n decode: ZonedDateTimeType.transformer.decode,\n encode: ZonedDateTimeType.transformer.encode,\n type: iso.datetime({ local: true }),\n error: 'Invalid datetime format',\n })\n }\n}\n\nexport class PlainTimeType extends TransformType<\n Temporal.PlainTime,\n EncodedType\n> {\n static transformer = createTemporalTransformer('PlainTime')\n\n static factory() {\n return CustomType.factory<Temporal.PlainTime, EncodedType>({\n decode: PlainTimeType.transformer.decode,\n encode: PlainTimeType.transformer.encode,\n type: iso.time(),\n error: 'Invalid time format',\n })\n }\n}\n\nexport class DurationType extends TransformType<\n Temporal.Duration,\n EncodedType\n> {\n static transformer = createTemporalTransformer('Duration')\n\n static factory() {\n return CustomType.factory<Temporal.Duration, EncodedType>({\n decode: DurationType.transformer.decode,\n encode: DurationType.transformer.encode,\n type: iso.duration(),\n error: 'Invalid duration format',\n })\n }\n}\n\nexport class PlainYearMonthType extends TransformType<\n Temporal.PlainYearMonth,\n EncodedType\n> {\n static transformer = createTemporalTransformer('PlainYearMonth')\n\n static factory() {\n return CustomType.factory<Temporal.PlainYearMonth, EncodedType>({\n decode: PlainYearMonthType.transformer.decode,\n encode: PlainYearMonthType.transformer.encode,\n type: string().check(regex(/^\\d{4}-\\d{2}$/)),\n error: 'Invalid year-month format',\n })\n }\n}\n\nexport class PlainMonthDayType extends TransformType<\n Temporal.PlainMonthDay,\n EncodedType\n> {\n static transformer = createTemporalTransformer('PlainMonthDay')\n\n static factory() {\n return CustomType.factory<Temporal.PlainMonthDay, EncodedType>({\n decode: PlainMonthDayType.transformer.decode,\n encode: PlainMonthDayType.transformer.encode,\n type: string().check(regex(/^\\d{2}-\\d{2}$/)),\n error: 'Invalid month-day format',\n })\n }\n}\n"],"version":3}
1
+ {"mappings":"AAAA,SAAS,KAAK,OAAO,cAAkC,WAAW;AAClE,SAAS,gBAAgB,mBAAmB;AAC5C,SAAS,YAAY,qBAAqB,aAAa;AAYvD,MAAM,4BAA4B,CAChCA,MACA,SAAS,CAACC,UAAkB,SAAS,MAAM,KAAK,MAAM,KACnD;CACH,MAAM,SAAS,CAACC,UACd,MAAM,SAAS;EACb,cAAc;EACd,cAAc;EACd,cAAc;CACf,EAAC;AAEJ,QAAO;EACL;EACA;CACD;AACF;AAID,OAAO,MAAM,sBAAsB,cAGjC;CACA,OAAO,cAAc,0BAA0B,YAAY;CAE3D,OAAO,UAAU;AACf,SAAO,WAAW,QAAyC;GACzD,QAAQ,cAAc,YAAY;GAClC,QAAQ,cAAc,YAAY;GAClC,MAAM,IAAI,MAAM;GAChB,OAAO;EACR,EAAC;CACH;AACF;AAED,OAAO,MAAM,0BAA0B,cAGrC;CACA,OAAO,cAAc,0BAA0B,gBAAgB;CAE/D,OAAO,UAAU;AACf,SAAO,WAAW,QAA6C;GAC7D,QAAQ,kBAAkB,YAAY;GACtC,QAAQ,kBAAkB,YAAY;GACtC,MAAM,IAAI,SAAS,EAAE,OAAO,KAAM,EAAC;GACnC,OAAO;EACR,EAAC;CACH;AACF;AAED,OAAO,MAAM,0BAA0B,cAGrC;CACA,OAAO,cAAc,0BAA0B,iBAAiB,CAAC,UAC/D,SAAS,QAAQ,KAAK,MAAM,CAAC,mBAAmB,MAAM,CACvD;CAED,OAAO,UAAU;AACf,SAAO,WAAW,QAA6C;GAC7D,QAAQ,kBAAkB,YAAY;GACtC,QAAQ,kBAAkB,YAAY;GACtC,MAAM,IAAI,SAAS,EAAE,OAAO,KAAM,EAAC;GACnC,OAAO;EACR,EAAC;CACH;AACF;AAED,OAAO,MAAM,sBAAsB,cAGjC;CACA,OAAO,cAAc,0BAA0B,YAAY;CAE3D,OAAO,UAAU;AACf,SAAO,WAAW,QAAyC;GACzD,QAAQ,cAAc,YAAY;GAClC,QAAQ,cAAc,YAAY;GAClC,MAAM,IAAI,MAAM;GAChB,OAAO;EACR,EAAC;CACH;AACF;AAED,OAAO,MAAM,qBAAqB,cAGhC;CACA,OAAO,cAAc,0BAA0B,WAAW;CAE1D,OAAO,UAAU;AACf,SAAO,WAAW,QAAwC;GACxD,QAAQ,aAAa,YAAY;GACjC,QAAQ,aAAa,YAAY;GACjC,MAAM,IAAI,UAAU;GACpB,OAAO;EACR,EAAC;CACH;AACF;AAED,OAAO,MAAM,2BAA2B,cAGtC;CACA,OAAO,cAAc,0BAA0B,iBAAiB;CAEhE,OAAO,UAAU;AACf,SAAO,WAAW,QAA8C;GAC9D,QAAQ,mBAAmB,YAAY;GACvC,QAAQ,mBAAmB,YAAY;GACvC,MAAM,QAAQ,CAAC,MAAM,MAAM,gBAAgB,CAAC;GAC5C,OAAO;EACR,EAAC;CACH;AACF;AAED,OAAO,MAAM,0BAA0B,cAGrC;CACA,OAAO,cAAc,0BAA0B,gBAAgB;CAE/D,OAAO,UAAU;AACf,SAAO,WAAW,QAA6C;GAC7D,QAAQ,kBAAkB,YAAY;GACtC,QAAQ,kBAAkB,YAAY;GACtC,MAAM,QAAQ,CAAC,MAAM,MAAM,gBAAgB,CAAC;GAC5C,OAAO;EACR,EAAC;CACH;AACF","names":["type: T","value: string","value: ReturnType<(typeof Temporal)[T]['from']>"],"sources":["../../src/types/temporal.ts"],"sourcesContent":["import { iso, regex, string, type ZodMiniString } from '@zod/mini'\nimport { Temporal } from 'temporal-polyfill'\nimport { CustomType, TransformType } from './custom.ts'\n\ntype Types = Exclude<\n keyof typeof Temporal,\n 'Now' | 'Instant' | 'Calendar' | 'TimeZone'\n>\n\ntype TemporalTransformer<T extends Types> = {\n decode: (value: string) => ReturnType<(typeof Temporal)[T]['from']>\n encode: (value: ReturnType<(typeof Temporal)[T]['from']>) => string\n}\n\nconst createTemporalTransformer = <T extends Types>(\n type: T,\n decode = (value: string) => Temporal[type].from(value),\n) => {\n const encode = (value: ReturnType<(typeof Temporal)[T]['from']>) =>\n value.toString({\n calendarName: 'never',\n smallestUnit: 'microsecond',\n timeZoneName: 'never',\n })\n\n return {\n decode,\n encode,\n } as TemporalTransformer<T>\n}\n\ntype EncodedType = ZodMiniString<string>\n\nexport class PlainDateType extends TransformType<\n Temporal.PlainDate,\n EncodedType\n> {\n static transformer = createTemporalTransformer('PlainDate')\n\n static factory() {\n return CustomType.factory<Temporal.PlainDate, EncodedType>({\n decode: PlainDateType.transformer.decode,\n encode: PlainDateType.transformer.encode,\n type: iso.date(),\n error: 'Invalid date format',\n })\n }\n}\n\nexport class PlainDateTimeType extends TransformType<\n Temporal.PlainDateTime,\n EncodedType\n> {\n static transformer = createTemporalTransformer('PlainDateTime')\n\n static factory() {\n return CustomType.factory<Temporal.PlainDateTime, EncodedType>({\n decode: PlainDateTimeType.transformer.decode,\n encode: PlainDateTimeType.transformer.encode,\n type: iso.datetime({ local: true }),\n error: 'Invalid datetime format',\n })\n }\n}\n\nexport class ZonedDateTimeType extends TransformType<\n Temporal.ZonedDateTime,\n EncodedType\n> {\n static transformer = createTemporalTransformer('ZonedDateTime', (value) =>\n Temporal.Instant.from(value).toZonedDateTimeISO('UTC'),\n )\n\n static factory() {\n return CustomType.factory<Temporal.ZonedDateTime, EncodedType>({\n decode: ZonedDateTimeType.transformer.decode,\n encode: ZonedDateTimeType.transformer.encode,\n type: iso.datetime({ local: true }),\n error: 'Invalid datetime format',\n })\n }\n}\n\nexport class PlainTimeType extends TransformType<\n Temporal.PlainTime,\n EncodedType\n> {\n static transformer = createTemporalTransformer('PlainTime')\n\n static factory() {\n return CustomType.factory<Temporal.PlainTime, EncodedType>({\n decode: PlainTimeType.transformer.decode,\n encode: PlainTimeType.transformer.encode,\n type: iso.time(),\n error: 'Invalid time format',\n })\n }\n}\n\nexport class DurationType extends TransformType<\n Temporal.Duration,\n EncodedType\n> {\n static transformer = createTemporalTransformer('Duration')\n\n static factory() {\n return CustomType.factory<Temporal.Duration, EncodedType>({\n decode: DurationType.transformer.decode,\n encode: DurationType.transformer.encode,\n type: iso.duration(),\n error: 'Invalid duration format',\n })\n }\n}\n\nexport class PlainYearMonthType extends TransformType<\n Temporal.PlainYearMonth,\n EncodedType\n> {\n static transformer = createTemporalTransformer('PlainYearMonth')\n\n static factory() {\n return CustomType.factory<Temporal.PlainYearMonth, EncodedType>({\n decode: PlainYearMonthType.transformer.decode,\n encode: PlainYearMonthType.transformer.encode,\n type: string().check(regex(/^\\d{4}-\\d{2}$/)),\n error: 'Invalid year-month format',\n })\n }\n}\n\nexport class PlainMonthDayType extends TransformType<\n Temporal.PlainMonthDay,\n EncodedType\n> {\n static transformer = createTemporalTransformer('PlainMonthDay')\n\n static factory() {\n return CustomType.factory<Temporal.PlainMonthDay, EncodedType>({\n decode: PlainMonthDayType.transformer.decode,\n encode: PlainMonthDayType.transformer.encode,\n type: string().check(regex(/^\\d{2}-\\d{2}$/)),\n error: 'Invalid month-day format',\n })\n }\n}\n"],"version":3,"file":"temporal.js"}
@@ -14,3 +14,5 @@ export class TupleType extends BaseType {
14
14
  });
15
15
  }
16
16
  }
17
+
18
+ //# sourceMappingURL=tuple.js.map
@@ -1 +1 @@
1
- {"mappings":"AACA,SAAS,aAAgC,WAAW;AACpD,SAAS,gBAAgB,WAAW;AAEpC,OAAO,MAAM,kBAMH,SAQR;CACA,OAAO,QAGLA,UAAaC,OAAU,MAAW;EAClC,MAAM,UAAU,SAAS,IAAI,CAAC,OAAO,GAAG,eAAe;EACvD,MAAM,UAAU,SAAS,IAAI,CAAC,OAAO,GAAG,eAAe;AACvD,SAAO,IAAI,UAAgB;GAEzB,gBAAgB,MAAM,SAAS,MAAM,eAAe;GAEpD,gBAAgB,MAAM,SAAS,MAAM,eAAe;GACpD,OAAO;IAAE;IAAU;GAAM;EAC1B;CACF;AACF","names":["elements: T","rest: R"],"sources":["src/types/tuple.ts"],"sourcesContent":["import type { ArrayMap } from '@nmtjs/common'\nimport { tuple, type ZodMiniTuple } from '@zod/mini'\nimport { BaseType } from './base.ts'\n\nexport class TupleType<\n T extends readonly [BaseType, ...BaseType[]] = readonly [\n BaseType,\n ...BaseType[],\n ],\n R extends BaseType | null = BaseType | null,\n> extends BaseType<\n R extends BaseType\n ? ZodMiniTuple<ArrayMap<T, 'encodedZodType'>, R['encodedZodType']>\n : ZodMiniTuple<ArrayMap<T, 'encodedZodType'>, null>,\n R extends BaseType\n ? ZodMiniTuple<ArrayMap<T, 'decodedZodType'>, R['decodedZodType']>\n : ZodMiniTuple<ArrayMap<T, 'decodedZodType'>, null>,\n { elements: T; rest?: R }\n> {\n static factory<\n T extends readonly [BaseType, ...BaseType[]],\n R extends BaseType | null = null,\n >(elements: T, rest: R = null as R) {\n const encoded = elements.map((el) => el.encodedZodType)\n const decoded = elements.map((el) => el.decodedZodType)\n return new TupleType<T, R>({\n // @ts-expect-error\n encodedZodType: tuple(encoded, rest?.encodedZodType),\n // @ts-expect-error\n decodedZodType: tuple(decoded, rest?.decodedZodType),\n props: { elements, rest },\n })\n }\n}\n"],"version":3}
1
+ {"mappings":"AACA,SAAS,aAAgC,WAAW;AACpD,SAAS,gBAAgB,WAAW;AAEpC,OAAO,MAAM,kBAMH,SAQR;CACA,OAAO,QAGLA,UAAaC,OAAU,MAAW;EAClC,MAAM,UAAU,SAAS,IAAI,CAAC,OAAO,GAAG,eAAe;EACvD,MAAM,UAAU,SAAS,IAAI,CAAC,OAAO,GAAG,eAAe;AACvD,SAAO,IAAI,UAAgB;GAEzB,gBAAgB,MAAM,SAAS,MAAM,eAAe;GAEpD,gBAAgB,MAAM,SAAS,MAAM,eAAe;GACpD,OAAO;IAAE;IAAU;GAAM;EAC1B;CACF;AACF","names":["elements: T","rest: R"],"sources":["../../src/types/tuple.ts"],"sourcesContent":["import type { ArrayMap } from '@nmtjs/common'\nimport { tuple, type ZodMiniTuple } from '@zod/mini'\nimport { BaseType } from './base.ts'\n\nexport class TupleType<\n T extends readonly [BaseType, ...BaseType[]] = readonly [\n BaseType,\n ...BaseType[],\n ],\n R extends BaseType | null = BaseType | null,\n> extends BaseType<\n R extends BaseType\n ? ZodMiniTuple<ArrayMap<T, 'encodedZodType'>, R['encodedZodType']>\n : ZodMiniTuple<ArrayMap<T, 'encodedZodType'>, null>,\n R extends BaseType\n ? ZodMiniTuple<ArrayMap<T, 'decodedZodType'>, R['decodedZodType']>\n : ZodMiniTuple<ArrayMap<T, 'decodedZodType'>, null>,\n { elements: T; rest?: R }\n> {\n static factory<\n T extends readonly [BaseType, ...BaseType[]],\n R extends BaseType | null = null,\n >(elements: T, rest: R = null as R) {\n const encoded = elements.map((el) => el.encodedZodType)\n const decoded = elements.map((el) => el.decodedZodType)\n return new TupleType<T, R>({\n // @ts-expect-error\n encodedZodType: tuple(encoded, rest?.encodedZodType),\n // @ts-expect-error\n decodedZodType: tuple(decoded, rest?.decodedZodType),\n props: { elements, rest },\n })\n }\n}\n"],"version":3,"file":"tuple.js"}
@@ -35,3 +35,5 @@ export class DiscriminatedUnionType extends BaseType {
35
35
  });
36
36
  }
37
37
  }
38
+
39
+ //# sourceMappingURL=union.js.map
@@ -1 +1 @@
1
- {"mappings":"AACA,SAEE,oBACA,cACA,aAIK,WAAW;AAClB,SAAS,gBAAkC,WAAW;AAItD,OAAO,MAAM,kBAKH,SAIR;CACA,OAAO,QAKL,GAAG,SAAY;EACf,MAAM,UAAU,QAAQ,IAAI,CAAC,MAAM,EAAE,eAAe;EAIpD,MAAM,UAAU,QAAQ,IAAI,CAAC,MAAM,EAAE,eAAe;AAIpD,SAAO,IAAI,UAAa;GACtB,gBAAgB,MAAM,QAAQ;GAC9B,gBAAgB,MAAM,QAAQ;GAC9B,OAAO,EAAE,QAAS;EACnB;CACF;AACF;AAED,OAAO,MAAM,yBAEH,SAIR;CACA,OAAO,QAEL,GAAG,SAAY;EACf,MAAM,CAAC,OAAO,OAAO,GAAG;AACxB,SAAO,IAAI,iBAAoB;GAC7B,gBAAgB,aAAa,MAAM,gBAAgB,OAAO,eAAe;GACzE,gBAAgB,aAAa,MAAM,gBAAgB,OAAO,eAAe;GACzE,OAAO,EAAE,QAAS;EACnB;CACF;AACF;AAYD,OAAO,MAAM,+BAIH,SAOR;CACA,OAAO,QAILA,KAAQ,GAAG,SAAY;EACvB,MAAM,UAAU,QAAQ,IAAI,CAAC,MAAM,EAAE,eAAe;EAIpD,MAAM,UAAU,QAAQ,IAAI,CAAC,MAAM,EAAE,eAAe;AAIpD,SAAO,IAAI,uBAA6B;GAEtC,gBAAgB,mBAAmB,QAAQ;GAE3C,gBAAgB,mBAAmB,QAAQ;GAC3C,OAAO;IAAE;IAAK;GAAS;EACxB;CACF;AACF","names":["key: K"],"sources":["src/types/union.ts"],"sourcesContent":["import type { ArrayMap } from '@nmtjs/common'\nimport {\n type core,\n discriminatedUnion,\n intersection,\n union,\n type ZodMiniDiscriminatedUnion,\n type ZodMiniIntersection,\n type ZodMiniUnion,\n} from '@zod/mini'\nimport { BaseType, type BaseTypeAny } from './base.ts'\nimport type { LiteralType } from './literal.ts'\nimport type { ObjectType, ObjectTypeProps } from './object.ts'\n\nexport class UnionType<\n T extends readonly [BaseType, ...BaseType[]] = readonly [\n BaseType,\n ...BaseType[],\n ],\n> extends BaseType<\n ZodMiniUnion<ArrayMap<T, 'encodedZodType'>>,\n ZodMiniUnion<ArrayMap<T, 'decodedZodType'>>,\n { options: T }\n> {\n static factory<\n T extends readonly [BaseType, ...BaseType[]] = readonly [\n BaseType,\n ...BaseType[],\n ],\n >(...options: T) {\n const encoded = options.map((t) => t.encodedZodType) as ArrayMap<\n T,\n 'encodedZodType'\n >\n const decoded = options.map((t) => t.decodedZodType) as ArrayMap<\n T,\n 'decodedZodType'\n >\n return new UnionType<T>({\n encodedZodType: union(encoded),\n decodedZodType: union(decoded),\n props: { options },\n })\n }\n}\n\nexport class IntersactionType<\n T extends readonly [BaseType, BaseType] = readonly [BaseType, BaseType],\n> extends BaseType<\n ZodMiniIntersection<T[0]['encodedZodType'], T[1]['encodedZodType']>,\n ZodMiniIntersection<T[0]['decodedZodType'], T[1]['decodedZodType']>,\n { options: T }\n> {\n static factory<\n T extends readonly [BaseType, BaseType] = readonly [BaseType, BaseType],\n >(...options: T) {\n const [first, second] = options\n return new IntersactionType<T>({\n encodedZodType: intersection(first.encodedZodType, second.encodedZodType),\n decodedZodType: intersection(first.decodedZodType, second.decodedZodType),\n props: { options },\n })\n }\n}\n\nexport type DiscriminatedUnionProperties<K extends string = string> = {\n [OK in K]: LiteralType<string>\n} & {\n [OK in string]: any\n}\n\nexport type DiscriminatedUnionOptionType<K extends string> = ObjectType<\n ObjectTypeProps & { [_ in K]: BaseTypeAny }\n>\n\nexport class DiscriminatedUnionType<\n K extends string = string,\n T extends\n readonly DiscriminatedUnionOptionType<K>[] = DiscriminatedUnionOptionType<K>[],\n> extends BaseType<\n ZodMiniDiscriminatedUnion<ArrayMap<T, 'encodedZodType'>>,\n ZodMiniDiscriminatedUnion<ArrayMap<T, 'decodedZodType'>>,\n {\n key: K\n options: T\n }\n> {\n static factory<\n K extends string = string,\n T extends\n readonly DiscriminatedUnionOptionType<K>[] = DiscriminatedUnionOptionType<K>[],\n >(key: K, ...options: T) {\n const encoded = options.map((t) => t.encodedZodType) as ArrayMap<\n T,\n 'encodedZodType'\n >\n const decoded = options.map((t) => t.decodedZodType) as ArrayMap<\n T,\n 'decodedZodType'\n >\n return new DiscriminatedUnionType<K, T>({\n // @ts-expect-error\n encodedZodType: discriminatedUnion(encoded),\n // @ts-expect-error\n decodedZodType: discriminatedUnion(decoded),\n props: { key, options },\n })\n }\n}\n"],"version":3}
1
+ {"mappings":"AACA,SAEE,oBACA,cACA,aAIK,WAAW;AAClB,SAAS,gBAAkC,WAAW;AAItD,OAAO,MAAM,kBAKH,SAIR;CACA,OAAO,QAKL,GAAG,SAAY;EACf,MAAM,UAAU,QAAQ,IAAI,CAAC,MAAM,EAAE,eAAe;EAIpD,MAAM,UAAU,QAAQ,IAAI,CAAC,MAAM,EAAE,eAAe;AAIpD,SAAO,IAAI,UAAa;GACtB,gBAAgB,MAAM,QAAQ;GAC9B,gBAAgB,MAAM,QAAQ;GAC9B,OAAO,EAAE,QAAS;EACnB;CACF;AACF;AAED,OAAO,MAAM,yBAEH,SAIR;CACA,OAAO,QAEL,GAAG,SAAY;EACf,MAAM,CAAC,OAAO,OAAO,GAAG;AACxB,SAAO,IAAI,iBAAoB;GAC7B,gBAAgB,aAAa,MAAM,gBAAgB,OAAO,eAAe;GACzE,gBAAgB,aAAa,MAAM,gBAAgB,OAAO,eAAe;GACzE,OAAO,EAAE,QAAS;EACnB;CACF;AACF;AAYD,OAAO,MAAM,+BAIH,SAOR;CACA,OAAO,QAILA,KAAQ,GAAG,SAAY;EACvB,MAAM,UAAU,QAAQ,IAAI,CAAC,MAAM,EAAE,eAAe;EAIpD,MAAM,UAAU,QAAQ,IAAI,CAAC,MAAM,EAAE,eAAe;AAIpD,SAAO,IAAI,uBAA6B;GAEtC,gBAAgB,mBAAmB,QAAQ;GAE3C,gBAAgB,mBAAmB,QAAQ;GAC3C,OAAO;IAAE;IAAK;GAAS;EACxB;CACF;AACF","names":["key: K"],"sources":["../../src/types/union.ts"],"sourcesContent":["import type { ArrayMap } from '@nmtjs/common'\nimport {\n type core,\n discriminatedUnion,\n intersection,\n union,\n type ZodMiniDiscriminatedUnion,\n type ZodMiniIntersection,\n type ZodMiniUnion,\n} from '@zod/mini'\nimport { BaseType, type BaseTypeAny } from './base.ts'\nimport type { LiteralType } from './literal.ts'\nimport type { ObjectType, ObjectTypeProps } from './object.ts'\n\nexport class UnionType<\n T extends readonly [BaseType, ...BaseType[]] = readonly [\n BaseType,\n ...BaseType[],\n ],\n> extends BaseType<\n ZodMiniUnion<ArrayMap<T, 'encodedZodType'>>,\n ZodMiniUnion<ArrayMap<T, 'decodedZodType'>>,\n { options: T }\n> {\n static factory<\n T extends readonly [BaseType, ...BaseType[]] = readonly [\n BaseType,\n ...BaseType[],\n ],\n >(...options: T) {\n const encoded = options.map((t) => t.encodedZodType) as ArrayMap<\n T,\n 'encodedZodType'\n >\n const decoded = options.map((t) => t.decodedZodType) as ArrayMap<\n T,\n 'decodedZodType'\n >\n return new UnionType<T>({\n encodedZodType: union(encoded),\n decodedZodType: union(decoded),\n props: { options },\n })\n }\n}\n\nexport class IntersactionType<\n T extends readonly [BaseType, BaseType] = readonly [BaseType, BaseType],\n> extends BaseType<\n ZodMiniIntersection<T[0]['encodedZodType'], T[1]['encodedZodType']>,\n ZodMiniIntersection<T[0]['decodedZodType'], T[1]['decodedZodType']>,\n { options: T }\n> {\n static factory<\n T extends readonly [BaseType, BaseType] = readonly [BaseType, BaseType],\n >(...options: T) {\n const [first, second] = options\n return new IntersactionType<T>({\n encodedZodType: intersection(first.encodedZodType, second.encodedZodType),\n decodedZodType: intersection(first.decodedZodType, second.decodedZodType),\n props: { options },\n })\n }\n}\n\nexport type DiscriminatedUnionProperties<K extends string = string> = {\n [OK in K]: LiteralType<string>\n} & {\n [OK in string]: any\n}\n\nexport type DiscriminatedUnionOptionType<K extends string> = ObjectType<\n ObjectTypeProps & { [_ in K]: BaseTypeAny }\n>\n\nexport class DiscriminatedUnionType<\n K extends string = string,\n T extends\n readonly DiscriminatedUnionOptionType<K>[] = DiscriminatedUnionOptionType<K>[],\n> extends BaseType<\n ZodMiniDiscriminatedUnion<ArrayMap<T, 'encodedZodType'>>,\n ZodMiniDiscriminatedUnion<ArrayMap<T, 'decodedZodType'>>,\n {\n key: K\n options: T\n }\n> {\n static factory<\n K extends string = string,\n T extends\n readonly DiscriminatedUnionOptionType<K>[] = DiscriminatedUnionOptionType<K>[],\n >(key: K, ...options: T) {\n const encoded = options.map((t) => t.encodedZodType) as ArrayMap<\n T,\n 'encodedZodType'\n >\n const decoded = options.map((t) => t.decodedZodType) as ArrayMap<\n T,\n 'decodedZodType'\n >\n return new DiscriminatedUnionType<K, T>({\n // @ts-expect-error\n encodedZodType: discriminatedUnion(encoded),\n // @ts-expect-error\n decodedZodType: discriminatedUnion(decoded),\n props: { key, options },\n })\n }\n}\n"],"version":3,"file":"union.js"}
package/package.json CHANGED
@@ -16,10 +16,10 @@
16
16
  "temporal-polyfill": "^0.3.0"
17
17
  },
18
18
  "peerDependencies": {
19
- "@nmtjs/common": "0.8.1"
19
+ "@nmtjs/common": "0.10.0"
20
20
  },
21
21
  "devDependencies": {
22
- "@nmtjs/common": "0.8.1"
22
+ "@nmtjs/common": "0.10.0"
23
23
  },
24
24
  "files": [
25
25
  "src",
@@ -27,7 +27,7 @@
27
27
  "LICENSE.md",
28
28
  "README.md"
29
29
  ],
30
- "version": "0.8.1",
30
+ "version": "0.10.0",
31
31
  "scripts": {
32
32
  "build": "neemata-build --root=./src './**/*.ts'",
33
33
  "type-check": "tsc --noEmit"
@@ -4,6 +4,7 @@ import {
4
4
  custom,
5
5
  overwrite,
6
6
  pipe,
7
+ refine,
7
8
  type ZodMiniPipe,
8
9
  type ZodMiniType,
9
10
  } from '@zod/mini'
@@ -52,10 +53,19 @@ export class CustomType<
52
53
  type?: EncodedType
53
54
  }) {
54
55
  return new CustomType<Type, EncodedType, DecodedType>({
55
- encodedZodType: pipe(custom().check(overwrite(encode)), type),
56
+ encodedZodType: pipe(
57
+ custom().check(
58
+ refine((val) => typeof val !== 'undefined', { error, abort: true }),
59
+ overwrite(encode),
60
+ ),
61
+ type,
62
+ ),
56
63
  decodedZodType: pipe(
57
64
  type,
58
- custom(undefined, { error }).check(overwrite(decode)),
65
+ custom().check(
66
+ refine((val) => typeof val !== 'undefined', { error, abort: true }),
67
+ overwrite(decode),
68
+ ),
59
69
  ),
60
70
  params: { encode },
61
71
  })