resolve-resolve.js 588 B

12345678910111213141516171819
  1. "use strict";
  2. var toArray = require("es5-ext/array/to-array")
  3. , isValue = require("es5-ext/object/is-value")
  4. , callable = require("es5-ext/object/valid-callable");
  5. var slice = Array.prototype.slice, resolveArgs;
  6. resolveArgs = function (args) {
  7. return this.map(function (resolve, i) { return resolve ? resolve(args[i]) : args[i]; }).concat(
  8. slice.call(args, this.length)
  9. );
  10. };
  11. module.exports = function (resolvers) {
  12. resolvers = toArray(resolvers);
  13. resolvers.forEach(function (resolve) { if (isValue(resolve)) callable(resolve); });
  14. return resolveArgs.bind(resolvers);
  15. };