HEX
Server: Apache
System: Linux webd004.cluster130.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64
User: frenchy (106757)
PHP: 7.4.33
Disabled: _dyuweyrj4,_dyuweyrj4r,dl
Upload Files
File: /home/frenchy/www/french-american.org/releases/20210421135930Z/node_modules/promised-io/step.js
'use strict';

(function(define){
define(function(require,exports){

// Vladimir Dronnikov

// inspired by creationix's Step

var when = require('./promise').when;

// execute sequentially functions taken from steps[]
// each successive is fed with the result of prior
// each function can return an immediate value, a promise, or just throw
// in the latter case the next function will receive Error object
// return "undefined" to full stop.
//
// "context" is available to each steps as "this"
//
exports.Step = function(context, steps) {
	var next;
	next = function() {
		var fn, result;
		if (!steps.length) {
			return arguments[0];
		}
		fn = steps.shift();
		try {
			result = fn.apply(context, arguments);
			if (result !== void 0) {
				result = when(result, next, next);
			}
		} catch (err) {
			next(err);
		}
		return result;
	};
	return next();
};

});
})(typeof define!="undefined"?define:function(factory){factory(require,exports)});