@newdash/newdash
Version:
javascript/typescript utility library
31 lines (30 loc) • 1.08 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.partial = void 0;
const baseRest_1 = __importDefault(require("./.internal/baseRest"));
const createWrap_1 = __importDefault(require("./.internal/createWrap"));
const getHolder_1 = __importDefault(require("./.internal/getHolder"));
const replaceHolders_1 = __importDefault(require("./.internal/replaceHolders"));
/**
* @ignore
*/
const WRAP_PARTIAL_FLAG = 32;
/**
* @ignore
*/
const internalPartial = (0, baseRest_1.default)((func, partials) => {
const holders = (0, replaceHolders_1.default)(partials, (0, getHolder_1.default)(partial));
return (0, createWrap_1.default)(func, WRAP_PARTIAL_FLAG, undefined, partials, holders);
});
function partial(...args) {
return internalPartial(...args);
}
exports.partial = partial;
/**
* placeholder of partial function
*/
partial.placeholder = "__partial__placeholder__";
exports.default = partial;