Socket
Socket
Sign inDemoInstall

@sinclair/typebox

Package Overview
Dependencies
0
Maintainers
1
Versions
307
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.10.1 to 0.11.0

4

package.json
{
"name": "@sinclair/typebox",
"version": "0.10.1",
"version": "0.11.0",
"description": "JSONSchema Type Builder with Static Type Resolution for TypeScript",

@@ -33,5 +33,5 @@ "keywords": [

"smoke-task": "^1.1.2",
"typescript": "^3.9.2",
"typescript": "^4.0.2",
"typescript-bundle": "^1.0.16"
}
}

@@ -30,3 +30,3 @@ <div align='center'>

Requires TypeScript 3.8.3 and above.
Requires TypeScript 4.0.3 and above.

@@ -33,0 +33,0 @@ License MIT

export interface UserDefinedOptions {
[prop: string]: any;
}
export declare type TFunction8<T0 extends TSchema, T1 extends TSchema, T2 extends TSchema, T3 extends TSchema, T4 extends TSchema, T5 extends TSchema, T6 extends TSchema, T7 extends TSchema, U extends TSchema> = {
export declare type TFunction<U extends TSchema = TSchema, T extends TSchema[] = []> = {
type: 'function';
arguments: [T0, T1, T2, T3, T4, T5, T6, T7];
arguments: [...T];
returns: U;
} & UserDefinedOptions;
export declare type TFunction7<T0 extends TSchema, T1 extends TSchema, T2 extends TSchema, T3 extends TSchema, T4 extends TSchema, T5 extends TSchema, T6 extends TSchema, U extends TSchema> = {
type: 'function';
arguments: [T0, T1, T2, T3, T4, T5, T6];
returns: U;
} & UserDefinedOptions;
export declare type TFunction6<T0 extends TSchema, T1 extends TSchema, T2 extends TSchema, T3 extends TSchema, T4 extends TSchema, T5 extends TSchema, U extends TSchema> = {
type: 'function';
arguments: [T0, T1, T2, T3, T4, T5];
returns: U;
} & UserDefinedOptions;
export declare type TFunction5<T0 extends TSchema, T1 extends TSchema, T2 extends TSchema, T3 extends TSchema, T4 extends TSchema, U extends TSchema> = {
type: 'function';
arguments: [T0, T1, T2, T3, T4];
returns: U;
} & UserDefinedOptions;
export declare type TFunction4<T0 extends TSchema, T1 extends TSchema, T2 extends TSchema, T3 extends TSchema, U extends TSchema> = {
type: 'function';
arguments: [T0, T1, T2, T3];
returns: U;
} & UserDefinedOptions;
export declare type TFunction3<T0 extends TSchema, T1 extends TSchema, T2 extends TSchema, U extends TSchema> = {
type: 'function';
arguments: [T0, T1, T2];
returns: U;
} & UserDefinedOptions;
export declare type TFunction2<T0 extends TSchema, T1 extends TSchema, U extends TSchema> = {
type: 'function';
arguments: [T0, T1];
returns: U;
} & UserDefinedOptions;
export declare type TFunction1<T0 extends TSchema, U extends TSchema> = {
type: 'function';
arguments: [T0];
returns: U;
} & UserDefinedOptions;
export declare type TFunction0<U extends TSchema> = {
type: 'function';
arguments: [];
returns: U;
} & UserDefinedOptions;
export declare type TFunction = TFunction8<TSchema, TSchema, TSchema, TSchema, TSchema, TSchema, TSchema, TSchema, TSchema> | TFunction7<TSchema, TSchema, TSchema, TSchema, TSchema, TSchema, TSchema, TSchema> | TFunction6<TSchema, TSchema, TSchema, TSchema, TSchema, TSchema, TSchema> | TFunction5<TSchema, TSchema, TSchema, TSchema, TSchema, TSchema> | TFunction4<TSchema, TSchema, TSchema, TSchema, TSchema> | TFunction3<TSchema, TSchema, TSchema, TSchema> | TFunction2<TSchema, TSchema, TSchema> | TFunction1<TSchema, TSchema> | TFunction0<TSchema>;
export declare type TConstructor8<T0 extends TSchema, T1 extends TSchema, T2 extends TSchema, T3 extends TSchema, T4 extends TSchema, T5 extends TSchema, T6 extends TSchema, T7 extends TSchema, U extends TSchema> = {
export declare type TConstructor<U extends TSchema = TSchema, T extends TSchema[] = []> = {
type: 'constructor';
arguments: [T0, T1, T2, T3, T4, T5, T6, T7];
arguments: [...T];
returns: U;
} & UserDefinedOptions;
export declare type TConstructor7<T0 extends TSchema, T1 extends TSchema, T2 extends TSchema, T3 extends TSchema, T4 extends TSchema, T5 extends TSchema, T6 extends TSchema, U extends TSchema> = {
type: 'constructor';
arguments: [T0, T1, T2, T3, T4, T5, T6];
returns: U;
} & UserDefinedOptions;
export declare type TConstructor6<T0 extends TSchema, T1 extends TSchema, T2 extends TSchema, T3 extends TSchema, T4 extends TSchema, T5 extends TSchema, U extends TSchema> = {
type: 'constructor';
arguments: [T0, T1, T2, T3, T4, T5];
returns: U;
} & UserDefinedOptions;
export declare type TConstructor5<T0 extends TSchema, T1 extends TSchema, T2 extends TSchema, T3 extends TSchema, T4 extends TSchema, U extends TSchema> = {
type: 'constructor';
arguments: [T0, T1, T2, T3, T4];
returns: U;
} & UserDefinedOptions;
export declare type TConstructor4<T0 extends TSchema, T1 extends TSchema, T2 extends TSchema, T3 extends TSchema, U extends TSchema> = {
type: 'constructor';
arguments: [T0, T1, T2, T3];
returns: U;
} & UserDefinedOptions;
export declare type TConstructor3<T0 extends TSchema, T1 extends TSchema, T2 extends TSchema, U extends TSchema> = {
type: 'constructor';
arguments: [T0, T1, T2];
returns: U;
} & UserDefinedOptions;
export declare type TConstructor2<T0 extends TSchema, T1 extends TSchema, U extends TSchema> = {
type: 'constructor';
arguments: [T0, T1];
returns: U;
} & UserDefinedOptions;
export declare type TConstructor1<T0 extends TSchema, U extends TSchema> = {
type: 'constructor';
arguments: [T0];
returns: U;
} & UserDefinedOptions;
export declare type TConstructor0<U extends TSchema> = {
type: 'constructor';
arguments: [];
returns: U;
} & UserDefinedOptions;
export declare type TConstructor = TConstructor8<TSchema, TSchema, TSchema, TSchema, TSchema, TSchema, TSchema, TSchema, TSchema> | TConstructor7<TSchema, TSchema, TSchema, TSchema, TSchema, TSchema, TSchema, TSchema> | TConstructor6<TSchema, TSchema, TSchema, TSchema, TSchema, TSchema, TSchema> | TConstructor5<TSchema, TSchema, TSchema, TSchema, TSchema, TSchema> | TConstructor4<TSchema, TSchema, TSchema, TSchema, TSchema> | TConstructor3<TSchema, TSchema, TSchema, TSchema> | TConstructor2<TSchema, TSchema, TSchema> | TConstructor1<TSchema, TSchema> | TConstructor0<TSchema>;
declare type TContract = TConstructor | TFunction;
export declare type TIntersect8<T0 extends TSchema, T1 extends TSchema, T2 extends TSchema, T3 extends TSchema, T4 extends TSchema, T5 extends TSchema, T6 extends TSchema, T7 extends TSchema> = {
allOf: [T0, T1, T2, T3, T4, T5, T6, T7];
export declare type TIntersect<T extends TSchema[] = any> = {
allOf: [...T];
} & UserDefinedOptions;
export declare type TIntersect7<T0 extends TSchema, T1 extends TSchema, T2 extends TSchema, T3 extends TSchema, T4 extends TSchema, T5 extends TSchema, T6 extends TSchema> = {
allOf: [T0, T1, T2, T3, T4, T5, T6];
export declare type TUnion<T extends TSchema[] = any> = {
oneOf: [...T];
} & UserDefinedOptions;
export declare type TIntersect6<T0 extends TSchema, T1 extends TSchema, T2 extends TSchema, T3 extends TSchema, T4 extends TSchema, T5 extends TSchema> = {
allOf: [T0, T1, T2, T3, T4, T5];
} & UserDefinedOptions;
export declare type TIntersect5<T0 extends TSchema, T1 extends TSchema, T2 extends TSchema, T3 extends TSchema, T4 extends TSchema> = {
allOf: [T0, T1, T2, T3, T4];
} & UserDefinedOptions;
export declare type TIntersect4<T0 extends TSchema, T1 extends TSchema, T2 extends TSchema, T3 extends TSchema> = {
allOf: [T0, T1, T2, T3];
} & UserDefinedOptions;
export declare type TIntersect3<T0 extends TSchema, T1 extends TSchema, T2 extends TSchema> = {
allOf: [T0, T1, T2];
} & UserDefinedOptions;
export declare type TIntersect2<T0 extends TSchema, T1 extends TSchema> = {
allOf: [T0, T1];
} & UserDefinedOptions;
export declare type TIntersect1<T0 extends TSchema> = {
allOf: [T0];
} & UserDefinedOptions;
export declare type TIntersect = TIntersect8<TSchema, TSchema, TSchema, TSchema, TSchema, TSchema, TSchema, TSchema> | TIntersect7<TSchema, TSchema, TSchema, TSchema, TSchema, TSchema, TSchema> | TIntersect6<TSchema, TSchema, TSchema, TSchema, TSchema, TSchema> | TIntersect5<TSchema, TSchema, TSchema, TSchema, TSchema> | TIntersect4<TSchema, TSchema, TSchema, TSchema> | TIntersect3<TSchema, TSchema, TSchema> | TIntersect2<TSchema, TSchema> | TIntersect1<TSchema>;
export declare type TUnion8<T0 extends TSchema, T1 extends TSchema, T2 extends TSchema, T3 extends TSchema, T4 extends TSchema, T5 extends TSchema, T6 extends TSchema, T7 extends TSchema> = {
oneOf: [T0, T1, T2, T3, T4, T5, T6, T7];
} & UserDefinedOptions;
export declare type TUnion7<T0 extends TSchema, T1 extends TSchema, T2 extends TSchema, T3 extends TSchema, T4 extends TSchema, T5 extends TSchema, T6 extends TSchema> = {
oneOf: [T0, T1, T2, T3, T4, T5, T6];
} & UserDefinedOptions;
export declare type TUnion6<T0 extends TSchema, T1 extends TSchema, T2 extends TSchema, T3 extends TSchema, T4 extends TSchema, T5 extends TSchema> = {
oneOf: [T0, T1, T2, T3, T4, T5];
} & UserDefinedOptions;
export declare type TUnion5<T0 extends TSchema, T1 extends TSchema, T2 extends TSchema, T3 extends TSchema, T4 extends TSchema> = {
oneOf: [T0, T1, T2, T3, T4];
} & UserDefinedOptions;
export declare type TUnion4<T0 extends TSchema, T1 extends TSchema, T2 extends TSchema, T3 extends TSchema> = {
oneOf: [T0, T1, T2, T3];
} & UserDefinedOptions;
export declare type TUnion3<T0 extends TSchema, T1 extends TSchema, T2 extends TSchema> = {
oneOf: [T0, T1, T2];
} & UserDefinedOptions;
export declare type TUnion2<T0 extends TSchema, T1 extends TSchema> = {
oneOf: [T0, T1];
} & UserDefinedOptions;
export declare type TUnion1<T0 extends TSchema> = {
oneOf: [T0];
} & UserDefinedOptions;
export declare type TUnion = TUnion8<TSchema, TSchema, TSchema, TSchema, TSchema, TSchema, TSchema, TSchema> | TUnion7<TSchema, TSchema, TSchema, TSchema, TSchema, TSchema, TSchema> | TUnion6<TSchema, TSchema, TSchema, TSchema, TSchema, TSchema> | TUnion5<TSchema, TSchema, TSchema, TSchema, TSchema> | TUnion4<TSchema, TSchema, TSchema, TSchema> | TUnion3<TSchema, TSchema, TSchema> | TUnion2<TSchema, TSchema> | TUnion1<TSchema>;
export declare type TTuple8<T0 extends TSchema, T1 extends TSchema, T2 extends TSchema, T3 extends TSchema, T4 extends TSchema, T5 extends TSchema, T6 extends TSchema, T7 extends TSchema> = {
export declare type TTuple<T extends TSchema[] = any> = {
type: 'array';
items: [T0, T1, T2, T3, T4, T5, T6, T7];
items: [...T];
additionalItems: false;
minItems: 8;
maxItems: 8;
minItems: number;
maxItems: number;
} & UserDefinedOptions;
export declare type TTuple7<T0 extends TSchema, T1 extends TSchema, T2 extends TSchema, T3 extends TSchema, T4 extends TSchema, T5 extends TSchema, T6 extends TSchema> = {
type: 'array';
items: [T0, T1, T2, T3, T4, T5, T6];
additionalItems: false;
minItems: 7;
maxItems: 7;
} & UserDefinedOptions;
export declare type TTuple6<T0 extends TSchema, T1 extends TSchema, T2 extends TSchema, T3 extends TSchema, T4 extends TSchema, T5 extends TSchema> = {
type: 'array';
items: [T0, T1, T2, T3, T4, T5];
additionalItems: false;
minItems: 6;
maxItems: 6;
} & UserDefinedOptions;
export declare type TTuple5<T0 extends TSchema, T1 extends TSchema, T2 extends TSchema, T3 extends TSchema, T4 extends TSchema> = {
type: 'array';
items: [T0, T1, T2, T3, T4];
additionalItems: false;
minItems: 5;
maxItems: 5;
} & UserDefinedOptions;
export declare type TTuple4<T0 extends TSchema, T1 extends TSchema, T2 extends TSchema, T3 extends TSchema> = {
type: 'array';
items: [T0, T1, T2, T3];
additionalItems: false;
minItems: 4;
maxItems: 4;
} & UserDefinedOptions;
export declare type TTuple3<T0 extends TSchema, T1 extends TSchema, T2 extends TSchema> = {
type: 'array';
items: [T0, T1, T2];
additionalItems: false;
minItems: 3;
maxItems: 3;
} & UserDefinedOptions;
export declare type TTuple2<T0 extends TSchema, T1 extends TSchema> = {
type: 'array';
items: [T0, T1];
additionalItems: false;
minItems: 2;
maxItems: 2;
} & UserDefinedOptions;
export declare type TTuple1<T0 extends TSchema> = {
type: 'array';
items: [T0];
additionalItems: false;
minItems: 1;
maxItems: 1;
} & UserDefinedOptions;
export declare type TTuple = TTuple8<TSchema, TSchema, TSchema, TSchema, TSchema, TSchema, TSchema, TSchema> | TTuple7<TSchema, TSchema, TSchema, TSchema, TSchema, TSchema, TSchema> | TTuple6<TSchema, TSchema, TSchema, TSchema, TSchema, TSchema> | TTuple5<TSchema, TSchema, TSchema, TSchema, TSchema> | TTuple4<TSchema, TSchema, TSchema, TSchema> | TTuple3<TSchema, TSchema, TSchema> | TTuple2<TSchema, TSchema> | TTuple1<TSchema>;
export declare type TComposite = TIntersect | TUnion | TTuple;

@@ -213,3 +37,3 @@ export declare const OptionalModifier: unique symbol;

};
export declare type TModifier = TOptional<any> | TReadonly<any>;
export declare type TModifier = TOptional<TSchema | TComposite> | TReadonly<TSchema | TComposite>;
export declare type FormatOption = 'date-time' | 'time' | 'date' | 'email' | 'idn-email' | 'hostname' | 'idn-hostname' | 'ipv4' | 'ipv6' | 'uri' | 'uri-reference' | 'iri' | 'uuid' | 'iri-reference' | 'uri-template' | 'json-pointer' | 'relative-json-pointer' | 'regex';

@@ -296,8 +120,11 @@ export declare type ArrayOptions = {

export declare type TSchema = TLiteral | TNumber | TInteger | TBoolean | TString | TObject<any> | TArray<any> | TEnum<any> | TMap<any> | TNull | TAny | TPromise<any> | TUndefined | TVoid;
declare type StaticFunction<T> = T extends TFunction8<infer U0, infer U1, infer U2, infer U3, infer U4, infer U5, infer U6, infer U7, infer R> ? (arg0: Static<U0>, arg1: Static<U1>, arg2: Static<U2>, arg3: Static<U3>, arg4: Static<U4>, arg5: Static<U5>, arg6: Static<U6>, arg7: Static<U7>) => Static<R> : T extends TFunction7<infer U0, infer U1, infer U2, infer U3, infer U4, infer U5, infer U6, infer R> ? (arg0: Static<U0>, arg1: Static<U1>, arg2: Static<U2>, arg3: Static<U3>, arg4: Static<U4>, arg5: Static<U5>, arg6: Static<U6>) => Static<R> : T extends TFunction6<infer U0, infer U1, infer U2, infer U3, infer U4, infer U5, infer R> ? (arg0: Static<U0>, arg1: Static<U1>, arg2: Static<U2>, arg3: Static<U3>, arg4: Static<U4>, arg5: Static<U5>) => Static<R> : T extends TFunction5<infer U0, infer U1, infer U2, infer U3, infer U4, infer R> ? (arg0: Static<U0>, arg1: Static<U1>, arg2: Static<U2>, arg3: Static<U3>, arg4: Static<U4>) => Static<R> : T extends TFunction4<infer U0, infer U1, infer U2, infer U3, infer R> ? (arg0: Static<U0>, arg1: Static<U1>, arg2: Static<U2>, arg3: Static<U3>) => Static<R> : T extends TFunction3<infer U0, infer U1, infer U2, infer R> ? (arg0: Static<U0>, arg1: Static<U1>, arg2: Static<U2>) => Static<R> : T extends TFunction2<infer U0, infer U1, infer R> ? (arg0: Static<U0>, arg1: Static<U1>) => Static<R> : T extends TFunction1<infer U0, infer R> ? (arg0: Static<U0>) => Static<R> : T extends TFunction0<infer R> ? () => Static<R> : never;
declare type StaticConstructor<T> = T extends TConstructor8<infer U0, infer U1, infer U2, infer U3, infer U4, infer U5, infer U6, infer U7, infer R> ? new (arg0: Static<U0>, arg1: Static<U1>, arg2: Static<U2>, arg3: Static<U3>, arg4: Static<U4>, arg5: Static<U5>, arg6: Static<U6>, arg7: Static<U7>) => Static<R> : T extends TConstructor7<infer U0, infer U1, infer U2, infer U3, infer U4, infer U5, infer U6, infer R> ? new (arg0: Static<U0>, arg1: Static<U1>, arg2: Static<U2>, arg3: Static<U3>, arg4: Static<U4>, arg5: Static<U5>, arg6: Static<U6>) => Static<R> : T extends TConstructor6<infer U0, infer U1, infer U2, infer U3, infer U4, infer U5, infer R> ? new (arg0: Static<U0>, arg1: Static<U1>, arg2: Static<U2>, arg3: Static<U3>, arg4: Static<U4>, arg5: Static<U5>) => Static<R> : T extends TConstructor5<infer U0, infer U1, infer U2, infer U3, infer U4, infer R> ? new (arg0: Static<U0>, arg1: Static<U1>, arg2: Static<U2>, arg3: Static<U3>, arg4: Static<U4>) => Static<R> : T extends TConstructor4<infer U0, infer U1, infer U2, infer U3, infer R> ? new (arg0: Static<U0>, arg1: Static<U1>, arg2: Static<U2>, arg3: Static<U3>) => Static<R> : T extends TConstructor3<infer U0, infer U1, infer U2, infer R> ? new (arg0: Static<U0>, arg1: Static<U1>, arg2: Static<U2>) => Static<R> : T extends TConstructor2<infer U0, infer U1, infer R> ? new (arg0: Static<U0>, arg1: Static<U1>) => Static<R> : T extends TConstructor1<infer U0, infer R> ? new (arg0: Static<U0>) => Static<R> : T extends TConstructor0<infer R> ? new () => Static<R> : never;
declare type StaticFunction<T> = T extends TFunction<infer R, infer U> ? (args: [...Static<U>]) => Static<R> : never;
declare type StaticConstructor<T> = T extends TConstructor<infer R, infer U> ? new (args: [...Static<U>]) => Static<R> : never;
declare type StaticContract<T extends TSchema> = T extends TFunction ? StaticFunction<T> : T extends TConstructor ? StaticConstructor<T> : never;
declare type StaticIntersect<T> = T extends TIntersect8<infer U0, infer U1, infer U2, infer U3, infer U4, infer U5, infer U6, infer U7> ? StaticSchema<U0> & StaticSchema<U1> & StaticSchema<U2> & StaticSchema<U3> & StaticSchema<U4> & StaticSchema<U5> & StaticSchema<U6> & StaticSchema<U7> : T extends TIntersect7<infer U0, infer U1, infer U2, infer U3, infer U4, infer U5, infer U6> ? StaticSchema<U0> & StaticSchema<U1> & StaticSchema<U2> & StaticSchema<U3> & StaticSchema<U4> & StaticSchema<U5> & StaticSchema<U6> : T extends TIntersect6<infer U0, infer U1, infer U2, infer U3, infer U4, infer U5> ? StaticSchema<U0> & StaticSchema<U1> & StaticSchema<U2> & StaticSchema<U3> & StaticSchema<U4> & StaticSchema<U5> : T extends TIntersect5<infer U0, infer U1, infer U2, infer U3, infer U4> ? StaticSchema<U0> & StaticSchema<U1> & StaticSchema<U2> & StaticSchema<U3> & StaticSchema<U4> : T extends TIntersect4<infer U0, infer U1, infer U2, infer U3> ? StaticSchema<U0> & StaticSchema<U1> & StaticSchema<U2> & StaticSchema<U3> : T extends TIntersect3<infer U0, infer U1, infer U2> ? StaticSchema<U0> & StaticSchema<U1> & StaticSchema<U2> : T extends TIntersect2<infer U0, infer U1> ? StaticSchema<U1> & StaticSchema<U0> : T extends TIntersect1<infer U0> ? StaticSchema<U0> : never;
declare type StaticUnion<T> = T extends TUnion8<infer U0, infer U1, infer U2, infer U3, infer U4, infer U5, infer U6, infer U7> ? StaticSchema<U0> | StaticSchema<U1> | StaticSchema<U2> | StaticSchema<U3> | StaticSchema<U4> | StaticSchema<U5> | StaticSchema<U6> | StaticSchema<U7> : T extends TUnion7<infer U0, infer U1, infer U2, infer U3, infer U4, infer U5, infer U6> ? StaticSchema<U0> | StaticSchema<U1> | StaticSchema<U2> | StaticSchema<U3> | StaticSchema<U4> | StaticSchema<U5> | StaticSchema<U6> : T extends TUnion6<infer U0, infer U1, infer U2, infer U3, infer U4, infer U5> ? StaticSchema<U0> | StaticSchema<U1> | StaticSchema<U2> | StaticSchema<U3> | StaticSchema<U4> | StaticSchema<U5> : T extends TUnion5<infer U0, infer U1, infer U2, infer U3, infer U4> ? StaticSchema<U0> | StaticSchema<U1> | StaticSchema<U2> | StaticSchema<U3> | StaticSchema<U4> : T extends TUnion4<infer U0, infer U1, infer U2, infer U3> ? StaticSchema<U0> | StaticSchema<U1> | StaticSchema<U2> | StaticSchema<U3> : T extends TUnion3<infer U0, infer U1, infer U2> ? StaticSchema<U0> | StaticSchema<U1> | StaticSchema<U2> : T extends TUnion2<infer U0, infer U1> ? StaticSchema<U0> | StaticSchema<U1> : T extends TUnion1<infer U0> ? StaticSchema<U0> : never;
declare type StaticTuple<T> = T extends TTuple8<infer U0, infer U1, infer U2, infer U3, infer U4, infer U5, infer U6, infer U7> ? [Static<U0>, Static<U1>, Static<U2>, Static<U3>, Static<U4>, Static<U5>, Static<U6>, Static<U7>] : T extends TTuple7<infer U0, infer U1, infer U2, infer U3, infer U4, infer U5, infer U6> ? [Static<U0>, Static<U1>, Static<U2>, Static<U3>, Static<U4>, Static<U5>, Static<U6>] : T extends TTuple6<infer U0, infer U1, infer U2, infer U3, infer U4, infer U5> ? [Static<U0>, Static<U1>, Static<U2>, Static<U3>, Static<U4>, Static<U5>] : T extends TTuple5<infer U0, infer U1, infer U2, infer U3, infer U4> ? [Static<U0>, Static<U1>, Static<U2>, Static<U3>, Static<U4>] : T extends TTuple4<infer U0, infer U1, infer U2, infer U3> ? [Static<U0>, Static<U1>, Static<U2>, Static<U3>] : T extends TTuple3<infer U0, infer U1, infer U2> ? [Static<U0>, Static<U1>, Static<U2>] : T extends TTuple2<infer U0, infer U1> ? [Static<U0>, Static<U1>] : T extends TTuple1<infer U0> ? [Static<U0>] : never;
declare type MapStatic<T> = {
[P in keyof T]: Static<T[P]>;
};
declare type StaticIntersect<T> = T extends TIntersect<infer U> ? UnionToIntersection<MapStatic<U>[number]> : never;
declare type StaticUnion<T> = T extends TUnion<infer U> ? MapStatic<U>[number] : never;
declare type StaticTuple<T> = T extends TTuple<infer U> ? MapStatic<U> : never;
declare type StaticComposite<T extends TComposite> = T extends TIntersect ? StaticIntersect<T> : T extends TUnion ? StaticUnion<T> : T extends TTuple ? StaticTuple<T> : never;

@@ -330,85 +157,11 @@ declare type StaticLiteral<T> = T extends TStringLiteral<infer U> ? U : T extends TNumberLiteral<infer U> ? U : T extends TBooleanLiteral<infer U> ? U : never;

/** Creates a Union type for the given arguments. */
static Union<T0 extends TSchema, T1 extends TSchema, T2 extends TSchema, T3 extends TSchema, T4 extends TSchema, T5 extends TSchema, T6 extends TSchema, T7 extends TSchema>(items: [T0, T1, T2, T3, T4, T5, T6, T7], options?: UserDefinedOptions): TUnion8<T0, T1, T2, T3, T4, T5, T6, T7>;
/** Creates a Union type for the given arguments. */
static Union<T0 extends TSchema, T1 extends TSchema, T2 extends TSchema, T3 extends TSchema, T4 extends TSchema, T5 extends TSchema, T6 extends TSchema>(items: [T0, T1, T2, T3, T4, T5, T6], options?: UserDefinedOptions): TUnion7<T0, T1, T2, T3, T4, T5, T6>;
/** Creates a Union type for the given arguments. */
static Union<T0 extends TSchema, T1 extends TSchema, T2 extends TSchema, T3 extends TSchema, T4 extends TSchema, T5 extends TSchema>(items: [T0, T1, T2, T3, T4, T5], options?: UserDefinedOptions): TUnion6<T0, T1, T2, T3, T4, T5>;
/** Creates a Union type for the given arguments. */
static Union<T0 extends TSchema, T1 extends TSchema, T2 extends TSchema, T3 extends TSchema, T4 extends TSchema>(items: [T0, T1, T2, T3, T4], options?: UserDefinedOptions): TUnion5<T0, T1, T2, T3, T4>;
/** Creates a Union type for the given arguments. */
static Union<T0 extends TSchema, T1 extends TSchema, T2 extends TSchema, T3 extends TSchema>(items: [T0, T1, T2, T3], options?: UserDefinedOptions): TUnion4<T0, T1, T2, T3>;
/** Creates a Union type for the given arguments. */
static Union<T0 extends TSchema, T1 extends TSchema, T2 extends TSchema>(items: [T0, T1, T2], options?: UserDefinedOptions): TUnion3<T0, T1, T2>;
/** Creates a Union type for the given arguments. */
static Union<T0 extends TSchema, T1 extends TSchema>(items: [T0, T1], options?: UserDefinedOptions): TUnion2<T0, T1>;
/** Creates a Union type for the given arguments. */
static Union<T0 extends TSchema>(items: [T0], options?: UserDefinedOptions): TUnion1<T0>;
static Union<T extends TSchema[]>(items: [...T], options?: UserDefinedOptions): TUnion<T>;
/** Creates an Intersect type for the given arguments. */
static Intersect<T0 extends TSchema, T1 extends TSchema, T2 extends TSchema, T3 extends TSchema, T4 extends TSchema, T5 extends TSchema, T6 extends TSchema, T7 extends TSchema>(items: [T0, T1, T2, T3, T4, T5, T6, T7], options?: UserDefinedOptions): TIntersect8<T0, T1, T2, T3, T4, T5, T6, T7>;
/** Creates an Intersect type for the given arguments. */
static Intersect<T0 extends TSchema, T1 extends TSchema, T2 extends TSchema, T3 extends TSchema, T4 extends TSchema, T5 extends TSchema, T6 extends TSchema>(items: [T0, T1, T2, T3, T4, T5, T6], options?: UserDefinedOptions): TIntersect7<T0, T1, T2, T3, T4, T5, T6>;
/** Creates an Intersect type for the given arguments. */
static Intersect<T0 extends TSchema, T1 extends TSchema, T2 extends TSchema, T3 extends TSchema, T4 extends TSchema, T5 extends TSchema>(items: [T0, T1, T2, T3, T4, T5], options?: UserDefinedOptions): TIntersect6<T0, T1, T2, T3, T4, T5>;
/** Creates an Intersect type for the given arguments. */
static Intersect<T0 extends TSchema, T1 extends TSchema, T2 extends TSchema, T3 extends TSchema, T4 extends TSchema>(items: [T0, T1, T2, T3, T4], options?: UserDefinedOptions): TIntersect5<T0, T1, T2, T3, T4>;
/** Creates an Intersect type for the given arguments. */
static Intersect<T0 extends TSchema, T1 extends TSchema, T2 extends TSchema, T3 extends TSchema>(items: [T0, T1, T2, T3], options?: UserDefinedOptions): TIntersect4<T0, T1, T2, T3>;
/** Creates an Intersect type for the given arguments. */
static Intersect<T0 extends TSchema, T1 extends TSchema, T2 extends TSchema>(items: [T0, T1, T2], options?: UserDefinedOptions): TIntersect3<T0, T1, T2>;
/** Creates an Intersect type for the given arguments. */
static Intersect<T0 extends TSchema, T1 extends TSchema>(items: [T0, T1], options?: UserDefinedOptions): TIntersect2<T0, T1>;
/** Creates an Intersect type for the given arguments. */
static Intersect<T0 extends TSchema>(items: [T0], options?: UserDefinedOptions): TIntersect1<T0>;
static Intersect<T extends TSchema[]>(items: [...T], options?: UserDefinedOptions): TIntersect<T>;
/** Creates a Tuple type for the given arguments. */
static Tuple<T0 extends TSchema, T1 extends TSchema, T2 extends TSchema, T3 extends TSchema, T4 extends TSchema, T5 extends TSchema, T6 extends TSchema, T7 extends TSchema>(items: [T0, T1, T2, T3, T4, T5, T6, T7], options?: UserDefinedOptions): TTuple8<T0, T1, T2, T3, T4, T5, T6, T7>;
/** Creates a Tuple type for the given arguments. */
static Tuple<T0 extends TSchema, T1 extends TSchema, T2 extends TSchema, T3 extends TSchema, T4 extends TSchema, T5 extends TSchema, T6 extends TSchema>(items: [T0, T1, T2, T3, T4, T5, T6], options?: UserDefinedOptions): TTuple7<T0, T1, T2, T3, T4, T5, T6>;
/** Creates a Tuple type for the given arguments. */
static Tuple<T0 extends TSchema, T1 extends TSchema, T2 extends TSchema, T3 extends TSchema, T4 extends TSchema, T5 extends TSchema>(items: [T0, T1, T2, T3, T4, T5], options?: UserDefinedOptions): TTuple6<T0, T1, T2, T3, T4, T5>;
/** Creates a Tuple type for the given arguments. */
static Tuple<T0 extends TSchema, T1 extends TSchema, T2 extends TSchema, T3 extends TSchema, T4 extends TSchema>(items: [T0, T1, T2, T3, T4], options?: UserDefinedOptions): TTuple5<T0, T1, T2, T3, T4>;
/** Creates a Tuple type for the given arguments. */
static Tuple<T0 extends TSchema, T1 extends TSchema, T2 extends TSchema, T3 extends TSchema>(items: [T0, T1, T2, T3], options?: UserDefinedOptions): TTuple4<T0, T1, T2, T3>;
/** Creates a Tuple type for the given arguments. */
static Tuple<T0 extends TSchema, T1 extends TSchema, T2 extends TSchema>(items: [T0, T1, T2], options?: UserDefinedOptions): TTuple3<T0, T1, T2>;
/** Creates a Tuple type for the given arguments. */
static Tuple<T0 extends TSchema, T1 extends TSchema>(items: [T0, T1], options?: UserDefinedOptions): TTuple2<T0, T1>;
/** Creates a Tuple type for the given arguments. */
static Tuple<T0 extends TSchema>(items: [T0], options?: UserDefinedOptions): TTuple1<T0>;
static Tuple<T extends TSchema[]>(items: [...T], options?: UserDefinedOptions): TTuple<T>;
/** Creates a `function` type for the given arguments. */
static Function<T0 extends TSchema, T1 extends TSchema, T2 extends TSchema, T3 extends TSchema, T4 extends TSchema, T5 extends TSchema, T6 extends TSchema, T7 extends TSchema, U extends TSchema>(args: [T0, T1, T2, T3, T4, T5, T6, T7], returns: U, options?: UserDefinedOptions): TFunction8<T0, T1, T2, T3, T4, T5, T6, T7, U>;
/** Creates a `function` type for the given arguments. */
static Function<T0 extends TSchema, T1 extends TSchema, T2 extends TSchema, T3 extends TSchema, T4 extends TSchema, T5 extends TSchema, T6 extends TSchema, U extends TSchema>(args: [T0, T1, T2, T3, T4, T5, T6], returns: U, options?: UserDefinedOptions): TFunction7<T0, T1, T2, T3, T4, T5, T6, U>;
/** Creates a `function` type for the given arguments. */
static Function<T0 extends TSchema, T1 extends TSchema, T2 extends TSchema, T3 extends TSchema, T4 extends TSchema, T5 extends TSchema, U extends TSchema>(args: [T0, T1, T2, T3, T4, T5], returns: U, options?: UserDefinedOptions): TFunction6<T0, T1, T2, T3, T4, T5, U>;
/** Creates a `function` type for the given arguments. */
static Function<T0 extends TSchema, T1 extends TSchema, T2 extends TSchema, T3 extends TSchema, T4 extends TSchema, U extends TSchema>(args: [T0, T1, T2, T3, T4], returns: U, options?: UserDefinedOptions): TFunction5<T0, T1, T2, T3, T4, U>;
/** Creates a `function` type for the given arguments. */
static Function<T0 extends TSchema, T1 extends TSchema, T2 extends TSchema, T3 extends TSchema, U extends TSchema>(args: [T0, T1, T2, T3], returns: U, options?: UserDefinedOptions): TFunction4<T0, T1, T2, T3, U>;
/** Creates a `function` type for the given arguments. */
static Function<T0 extends TSchema, T1 extends TSchema, T2 extends TSchema, U extends TSchema>(args: [T0, T1, T2], returns: U, options?: UserDefinedOptions): TFunction3<T0, T1, T2, U>;
/** Creates a `function` type for the given arguments. */
static Function<T0 extends TSchema, T1 extends TSchema, U extends TSchema>(args: [T0, T1], returns: U, options?: UserDefinedOptions): TFunction2<T0, T1, U>;
/** Creates a `function` type for the given arguments. */
static Function<T0 extends TSchema, U extends TSchema>(args: [T0], returns: U, options?: UserDefinedOptions): TFunction1<T0, U>;
/** Creates a `function` type for the given arguments. */
static Function<U extends TSchema>(args: [], returns: U, options?: UserDefinedOptions): TFunction0<U>;
static Function<U extends TSchema, T extends TSchema[] = []>(args: T, returns: U, options?: UserDefinedOptions): TFunction<U, T>;
/** Creates a `constructor` type for the given arguments. */
static Constructor<T0 extends TSchema, T1 extends TSchema, T2 extends TSchema, T3 extends TSchema, T4 extends TSchema, T5 extends TSchema, T6 extends TSchema, T7 extends TSchema, U extends TSchema>(args: [T0, T1, T2, T3, T4, T5, T6, T7], returns: U, options?: UserDefinedOptions): TConstructor8<T0, T1, T2, T3, T4, T5, T6, T7, U>;
/** Creates a `constructor` type for the given arguments. */
static Constructor<T0 extends TSchema, T1 extends TSchema, T2 extends TSchema, T3 extends TSchema, T4 extends TSchema, T5 extends TSchema, T6 extends TSchema, U extends TSchema>(args: [T0, T1, T2, T3, T4, T5, T6], returns: U, options?: UserDefinedOptions): TConstructor7<T0, T1, T2, T3, T4, T5, T6, U>;
/** Creates a `constructor` type for the given arguments. */
static Constructor<T0 extends TSchema, T1 extends TSchema, T2 extends TSchema, T3 extends TSchema, T4 extends TSchema, T5 extends TSchema, U extends TSchema>(args: [T0, T1, T2, T3, T4, T5], returns: U, options?: UserDefinedOptions): TConstructor6<T0, T1, T2, T3, T4, T5, U>;
/** Creates a `constructor` type for the given arguments. */
static Constructor<T0 extends TSchema, T1 extends TSchema, T2 extends TSchema, T3 extends TSchema, T4 extends TSchema, U extends TSchema>(args: [T0, T1, T2, T3, T4], returns: U, options?: UserDefinedOptions): TConstructor5<T0, T1, T2, T3, T4, U>;
/** Creates a `constructor` type for the given arguments. */
static Constructor<T0 extends TSchema, T1 extends TSchema, T2 extends TSchema, T3 extends TSchema, U extends TSchema>(args: [T0, T1, T2, T3], returns: U, options?: UserDefinedOptions): TConstructor4<T0, T1, T2, T3, U>;
/** Creates a `constructor` type for the given arguments. */
static Constructor<T0 extends TSchema, T1 extends TSchema, T2 extends TSchema, U extends TSchema>(args: [T0, T1, T2], returns: U, options?: UserDefinedOptions): TConstructor3<T0, T1, T2, U>;
/** Creates a `constructor` type for the given arguments. */
static Constructor<T0 extends TSchema, T1 extends TSchema, U extends TSchema>(args: [T0, T1], returns: U, options?: UserDefinedOptions): TConstructor2<T0, T1, U>;
/** Creates a `constructor` type for the given arguments. */
static Constructor<T0 extends TSchema, U extends TSchema>(args: [T0], returns: U, options?: UserDefinedOptions): TConstructor1<T0, U>;
/** Creates a `constructor` type for the given arguments. */
static Constructor<U extends TSchema>(args: [], returns: U, options?: UserDefinedOptions): TConstructor0<U>;
static Constructor<U extends TSchema, T extends TSchema[] = []>(args: T, returns: U, options?: UserDefinedOptions): TConstructor<U, T>;
/** Creates a `Promise<T>` type. */

@@ -415,0 +168,0 @@ static Promise<T extends TSchema>(item: T, options?: UserDefinedOptions): TPromise<T>;

@@ -53,2 +53,4 @@ "use strict";

}
// #endregion
// #region TComposite
/** Creates a Union type for the given arguments. */

@@ -70,2 +72,4 @@ static Union(items, options = {}) {

}
// #endregion
// #region TContract
/** Creates a `function` type for the given arguments. */

@@ -76,3 +80,3 @@ static Function(args, returns, options = {}) {

/** Creates a `constructor` type for the given arguments. */
static Constructor(args, returns, options = {}) {
static Constructor(args, returns, options) {
return { ...options, type: 'constructor', arguments: args, returns };

@@ -121,4 +125,4 @@ }

static Enum(item, options) {
// We explicitly want to ignore reverse-lookup entries for number enums hence we are
// getting only keys which are non-numeric and retrieve their value. Credits to
// We explicitly want to ignore reverse-lookup entries for number enums hence we are
// getting only keys which are non-numeric and retrieve their value. Credits to
// https://github.com/UselessPickles/ts-enum-util (Jeff Lau) for inspiration.

@@ -125,0 +129,0 @@ const values = Object.keys(item).filter(key => isNaN(key)).map(key => item[key]);

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc