@autofleet/node-common 4.0.11 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +6 -1
- package/dist/index.d.ts +6 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var express=require('express');var
|
|
1
|
+
'use strict';var express=require('express'),node_stream=require('node:stream');var u=Object.defineProperty;var a=(e,n)=>u(e,"name",{value:n,configurable:true});var i=["all","get","post","put","delete","patch","options","head"],R=a((e,n)=>async(t,o,r)=>{try{await n(t,o,r);}catch(p){let s=p;if(e.error(s.message),s.statusCode&&s.statusCode<500){o.status(400).json({error:s.message,status:"ERROR"});return}r(s);}},"AfEntryPoint"),f=a(({logger:e,...n})=>{let t=express.Router({mergeParams:true,...n});return i.forEach(r=>{let p=t[r].bind(t),s=a((...m)=>p(...m.map(o)),"newMethodHandler");t[r]=s;}),t;function o(r){return Array.isArray(r)?r.map(o):typeof r=="function"?R(e,r):r}},"AfRouter");async function y(e,n,{concurrency:t,signal:o}={}){return t?node_stream.Readable.from(e).map(n,{concurrency:t,signal:o}).toArray():Promise.all(Array.from(e,r=>n(r,o?{signal:o}:void 0)))}a(y,"promiseMap");var A=Object.freeze({ok:"OK",error:"ERROR",fail:"FAIL"});var w=f;exports.AfRouter=f;exports.Router=w;exports.consts=A;exports.promiseMap=y;//# sourceMappingURL=index.cjs.map
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/router/index.ts","../src/consts/index.ts","../src/index.ts"],"names":["METHODS","AfEntryPoint","__name","logger","func","req","res","next","err","e","error","message","statusCode","status","json","AfRouter","options","myRouter","Router","mergeParams","forEach","method","internalMethod","bind","newMethodHandler","args","map","argMapper","Array","isArray","
|
|
1
|
+
{"version":3,"sources":["../src/router/index.ts","../src/promise-utils/index.ts","../src/consts/index.ts","../src/index.ts"],"names":["METHODS","AfEntryPoint","__name","logger","func","req","res","next","err","e","error","message","statusCode","status","json","AfRouter","options","myRouter","Router","mergeParams","forEach","method","internalMethod","bind","newMethodHandler","args","map","argMapper","Array","isArray","promiseMap","iterable","handler","concurrency","signal","Readable","from","toArray","Promise","all","item","undefined","consts","Object","freeze","ok","fail"],"mappings":"gKAKO,IAAMA,EAAU,CACrB,KAAA,CACA,KACA,CAAA,MAAA,CACA,KACA,CAAA,QAAA,CACA,QACA,SACA,CAAA,MAAA,CAAA,CAGIC,CAAeC,CAAAA,CAAAA,CAAA,CAACC,CAAAA,CAA+BC,IAAmG,MAAOC,CAAAA,CAAKC,CAAKC,CAAAA,CAAAA,GAAAA,CACvK,GAAI,CACF,MAAMH,CAAAA,CAAKC,CAAKC,CAAAA,CAAAA,CAAKC,CAAAA,EACvB,OAASC,CAAK,CAAA,CACZ,IAAMC,CAAAA,CAAID,CAEV,CAAA,GADAL,EAAOO,KAAMD,CAAAA,CAAAA,CAAEE,OAAO,CAAA,CAClBF,CAAEG,CAAAA,UAAAA,EAAcH,EAAEG,UAAa,CAAA,GAAA,CAAK,CACtCN,CAAAA,CAAIO,MAAO,CAAA,GAAA,EAAKC,IAAK,CAAA,CAAEJ,KAAOD,CAAAA,CAAAA,CAAEE,OAASE,CAAAA,MAAAA,CAAQ,OAAQ,CAAA,CAAA,CACzD,MACF,CACAN,CAAKE,CAAAA,CAAAA,EACP,CACF,CAAA,CAZqB,cAeRM,CAAAA,CAAAA,CAAAA,CAAWb,CAAA,CAAA,CAAC,CAAEC,MAAAA,CAAAA,CAAAA,CAAQ,GAAGa,CAAAA,CAA6D,GAAA,CACjG,IAAMC,CAAWC,CAAAA,cAAAA,CAAO,CAAEC,WAAAA,CAAa,IAAM,CAAA,GAAGH,CAAQ,CAAA,CAAA,CACxDhB,OAAAA,CAAAA,CAAQoB,OAASC,CAAAA,CAAAA,EAAAA,CACf,IAAMC,CAAAA,CAAiBL,CAASI,CAAAA,CAAAA,CAAQE,CAAAA,IAAAA,CAAKN,CAAAA,CACvCO,CAAAA,CAAAA,CAA2CtB,CAAA,CAAA,CAAA,GAAIuB,CAAyBH,GAAAA,CAAAA,CAAAA,GAAkBG,CAAKC,CAAAA,GAAAA,CAAIC,CAAAA,CAAAA,CAAxD,CAAA,kBAAA,CAAA,CACjDV,EAASI,CAAAA,CAAAA,CAAUG,EACrB,CAAA,CACOP,CAAAA,CAAAA,CAEP,SAASU,CAAUF,CAAAA,CAAAA,CAAa,CAC9B,OAAIG,KAAMC,CAAAA,OAAAA,CAAQJ,CAAAA,CAAcA,CAAAA,CAAAA,CAAKC,GAAIC,CAAAA,CAAAA,CAClC,CAAA,OAAOF,GAAS,UAAaxB,CAAAA,CAAAA,CAAaE,CAAQsB,CAAAA,CAAAA,CAAmBA,CAAAA,CAC9E,CACF,CAAA,CAbwB,UC/BxB,EAEA,eAAsBK,CAAAA,CACpBC,CACAC,CAAAA,CAAAA,CACA,CAAEC,WAAAA,CAAAA,CAAAA,CAAaC,MAAAA,CAAAA,CAAM,CAAqC,CAAA,GAAE,CAE5D,OAAKD,CAGEE,CAAAA,oBAAAA,CAASC,IAAKL,CAAAA,CAAAA,EAAUL,GAAIM,CAAAA,CAAAA,CAAS,CAAEC,WAAAA,CAAAA,CAAaC,CAAAA,MAAAA,CAAAA,CAAO,CAAA,CAAA,CAAGG,OAAO,EAAA,CAFnEC,OAAQC,CAAAA,GAAAA,CAAIX,MAAMQ,IAAKL,CAAAA,CAAAA,CAAUS,CAAQR,EAAAA,CAAAA,CAAQQ,CAAMN,CAAAA,CAAAA,CAAS,CAAEA,MAAAA,CAAAA,CAAO,CAAIO,CAAAA,MAAAA,CAAAA,CAAAA,CAGxF,CATsBX,CAAAA,CAAAA,CAAAA,CAAAA,YAAAA,CAAAA,CCFTY,IAAAA,CAAAA,CAASC,OAAOC,MAAO,CAAA,CAClCC,EAAI,CAAA,IAAA,CACJnC,KAAO,CAAA,OAAA,CACPoC,KAAM,MACR,CAAA,ECGO,IAAM5B,CAASH,CAAAA","file":"index.cjs","sourcesContent":["import {\n Router, type Request, type Response, type NextFunction, type Handler, type RouterOptions, type IRouterMatcher,\n} from 'express';\nimport type { LoggerInstanceManager } from '@autofleet/logger';\n\nexport const METHODS = [\n 'all',\n 'get',\n 'post',\n 'put',\n 'delete',\n 'patch',\n 'options',\n 'head',\n] as const;\n\nconst AfEntryPoint = (logger: LoggerInstanceManager, func: (req: Request, res: Response, nextFn: NextFunction) => void | PromiseLike<void>): Handler => async (req, res, next) => {\n try {\n await func(req, res, next);\n } catch (err) {\n const e = err as Error & { statusCode?: number; };\n logger.error(e.message);\n if (e.statusCode && e.statusCode < 500) {\n res.status(400).json({ error: e.message, status: 'ERROR' });\n return;\n }\n next(e);\n }\n};\n\n/** @returns a monkey-patched express router that will handle async routes (and force a 400 status for codes <500) */\nexport const AfRouter = ({ logger, ...options }: RouterOptions & { logger: LoggerInstanceManager; }): Router => {\n const myRouter = Router({ mergeParams: true, ...options });\n METHODS.forEach((method) => {\n const internalMethod = myRouter[method].bind(myRouter);\n const newMethodHandler: IRouterMatcher<Router> = (...args: [...unknown[]]) => internalMethod(...args.map(argMapper) as [string]);\n myRouter[method] = newMethodHandler;\n });\n return myRouter;\n\n function argMapper(args: unknown): unknown {\n if (Array.isArray(args)) return args.map(argMapper);\n return typeof args === 'function' ? AfEntryPoint(logger, args as Handler) : args;\n }\n};\n","import { Readable } from 'node:stream';\n\nexport async function promiseMap<T, U>(\n iterable: T[] | Iterable<T>,\n handler: (item: T, options?: { signal?: AbortSignal; }) => PromiseLike<U>,\n { concurrency, signal }: Parameters<Readable['map']>[1] = {},\n): Promise<U[]> {\n if (!concurrency) {\n return Promise.all(Array.from(iterable, item => handler(item, signal ? { signal } : undefined)));\n }\n return Readable.from(iterable).map(handler, { concurrency, signal }).toArray();\n}\n","export const consts = Object.freeze({\n ok: 'OK',\n error: 'ERROR',\n fail: 'FAIL',\n});\n","import { AfRouter } from './router';\n\nexport { AfRouter } from './router';\nexport { promiseMap } from './promise-utils';\n\nexport { consts } from './consts';\n\nexport const Router = AfRouter;\n"]}
|
package/dist/index.d.cts
CHANGED
|
@@ -2,12 +2,17 @@ import * as _autofleet_logger from '@autofleet/logger';
|
|
|
2
2
|
import { LoggerInstanceManager } from '@autofleet/logger';
|
|
3
3
|
import * as express from 'express';
|
|
4
4
|
import { RouterOptions, Router as Router$1 } from 'express';
|
|
5
|
+
import { Readable } from 'node:stream';
|
|
5
6
|
|
|
6
7
|
/** @returns a monkey-patched express router that will handle async routes (and force a 400 status for codes <500) */
|
|
7
8
|
declare const AfRouter: ({ logger, ...options }: RouterOptions & {
|
|
8
9
|
logger: LoggerInstanceManager;
|
|
9
10
|
}) => Router$1;
|
|
10
11
|
|
|
12
|
+
declare function promiseMap<T, U>(iterable: T[] | Iterable<T>, handler: (item: T, options?: {
|
|
13
|
+
signal?: AbortSignal;
|
|
14
|
+
}) => PromiseLike<U>, { concurrency, signal }?: Parameters<Readable['map']>[1]): Promise<U[]>;
|
|
15
|
+
|
|
11
16
|
declare const consts: Readonly<{
|
|
12
17
|
ok: "OK";
|
|
13
18
|
error: "ERROR";
|
|
@@ -18,4 +23,4 @@ declare const Router: ({ logger, ...options }: express.RouterOptions & {
|
|
|
18
23
|
logger: _autofleet_logger.LoggerInstanceManager;
|
|
19
24
|
}) => express.Router;
|
|
20
25
|
|
|
21
|
-
export { AfRouter, Router, consts };
|
|
26
|
+
export { AfRouter, Router, consts, promiseMap };
|
package/dist/index.d.ts
CHANGED
|
@@ -2,12 +2,17 @@ import * as _autofleet_logger from '@autofleet/logger';
|
|
|
2
2
|
import { LoggerInstanceManager } from '@autofleet/logger';
|
|
3
3
|
import * as express from 'express';
|
|
4
4
|
import { RouterOptions, Router as Router$1 } from 'express';
|
|
5
|
+
import { Readable } from 'node:stream';
|
|
5
6
|
|
|
6
7
|
/** @returns a monkey-patched express router that will handle async routes (and force a 400 status for codes <500) */
|
|
7
8
|
declare const AfRouter: ({ logger, ...options }: RouterOptions & {
|
|
8
9
|
logger: LoggerInstanceManager;
|
|
9
10
|
}) => Router$1;
|
|
10
11
|
|
|
12
|
+
declare function promiseMap<T, U>(iterable: T[] | Iterable<T>, handler: (item: T, options?: {
|
|
13
|
+
signal?: AbortSignal;
|
|
14
|
+
}) => PromiseLike<U>, { concurrency, signal }?: Parameters<Readable['map']>[1]): Promise<U[]>;
|
|
15
|
+
|
|
11
16
|
declare const consts: Readonly<{
|
|
12
17
|
ok: "OK";
|
|
13
18
|
error: "ERROR";
|
|
@@ -18,4 +23,4 @@ declare const Router: ({ logger, ...options }: express.RouterOptions & {
|
|
|
18
23
|
logger: _autofleet_logger.LoggerInstanceManager;
|
|
19
24
|
}) => express.Router;
|
|
20
25
|
|
|
21
|
-
export { AfRouter, Router, consts };
|
|
26
|
+
export { AfRouter, Router, consts, promiseMap };
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {Router}from'express';var
|
|
1
|
+
import {Router}from'express';import {Readable}from'node:stream';var u=Object.defineProperty;var a=(e,n)=>u(e,"name",{value:n,configurable:true});var i=["all","get","post","put","delete","patch","options","head"],R=a((e,n)=>async(t,o,r)=>{try{await n(t,o,r);}catch(p){let s=p;if(e.error(s.message),s.statusCode&&s.statusCode<500){o.status(400).json({error:s.message,status:"ERROR"});return}r(s);}},"AfEntryPoint"),f=a(({logger:e,...n})=>{let t=Router({mergeParams:true,...n});return i.forEach(r=>{let p=t[r].bind(t),s=a((...m)=>p(...m.map(o)),"newMethodHandler");t[r]=s;}),t;function o(r){return Array.isArray(r)?r.map(o):typeof r=="function"?R(e,r):r}},"AfRouter");async function y(e,n,{concurrency:t,signal:o}={}){return t?Readable.from(e).map(n,{concurrency:t,signal:o}).toArray():Promise.all(Array.from(e,r=>n(r,o?{signal:o}:void 0)))}a(y,"promiseMap");var A=Object.freeze({ok:"OK",error:"ERROR",fail:"FAIL"});var w=f;export{f as AfRouter,w as Router,A as consts,y as promiseMap};//# sourceMappingURL=index.js.map
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/router/index.ts","../src/consts/index.ts","../src/index.ts"],"names":["METHODS","AfEntryPoint","__name","logger","func","req","res","next","err","e","error","message","statusCode","status","json","AfRouter","options","myRouter","Router","mergeParams","forEach","method","internalMethod","bind","newMethodHandler","args","map","argMapper","Array","isArray","
|
|
1
|
+
{"version":3,"sources":["../src/router/index.ts","../src/promise-utils/index.ts","../src/consts/index.ts","../src/index.ts"],"names":["METHODS","AfEntryPoint","__name","logger","func","req","res","next","err","e","error","message","statusCode","status","json","AfRouter","options","myRouter","Router","mergeParams","forEach","method","internalMethod","bind","newMethodHandler","args","map","argMapper","Array","isArray","promiseMap","iterable","handler","concurrency","signal","Readable","from","toArray","Promise","all","item","undefined","consts","Object","freeze","ok","fail"],"mappings":"iJAKO,IAAMA,EAAU,CACrB,KAAA,CACA,KACA,CAAA,MAAA,CACA,KACA,CAAA,QAAA,CACA,QACA,SACA,CAAA,MAAA,CAAA,CAGIC,CAAeC,CAAAA,CAAAA,CAAA,CAACC,CAAAA,CAA+BC,IAAmG,MAAOC,CAAAA,CAAKC,CAAKC,CAAAA,CAAAA,GAAAA,CACvK,GAAI,CACF,MAAMH,CAAAA,CAAKC,CAAKC,CAAAA,CAAAA,CAAKC,CAAAA,EACvB,OAASC,CAAK,CAAA,CACZ,IAAMC,CAAAA,CAAID,CAEV,CAAA,GADAL,EAAOO,KAAMD,CAAAA,CAAAA,CAAEE,OAAO,CAAA,CAClBF,CAAEG,CAAAA,UAAAA,EAAcH,EAAEG,UAAa,CAAA,GAAA,CAAK,CACtCN,CAAAA,CAAIO,MAAO,CAAA,GAAA,EAAKC,IAAK,CAAA,CAAEJ,KAAOD,CAAAA,CAAAA,CAAEE,OAASE,CAAAA,MAAAA,CAAQ,OAAQ,CAAA,CAAA,CACzD,MACF,CACAN,CAAKE,CAAAA,CAAAA,EACP,CACF,CAAA,CAZqB,cAeRM,CAAAA,CAAAA,CAAAA,CAAWb,CAAA,CAAA,CAAC,CAAEC,MAAAA,CAAAA,CAAAA,CAAQ,GAAGa,CAAAA,CAA6D,GAAA,CACjG,IAAMC,CAAWC,CAAAA,MAAAA,CAAO,CAAEC,WAAAA,CAAa,IAAM,CAAA,GAAGH,CAAQ,CAAA,CAAA,CACxDhB,OAAAA,CAAAA,CAAQoB,OAASC,CAAAA,CAAAA,EAAAA,CACf,IAAMC,CAAAA,CAAiBL,CAASI,CAAAA,CAAAA,CAAQE,CAAAA,IAAAA,CAAKN,CAAAA,CACvCO,CAAAA,CAAAA,CAA2CtB,CAAA,CAAA,CAAA,GAAIuB,CAAyBH,GAAAA,CAAAA,CAAAA,GAAkBG,CAAKC,CAAAA,GAAAA,CAAIC,CAAAA,CAAAA,CAAxD,CAAA,kBAAA,CAAA,CACjDV,EAASI,CAAAA,CAAAA,CAAUG,EACrB,CAAA,CACOP,CAAAA,CAAAA,CAEP,SAASU,CAAUF,CAAAA,CAAAA,CAAa,CAC9B,OAAIG,KAAMC,CAAAA,OAAAA,CAAQJ,CAAAA,CAAcA,CAAAA,CAAAA,CAAKC,GAAIC,CAAAA,CAAAA,CAClC,CAAA,OAAOF,GAAS,UAAaxB,CAAAA,CAAAA,CAAaE,CAAQsB,CAAAA,CAAAA,CAAmBA,CAAAA,CAC9E,CACF,CAAA,CAbwB,UC/BxB,EAEA,eAAsBK,CAAAA,CACpBC,CACAC,CAAAA,CAAAA,CACA,CAAEC,WAAAA,CAAAA,CAAAA,CAAaC,MAAAA,CAAAA,CAAM,CAAqC,CAAA,GAAE,CAE5D,OAAKD,CAGEE,CAAAA,QAAAA,CAASC,IAAKL,CAAAA,CAAAA,EAAUL,GAAIM,CAAAA,CAAAA,CAAS,CAAEC,WAAAA,CAAAA,CAAaC,CAAAA,MAAAA,CAAAA,CAAO,CAAA,CAAA,CAAGG,OAAO,EAAA,CAFnEC,OAAQC,CAAAA,GAAAA,CAAIX,MAAMQ,IAAKL,CAAAA,CAAAA,CAAUS,CAAQR,EAAAA,CAAAA,CAAQQ,CAAMN,CAAAA,CAAAA,CAAS,CAAEA,MAAAA,CAAAA,CAAO,CAAIO,CAAAA,MAAAA,CAAAA,CAAAA,CAGxF,CATsBX,CAAAA,CAAAA,CAAAA,CAAAA,YAAAA,CAAAA,CCFTY,IAAAA,CAAAA,CAASC,OAAOC,MAAO,CAAA,CAClCC,EAAI,CAAA,IAAA,CACJnC,KAAO,CAAA,OAAA,CACPoC,KAAM,MACR,CAAA,ECGO,IAAM5B,CAASH,CAAAA","file":"index.js","sourcesContent":["import {\n Router, type Request, type Response, type NextFunction, type Handler, type RouterOptions, type IRouterMatcher,\n} from 'express';\nimport type { LoggerInstanceManager } from '@autofleet/logger';\n\nexport const METHODS = [\n 'all',\n 'get',\n 'post',\n 'put',\n 'delete',\n 'patch',\n 'options',\n 'head',\n] as const;\n\nconst AfEntryPoint = (logger: LoggerInstanceManager, func: (req: Request, res: Response, nextFn: NextFunction) => void | PromiseLike<void>): Handler => async (req, res, next) => {\n try {\n await func(req, res, next);\n } catch (err) {\n const e = err as Error & { statusCode?: number; };\n logger.error(e.message);\n if (e.statusCode && e.statusCode < 500) {\n res.status(400).json({ error: e.message, status: 'ERROR' });\n return;\n }\n next(e);\n }\n};\n\n/** @returns a monkey-patched express router that will handle async routes (and force a 400 status for codes <500) */\nexport const AfRouter = ({ logger, ...options }: RouterOptions & { logger: LoggerInstanceManager; }): Router => {\n const myRouter = Router({ mergeParams: true, ...options });\n METHODS.forEach((method) => {\n const internalMethod = myRouter[method].bind(myRouter);\n const newMethodHandler: IRouterMatcher<Router> = (...args: [...unknown[]]) => internalMethod(...args.map(argMapper) as [string]);\n myRouter[method] = newMethodHandler;\n });\n return myRouter;\n\n function argMapper(args: unknown): unknown {\n if (Array.isArray(args)) return args.map(argMapper);\n return typeof args === 'function' ? AfEntryPoint(logger, args as Handler) : args;\n }\n};\n","import { Readable } from 'node:stream';\n\nexport async function promiseMap<T, U>(\n iterable: T[] | Iterable<T>,\n handler: (item: T, options?: { signal?: AbortSignal; }) => PromiseLike<U>,\n { concurrency, signal }: Parameters<Readable['map']>[1] = {},\n): Promise<U[]> {\n if (!concurrency) {\n return Promise.all(Array.from(iterable, item => handler(item, signal ? { signal } : undefined)));\n }\n return Readable.from(iterable).map(handler, { concurrency, signal }).toArray();\n}\n","export const consts = Object.freeze({\n ok: 'OK',\n error: 'ERROR',\n fail: 'FAIL',\n});\n","import { AfRouter } from './router';\n\nexport { AfRouter } from './router';\nexport { promiseMap } from './promise-utils';\n\nexport { consts } from './consts';\n\nexport const Router = AfRouter;\n"]}
|