type-alias / @typed/router/TypeFunction

Pipe

Applies up to five unary type functions from left to right.

Package version
1.0.0-beta.13
Category
Type function application
Since
1.0.0

Import

import type { Pipe } from "@typed/router/TypeFunction";

Signatures

export type Pipe<Input, A extends TypeFunction<never, unknown>, B extends TypeFunction<never, unknown> = never, C extends TypeFunction<never, unknown> = never, D extends TypeFunction<never, unknown> = never, E extends TypeFunction<never, unknown> = never> = [
    B
] extends [
    never
] ? Apply<A, Input> : [
    C
] extends [
    never
] ? Apply<B, Apply<A, Input>> : [
    D
] extends [
    never
] ? Apply<C, Apply<B, Apply<A, Input>>> : [
    E
] extends [
    never
] ? Apply<D, Apply<C, Apply<B, Apply<A, Input>>>> : Apply<E, Apply<D, Apply<C, Apply<B, Apply<A, Input>>>>>;

Source