/**
 * A placeholder for a partial application argument.
 *
 * See `partial` for more information.
 */ export const placeholder = Symbol . for ( "@esfx/iter:fn/placeholder" ) ; /**
 * A placeholder for a partial application argument that should be used as the `this` binding.
 *
 * See `partial` for more information.
 */ export const thisPlaceholder = Symbol . for ( "@esfx/iter:fn/thisPlaceholder" ) ; /**
 * A placeholder for a partial application argument that should pass on excess arguments.
 *
 * See `partial` for more information.
 */ export const restPlaceholder = Symbol . for ( "@esfx/iter:fn/restPlaceholder" ) ; type _ = typeof placeholder ; type _this = typeof thisPlaceholder ; type _rest = typeof restPlaceholder ; /**
 * Partially applies `f`.
 *
 * - If `placeholder` is provided for any argument, that argument remains unapplied in the resulting function.
 *
 * - If `thisPlaceholder` is provided for any argument, an argument in that position in the resulting function is used as the `this` binding.
 *
 * - If `restPlaceholder` is provided as the last argument, any extra arguments passed to the resulting function are spread into the call to the original function.
 *
 * ```ts
 * import { partial, placeholder as _ } from "@esfx/iter/fn";
 * const add = (a, b) => a + b;
 * const addOne = partial(add, _, 1);
 * addOne(2); // 3;
 * ```
 */ export function partial < This , TResult > ( f ) ; export function partial < This , TResult > ( f , _this ) ; export function partial < This , TRest extends any [ ] , TResult > ( f , _rest ) ; export function partial < This , TRest extends any [ ] , TResult > ( f , _this , _rest ) ; export function partial < This , A , TResult > ( f , a ) ; export function partial < This , A , TResult > ( f , a ) ; export function partial < This , A , TResult > ( f , _this , a ) ; export function partial < This , A , TResult > ( f , _this , a ) ; export function partial < This , A , TResult > ( f , a , _this ) ; export function partial < This , A , TResult > ( f , a , _this ) ; export function partial < This , A , TRest extends any [ ] , TResult > ( f , a , _rest ) ; export function partial < This , A , TRest extends any [ ] , TResult > ( f , a , _rest ) ; export function partial < This , A , TRest extends any [ ] , TResult > ( f , _this , a , _rest ) ; export function partial < This , A , TRest extends any [ ] , TResult > ( f , _this , a , _rest ) ; export function partial < This , A , TRest extends any [ ] , TResult > ( f , a , _this , _rest ) ; export function partial < This , A , TRest extends any [ ] , TResult > ( f , a , _this , _rest ) ; export function partial < This , A , B , TResult > ( f , a , b ) ; export function partial < This , A , B , TResult > ( f , a , b ) ; export function partial < This , A , B , TResult > ( f , a , b ) ; export function partial < This , A , B , TResult > ( f , a , b ) ; export function partial < This , A , B , TResult > ( f , _this , a , b ) ; export function partial < This , A , B , TResult > ( f , _this , a , b ) ; export function partial < This , A , B , TResult > ( f , _this , a , b ) ; export function partial < This , A , B , TResult > ( f , _this , a , b ) ; export function partial < This , A , B , TResult > ( f , a , _this , b ) ; export function partial < This , A , B , TResult > ( f , a , _this , b ) ; export function partial < This , A , B , TResult > ( f , a , _this , b ) ; export function partial < This , A , B , TResult > ( f , a , _this , b ) ; export function partial < This , A , B , TResult > ( f , a , b , _this ) ; export function partial < This , A , B , TResult > ( f , a , b , _this ) ; export function partial < This , A , B , TResult > ( f , a , b , _this ) ; export function partial < This , A , B , TResult > ( f , a , b , _this ) ; export function partial < This , A , B , TRest extends any [ ] , TResult > ( f , a , b , _rest ) ; export function partial < This , A , B , TRest extends any [ ] , TResult > ( f , a , b , _rest ) ; export function partial < This , A , B , TRest extends any [ ] , TResult > ( f , a , b , _rest ) ; export function partial < This , A , B , TRest extends any [ ] , TResult > ( f , a , b , _rest ) ; export function partial < This , A , B , TRest extends any [ ] , TResult > ( f , _this , a , b , _rest ) ; export function partial < This , A , B , TRest extends any [ ] , TResult > ( f , _this , a , b , _rest ) ; export function partial < This , A , B , TRest extends any [ ] , TResult > ( f , _this , a , b , _rest ) ; export function partial < This , A , B , TRest extends any [ ] , TResult > ( f , _this , a , b , _rest ) ; export function partial < This , A , B , TRest extends any [ ] , TResult > ( f , a , _this , b , _rest ) ; export function partial < This , A , B , TRest extends any [ ] , TResult > ( f , a , _this , b , _rest ) ; export function partial < This , A , B , TRest extends any [ ] , TResult > ( f , a , _this , b , _rest ) ; export function partial < This , A , B , TRest extends any [ ] , TResult > ( f , a , _this , b , _rest ) ; export function partial < This , A , B , TRest extends any [ ] , TResult > ( f , a , b , _this , _rest ) ; export function partial < This , A , B , TRest extends any [ ] , TResult > ( f , a , b , _this , _rest ) ; export function partial < This , A , B , TRest extends any [ ] , TResult > ( f , a , b , _this , _rest ) ; export function partial < This , A , B , TRest extends any [ ] , TResult > ( f , a , b , _this , _rest ) ; export function partial < This , A , B , C , TResult > ( f , a , b , c ) ; export function partial < This , A , B , C , TResult > ( f , a , b , c ) ; export function partial < This , A , B , C , TResult > ( f , a , b , c ) ; export function partial < This , A , B , C , TResult > ( f , a , b , c ) ; export function partial < This , A , B , C , TResult > ( f , a , b , c ) ; export function partial < This , A , B , C , TResult > ( f , a , b , c ) ; export function partial < This , A , B , C , TResult > ( f , a , b , c ) ; export function partial < This , A , B , C , TResult > ( f , a , b , c ) ; export function partial < This , A , B , C , TResult > ( f , _this , a , b , c ) ; export function partial < This , A , B , C , TResult > ( f , _this , a , b , c ) ; export function partial < This , A , B , C , TResult > ( f , _this , a , b , c ) ; export function partial < This , A , B , C , TResult > ( f , _this , a , b , c ) ; export function partial < This , A , B , C , TResult > ( f , _this , a , b , c ) ; export function partial < This , A , B , C , TResult > ( f , _this , a , b , c ) ; export function partial < This , A , B , C , TResult > ( f , _this , a , b , c ) ; export function partial < This , A , B , C , TResult > ( f , _this , a , b , c ) ; export function partial < This , A , B , C , TResult > ( f , a , _this , b , c ) ; export function partial < This , A , B , C , TResult > ( f , a , _this , b , c ) ; export function partial < This , A , B , C , TResult > ( f , a , _this , b , c ) ; export function partial < This , A , B , C , TResult > ( f , a , _this , b , c ) ; export function partial < This , A , B , C , TResult > ( f , a , _this , b , c ) ; export function partial < This , A , B , C , TResult > ( f , a , _this , b , c ) ; export function partial < This , A , B , C , TResult > ( f , a , _this , b , c ) ; export function partial < This , A , B , C , TResult > ( f , a , _this , b , c ) ; export function partial < This , A , B , C , TResult > ( f , a , b , _this , c ) ; export function partial < This , A , B , C , TResult > ( f , a , b , _this , c ) ; export function partial < This , A , B , C , TResult > ( f , a , b , _this , c ) ; export function partial < This , A , B , C , TResult > ( f , a , b , _this , c ) ; export function partial < This , A , B , C , TResult > ( f , a , b , _this , c ) ; export function partial < This , A , B , C , TResult > ( f , a , b , _this , c ) ; export function partial < This , A , B , C , TResult > ( f , a , b , _this , c ) ; export function partial < This , A , B , C , TResult > ( f , a , b , _this , c ) ; export function partial < This , A , B , C , TResult > ( f , a , b , c , _this ) ; export function partial < This , A , B , C , TResult > ( f , a , b , c , _this ) ; export function partial < This , A , B , C , TResult > ( f , a , b , c , _this ) ; export function partial < This , A , B , C , TResult > ( f , a , b , c , _this ) ; export function partial < This , A , B , C , TResult > ( f , a , b , c , _this ) ; export function partial < This , A , B , C , TResult > ( f , a , b , c , _this ) ; export function partial < This , A , B , C , TResult > ( f , a , b , c , _this ) ; export function partial < This , A , B , C , TResult > ( f , a , b , c , _this ) ; export function partial < This , A , B , C , TRest extends any [ ] , TResult > ( f , a , b , c , _rest ) ; export function partial < This , A , B , C , TRest extends any [ ] , TResult > ( f , a , b , c , _rest ) ; export function partial < This , A , B , C , TRest extends any [ ] , TResult > ( f , a , b , c , _rest ) ; export function partial < This , A , B , C , TRest extends any [ ] , TResult > ( f , a , b , c , _rest ) ; export function partial < This , A , B , C , TRest extends any [ ] , TResult > ( f , a , b , c , _rest ) ; export function partial < This , A , B , C , TRest extends any [ ] , TResult > ( f , a , b , c , _rest ) ; export function partial < This , A , B , C , TRest extends any [ ] , TResult > ( f , a , b , c , _rest ) ; export function partial < This , A , B , C , TRest extends any [ ] , TResult > ( f , a , b , c , _rest ) ; export function partial < This , A , B , C , TRest extends any [ ] , TResult > ( f , _this , a , b , c , _rest ) ; export function partial < This , A , B , C , TRest extends any [ ] , TResult > ( f , _this , a , b , c , _rest ) ; export function partial < This , A , B , C , TRest extends any [ ] , TResult > ( f , _this , a , b , c , _rest ) ; export function partial < This , A , B , C , TRest extends any [ ] , TResult > ( f , _this , a , b , c , _rest ) ; export function partial < This , A , B , C , TRest extends any [ ] , TResult > ( f , _this , a , b , c , _rest ) ; export function partial < This , A , B , C , TRest extends any [ ] , TResult > ( f , _this , a , b , c , _rest ) ; export function partial < This , A , B , C , TRest extends any [ ] , TResult > ( f , _this , a , b , c , _rest ) ; export function partial < This , A , B , C , TRest extends any [ ] , TResult > ( f , _this , a , b , c , _rest ) ; export function partial < This , A , B , C , TRest extends any [ ] , TResult > ( f , a , _this , b , c , _rest ) ; export function partial < This , A , B , C , TRest extends any [ ] , TResult > ( f , a , _this , b , c , _rest ) ; export function partial < This , A , B , C , TRest extends any [ ] , TResult > ( f , a , _this , b , c , _rest ) ; export function partial < This , A , B , C , TRest extends any [ ] , TResult > ( f , a , _this , b , c , _rest ) ; export function partial < This , A , B , C , TRest extends any [ ] , TResult > ( f , a , _this , b , c , _rest ) ; export function partial < This , A , B , C , TRest extends any [ ] , TResult > ( f , a , _this , b , c , _rest ) ; export function partial < This , A , B , C , TRest extends any [ ] , TResult > ( f , a , _this , b , c , _rest ) ; export function partial < This , A , B , C , TRest extends any [ ] , TResult > ( f , a , _this , b , c , _rest ) ; export function partial < This , A , B , C , TRest extends any [ ] , TResult > ( f , a , b , _this , c , _rest ) ; export function partial < This , A , B , C , TRest extends any [ ] , TResult > ( f , a , b , _this , c , _rest ) ; export function partial < This , A , B , C , TRest extends any [ ] , TResult > ( f , a , b , _this , c , _rest ) ; export function partial < This , A , B , C , TRest extends any [ ] , TResult > ( f , a , b , _this , c , _rest ) ; export function partial < This , A , B , C , TRest extends any [ ] , TResult > ( f , a , b , _this , c , _rest ) ; export function partial < This , A , B , C , TRest extends any [ ] , TResult > ( f , a , b , _this , c , _rest ) ; export function partial < This , A , B , C , TRest extends any [ ] , TResult > ( f , a , b , _this , c , _rest ) ; export function partial < This , A , B , C , TRest extends any [ ] , TResult > ( f , a , b , _this , c , _rest ) ; export function partial < This , A , B , C , TRest extends any [ ] , TResult > ( f , a , b , c , _this , _rest ) ; export function partial < This , A , B , C , TRest extends any [ ] , TResult > ( f , a , b , c , _this , _rest ) ; export function partial < This , A , B , C , TRest extends any [ ] , TResult > ( f , a , b , c , _this , _rest ) ; export function partial < This , A , B , C , TRest extends any [ ] , TResult > ( f , a , b , c , _this , _rest ) ; export function partial < This , A , B , C , TRest extends any [ ] , TResult > ( f , a , b , c , _this , _rest ) ; export function partial < This , A , B , C , TRest extends any [ ] , TResult > ( f , a , b , c , _this , _rest ) ; export function partial < This , A , B , C , TRest extends any [ ] , TResult > ( f , a , b , c , _this , _rest ) ; export function partial < This , A , B , C , TRest extends any [ ] , TResult > ( f , a , b , c , _this , _rest ) ; export function partial < This , A , B , C , D , TResult > ( f , a , b , c , d ) ; export function partial < This , A , B , C , D , TResult > ( f , a , b , c , d ) ; export function partial < This , A , B , C , D , TResult > ( f , a , b , c , d ) ; export function partial < This , A , B , C , D , TResult > ( f , a , b , c , d ) ; export function partial < This , A , B , C , D , TResult > ( f , a , b , c , d ) ; export function partial < This , A , B , C , D , TResult > ( f , a , b , c , d ) ; export function partial < This , A , B , C , D , TResult > ( f , a , b , c , d ) ; export function partial < This , A , B , C , D , TResult > ( f , a , b , c , d ) ; export function partial < This , A , B , C , D , TResult > ( f , a , b , c , d ) ; export function partial < This , A , B , C , D , TResult > ( f , a , b , c , d ) ; export function partial < This , A , B , C , D , TResult > ( f , a , b , c , d ) ; export function partial < This , A , B , C , D , TResult > ( f , a , b , c , d ) ; export function partial < This , A , B , C , D , TResult > ( f , a , b , c , d ) ; export function partial < This , A , B , C , D , TResult > ( f , a , b , c , d ) ; export function partial < This , A , B , C , D , TResult > ( f , a , b , c , d ) ; export function partial < This , A , B , C , D , TResult > ( f , a , b , c , d ) ; export function partial < This , A , B , C , D , TResult > ( f , _this , a , b , c , d ) ; export function partial < This , A , B , C , D , TResult > ( f , _this , a , b , c , d ) ; export function partial < This , A , B , C , D , TResult > ( f , _this , a , b , c , d ) ; export function partial < This , A , B , C , D , TResult > ( f , _this , a , b , c , d ) ; export function partial < This , A , B , C , D , TResult > ( f , _this , a , b , c , d ) ; export function partial < This , A , B , C , D , TResult > ( f , _this , a , b , c , d ) ; export function partial < This , A , B , C , D , TResult > ( f , _this , a , b , c , d ) ; export function partial < This , A , B , C , D , TResult > ( f , _this , a , b , c , d ) ; export function partial < This , A , B , C , D , TResult > ( f , _this , a , b , c , d ) ; export function partial < This , A , B , C , D , TResult > ( f , _this , a , b , c , d ) ; export function partial < This , A , B , C , D , TResult > ( f , _this , a , b , c , d ) ; export function partial < This , A , B , C , D , TResult > ( f , _this , a , b , c , d ) ; export function partial < This , A , B , C , D , TResult > ( f , _this , a , b , c , d ) ; export function partial < This , A , B , C , D , TResult > ( f , _this , a , b , c , d ) ; export function partial < This , A , B , C , D , TResult > ( f , _this , a , b , c , d ) ; export function partial < This , A , B , C , D , TResult > ( f , _this , a , b , c , d ) ; export function partial < This , A , B , C , D , TResult > ( f , a , _this , b , c , d ) ; export function partial < This , A , B , C , D , TResult > ( f , a , _this , b , c , d ) ; export function partial < This , A , B , C , D , TResult > ( f , a , _this , b , c , d ) ; export function partial < This , A , B , C , D , TResult > ( f , a , _this , b , c , d ) ; export function partial < This , A , B , C , D , TResult > ( f , a , _this , b , c , d ) ; export function partial < This , A , B , C , D , TResult > ( f , a , _this , b , c , d ) ; export function partial < This , A , B , C , D , TResult > ( f , a , _this , b , c , d ) ; export function partial < This , A , B , C , D , TResult > ( f , a , _this , b , c , d ) ; export function partial < This , A , B , C , D , TResult > ( f , a , _this , b , c , d ) ; export function partial < This , A , B , C , D , TResult > ( f , a , _this , b , c , d ) ; export function partial < This , A , B , C , D , TResult > ( f , a , _this , b , c , d ) ; export function partial < This , A , B , C , D , TResult > ( f , a , _this , b , c , d ) ; export function partial < This , A , B , C , D , TResult > ( f , a , _this , b , c , d ) ; export function partial < This , A , B , C , D , TResult > ( f , a , _this , b , c , d ) ; export function partial < This , A , B , C , D , TResult > ( f , a , _this , b , c , d ) ; export function partial < This , A , B , C , D , TResult > ( f , a , _this , b , c , d ) ; export function partial < This , A , B , C , D , TResult > ( f , a , b , _this , c , d ) ; export function partial < This , A , B , C , D , TResult > ( f , a , b , _this , c , d ) ; export function partial < This , A , B , C , D , TResult > ( f , a , b , _this , c , d ) ; export function partial < This , A , B , C , D , TResult > ( f , a , b , _this , c , d ) ; export function partial < This , A , B , C , D , TResult > ( f , a , b , _this , c , d ) ; export function partial < This , A , B , C , D , TResult > ( f , a , b , _this , c , d ) ; export function partial < This , A , B , C , D , TResult > ( f , a , b , _this , c , d ) ; export function partial < This , A , B , C , D , TResult > ( f , a , b , _this , c , d ) ; export function partial < This , A , B , C , D , TResult > ( f , a , b , _this , c , d ) ; export function partial < This , A , B , C , D , TResult > ( f , a , b , _this , c , d ) ; export function partial < This , A , B , C , D , TResult > ( f , a , b , _this , c , d ) ; export function partial < This , A , B , C , D , TResult > ( f , a , b , _this , c , d ) ; export function partial < This , A , B , C , D , TResult > ( f , a , b , _this , c , d ) ; export function partial < This , A , B , C , D , TResult > ( f , a , b , _this , c , d ) ; export function partial < This , A , B , C , D , TResult > ( f , a , b , _this , c , d ) ; export function partial < This , A , B , C , D , TResult > ( f , a , b , _this , c , d ) ; export function partial < This , A , B , C , D , TResult > ( f , a , b , c , _this , d ) ; export function partial < This , A , B , C , D , TResult > ( f , a , b , c , _this , d ) ; export function partial < This , A , B , C , D , TResult > ( f , a , b , c , _this , d ) ; export function partial < This , A , B , C , D , TResult > ( f , a , b , c , _this , d ) ; export function partial < This , A , B , C , D , TResult > ( f , a , b , c , _this , d ) ; export function partial < This , A , B , C , D , TResult > ( f , a , b , c , _this , d ) ; export function partial < This , A , B , C , D , TResult > ( f , a , b , c , _this , d ) ; export function partial < This , A , B , C , D , TResult > ( f , a , b , c , _this , d ) ; export function partial < This , A , B , C , D , TResult > ( f , a , b , c , _this , d ) ; export function partial < This , A , B , C , D , TResult > ( f , a , b , c , _this , d ) ; export function partial < This , A , B , C , D , TResult > ( f , a , b , c , _this , d ) ; export function partial < This , A , B , C , D , TResult > ( f , a , b , c , _this , d ) ; export function partial < This , A , B , C , D , TResult > ( f , a , b , c , _this , d ) ; export function partial < This , A , B , C , D , TResult > ( f , a , b , c , _this , d ) ; export function partial < This , A , B , C , D , TResult > ( f , a , b , c , _this , d ) ; export function partial < This , A , B , C , D , TResult > ( f , a , b , c , _this , d ) ; export function partial < This , A , B , C , D , TResult > ( f , a , b , c , d , _this ) ; export function partial < This , A , B , C , D , TResult > ( f , a , b , c , d , _this ) ; export function partial < This , A , B , C , D , TResult > ( f , a , b , c , d , _this ) ; export function partial < This , A , B , C , D , TResult > ( f , a , b , c , d , _this ) ; export function partial < This , A , B , C , D , TResult > ( f , a , b , c , d , _this ) ; export function partial < This , A , B , C , D , TResult > ( f , a , b , c , d , _this ) ; export function partial < This , A , B , C , D , TResult > ( f , a , b , c , d , _this ) ; export function partial < This , A , B , C , D , TResult > ( f , a , b , c , d , _this ) ; export function partial < This , A , B , C , D , TResult > ( f , a , b , c , d , _this ) ; export function partial < This , A , B , C , D , TResult > ( f , a , b , c , d , _this ) ; export function partial < This , A , B , C , D , TResult > ( f , a , b , c , d , _this ) ; export function partial < This , A , B , C , D , TResult > ( f , a , b , c , d , _this ) ; export function partial < This , A , B , C , D , TResult > ( f , a , b , c , d , _this ) ; export function partial < This , A , B , C , D , TResult > ( f , a , b , c , d , _this ) ; export function partial < This , A , B , C , D , TResult > ( f , a , b , c , d , _this ) ; export function partial < This , A , B , C , D , TResult > ( f , a , b , c , d , _this ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , b , c , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , b , c , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , b , c , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , b , c , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , b , c , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , b , c , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , b , c , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , b , c , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , b , c , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , b , c , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , b , c , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , b , c , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , b , c , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , b , c , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , b , c , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , b , c , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , _this , a , b , c , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , _this , a , b , c , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , _this , a , b , c , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , _this , a , b , c , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , _this , a , b , c , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , _this , a , b , c , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , _this , a , b , c , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , _this , a , b , c , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , _this , a , b , c , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , _this , a , b , c , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , _this , a , b , c , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , _this , a , b , c , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , _this , a , b , c , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , _this , a , b , c , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , _this , a , b , c , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , _this , a , b , c , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , _this , b , c , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , _this , b , c , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , _this , b , c , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , _this , b , c , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , _this , b , c , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , _this , b , c , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , _this , b , c , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , _this , b , c , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , _this , b , c , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , _this , b , c , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , _this , b , c , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , _this , b , c , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , _this , b , c , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , _this , b , c , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , _this , b , c , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , _this , b , c , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , b , _this , c , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , b , _this , c , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , b , _this , c , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , b , _this , c , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , b , _this , c , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , b , _this , c , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , b , _this , c , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , b , _this , c , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , b , _this , c , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , b , _this , c , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , b , _this , c , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , b , _this , c , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , b , _this , c , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , b , _this , c , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , b , _this , c , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , b , _this , c , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , b , c , _this , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , b , c , _this , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , b , c , _this , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , b , c , _this , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , b , c , _this , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , b , c , _this , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , b , c , _this , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , b , c , _this , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , b , c , _this , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , b , c , _this , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , b , c , _this , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , b , c , _this , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , b , c , _this , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , b , c , _this , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , b , c , _this , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , b , c , _this , d , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , b , c , d , _this , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , b , c , d , _this , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , b , c , d , _this , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , b , c , d , _this , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , b , c , d , _this , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , b , c , d , _this , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , b , c , d , _this , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , b , c , d , _this , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , b , c , d , _this , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , b , c , d , _this , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , b , c , d , _this , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , b , c , d , _this , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , b , c , d , _this , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , b , c , d , _this , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , b , c , d , _this , _rest ) ; export function partial < This , A , B , C , D , TRest extends any [ ] , TResult > ( f , a , b , c , d , _this , _rest ) ; export function partial ( f , ... partialArgs ) { let hasThis = false ; let hasRest = false ; for ( const partialArg of partialArgs ) { if ( partialArg === thisPlaceholder ) { if ( hasRest ) throw new Error ( "'this' placeholder cannot be specified after '...rest' placeholder." ) ; if ( hasThis ) throw new Error ( "'this' placeholder cannot be specified more than once." ) ; hasThis = true ; } else if ( partialArg === restPlaceholder ) { if ( hasRest ) throw new Error ( "'...rest' placeholder specified more than once." ) ; hasRest = true ; } else if ( partialArg === placeholder ) { if ( hasRest ) throw new Error ( "Argument placeholder cannot be specified after '...rest' placeholder." ) ; } } const name = `partial ${ f . name }` ; const pf = { [ name ] : function ( this , ... appliedArgs ) { const { thisArg , args } = bindPartial ( this , partialArgs , appliedArgs ) ; return f . apply ( thisArg , args ) ; } } [ name ] ; return pf ; } /**
 * A placeholder for a partial application argument.
 *
 * See `partial` for more information.
 */ partial . _ = placeholder ; /**
 * A placeholder for a partial application argument that should be used as the `this` binding.
 *
 * See `partial` for more information.
 */ partial . _this = thisPlaceholder ; /**
 * A placeholder for a partial application argument that should pass on excess arguments.
 *
 * See `partial` for more information.
 */ partial . _rest = restPlaceholder ; function bindPartial ( thisArg , partialArgs , appliedArgs ) { const args = [ ] ; let appliedArgIndex = 0 ; for ( let partialArgIndex = 0 ; partialArgIndex < partialArgs . length ; partialArgIndex ++ ) { const partialArg = partialArgs [ partialArgIndex ] ; if ( partialArg === placeholder ) { if ( appliedArgIndex < appliedArgs . length ) { args . push ( appliedArgs [ appliedArgIndex ++ ] ) ; } else { args . push ( undefined ) ; } } else if ( partialArg === restPlaceholder ) { while ( appliedArgIndex < appliedArgs . length ) { args . push ( appliedArgs [ appliedArgIndex ++ ] ) ; } } else if ( partialArg === thisPlaceholder ) { if ( appliedArgIndex < appliedArgs . length ) { thisArg = appliedArgs [ appliedArgIndex ++ ] ; } else { thisArg = undefined ; } } else { args . push ( partialArg ) ; } } return { thisArg , args } ; }