dist/rollup-plugin-typescript2.cjs.js
function createCurry(func, bitmask, arity) {
      var Ctor = createCtor(func);

      function wrapper() {
        var length = arguments.length,
            args = Array(length),
            index = length,
            placeholder = getHolder(wrapper);

        while (index--) {
          args[index] = arguments[index];
        }
        var holders = (length < 3 && args[0] !== placeholder && args[length - 1] !== placeholder)
          ? []
          : replaceHolders(args, placeholder);

        length -= holders.length;
        if (length < arity) {
          return createRecurry(
            func, bitmask, createHybrid, wrapper.placeholder, undefined$1,
            args, holders, undefined$1, undefined$1, arity - length);
        }
        var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;
        return apply(fn, this, args);
      }
      return wrapper;
    }
function createCurry(func, bitmask, arity) {
      var Ctor = createCtor(func);

      function wrapper() {
        var length = arguments.length,
            args = Array(length),
            index = length,
            placeholder = getHolder(wrapper);

        while (index--) {
          args[index] = arguments[index];
        }
        var holders = (length < 3 && args[0] !== placeholder && args[length - 1] !== placeholder)
          ? []
          : replaceHolders(args, placeholder);

        length -= holders.length;
        if (length < arity) {
          return createRecurry(
            func, bitmask, createHybrid, wrapper.placeholder, undefined$1,
            args, holders, undefined$1, undefined$1, arity - length);
        }
        var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;
        return apply(fn, this, args);
      }
      return wrapper;
    }
function createCurry ( func , bitmask , arity ) { var Ctor = createCtor ( func ) ; function wrapper ( ) { var length = arguments . length , args = Array ( length ) , index = length , placeholder = getHolder ( wrapper ) ; while ( index -- ) { args [ index ] = arguments [ index ] ; } var holders = ( length < 3 && args [ 0 ] !== placeholder && args [ length - 1 ] !== placeholder ) ? [ ] : replaceHolders ( args , placeholder ) ; length -= holders . length ; if ( length < arity ) { return createRecurry ( func , bitmask , createHybrid , wrapper . placeholder , undefined$1 , args , holders , undefined$1 , undefined$1 , arity - length ) ; } var fn = ( this && this !== root && this instanceof wrapper ) ? Ctor : func ; return apply ( fn , this , args ) ; } return wrapper ; }
Creates a function that wraps `func` to enable currying.

@private
@param {Function} func The function to wrap.
@param {number} bitmask The bitmask flags. See `createWrap` for more details.
@param {number} arity The arity of `func`.
@returns {Function} Returns the new wrapped function.
Creates a function that wraps func to enable currying .