Files
memoizee/lib/resolve-resolve.js
2014-09-22 12:25:03 +02:00

22 lines
504 B
JavaScript

'use strict';
var toArray = require('es5-ext/array/to-array')
, callable = require('es5-ext/object/valid-callable')
, slice = Array.prototype.slice
, resolveArgs;
resolveArgs = function (args) {
return this.map(function (r, i) {
return r ? r(args[i]) : args[i];
}).concat(slice.call(args, this.length));
};
module.exports = function (resolvers) {
resolvers = toArray(resolvers);
resolvers.forEach(function (r) {
if (r != null) callable(r);
});
return resolveArgs.bind(resolvers);
};