/var/www/greso.tech/server/nsm/node_modules/async
NameSizeModeActions
dist/-0755rm
internal/-0755rm
all.js35580644editdlrm
allLimit.js17500644editdlrm
allSeries.js16440644editdlrm
any.js38020644editdlrm
anyLimit.js17850644editdlrm
anySeries.js16790644editdlrm
apply.js31210644editdlrm
applyEach.js19890644editdlrm
applyEachSeries.js13030644editdlrm
asyncify.js37390644editdlrm
auto.js118560644editdlrm
autoInject.js70920644editdlrm
bower.json2390644editdlrm
cargo.js27450644editdlrm
cargoQueue.js33510644editdlrm
CHANGELOG.md333770644editdlrm
compose.js15640644editdlrm
concat.js36510644editdlrm
concatLimit.js20960644editdlrm
concatSeries.js14730644editdlrm
constant.js29770644editdlrm
detect.js32480644editdlrm
detectLimit.js18340644editdlrm
detectSeries.js17400644editdlrm
dir.js12970644editdlrm
doDuring.js23030644editdlrm
doUntil.js17060644editdlrm
doWhilst.js23030644editdlrm
during.js23330644editdlrm
each.js40240644editdlrm
eachLimit.js17890644editdlrm
eachOf.js57460644editdlrm
eachOfLimit.js16370644editdlrm
eachOfSeries.js13290644editdlrm
eachSeries.js15750644editdlrm
ensureAsync.js23140644editdlrm
every.js35580644editdlrm
everyLimit.js17500644editdlrm
everySeries.js16440644editdlrm
filter.js28970644editdlrm
filterLimit.js16540644editdlrm
filterSeries.js15460644editdlrm
find.js32480644editdlrm
findLimit.js18340644editdlrm
findSeries.js17400644editdlrm
flatMap.js36510644editdlrm
flatMapLimit.js20960644editdlrm
flatMapSeries.js14730644editdlrm
foldl.js48810644editdlrm
foldr.js14980644editdlrm
forEach.js40240644editdlrm
forEachLimit.js17890644editdlrm
forEachOf.js57460644editdlrm
forEachOfLimit.js16370644editdlrm
forEachOfSeries.js13290644editdlrm
forEachSeries.js15750644editdlrm
forever.js21210644editdlrm
groupBy.js35970644editdlrm
groupByLimit.js24490644editdlrm
groupBySeries.js13300644editdlrm
index.js197300644editdlrm
inject.js48810644editdlrm
LICENSE10630644editdlrm
log.js11970644editdlrm
map.js45950644editdlrm
mapLimit.js16190644editdlrm
mapSeries.js15140644editdlrm
mapValues.js45890644editdlrm
mapValuesLimit.js21200644editdlrm
mapValuesSeries.js13770644editdlrm
memoize.js30730644editdlrm
nextTick.js14780644editdlrm
package.json22040644editdlrm
parallel.js55730644editdlrm
parallelLimit.js15100644editdlrm
priorityQueue.js27120644editdlrm
queue.js73800644editdlrm
race.js21350644editdlrm
README.md32160644editdlrm
reduce.js48810644editdlrm
reduceRight.js14980644editdlrm
reflect.js22690644editdlrm
reflectAll.js24520644editdlrm
reject.js26750644editdlrm
rejectLimit.js15770644editdlrm
rejectSeries.js14690644editdlrm
retry.js55270644editdlrm
retryable.js25380644editdlrm
select.js28970644editdlrm
selectLimit.js16540644editdlrm
selectSeries.js15460644editdlrm
seq.js26560644editdlrm
series.js58220644editdlrm
setImmediate.js13920644editdlrm
some.js38020644editdlrm
someLimit.js17850644editdlrm
someSeries.js16790644editdlrm
sortBy.js62130644editdlrm
timeout.js27580644editdlrm
times.js14860644editdlrm
timesLimit.js14480644editdlrm
timesSeries.js10600644editdlrm
transform.js55660644editdlrm
tryEach.js25430644editdlrm
unmemoize.js6680644editdlrm
until.js20770644editdlrm
waterfall.js32060644editdlrm
whilst.js23330644editdlrm
wrapSync.js37390644editdlrm
Edit: /var/www/greso.tech/server/nsm/node_modules/async/autoInject.js (7092B)
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = autoInject; var _auto = require('./auto.js'); var _auto2 = _interopRequireDefault(_auto); var _wrapAsync = require('./internal/wrapAsync.js'); var _wrapAsync2 = _interopRequireDefault(_wrapAsync); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var FN_ARGS = /^(?:async\s+)?(?:function)?\s*\w*\s*\(\s*([^)]+)\s*\)(?:\s*{)/; var ARROW_FN_ARGS = /^(?:async\s+)?\(?\s*([^)=]+)\s*\)?(?:\s*=>)/; var FN_ARG_SPLIT = /,/; var FN_ARG = /(=.+)?(\s*)$/; function stripComments(string) { let stripped = ''; let index = 0; let endBlockComment = string.indexOf('*/'); while (index < string.length) { if (string[index] === '/' && string[index + 1] === '/') { // inline comment let endIndex = string.indexOf('\n', index); index = endIndex === -1 ? string.length : endIndex; } else if (endBlockComment !== -1 && string[index] === '/' && string[index + 1] === '*') { // block comment let endIndex = string.indexOf('*/', index); if (endIndex !== -1) { index = endIndex + 2; endBlockComment = string.indexOf('*/', index); } else { stripped += string[index]; index++; } } else { stripped += string[index]; index++; } } return stripped; } function parseParams(func) { const src = stripComments(func.toString()); let match = src.match(FN_ARGS); if (!match) { match = src.match(ARROW_FN_ARGS); } if (!match) throw new Error('could not parse args in autoInject\nSource:\n' + src); let [, args] = match; return args.replace(/\s/g, '').split(FN_ARG_SPLIT).map(arg => arg.replace(FN_ARG, '').trim()); } /** * A dependency-injected version of the [async.auto]{@link module:ControlFlow.auto} function. Dependent * tasks are specified as parameters to the function, after the usual callback * parameter, with the parameter names matching the names of the tasks it * depends on. This can provide even more readable task graphs which can be * easier to maintain. * * If a final callback is specified, the task results are similarly injected, * specified as named parameters after the initial error parameter. * * The autoInject function is purely syntactic sugar and its semantics are * otherwise equivalent to [async.auto]{@link module:ControlFlow.auto}. * * @name autoInject * @static * @memberOf module:ControlFlow * @method * @see [async.auto]{@link module:ControlFlow.auto} * @category Control Flow * @param {Object} tasks - An object, each of whose properties is an {@link AsyncFunction} of * the form 'func([dependencies...], callback). The object's key of a property * serves as the name of the task defined by that property, i.e. can be used * when specifying requirements for other tasks. * * The `callback` parameter is a `callback(err, result)` which must be called * when finished, passing an `error` (which can be `null`) and the result of * the function's execution. The remaining parameters name other tasks on * which the task is dependent, and the results from those tasks are the * arguments of those parameters. * @param {Function} [callback] - An optional callback which is called when all * the tasks have been completed. It receives the `err` argument if any `tasks` * pass an error to their callback, and a `results` object with any completed * task results, similar to `auto`. * @returns {Promise} a promise, if no callback is passed * @example * * // The example from `auto` can be rewritten as follows: * async.autoInject({ * get_data: function(callback) { * // async code to get some data * callback(null, 'data', 'converted to array'); * }, * make_folder: function(callback) { * // async code to create a directory to store a file in * // this is run at the same time as getting the data * callback(null, 'folder'); * }, * write_file: function(get_data, make_folder, callback) { * // once there is some data and the directory exists, * // write the data to a file in the directory * callback(null, 'filename'); * }, * email_link: function(write_file, callback) { * // once the file is written let's email a link to it... * // write_file contains the filename returned by write_file. * callback(null, {'file':write_file, 'email':'user@example.com'}); * } * }, function(err, results) { * console.log('err = ', err); * console.log('email_link = ', results.email_link); * }); * * // If you are using a JS minifier that mangles parameter names, `autoInject` * // will not work with plain functions, since the parameter names will be * // collapsed to a single letter identifier. To work around this, you can * // explicitly specify the names of the parameters your task function needs * // in an array, similar to Angular.js dependency injection. * * // This still has an advantage over plain `auto`, since the results a task * // depends on are still spread into arguments. * async.autoInject({ * //... * write_file: ['get_data', 'make_folder', function(get_data, make_folder, callback) { * callback(null, 'filename'); * }], * email_link: ['write_file', function(write_file, callback) { * callback(null, {'file':write_file, 'email':'user@example.com'}); * }] * //... * }, function(err, results) { * console.log('err = ', err); * console.log('email_link = ', results.email_link); * }); */ function autoInject(tasks, callback) { var newTasks = {}; Object.keys(tasks).forEach(key => { var taskFn = tasks[key]; var params; var fnIsAsync = (0, _wrapAsync.isAsync)(taskFn); var hasNoDeps = !fnIsAsync && taskFn.length === 1 || fnIsAsync && taskFn.length === 0; if (Array.isArray(taskFn)) { params = [...taskFn]; taskFn = params.pop(); newTasks[key] = params.concat(params.length > 0 ? newTask : taskFn); } else if (hasNoDeps) { // no dependencies, use the function as-is newTasks[key] = taskFn; } else { params = parseParams(taskFn); if (taskFn.length === 0 && !fnIsAsync && params.length === 0) { throw new Error("autoInject task functions require explicit parameters."); } // remove callback param if (!fnIsAsync) params.pop(); newTasks[key] = params.concat(newTask); } function newTask(results, taskCb) { var newArgs = params.map(name => results[name]); newArgs.push(taskCb); (0, _wrapAsync2.default)(taskFn)(...newArgs); } }); return (0, _auto2.default)(newTasks, callback); } module.exports = exports['default'];