@kingdiablo/auditor
Version:
A lightweight and customizable audit logger for Node.js apps. Tracks database changes, errors, and user actions with support for external loggers like Winston or Pino.
1 lines • 1.88 kB
Source Map (JSON)
{"version":3,"sources":["../node_modules/koa-compose/index.js"],"sourcesContent":["'use strict'\n\n/**\n * Expose compositor.\n */\n\nmodule.exports = compose\n\n/**\n * Compose `middleware` returning\n * a fully valid middleware comprised\n * of all those which are passed.\n *\n * @param {Array} middleware\n * @return {Function}\n * @api public\n */\n\nfunction compose (middleware) {\n if (!Array.isArray(middleware)) throw new TypeError('Middleware stack must be an array!')\n for (const fn of middleware) {\n if (typeof fn !== 'function') throw new TypeError('Middleware must be composed of functions!')\n }\n\n /**\n * @param {Object} context\n * @return {Promise}\n * @api public\n */\n\n return function (context, next) {\n // last called middleware #\n let index = -1\n return dispatch(0)\n function dispatch (i) {\n if (i <= index) return Promise.reject(new Error('next() called multiple times'))\n index = i\n let fn = middleware[i]\n if (i === middleware.length) fn = next\n if (!fn) return Promise.resolve()\n try {\n return Promise.resolve(fn(context, dispatch.bind(null, i + 1)));\n } catch (err) {\n return Promise.reject(err)\n }\n }\n }\n}\n"],"mappings":";;;;;AAAA;AAAA;AAMA,WAAO,UAAU;AAYjB,aAAS,QAAS,YAAY;AAC5B,UAAI,CAAC,MAAM,QAAQ,UAAU,EAAG,OAAM,IAAI,UAAU,oCAAoC;AACxF,iBAAW,MAAM,YAAY;AAC3B,YAAI,OAAO,OAAO,WAAY,OAAM,IAAI,UAAU,2CAA2C;AAAA,MAC/F;AAQA,aAAO,SAAU,SAAS,MAAM;AAE9B,YAAI,QAAQ;AACZ,eAAO,SAAS,CAAC;AACjB,iBAAS,SAAU,GAAG;AACpB,cAAI,KAAK,MAAO,QAAO,QAAQ,OAAO,IAAI,MAAM,8BAA8B,CAAC;AAC/E,kBAAQ;AACR,cAAI,KAAK,WAAW,CAAC;AACrB,cAAI,MAAM,WAAW,OAAQ,MAAK;AAClC,cAAI,CAAC,GAAI,QAAO,QAAQ,QAAQ;AAChC,cAAI;AACF,mBAAO,QAAQ,QAAQ,GAAG,SAAS,SAAS,KAAK,MAAM,IAAI,CAAC,CAAC,CAAC;AAAA,UAChE,SAAS,KAAK;AACZ,mBAAO,QAAQ,OAAO,GAAG;AAAA,UAC3B;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA;AAAA;","names":[]}