Skip to main content
Using Deno in production at your company? Earn free Deno merch.
Give us feedback
Module

x/domain_functions/src/composable/types.ts>PipeArguments

Decouple your business logic from your framework. With first-class type inference from end to end.
Go to Latest
type alias PipeArguments
import { type PipeArguments } from "https://deno.land/x/domain_functions@v2.6.0/src/composable/types.ts";

Type Parameters

Fns extends any[]
optional
Arguments extends any[] = []
definition: Fns extends [Composable<(...a: infer PA) => infer OA>, ...infer restA] ? restA extends [Composable<(firstParameter: infer FirstBParameter, ...b: infer PB) => any>] ? IsNever<Awaited<OA>> extends true ? ["Fail to compose, \"never\" does not fit in", FirstBParameter] : Awaited<OA> extends FirstBParameter ? EveryElementTakesUndefined<PB> extends true ? PipeArguments<restA, [...Arguments, Composable<(...a: PA) => OA>]> : EveryElementTakesUndefined<PB> :
[
"Fail to compose",
Awaited<OA>,
"does not fit in",
FirstBParameter,
]
: [...Arguments, Composable<(...a: PA) => OA>] : never