codigo0/backend/node_modules/async
planetazuzu 5d7a6500fe refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades
-  Ticket 1.1: Estructura Clean Architecture en backend
-  Ticket 1.2: Schemas Zod compartidos
-  Ticket 1.3: Refactorización drugs.ts (1362 → 8 archivos modulares)
-  Ticket 1.4: Refactorización procedures.ts (3583 → 6 archivos modulares)
-  Ticket 1.5: Eliminación de duplicidades (~50 líneas)

Cambios principales:
- Creada estructura Clean Architecture en backend/src/
- Schemas Zod compartidos en backend/src/shared/schemas/
- Refactorización modular de drugs y procedures
- Utilidades genéricas en src/utils/ (filter, validation)
- Eliminados scripts obsoletos y documentación antigua
- Corregidos errores: QueryClient, import test-error-handling
- Build verificado y funcionando correctamente
2026-01-25 21:09:47 +01:00
..
dist refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
internal refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
all.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
allLimit.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
allSeries.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
any.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
anyLimit.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
anySeries.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
apply.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
applyEach.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
applyEachSeries.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
asyncify.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
auto.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
autoInject.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
bower.json refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
cargo.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
cargoQueue.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
CHANGELOG.md refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
compose.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
concat.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
concatLimit.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
concatSeries.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
constant.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
detect.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
detectLimit.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
detectSeries.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
dir.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
doDuring.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
doUntil.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
doWhilst.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
during.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
each.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
eachLimit.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
eachOf.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
eachOfLimit.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
eachOfSeries.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
eachSeries.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
ensureAsync.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
every.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
everyLimit.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
everySeries.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
filter.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
filterLimit.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
filterSeries.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
find.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
findLimit.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
findSeries.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
flatMap.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
flatMapLimit.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
flatMapSeries.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
foldl.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
foldr.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
forEach.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
forEachLimit.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
forEachOf.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
forEachOfLimit.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
forEachOfSeries.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
forEachSeries.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
forever.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
groupBy.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
groupByLimit.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
groupBySeries.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
index.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
inject.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
LICENSE refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
log.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
map.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
mapLimit.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
mapSeries.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
mapValues.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
mapValuesLimit.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
mapValuesSeries.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
memoize.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
nextTick.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
package.json refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
parallel.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
parallelLimit.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
priorityQueue.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
queue.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
race.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
README.md refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
reduce.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
reduceRight.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
reflect.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
reflectAll.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
reject.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
rejectLimit.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
rejectSeries.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
retry.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
retryable.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
select.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
selectLimit.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
selectSeries.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
seq.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
series.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
setImmediate.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
some.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
someLimit.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
someSeries.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
sortBy.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
timeout.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
times.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
timesLimit.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
timesSeries.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
transform.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
tryEach.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
unmemoize.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
until.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
waterfall.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
whilst.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00
wrapSync.js refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades 2026-01-25 21:09:47 +01:00

Async Logo

Github Actions CI status NPM version Coverage Status Join the chat at https://gitter.im/caolan/async jsDelivr Hits

Async is a utility module which provides straight-forward, powerful functions for working with asynchronous JavaScript. Although originally designed for use with Node.js and installable via npm i async, it can also be used directly in the browser. An ESM/MJS version is included in the main async package that should automatically be used with compatible bundlers such as Webpack and Rollup.

A pure ESM version of Async is available as async-es.

For Documentation, visit https://caolan.github.io/async/

For Async v1.5.x documentation, go HERE

// for use with Node-style callbacks...
var async = require("async");

var obj = {dev: "/dev.json", test: "/test.json", prod: "/prod.json"};
var configs = {};

async.forEachOf(obj, (value, key, callback) => {
    fs.readFile(__dirname + value, "utf8", (err, data) => {
        if (err) return callback(err);
        try {
            configs[key] = JSON.parse(data);
        } catch (e) {
            return callback(e);
        }
        callback();
    });
}, err => {
    if (err) console.error(err.message);
    // configs is now a map of JSON data
    doSomethingWith(configs);
});
var async = require("async");

// ...or ES2017 async functions
async.mapLimit(urls, 5, async function(url) {
    const response = await fetch(url)
    return response.body
}, (err, results) => {
    if (err) throw err
    // results is now an array of the response bodies
    console.log(results)
})