UNPKG

braintree-web

Version:

A suite of tools for integrating Braintree in the browser

45 lines (34 loc) 626 B
"use strict"; var once = require("./once"); function call(fn, callback) { var isSync = fn.length === 0; if (isSync) { fn(); callback(null); } else { fn(callback); } } module.exports = function (functions, cb) { var i; var length = functions.length; var remaining = length; var callback = once(cb); if (length === 0) { callback(null); return; } function finish(err) { if (err) { callback(err); return; } remaining -= 1; if (remaining === 0) { callback(null); } } for (i = 0; i < length; i++) { call(functions[i], finish); } };