Type aliases
Apply
Apply<Args, T>: T extends (...args: Args) => infer R ? R : never
Type parameters
-
Args: keyof any[]
-
T: Fn<Args>
ArgsOf
ArgsOf<T>: T extends Fn<infer Args, any> ? Args : []
Type parameters
Arity1
Arity1<A, B>: (value: A) => B
Type parameters
Arity2
Arity2<A, B, C>: (a: A, b: B) => C
Type parameters
Arity3
Arity3<A, B, C, D>: (a: A, b: B, c: C) => D
Type parameters
Arity4
Arity4<A, B, C, D, E>: (a: A, b: B, c: C, d: D) => E
Type parameters
Type declaration
-
- (a: A, b: B, c: C, d: D): E
Arity5
Arity5<A, B, C, D, E, F>: (a: A, b: B, c: C, d: D, e: E) => F
Type parameters
Type declaration
-
- (a: A, b: B, c: C, d: D, e: E): F
ComparableValues
ComparableValues: keyof any | boolean | Date
ComparisonNumbers
ComparisonNumbers: -1 | 0 | 1
Curry
Curry<T>: ArgsOf<T> extends [infer A] ? Arity1<A, ReturnType<T>> : ArgsOf<T> extends [infer A, infer B] ? Curry2<A, B, ReturnType<T>> : ArgsOf<T> extends [infer A, infer B, infer C] ? Curry3<A, B, C, ReturnType<T>> : ArgsOf<T> extends [infer A, infer B, infer C, infer D] ? Curry4<A, B, C, D, ReturnType<T>> : ArgsOf<T> extends [infer A, infer B, infer C, infer D, infer E] ? Curry5<A, B, C, D, E, ReturnType<T>> : ArgsOf<T> extends never[] ? IO<ReturnType<T>> : never
Type parameters
CurryObj
CurryObj<A, B>: <C>(c: C) => C extends A ? B : CurryObj<Required<{}>, B>
Type parameters
Type declaration
-
- <C>(c: C): C extends A ? B : CurryObj<Required<{}>, B>
-
Type parameters
Parameters
Returns C extends A ? B : CurryObj<Required<{}>, B>
Defined
Defined<T>: T extends undefined ? never : T
Type parameters
Flip
Flip<T>: ArgsOf<T> extends [] ? Fn<[], ReturnType<T>> : ArgsOf<T> extends [infer A] ? Fn<[A], ReturnType<T>> : ArgsOf<T> extends [infer A, infer B] ? Fn<[B, A], ReturnType<T>> : ArgsOf<T> extends [infer A, infer B, infer C] ? Fn<[B, A, C], ReturnType<T>> : ArgsOf<T> extends [infer A, infer B, infer C, infer D] ? Fn<[B, A, C, D], ReturnType<T>> : ArgsOf<T> extends [infer A, infer B, infer C, infer D, infer E] ? Fn<[B, A, C, D, E], ReturnType<T>> : never
Type parameters
Fn
Fn<Args, R>: (...args: Args) => R
Type parameters
HeadArg
HeadArg<F>: F extends (head: infer A, ...tail: any[]) => any ? A : never
Type parameters
IO
IO<A>: () => A
Type parameters
Include
Include<A, B>: A extends B ? A : never
Type parameters
Init
Init<A, B>: CastArray<{}>
Type parameters
-
A: keyof any[]
-
B: keyof any[]
InitArgsOf
Type parameters
Is
Is<A>: (value: unknown) => value is A
Type parameters
Type declaration
-
- (value: unknown): value is A
-
Parameters
Returns value is A
IsNot
IsNot<A>: <B>(value: A | B) => value is B
Type parameters
Type declaration
-
- <B>(value: A | B): value is B
-
Type parameters
Parameters
Returns value is B
OrToAnd
OrToAnd<A>:
Type parameters
PartialArgsOf
PartialArgsOf<T>: T extends (...args: infer TArgs) => any ? Partial<TArgs> : never
Type parameters
Predicate
Predicate<A>
: Arity1<A, boolean>
Type parameters
Predicate2
Predicate2<A, B>
: Arity2<A, B, boolean>
Type parameters
Primitive
Primitive: undefined | null | boolean | string | number | Function
Refinement
Refinement<A, B>: (a: A) => a is B
Type parameters
Type declaration
-
-
Parameters
Returns a is B
TailArgsOf
TailArgsOf<F>: F extends (head: any, ...tail: infer TTail) => any ? TTail : never
Type parameters
TypeGuard
TypeGuard<A, B>: (value: A) => value is B
Type parameters
Type declaration
-
-
Parameters
Returns value is B
Uncurry
Uncurry<Fun>: Fun extends (a: infer A) => (b: infer B) => (c: infer C) => (d: infer D) => (e: infer E) => infer F ? (a: A, b: B, c: C, d: D, e: E) => F : Fun extends (a: infer A) => (b: infer B) => (c: infer C) => (d: infer D) => infer E ? (a: A, b: B, c: C, d: D) => E : Fun extends (a: infer A) => (b: infer B) => (c: infer C) => infer D ? (a: A, b: B, c: C) => D : Fun extends (a: infer A) => (b: infer B) => infer C ? (a: A, b: B) => C : Fun
Type parameters
@typed/lambda