@nmtjs/type 0.7.3 → 0.7.5

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
@@ -10,6 +10,7 @@ import { NeverType } from "./types/never.js";
10
10
  import { BigIntType, IntegerType, NumberType } from "./types/number.js";
11
11
  import { extend, keyof, merge, ObjectType, omit, partial, pick, RecordType } from "./types/object.js";
12
12
  import { StringType } from "./types/string.js";
13
+ import { TupleType } from "./types/tuple.js";
13
14
  import { DiscriminatedUnionType, IntersactionType, UnionType } from "./types/union.js";
14
15
  zod.config(zod.core.locales.en());
15
16
  export { NeemataTypeError } from "./types/base.js";
@@ -25,6 +26,7 @@ export let type;
25
26
  const bitint = _type.bitint = BigIntType.factory;
26
27
  const literal = _type.literal = LiteralType.factory;
27
28
  const enumeration = _type.enumeration = EnumType.factory;
29
+ const tuple = _type.tuple = TupleType.factory;
28
30
  const date = _type.date = DateType.factory;
29
31
  const array = _type.array = ArrayType.factory;
30
32
  const record = _type.record = RecordType.factory;
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,SACE,wBACA,kBACA,iBACK,kBAAkB;AAEzB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC;AAEjC,SAAS,wBAAwB;AACjC,SAAS,gBAAkC;AAC3C,SACE,WACA,aACA,YACA,UACA,UACA,aACA,aACA,YACA,YACA,YACA,kBACA,WACA,SACA,WACA,wBACA;;AAGK;CAiBE,MAAM,sBAAQ,UAAU;CACxB,MAAM,0BAAU,YAAY;CAC5B,MAAM,wBAAS,WAAW;CAC1B,MAAM,wBAAS,WAAW;CAC1B,MAAM,0BAAU,YAAY;CAC5B,MAAM,wBAAS,WAAW;CAC1B,MAAM,0BAAU,YAAY;CAC5B,MAAM,kCAAc,SAAS;CAC7B,MAAM,oBAAO,SAAS;CACtB,MAAM,sBAAQ,UAAU;CACxB,MAAM,wBAAS,WAAW;CAC1B,MAAM,kBAAM,QAAQ;CACpB,MAAM,gBAAK,UAAU;CACrB,MAAM,kBAAM,iBAAiB;CAC7B,MAAM,sBAAQ,UAAU;CACxB,MAAM,oCAAe,iBAAiB;CACtC,MAAM,gDAAqB,uBAAuB;CAClD,MAAM,wBAAS,WAAW;CAC1B,MAAM,wBAAS,OAAO,OAAO,WAAW,QAAQ,KAAK,WAAW,EAAE;EACvE;EACA;EACA;EACA;EACA;EACA;CACD,EAAC;;AAGJ,SAAS,QAAQ,GAAG","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 {\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 ArrayType,\n BooleanType,\n CustomType,\n DateType,\n EnumType,\n LiteralType,\n IntegerType,\n NumberType,\n ObjectType,\n StringType,\n IntersactionType,\n UnionType,\n AnyType,\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 export const never = NeverType.factory\n export const boolean = BooleanType.factory\n export const string = StringType.factory\n export const number = NumberType.factory\n export const integer = IntegerType.factory\n export const bitint = BigIntType.factory\n export const literal = LiteralType.factory\n export const enumeration = EnumType.factory\n export const date = DateType.factory\n export const array = ArrayType.factory\n export const record = RecordType.factory\n export const any = AnyType.factory\n export const or = UnionType.factory\n export const and = IntersactionType.factory\n export const union = UnionType.factory\n export const intersaction = IntersactionType.factory\n export const discriminatedUnion = DiscriminatedUnionType.factory\n export const custom = CustomType.factory\n export const object = Object.assign(ObjectType.factory.bind(ObjectType), {\n keyof,\n partial,\n merge,\n omit,\n extend,\n pick,\n })\n}\n\nexport { type as t, zod }\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,WACA,aACA,YACA,UACA,UACA,aACA,aACA,YACA,YACA,YACA,kBACA,WACA,SACA,WACA,wBACA;;AAGK;CAiBE,MAAM,sBAAQ,UAAU;CACxB,MAAM,0BAAU,YAAY;CAC5B,MAAM,wBAAS,WAAW;CAC1B,MAAM,wBAAS,WAAW;CAC1B,MAAM,0BAAU,YAAY;CAC5B,MAAM,wBAAS,WAAW;CAC1B,MAAM,0BAAU,YAAY;CAC5B,MAAM,kCAAc,SAAS;CAC7B,MAAM,sBAAQ,UAAU;CACxB,MAAM,oBAAO,SAAS;CACtB,MAAM,sBAAQ,UAAU;CACxB,MAAM,wBAAS,WAAW;CAC1B,MAAM,kBAAM,QAAQ;CACpB,MAAM,gBAAK,UAAU;CACrB,MAAM,kBAAM,iBAAiB;CAC7B,MAAM,sBAAQ,UAAU;CACxB,MAAM,oCAAe,iBAAiB;CACtC,MAAM,gDAAqB,uBAAuB;CAClD,MAAM,wBAAS,WAAW;CAC1B,MAAM,wBAAS,OAAO,OAAO,WAAW,QAAQ,KAAK,WAAW,EAAE;EACvE;EACA;EACA;EACA;EACA;EACA;CACD,EAAC;;AAGJ,SAAS,QAAQ,GAAG","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 ArrayType,\n BooleanType,\n CustomType,\n DateType,\n EnumType,\n LiteralType,\n IntegerType,\n NumberType,\n ObjectType,\n StringType,\n IntersactionType,\n UnionType,\n AnyType,\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 export const never = NeverType.factory\n export const boolean = BooleanType.factory\n export const string = StringType.factory\n export const number = NumberType.factory\n export const integer = IntegerType.factory\n export const bitint = BigIntType.factory\n export const literal = LiteralType.factory\n export const enumeration = EnumType.factory\n export const tuple = TupleType.factory\n export const date = DateType.factory\n export const array = ArrayType.factory\n export const record = RecordType.factory\n export const any = AnyType.factory\n export const or = UnionType.factory\n export const and = IntersactionType.factory\n export const union = UnionType.factory\n export const intersaction = IntersactionType.factory\n export const discriminatedUnion = DiscriminatedUnionType.factory\n export const custom = CustomType.factory\n export const object = Object.assign(ObjectType.factory.bind(ObjectType), {\n keyof,\n partial,\n merge,\n omit,\n extend,\n pick,\n })\n}\n\nexport { type as t, zod }\n"],"version":3}
@@ -0,0 +1,12 @@
1
+ import { tuple } from "@zod/mini";
2
+ import { BaseType } from "./base.js";
3
+ export class TupleType extends BaseType {
4
+ static factory(elements, ...checks) {
5
+ return new TupleType({
6
+ encodedZodType: tuple(elements.map((el) => el.encodedZodType)).check(...checks),
7
+ decodedZodType: tuple(elements.map((el) => el.decodedZodType)).check(...checks),
8
+ params: { checks },
9
+ props: { elements }
10
+ });
11
+ }
12
+ }
@@ -0,0 +1 @@
1
+ {"mappings":"AAAA,SAAoB,aAAgC,WAAW;AAC/D,SAAS,gBAAgB,WAAW;AAIpC,OAAO,MAAM,kBAEH,SAIR;CACA,OAAO,QACLA,UACA,GAAG,QACH;AACA,SAAO,IAAI,UAAa;GAEtB,gBAAgB,MAAM,SAAS,IAAI,CAAC,OAAO,GAAG,eAAe,CAAC,CAAC,MAC7D,GAAG,OACJ;GAED,gBAAgB,MAAM,SAAS,IAAI,CAAC,OAAO,GAAG,eAAe,CAAC,CAAC,MAC7D,GAAG,OACJ;GACD,QAAQ,EAAE,OAAQ;GAClB,OAAO,EAAE,SAAU;EACpB;CACF;AACF","names":["elements: T"],"sources":["src/types/tuple.ts"],"sourcesContent":["import { type core, tuple, type ZodMiniTuple } from '@zod/mini'\nimport { BaseType } from './base.ts'\n\ntype Check = core.CheckFn<any[]> | core.$ZodCheck<any[]>\n\nexport class TupleType<\n T extends readonly BaseType[] = readonly BaseType[],\n> extends BaseType<\n ZodMiniTuple<core.utils.Flatten<T[number]['encodedZodType'][]>>,\n ZodMiniTuple<core.utils.Flatten<T[number]['decodedZodType'][]>>,\n { elements: T }\n> {\n static factory<T extends readonly BaseType[]>(\n elements: T,\n ...checks: Check[]\n ) {\n return new TupleType<T>({\n //@ts-expect-error\n encodedZodType: tuple(elements.map((el) => el.encodedZodType)).check(\n ...checks,\n ),\n //@ts-expect-error\n decodedZodType: tuple(elements.map((el) => el.decodedZodType)).check(\n ...checks,\n ),\n params: { checks },\n props: { elements },\n })\n }\n}\n"],"version":3}
package/package.json CHANGED
@@ -14,7 +14,7 @@
14
14
  "dependencies": {
15
15
  "@zod/mini": "4.0.0-beta.0",
16
16
  "temporal-polyfill": "^0.3.0",
17
- "@nmtjs/common": "0.7.3"
17
+ "@nmtjs/common": "0.7.5"
18
18
  },
