New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

run-auto

Package Overview
Dependencies
Maintainers
1
Versions
11
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

run-auto - npm Package Compare versions

Comparing version

to
1.1.0

24

index.js

@@ -0,1 +1,3 @@

var dezalgo = require('dezalgo')
var _setImmediate

@@ -14,3 +16,6 @@ if (typeof setImmediate === 'function') {

module.exports = function (tasks, cb) {
cb = cb || function () {}
if (cb) cb = dezalgo(cb)
var results = {}
var listeners = []
var keys = Object.keys(tasks)

@@ -20,13 +25,10 @@ var remainingTasks = keys.length

if (!remainingTasks) {
return cb()
return cb && cb(null, results)
}
var results = {}
var listeners = []
var addListener = function (fn) {
function addListener (fn) {
listeners.unshift(fn)
}
var removeListener = function (fn) {
function removeListener (fn) {
for (var i = 0; i < listeners.length; i += 1) {

@@ -40,3 +42,3 @@ if (listeners[i] === fn) {

var taskComplete = function () {
function taskComplete () {
remainingTasks -= 1

@@ -52,3 +54,3 @@ listeners.slice(0).forEach(function (fn) {

// prevent final cb from calling itself if it errors
cb = function () {}
cb = null
thecb(null, results)

@@ -76,5 +78,5 @@ }

safeResults[key] = args
cb(err, safeResults)
if (cb) cb(err, safeResults)
// stop subsequent errors hitting cb multiple times
cb = function () {}
cb = null
} else {

@@ -81,0 +83,0 @@ results[key] = args

{
"name": "run-auto",
"description": "Determine the best order for running async functions, and run them",
"version": "1.0.0",
"version": "1.1.0",
"author": {

@@ -13,5 +13,8 @@ "name": "Feross Aboukhadijeh",

},
"dependencies": {},
"dependencies": {
"dezalgo": "^1.0.1"
},
"devDependencies": {
"tape": "^2.12.3"
"standard": "^3.2.0",
"tape": "^3.5.0"
},

@@ -38,3 +41,3 @@ "homepage": "https://github.com/feross/run-auto",

"scripts": {
"test": "tape test/*.js"
"test": "standard && tape test/*.js"
},

@@ -41,0 +44,0 @@ "testling": {

@@ -1,2 +0,2 @@

# run-auto [![travis](https://img.shields.io/travis/feross/run-auto.svg)](https://travis-ci.org/feross/run-auto) [![npm](https://img.shields.io/npm/v/run-auto.svg)](https://npmjs.org/package/run-auto)
# run-auto [![travis](https://img.shields.io/travis/feross/run-auto.svg)](https://travis-ci.org/feross/run-auto) [![npm](https://img.shields.io/npm/v/run-auto.svg)](https://npmjs.org/package/run-auto) [![npm](https://img.shields.io/npm/dm/run-auto.svg)](https://npmjs.org/package/run-auto)

@@ -46,3 +46,3 @@ #### Determine the best order for running async functions, ***LIKE MAGIC!***

async.auto({
auto({
getData: function (callback) {

@@ -49,0 +49,0 @@ console.log('in getData')

@@ -11,3 +11,3 @@ var auto = require('../')

callOrder.push('task1')
cb()
cb(null, 'res1')
}, 25)

@@ -18,3 +18,3 @@ }],

callOrder.push('task2')
cb()
cb(null, 'res2')
}, 50)

@@ -24,7 +24,7 @@ },

callOrder.push('task3')
cb()
cb(null, 'res3')
}],
task4: ['task1', 'task2', function (cb) {
callOrder.push('task4')
cb()
cb(null, 'res4')
}],

@@ -34,3 +34,3 @@ task5: ['task2', function (cb) {

callOrder.push('task5')
cb()
cb(null, 'res5')
}, 0)

@@ -40,10 +40,19 @@ }],

callOrder.push('task6')
cb()
cb(null, 'res6')
}]
}
auto(tasks, function (err) {
t.deepEqual(callOrder, ['task2','task6','task3','task5','task1','task4'])
auto(tasks, function (err, results) {
t.error(err)
t.deepEqual(callOrder, ['task2', 'task6', 'task3', 'task5', 'task1', 'task4'])
t.deepEqual(results, {
task1: 'res1',
task2: 'res2',
task3: 'res3',
task4: 'res4',
task5: 'res5',
task6: 'res6'
})
t.end()
})
})

@@ -16,2 +16,2 @@ var auto = require('../')

t.end()
})
})

@@ -36,7 +36,7 @@ var auto = require('../')

auto(tasks, function (err, results) {
t.ok(err instanceof Error)
t.equals(results.task1, 'result1')
t.equals(results.task2, 'result2')
t.end()
t.ok(err instanceof Error)
t.equals(results.task1, 'result1')
t.equals(results.task2, 'result2')
t.end()
})
})

@@ -17,2 +17,2 @@ var auto = require('../')

auto(tasks)
})
})

Sorry, the diff of this file is not supported yet