X7ROOT File Manager
Current Path:
/lib/node_modules/npm/node_modules/asynckit
lib
/
node_modules
/
npm
/
node_modules
/
asynckit
/
??
..
??
LICENSE
(1.05 KB)
??
README.md
(7.46 KB)
??
bench.js
(1.23 KB)
??
index.js
(156 B)
??
lib
??
package.json
(2.32 KB)
??
parallel.js
(1017 B)
??
serial.js
(501 B)
??
serialOrdered.js
(1.71 KB)
??
stream.js
(703 B)
Editing: serialOrdered.js
var iterate = require('./lib/iterate.js') , initState = require('./lib/state.js') , terminator = require('./lib/terminator.js') ; // Public API module.exports = serialOrdered; // sorting helpers module.exports.ascending = ascending; module.exports.descending = descending; /** * Runs iterator over provided sorted array elements in series * * @param {array|object} list - array or object (named list) to iterate over * @param {function} iterator - iterator to run * @param {function} sortMethod - custom sort function * @param {function} callback - invoked when all elements processed * @returns {function} - jobs terminator */ function serialOrdered(list, iterator, sortMethod, callback) { var state = initState(list, sortMethod); iterate(list, iterator, state, function iteratorHandler(error, result) { if (error) { callback(error, result); return; } state.index++; // are we there yet? if (state.index < (state['keyedList'] || list).length) { iterate(list, iterator, state, iteratorHandler); return; } // done here callback(null, state.results); }); return terminator.bind(state, callback); } /* * -- Sort methods */ /** * sort helper to sort array elements in ascending order * * @param {mixed} a - an item to compare * @param {mixed} b - an item to compare * @returns {number} - comparison result */ function ascending(a, b) { return a < b ? -1 : a > b ? 1 : 0; } /** * sort helper to sort array elements in descending order * * @param {mixed} a - an item to compare * @param {mixed} b - an item to compare * @returns {number} - comparison result */ function descending(a, b) { return -1 * ascending(a, b); }
Upload File
Create Folder