Sha256: 013306e38bebe1f54a4ea6f7b6caf885033213a6c454018f559ab0c3e9bed663

Contents?: true

Size: 640 Bytes

Versions: 44

Compression:

Stored size: 640 Bytes

Contents

"use strict";

var isValue  = require("../../object/is-value")
  , callable = require("../../object/valid-callable")
  , aFrom    = require("../../array/from");

var apply = Function.prototype.apply
  , call = Function.prototype.call
  , callFn = function (arg, fn) { return call.call(fn, this, arg); };

module.exports = function (fnIgnored/*, …fnn*/) {
	var fns, first;
	var args = aFrom(arguments);
	fns = isValue(this) ? [this].concat(args) : args;
	fns.forEach(callable);
	fns = fns.reverse();
	first = fns[0];
	fns = fns.slice(1);
	return function (argIgnored) { return fns.reduce(callFn, apply.call(first, this, arguments)); };
};

Version data entries

44 entries across 44 versions & 2 rubygems

Version Path
optimacms-0.1.61 spec/dummy/node_modules/es5-ext/function/#/compose.js
govuk_publishing_components-18.0.0 node_modules/es5-ext/function/#/compose.js
govuk_publishing_components-17.21.0 node_modules/es5-ext/function/#/compose.js
govuk_publishing_components-17.20.0 node_modules/es5-ext/function/#/compose.js
govuk_publishing_components-17.19.1 node_modules/es5-ext/function/#/compose.js
govuk_publishing_components-17.19.0 node_modules/es5-ext/function/#/compose.js
govuk_publishing_components-17.18.0 node_modules/es5-ext/function/#/compose.js
govuk_publishing_components-17.17.0 node_modules/es5-ext/function/#/compose.js
govuk_publishing_components-17.16.0 node_modules/es5-ext/function/#/compose.js
govuk_publishing_components-17.15.0 node_modules/es5-ext/function/#/compose.js
govuk_publishing_components-17.14.0 node_modules/es5-ext/function/#/compose.js
govuk_publishing_components-17.13.0 node_modules/es5-ext/function/#/compose.js
govuk_publishing_components-17.12.2 node_modules/es5-ext/function/#/compose.js
govuk_publishing_components-17.12.1 node_modules/es5-ext/function/#/compose.js
govuk_publishing_components-17.12.0 node_modules/es5-ext/function/#/compose.js
govuk_publishing_components-17.11.0 node_modules/es5-ext/function/#/compose.js
govuk_publishing_components-17.10.0 node_modules/es5-ext/function/#/compose.js
govuk_publishing_components-17.9.0 node_modules/es5-ext/function/#/compose.js
govuk_publishing_components-17.8.0 node_modules/es5-ext/function/#/compose.js
govuk_publishing_components-17.7.0 node_modules/es5-ext/function/#/compose.js