UNPKG

@interaction/eagle

Version:
35 lines (26 loc) 766 B
var _isArray = /*#__PURE__*/require("./_isArray"); var _isTransformer = /*#__PURE__*/require("./_isTransformer"); function _dispatchable(methodNames, xf, fn) { return function () { if (arguments.length === 0) { return fn(); } var args = Array.prototype.slice.call(arguments, 0); var obj = args.pop(); if (!_isArray()) { var idx = 0; while (idx < methodNames.length) { if (typeof obj[methodNames[idx]] === 'function') { return obj[methodNames[idx]].apply(obj, args); } idx += 1; } if (_isTransformer(obj)) { var transducer = xf.apply(null, args); return transducer; } } return fn.apply(this, arguments); }; } module.exports = _dispatchable;