mappersmith
Version:
It is a lightweight rest client for node.js and the browser
1 lines • 1.57 kB
Source Map (JSON)
{"version":3,"sources":["../../../src/middleware/global-error-handler.ts"],"sourcesContent":["import type { Response } from '../response'\nimport type { Middleware } from './index'\nimport { configs } from '../index'\n\nexport type ErrorHandlerMiddlewareCallback = (response: Response) => boolean\nlet handler: ErrorHandlerMiddlewareCallback | null = null\n\nexport const setErrorHandler = (errorHandler: ErrorHandlerMiddlewareCallback) => {\n handler = errorHandler\n}\n\n/**\n * Provides a catch-all function for all requests. If the catch-all\n * function returns `true` it prevents the original promise to continue.\n */\nexport const GlobalErrorHandlerMiddleware: Middleware = () => ({\n response(next) {\n if (!configs.Promise) {\n return next()\n }\n\n return new configs.Promise((resolve, reject) => {\n next()\n .then((response) => resolve(response))\n .catch((response) => {\n let proceed = true\n handler && (proceed = !(handler(response) === true))\n proceed && reject(response)\n })\n })\n },\n})\n\nexport default GlobalErrorHandlerMiddleware\n"],"mappings":";AAEA,SAAS,eAAe;AAGxB,IAAI,UAAiD;AAE9C,IAAM,kBAAkB,CAAC,iBAAiD;AAC/E,YAAU;AACZ;AAMO,IAAM,+BAA2C,OAAO;AAAA,EAC7D,SAAS,MAAM;AACb,QAAI,CAAC,QAAQ,SAAS;AACpB,aAAO,KAAK;AAAA,IACd;AAEA,WAAO,IAAI,QAAQ,QAAQ,CAAC,SAAS,WAAW;AAC9C,WAAK,EACF,KAAK,CAAC,aAAa,QAAQ,QAAQ,CAAC,EACpC,MAAM,CAAC,aAAa;AACnB,YAAI,UAAU;AACd,oBAAY,UAAU,EAAE,QAAQ,QAAQ,MAAM;AAC9C,mBAAW,OAAO,QAAQ;AAAA,MAC5B,CAAC;AAAA,IACL,CAAC;AAAA,EACH;AACF;AAEA,IAAO,+BAAQ;","names":[]}