19
19
  "files": [
20
20
  "src",
@@ -22,7 +22,7 @@
22
22
  "LICENSE.md",
23
23
  "README.md"
24
24
  ],
25
- "version": "0.7.3",
25
+ "version": "0.7.5",
26
26
  "scripts": {
27
27
  "build": "neemata-build --root=./src './**/*.ts'",
28
28
  "type-check": "tsc --noEmit"
package/src/index.ts CHANGED
@@ -20,6 +20,7 @@ import {
20
20
  RecordType,
21
21
  } from './types/object.ts'
22
22
  import { StringType } from './types/string.ts'
23
+ import { TupleType } from './types/tuple.ts'
23
24
  import {
24
25
  DiscriminatedUnionType,
25
26
  IntersactionType,
@@ -74,6 +75,7 @@ export namespace type {
74
75
  export const bitint = BigIntType.factory
75
76
  export const literal = LiteralType.factory
76
77
  export const enumeration = EnumType.factory
78
+ export const tuple = TupleType.factory
77
79
  export const date = DateType.factory
78
80
  export const array = ArrayType.factory
79
81
  export const record = RecordType.factory
@@ -0,0 +1,30 @@
1
+ import { type core, tuple, type ZodMiniTuple } from '@zod/mini'
2
+ import { BaseType } from './base.ts'
3
+
4
+ type Check = core.CheckFn<any[]> | core.$ZodCheck<any[]>
5
+
6
+ export class TupleType<
7
+ T extends readonly BaseType[] = readonly BaseType[],
8
+ > extends BaseType<
9
+ ZodMiniTuple<core.utils.Flatten<T[number]['encodedZodType'][]>>,
10
+ ZodMiniTuple<core.utils.Flatten<T[number]['decodedZodType'][]>>,
11
+ { elements: T }
12
+ > {
13
+ static factory<T extends readonly BaseType[]>(
14
+ elements: T,
15
+ ...checks: Check[]
16
+ ) {
17
+ return new TupleType<T>({
18
+ //@ts-expect-error
19
+ encodedZodType: tuple(elements.map((el) => el.encodedZodType)).check(
20
+ ...checks,
21
+ ),
22
+ //@ts-expect-error
23
+ decodedZodType: tuple(elements.map((el) => el.decodedZodType)).check(
24
+ ...checks,
25
+ ),
26
+ params: { checks },
27
+ props: { elements },
28
+ })
29
+ }
30
+ }