Pipe#
Pipe module.
Contains pipe function including necessary overloads to get the type-hints right.
Example
>>> from expression import pipe
>>>
>>> v = 1
>>> fn = lambda x: x + 1
>>> gn = lambda x: x * 2
>>>
>>> assert pipe(v, fn, gn) == gn(fn(v))
- class PipeMixin#
A pipe mixin class that enabled a class to use pipe fluently.
- pipe(__fn1: Callable[[_A], _B]) _B #
- pipe(__fn1: Callable[[_A], _B], __fn2: Callable[[_B], _C]) _C
- pipe(__fn1: Callable[[_A], _B], __fn2: Callable[[_B], _C], __fn3: Callable[[_C], _D]) _D
- pipe(__fn1: Callable[[_A], _B], __fn2: Callable[[_B], _C], __fn3: Callable[[_C], _D], __fn4: Callable[[_D], _E]) _E
- pipe(__fn1: Callable[[_A], _B], __fn2: Callable[[_B], _C], __fn3: Callable[[_C], _D], __fn4: Callable[[_D], _E], __fn5: Callable[[_E], _F]) _F
- pipe(__fn1: Callable[[_A], _B], __fn2: Callable[[_B], _C], __fn3: Callable[[_C], _D], __fn4: Callable[[_D], _E], __fn5: Callable[[_E], _F], __fn6: Callable[[_F], _G]) _G
Pipe the left side object through the given functions.
- pipe(__value: _A) _A #
- pipe(__value: _A, __fn1: Callable[[_A], _B]) _B
- pipe(__value: _A, __fn1: Callable[[_A], _B], __fn2: Callable[[_B], _C]) _C
- pipe(__value: _A, __fn1: Callable[[_A], _B], __fn2: Callable[[_B], _C], __fn3: Callable[[_C], _D]) _D
- pipe(__value: _A, __fn1: Callable[[_A], _B], __fn2: Callable[[_B], _C], __fn3: Callable[[_C], _D], __fn4: Callable[[_D], _E]) _E
- pipe(__value: _A, __fn1: Callable[[_A], _B], __fn2: Callable[[_B], _C], __fn3: Callable[[_C], _D], __fn4: Callable[[_D], _E], __fn5: Callable[[_E], _F]) _F
- pipe(__value: _A, __fn1: Callable[[_A], _B], __fn2: Callable[[_B], _C], __fn3: Callable[[_C], _D], __fn4: Callable[[_D], _E], __fn5: Callable[[_E], _F], __fn6: Callable[[_F], _G]) _G
- pipe(__value: _A, __fn1: Callable[[_A], _B], __fn2: Callable[[_B], _C], __fn3: Callable[[_C], _D], __fn4: Callable[[_D], _E], __fn5: Callable[[_E], _F], __fn6: Callable[[_F], _G], __fn7: Callable[[_G], _H]) _H
- pipe(__value: _A, __fn1: Callable[[_A], _B], __fn2: Callable[[_B], _C], __fn3: Callable[[_C], _D], __fn4: Callable[[_D], _E], __fn5: Callable[[_E], _F], __fn6: Callable[[_F], _G], __fn7: Callable[[_G], _H], __fn8: Callable[[_H], _T]) _T
- pipe(__value: _A, __fn1: Callable[[_A], _B], __fn2: Callable[[_B], _C], __fn3: Callable[[_C], _D], __fn4: Callable[[_D], _E], __fn5: Callable[[_E], _F], __fn6: Callable[[_F], _G], __fn7: Callable[[_G], _H], __fn8: Callable[[_H], _T], __fn9: Callable[[_T], _J]) _J
Functional pipe (|>).
Allows the use of function argument on the left side of the function.
Example
>>> pipe(x, fn) == __fn(x) # Same as x |> fn >>> pipe(x, fn, gn) == gn(fn(x)) # Same as x |> fn |> gn ...
- starpipe(args: tuple[Any, ...], *fns: Callable[[...], Any])#
Functional pipe_n (||>, ||>, |||>, etc).
Allows the use of function arguments on the left side of the function. Calls the function with tuple arguments unpacked.
Example
>>> starpipe((x, y), __fn) == __fn(x, y) # Same as (x, y) ||> __fn >>> starpipe((x, y), __fn, gn) == gn(fn(x)) # Same as (x, y) ||> __fn |> gn ...