UNPKG

ut2

Version:

一个现代 JavaScript 实用工具库。[点击查看在线文档]。

22 lines (18 loc) 615 B
'use strict'; var native = require('./internals/native.js'); var PLACEHOLDER = { __ut2_partial_ph__: null }; var partial = function (func) { var argsOrig = native.arrayProtoSlice.call(arguments, 1); return function () { var args = []; var argsPartial = native.arrayProtoSlice.call(arguments); for (var i = 0; i < argsOrig.length; i++) { args[i] = argsOrig[i] === PLACEHOLDER ? argsPartial.shift() : argsOrig[i]; } return func.apply(this, args.concat(argsPartial)); }; }; partial.placeholder = partial._ = PLACEHOLDER; module.exports = partial;