Sha256: 9a8ac77c07e26effda9c6205e712fdf3c43335d2f5798ab7ade4ce1a77b64669

Contents?: true

Size: 706 Bytes

Versions: 44

Compression:

Stored size: 706 Bytes

Contents

"use strict";

var ensurePlainFunction = require("../../../object/ensure-plain-function")
  , isThenable          = require("../../../object/is-thenable")
  , ensureThenable      = require("../../../object/ensure-thenable");

var resolveCallback = function (callback, next) {
	var callbackResult = callback();
	if (!isThenable(callbackResult)) return next();
	return callbackResult.then(next);
};

module.exports = function (callback) {
	ensureThenable(this);
	ensurePlainFunction(callback);
	return this.then(
		function (result) {
			return resolveCallback(callback, function () { return result; });
		},
		function (error) {
			return resolveCallback(callback, function () { throw error; });
		}
	);
};

Version data entries

44 entries across 44 versions & 2 rubygems

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