MCPcopy
hub / github.com/deployd/deployd / chain

Function chain

test-app/public/util.js:1–33  ·  view source on GitHub ↗
(fn)

Source from the content-addressed store, hash-verified

1var chain = function(fn) {
2 var queue = [];
3 var executing = false;
4 var lastResult = [];
5
6 var execute = function() {
7 var func = queue.shift();
8 var args = [_next];
9 if (func) {
10 executing = true;
11 args.push.apply(args, lastResult.length ? lastResult : arguments);
12 func.apply(this, args);
13 }
14 };
15
16 var _next = function() {
17 executing = false;
18 lastResult = arguments;
19 execute();
20 };
21
22 var _chain = function(fn) {
23 queue.push(fn);
24
25 if (!executing) {
26 execute();
27 }
28
29 return {chain: _chain};
30 };
31
32 return _chain(fn);
33};
34
35var cleanCollection = function(collection, done) {
36 collection.get({clean: true}, function (items) {

Callers 3

util.test.jsFile · 0.50
collection.test.jsFile · 0.50

Calls 1

_chainFunction · 0.85

Tested by

no test coverage detected