Comparing version 1.12.0 to 1.12.1
@@ -10,5 +10,5 @@ import { IntersectionType } from './types'; | ||
export declare const literal: <T extends Literal>(literal: T) => LiteralType<T>; | ||
export declare const object: <T extends ObjectShape>(shape: T, opts?: ObjectOptions<T> | undefined) => ObjectType<T>; | ||
export declare const array: <T extends AnyType>(schema: T, opts?: ArrayOptions<T> | undefined) => ArrayType<T>; | ||
export declare const union: <T extends AnyType[]>(schemas: T, opts?: UnionOptions<T> | undefined) => UnionType<T>; | ||
export declare const object: <T extends ObjectShape>(shape: T, opts?: ObjectOptions<T>) => ObjectType<T>; | ||
export declare const array: <T extends AnyType>(schema: T, opts?: ArrayOptions<T>) => ArrayType<T>; | ||
export declare const union: <T extends AnyType[]>(schemas: T, opts?: UnionOptions<T>) => UnionType<T>; | ||
export declare const intersection: <T extends AnyType, K extends AnyType>(l: T, r: K) => IntersectionResult<T, K>; | ||
@@ -26,3 +26,3 @@ type LiteralWrapper<T extends any> = T extends Literal ? LiteralType<T> : never; | ||
}>; | ||
export declare const tuple: <T extends [] | [AnyType, ...AnyType[]]>(schemas: T) => TupleType<T>; | ||
export declare const tuple: <T extends [AnyType, ...AnyType[]] | []>(schemas: T) => TupleType<T>; | ||
export declare const date: () => DateType; | ||
@@ -46,25 +46,25 @@ export declare const lazy: <T extends () => AnyType>(fn: T) => LazyType<T>; | ||
declare const nullValue: () => NullType; | ||
declare const enumValue: <T>(e: T, opts?: EnumOptions<T> | undefined) => EnumType<T>; | ||
declare const enumValue: <T>(e: T, opts?: EnumOptions<T>) => EnumType<T>; | ||
export { undefinedValue as undefined, nullValue as null, enumValue as enum }; | ||
declare const _default: { | ||
Type: typeof Type; | ||
string: (opts?: StringOptions | undefined) => StringType; | ||
string: (opts?: StringOptions) => StringType; | ||
boolean: () => BooleanType; | ||
number: (opts?: NumberOptions | undefined) => NumberType; | ||
bigint: (opts?: BigIntOptions | undefined) => BigIntType; | ||
number: (opts?: NumberOptions) => NumberType; | ||
bigint: (opts?: BigIntOptions) => BigIntType; | ||
unknown: () => UnknownType; | ||
literal: <T extends Literal>(literal: T) => LiteralType<T>; | ||
literals: <T_1 extends Literal[]>(...args: T_1) => UnionType<ToLiteralUnion<T_1>>; | ||
literals: <T extends Literal[]>(...args: T) => UnionType<ToLiteralUnion<T>>; | ||
date: () => DateType; | ||
object: <T_2 extends ObjectShape>(shape: T_2, opts?: ObjectOptions<T_2> | undefined) => ObjectType<T_2>; | ||
array: <T_3 extends AnyType>(schema: T_3, opts?: ArrayOptions<T_3> | undefined) => ArrayType<T_3>; | ||
union: <T_4 extends AnyType[]>(schemas: T_4, opts?: UnionOptions<T_4> | undefined) => UnionType<T_4>; | ||
intersection: <T_5 extends AnyType, K extends AnyType>(l: T_5, r: K) => IntersectionResult<T_5, K>; | ||
record: <T_6 extends AnyType>(schema: T_6) => ObjectType<{ | ||
[keySignature]: T_6; | ||
object: <T extends ObjectShape>(shape: T, opts?: ObjectOptions<T>) => ObjectType<T>; | ||
array: <T extends AnyType>(schema: T, opts?: ArrayOptions<T>) => ArrayType<T>; | ||
union: <T extends AnyType[]>(schemas: T, opts?: UnionOptions<T>) => UnionType<T>; | ||
intersection: <T extends AnyType, K extends AnyType>(l: T, r: K) => IntersectionResult<T, K>; | ||
record: <T extends AnyType>(schema: T) => ObjectType<{ | ||
[keySignature]: T; | ||
}>; | ||
dictionary: <T_7 extends AnyType>(schema: T_7) => ObjectType<{ | ||
[keySignature]: T_7 extends OptionalType<any> ? T_7 : OptionalType<T_7>; | ||
dictionary: <T extends AnyType>(schema: T) => ObjectType<{ | ||
[keySignature]: T extends OptionalType<any> ? T : OptionalType<T>; | ||
}>; | ||
tuple: <T_8 extends [] | [AnyType, ...AnyType[]]>(schemas: T_8) => TupleType<T_8>; | ||
tuple: <T extends [AnyType, ...AnyType[]] | []>(schemas: T) => TupleType<T>; | ||
partial: typeof partial; | ||
@@ -74,6 +74,6 @@ pick: typeof pick; | ||
required: typeof required; | ||
lazy: <T_9 extends () => AnyType>(fn: T_9) => LazyType<T_9>; | ||
lazy: <T extends () => AnyType>(fn: T) => LazyType<T>; | ||
undefined: () => UndefinedType; | ||
null: () => NullType; | ||
enum: <T_10>(e: T_10, opts?: EnumOptions<T_10> | undefined) => EnumType<T_10>; | ||
enum: <T>(e: T, opts?: EnumOptions<T>) => EnumType<T>; | ||
ValidationError: typeof ValidationError; | ||
@@ -80,0 +80,0 @@ keySignature: typeof keySignature; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.required = exports.enum = exports.null = exports.undefined = exports.omit = exports.pick = exports.partial = exports.lazy = exports.date = exports.tuple = exports.dictionary = exports.record = exports.literals = exports.intersection = exports.union = exports.array = exports.object = exports.literal = exports.unknown = exports.bigint = exports.number = exports.boolean = exports.string = exports.IntersectionType = exports.UnionType = exports.UnknownType = exports.DateType = exports.OptionalType = exports.NullableType = exports.TupleType = exports.ArrayType = exports.ObjectType = exports.NullType = exports.UndefinedType = exports.StringType = exports.BooleanType = exports.NumberType = exports.Type = exports.ValidationError = exports.keySignature = void 0; | ||
exports.enum = exports.null = exports.undefined = exports.lazy = exports.date = exports.tuple = exports.dictionary = exports.record = exports.literals = exports.intersection = exports.union = exports.array = exports.object = exports.literal = exports.unknown = exports.bigint = exports.number = exports.boolean = exports.string = exports.IntersectionType = exports.UnionType = exports.UnknownType = exports.DateType = exports.OptionalType = exports.NullableType = exports.TupleType = exports.ArrayType = exports.ObjectType = exports.NullType = exports.UndefinedType = exports.StringType = exports.BooleanType = exports.NumberType = exports.Type = exports.ValidationError = exports.keySignature = void 0; | ||
exports.partial = partial; | ||
exports.pick = pick; | ||
exports.omit = omit; | ||
exports.required = required; | ||
const types_1 = require("./types"); | ||
@@ -68,11 +72,8 @@ const types_2 = require("./types"); | ||
} | ||
exports.partial = partial; | ||
function pick(schema, keys) { | ||
return schema.pick(keys); | ||
} | ||
exports.pick = pick; | ||
function omit(schema, keys) { | ||
return schema.omit(keys); | ||
} | ||
exports.omit = omit; | ||
const undefinedValue = () => new types_2.UndefinedType(); | ||
@@ -137,2 +138,1 @@ exports.undefined = undefinedValue; | ||
} | ||
exports.required = required; |
@@ -50,3 +50,4 @@ declare const keySignature: unique symbol; | ||
type ObjectIntersection<O1 extends ObjectType<any>, O2 extends ObjectType<any>> = O1 extends ObjectType<infer Shape1> ? O2 extends ObjectType<infer Shape2> ? ObjectType<MergeShapes<Shape1, Shape2> extends infer T extends ObjectShape ? Flat<T> : never> : never : never; | ||
type ArrayIntersection<A1 extends ArrayType<any>, A2 extends ArrayType<any>> = A1 extends ArrayType<infer S1> ? A2 extends ArrayType<infer S2> ? ArrayType<IntersectionResult<S1, S2>> : never : never; | ||
type ArrayIntersectionObj<A1 extends ArrayType<any>, A2 extends ArrayType<any>> = A1 extends ArrayType<infer S1> ? A2 extends ArrayType<infer S2> ? IntersectionResult<S1, S2> : never : never; | ||
type ArrayIntersection<A1 extends ArrayType<any>, A2 extends ArrayType<any>> = ArrayType<ArrayIntersectionObj<A1, A2>>; | ||
type TupleIntersection<T1 extends TupleType<any>, T2 extends TupleType<any>> = T1 extends TupleType<infer S1> ? T2 extends TupleType<infer S2> ? TupleType<Join<S1, S2>> : never : never; | ||
@@ -53,0 +54,0 @@ export type IntersectionResult<T extends AnyType, K extends AnyType> = T extends ObjectType<any> ? K extends ObjectType<any> ? ObjectIntersection<T extends infer X extends ObjectType<any> ? X : never, K extends infer X extends ObjectType<any> ? X : never> : IntersectionType<T extends infer X extends ObjectType<any> ? X : never, K> : T extends ArrayType<any> ? K extends ArrayType<any> ? ArrayIntersection<T, K> : IntersectionType<T, K> : T extends TupleType<any> ? K extends TupleType<any> ? TupleIntersection<T, K> : IntersectionType<T, K> : T extends MTypeClass<any, any> ? never : K extends MTypeClass<any, any> ? never : IntersectionType<T, K>; |
{ | ||
"name": "myzod", | ||
"version": "1.12.0", | ||
"version": "1.12.1", | ||
"description": "", | ||
@@ -30,3 +30,3 @@ "main": "./libs/index.js", | ||
"@types/mocha": "^10.0.1", | ||
"@types/node": "^18.14.2", | ||
"@types/node": "^22.13.1", | ||
"benchmonkey": "^0.0.8", | ||
@@ -37,3 +37,3 @@ "mocha": "^10.2.0", | ||
"ts-node": "^10.9.1", | ||
"typescript": "^5.3.2" | ||
"typescript": "^5.7.3" | ||
}, | ||
@@ -40,0 +40,0 @@ "nyc": { |
1944
111875