@autofleet/nitur 2.2.1-2 → 2.2.1-4
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/lib/health/liveness.cjs +1 -1
- package/lib/health/liveness.cjs.map +1 -1
- package/lib/health/liveness.js +1 -1
- package/lib/health/liveness.js.map +1 -1
- package/lib/health/readiness.cjs +1 -1
- package/lib/health/readiness.cjs.map +1 -1
- package/lib/health/readiness.js +1 -1
- package/lib/health/readiness.js.map +1 -1
- package/lib/health/shared.cjs.map +1 -1
- package/lib/health/shared.d.cts +3 -2
- package/lib/health/shared.d.ts +3 -2
- package/lib/health/shared.js.map +1 -1
- package/package.json +1 -1
package/lib/health/liveness.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=require(`../logger.cjs`),t=require(`./shared.cjs`);function n(n){let r=n?.logger??e.logger;return async(e,n)=>{try{return await t.eventLoopHeartbeat(),n.json({status:`
|
|
1
|
+
const e=require(`../logger.cjs`),t=require(`./shared.cjs`);function n(n){let r=n?.logger??e.logger;return async(e,n)=>{try{return await t.eventLoopHeartbeat(),r.debug?.(`Liveness check passed`,{pid:process.pid}),n.status(200).json({status:`ok`}),!0}catch(e){return r.error(`Liveness failed`,{err:e}),n.status(500).json({err:e.message}),!1}}}exports.livenessEndpoint=n;
|
|
2
2
|
//# sourceMappingURL=liveness.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"liveness.cjs","names":["options?: { logger?: SimpleLogger; }","logger","fallbackLogger","_req: Request","res: Response"],"sources":["../../src/health/liveness.ts"],"sourcesContent":["import type { Request, Response } from 'express';\nimport { logger as fallbackLogger } from '../logger';\nimport { eventLoopHeartbeat } from './shared';\nimport type { SimpleLogger } from './shared';\n\nexport function livenessEndpoint(options?: { logger?: SimpleLogger; }) {\n const logger = options?.logger ?? fallbackLogger;\n\n return async (_req: Request, res: Response): Promise<boolean> => {\n try {\n await eventLoopHeartbeat();\n res.json({ status: '
|
|
1
|
+
{"version":3,"file":"liveness.cjs","names":["options?: { logger?: SimpleLogger; }","logger","fallbackLogger","_req: Request","res: Response"],"sources":["../../src/health/liveness.ts"],"sourcesContent":["import type { Request, Response } from 'express';\nimport { logger as fallbackLogger } from '../logger';\nimport { eventLoopHeartbeat } from './shared';\nimport type { SimpleLogger } from './shared';\n\nexport function livenessEndpoint(options?: { logger?: SimpleLogger; }) {\n const logger = options?.logger ?? fallbackLogger;\n\n return async (_req: Request, res: Response): Promise<boolean> => {\n try {\n await eventLoopHeartbeat();\n logger.debug?.('Liveness check passed', { pid: process.pid });\n res.status(200).json({ status: 'ok' });\n return true;\n } catch (err) {\n logger.error('Liveness failed', { err });\n res.status(500).json({ err: (err as Error).message });\n return false;\n }\n };\n}\n"],"mappings":"2DAKA,SAAgB,EAAiBA,EAAsC,CACrE,IAAMC,EAAS,GAAS,QAAUC,EAAAA,OAElC,OAAO,MAAOC,EAAeC,IAAoC,CAC/D,GAAI,CAIF,OAHA,KAAM,GAAA,oBAAoB,CAC1B,EAAO,QAAQ,wBAAyB,CAAE,IAAK,QAAQ,GAAK,EAAC,CAC7D,EAAI,OAAO,IAAI,CAAC,KAAK,CAAE,OAAQ,IAAM,EAAC,EAC/B,CACR,OAAQ,EAAK,CAGZ,MAFA,GAAO,MAAM,kBAAmB,CAAE,KAAK,EAAC,CACxC,EAAI,OAAO,IAAI,CAAC,KAAK,CAAE,IAAM,EAAc,OAAS,EAAC,EAC9C,CACR,CACF,CACF"}
|
package/lib/health/liveness.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{logger as e}from"../logger.js";import{eventLoopHeartbeat as t}from"./shared.js";function n(n){let r=n?.logger??e;return async(e,n)=>{try{return await t(),n.json({status:`
|
|
1
|
+
import{logger as e}from"../logger.js";import{eventLoopHeartbeat as t}from"./shared.js";function n(n){let r=n?.logger??e;return async(e,n)=>{try{return await t(),r.debug?.(`Liveness check passed`,{pid:process.pid}),n.status(200).json({status:`ok`}),!0}catch(e){return r.error(`Liveness failed`,{err:e}),n.status(500).json({err:e.message}),!1}}}export{n as livenessEndpoint};
|
|
2
2
|
//# sourceMappingURL=liveness.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"liveness.js","names":["options?: { logger?: SimpleLogger; }","logger","fallbackLogger","_req: Request","res: Response"],"sources":["../../src/health/liveness.ts"],"sourcesContent":["import type { Request, Response } from 'express';\nimport { logger as fallbackLogger } from '../logger';\nimport { eventLoopHeartbeat } from './shared';\nimport type { SimpleLogger } from './shared';\n\nexport function livenessEndpoint(options?: { logger?: SimpleLogger; }) {\n const logger = options?.logger ?? fallbackLogger;\n\n return async (_req: Request, res: Response): Promise<boolean> => {\n try {\n await eventLoopHeartbeat();\n res.json({ status: '
|
|
1
|
+
{"version":3,"file":"liveness.js","names":["options?: { logger?: SimpleLogger; }","logger","fallbackLogger","_req: Request","res: Response"],"sources":["../../src/health/liveness.ts"],"sourcesContent":["import type { Request, Response } from 'express';\nimport { logger as fallbackLogger } from '../logger';\nimport { eventLoopHeartbeat } from './shared';\nimport type { SimpleLogger } from './shared';\n\nexport function livenessEndpoint(options?: { logger?: SimpleLogger; }) {\n const logger = options?.logger ?? fallbackLogger;\n\n return async (_req: Request, res: Response): Promise<boolean> => {\n try {\n await eventLoopHeartbeat();\n logger.debug?.('Liveness check passed', { pid: process.pid });\n res.status(200).json({ status: 'ok' });\n return true;\n } catch (err) {\n logger.error('Liveness failed', { err });\n res.status(500).json({ err: (err as Error).message });\n return false;\n }\n };\n}\n"],"mappings":"uFAKA,SAAgB,EAAiBA,EAAsC,CACrE,IAAMC,EAAS,GAAS,QAAUC,EAElC,OAAO,MAAOC,EAAeC,IAAoC,CAC/D,GAAI,CAIF,OAHA,KAAM,IAAoB,CAC1B,EAAO,QAAQ,wBAAyB,CAAE,IAAK,QAAQ,GAAK,EAAC,CAC7D,EAAI,OAAO,IAAI,CAAC,KAAK,CAAE,OAAQ,IAAM,EAAC,EAC/B,CACR,OAAQ,EAAK,CAGZ,MAFA,GAAO,MAAM,kBAAmB,CAAE,KAAK,EAAC,CACxC,EAAI,OAAO,IAAI,CAAC,KAAK,CAAE,IAAM,EAAc,OAAS,EAAC,EAC9C,CACR,CACF,CACF"}
|
package/lib/health/readiness.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=require(`../logger.cjs`),t=require(`./shared.cjs`);function n(n){let{rabbit:r,sequelize:i,redis:a,elasticsearch:o,timeoutMs:s=400,logger:c=e.logger}=n;return async(e,n)=>{try{await t.eventLoopHeartbeat();let e=[];return r&&e.push(r.isConnected().then(e=>e
|
|
1
|
+
const e=require(`../logger.cjs`),t=require(`./shared.cjs`);function n(n){let{rabbit:r,sequelize:i,redis:a,elasticsearch:o,timeoutMs:s=400,logger:c=e.logger}=n;return async(e,n)=>{try{await t.eventLoopHeartbeat();let e=[];return r&&e.push(r.isConnected().then(e=>{if(!e)throw Error(`RabbitMQ is not connected`);return c.debug?.(`RabbitMQ is connected`,{pid:process.pid}),e})),i&&e.push(i.authenticate().then(()=>(c.debug?.(`Sequelize connection is authenticated`,{pid:process.pid}),!0))),a&&e.push(a.ping().then(()=>(c.debug?.(`Redis is connected`,{pid:process.pid}),!0))),o&&e.push(o.ping()),await t.runParallelChecks(e,s),c.debug?.(`Readiness check passed`,{pid:process.pid}),n.status(200).json({status:`ok`}),!0}catch(e){return c.warn?.(`Readiness failed`,{err:e}),n.status(503).json({err:e.message}),!1}}}exports.readinessEndpoint=n;
|
|
2
2
|
//# sourceMappingURL=readiness.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readiness.cjs","names":["deps: ReadinessDeps","fallbackLogger","_req: Request","res: Response","checks: Promise<unknown>[]"],"sources":["../../src/health/readiness.ts"],"sourcesContent":["import type { Request, Response } from 'express';\nimport { logger as fallbackLogger } from '../logger';\nimport {\n eventLoopHeartbeat,\n runParallelChecks,\n type SimpleLogger,\n} from './shared';\n\nexport interface ReadinessDeps {\n rabbit?: { isConnected: () => Promise<boolean>; };\n sequelize?: { authenticate: () => Promise<void>; };\n redis?: { ping: () => Promise<void>; };\n elasticsearch?: { ping: () => Promise<boolean>; };\n timeoutMs?: number;\n logger?: SimpleLogger;\n}\n\nexport function readinessEndpoint(deps: ReadinessDeps) {\n const {\n rabbit,\n sequelize,\n redis,\n elasticsearch,\n timeoutMs = 400,\n logger = fallbackLogger,\n } = deps;\n\n return async (_req: Request, res: Response): Promise<boolean> => {\n try {\n await eventLoopHeartbeat();\n\n const checks: Promise<unknown>[] = [];\n if (rabbit) checks.push(rabbit.isConnected().then(ok =>
|
|
1
|
+
{"version":3,"file":"readiness.cjs","names":["deps: ReadinessDeps","fallbackLogger","_req: Request","res: Response","checks: Promise<unknown>[]"],"sources":["../../src/health/readiness.ts"],"sourcesContent":["import type { Request, Response } from 'express';\nimport { logger as fallbackLogger } from '../logger';\nimport {\n eventLoopHeartbeat,\n runParallelChecks,\n type SimpleLogger,\n} from './shared';\n\nexport interface ReadinessDeps {\n rabbit?: { isConnected: () => Promise<boolean>; };\n sequelize?: { authenticate: () => Promise<void>; };\n redis?: { ping: () => Promise<void>; };\n elasticsearch?: { ping: () => Promise<boolean>; };\n timeoutMs?: number;\n logger?: SimpleLogger;\n}\n\nexport function readinessEndpoint(deps: ReadinessDeps) {\n const {\n rabbit,\n sequelize,\n redis,\n elasticsearch,\n timeoutMs = 400,\n logger = fallbackLogger,\n } = deps;\n\n return async (_req: Request, res: Response): Promise<boolean> => {\n try {\n await eventLoopHeartbeat();\n\n const checks: Promise<unknown>[] = [];\n if (rabbit) {\n checks.push(rabbit.isConnected().then((ok) => {\n if (!ok) {\n throw new Error('RabbitMQ is not connected');\n }\n logger.debug?.('RabbitMQ is connected', { pid: process.pid });\n return ok;\n }));\n }\n if (sequelize) checks.push(sequelize.authenticate().then(() => {\n logger.debug?.('Sequelize connection is authenticated', { pid: process.pid });\n return true;\n }));\n if (redis) checks.push(redis.ping().then(() => {\n logger.debug?.('Redis is connected', { pid: process.pid });\n return true;\n }));\n if (elasticsearch) checks.push(elasticsearch.ping());\n\n await runParallelChecks(checks, timeoutMs);\n logger.debug?.('Readiness check passed', { pid: process.pid });\n res.status(200).json({ status: 'ok' });\n return true;\n } catch (err) {\n logger.warn?.('Readiness failed', { err });\n res.status(503).json({ err: (err as Error).message });\n return false;\n }\n };\n}\n"],"mappings":"2DAiBA,SAAgB,EAAkBA,EAAqB,CACrD,GAAM,CACJ,SACA,YACA,QACA,gBACA,YAAY,IACZ,OAAA,EAASC,EAAAA,OACV,CAAG,EAEJ,OAAO,MAAOC,EAAeC,IAAoC,CAC/D,GAAI,CACF,KAAM,GAAA,oBAAoB,CAE1B,IAAMC,EAA6B,CAAE,EAuBrC,OAtBI,GACF,EAAO,KAAK,EAAO,aAAa,CAAC,KAAK,AAAC,GAAO,CAC5C,IAAK,EACH,KAAM,CAAI,MAAM,4BAAA,CAGlB,MADA,GAAO,QAAQ,wBAAyB,CAAE,IAAK,QAAQ,GAAK,EAAC,CACtD,CACR,EAAC,CAAC,CAED,GAAW,EAAO,KAAK,EAAU,cAAc,CAAC,KAAK,KACvD,EAAO,QAAQ,wCAAyC,CAAE,IAAK,QAAQ,GAAK,EAAC,EACtE,GACP,CAAC,CACC,GAAO,EAAO,KAAK,EAAM,MAAM,CAAC,KAAK,KACvC,EAAO,QAAQ,qBAAsB,CAAE,IAAK,QAAQ,GAAK,EAAC,EACnD,GACP,CAAC,CACC,GAAe,EAAO,KAAK,EAAc,MAAM,CAAC,CAEpD,KAAM,GAAA,kBAAkB,EAAQ,EAAU,CAC1C,EAAO,QAAQ,yBAA0B,CAAE,IAAK,QAAQ,GAAK,EAAC,CAC9D,EAAI,OAAO,IAAI,CAAC,KAAK,CAAE,OAAQ,IAAM,EAAC,EAC/B,CACR,OAAQ,EAAK,CAGZ,MAFA,GAAO,OAAO,mBAAoB,CAAE,KAAK,EAAC,CAC1C,EAAI,OAAO,IAAI,CAAC,KAAK,CAAE,IAAM,EAAc,OAAS,EAAC,EAC9C,CACR,CACF,CACF"}
|
package/lib/health/readiness.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{logger as e}from"../logger.js";import{eventLoopHeartbeat as t,runParallelChecks as n}from"./shared.js";function r(r){let{rabbit:i,sequelize:a,redis:o,elasticsearch:s,timeoutMs:c=400,logger:l=e}=r;return async(e,r)=>{try{await t();let e=[];return i&&e.push(i.isConnected().then(e=>e
|
|
1
|
+
import{logger as e}from"../logger.js";import{eventLoopHeartbeat as t,runParallelChecks as n}from"./shared.js";function r(r){let{rabbit:i,sequelize:a,redis:o,elasticsearch:s,timeoutMs:c=400,logger:l=e}=r;return async(e,r)=>{try{await t();let e=[];return i&&e.push(i.isConnected().then(e=>{if(!e)throw Error(`RabbitMQ is not connected`);return l.debug?.(`RabbitMQ is connected`,{pid:process.pid}),e})),a&&e.push(a.authenticate().then(()=>(l.debug?.(`Sequelize connection is authenticated`,{pid:process.pid}),!0))),o&&e.push(o.ping().then(()=>(l.debug?.(`Redis is connected`,{pid:process.pid}),!0))),s&&e.push(s.ping()),await n(e,c),l.debug?.(`Readiness check passed`,{pid:process.pid}),r.status(200).json({status:`ok`}),!0}catch(e){return l.warn?.(`Readiness failed`,{err:e}),r.status(503).json({err:e.message}),!1}}}export{r as readinessEndpoint};
|
|
2
2
|
//# sourceMappingURL=readiness.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readiness.js","names":["deps: ReadinessDeps","fallbackLogger","_req: Request","res: Response","checks: Promise<unknown>[]"],"sources":["../../src/health/readiness.ts"],"sourcesContent":["import type { Request, Response } from 'express';\nimport { logger as fallbackLogger } from '../logger';\nimport {\n eventLoopHeartbeat,\n runParallelChecks,\n type SimpleLogger,\n} from './shared';\n\nexport interface ReadinessDeps {\n rabbit?: { isConnected: () => Promise<boolean>; };\n sequelize?: { authenticate: () => Promise<void>; };\n redis?: { ping: () => Promise<void>; };\n elasticsearch?: { ping: () => Promise<boolean>; };\n timeoutMs?: number;\n logger?: SimpleLogger;\n}\n\nexport function readinessEndpoint(deps: ReadinessDeps) {\n const {\n rabbit,\n sequelize,\n redis,\n elasticsearch,\n timeoutMs = 400,\n logger = fallbackLogger,\n } = deps;\n\n return async (_req: Request, res: Response): Promise<boolean> => {\n try {\n await eventLoopHeartbeat();\n\n const checks: Promise<unknown>[] = [];\n if (rabbit) checks.push(rabbit.isConnected().then(ok =>
|
|
1
|
+
{"version":3,"file":"readiness.js","names":["deps: ReadinessDeps","fallbackLogger","_req: Request","res: Response","checks: Promise<unknown>[]"],"sources":["../../src/health/readiness.ts"],"sourcesContent":["import type { Request, Response } from 'express';\nimport { logger as fallbackLogger } from '../logger';\nimport {\n eventLoopHeartbeat,\n runParallelChecks,\n type SimpleLogger,\n} from './shared';\n\nexport interface ReadinessDeps {\n rabbit?: { isConnected: () => Promise<boolean>; };\n sequelize?: { authenticate: () => Promise<void>; };\n redis?: { ping: () => Promise<void>; };\n elasticsearch?: { ping: () => Promise<boolean>; };\n timeoutMs?: number;\n logger?: SimpleLogger;\n}\n\nexport function readinessEndpoint(deps: ReadinessDeps) {\n const {\n rabbit,\n sequelize,\n redis,\n elasticsearch,\n timeoutMs = 400,\n logger = fallbackLogger,\n } = deps;\n\n return async (_req: Request, res: Response): Promise<boolean> => {\n try {\n await eventLoopHeartbeat();\n\n const checks: Promise<unknown>[] = [];\n if (rabbit) {\n checks.push(rabbit.isConnected().then((ok) => {\n if (!ok) {\n throw new Error('RabbitMQ is not connected');\n }\n logger.debug?.('RabbitMQ is connected', { pid: process.pid });\n return ok;\n }));\n }\n if (sequelize) checks.push(sequelize.authenticate().then(() => {\n logger.debug?.('Sequelize connection is authenticated', { pid: process.pid });\n return true;\n }));\n if (redis) checks.push(redis.ping().then(() => {\n logger.debug?.('Redis is connected', { pid: process.pid });\n return true;\n }));\n if (elasticsearch) checks.push(elasticsearch.ping());\n\n await runParallelChecks(checks, timeoutMs);\n logger.debug?.('Readiness check passed', { pid: process.pid });\n res.status(200).json({ status: 'ok' });\n return true;\n } catch (err) {\n logger.warn?.('Readiness failed', { err });\n res.status(503).json({ err: (err as Error).message });\n return false;\n }\n };\n}\n"],"mappings":"8GAiBA,SAAgB,EAAkBA,EAAqB,CACrD,GAAM,CACJ,SACA,YACA,QACA,gBACA,YAAY,IACZ,OAAA,EAASC,EACV,CAAG,EAEJ,OAAO,MAAOC,EAAeC,IAAoC,CAC/D,GAAI,CACF,KAAM,IAAoB,CAE1B,IAAMC,EAA6B,CAAE,EAuBrC,OAtBI,GACF,EAAO,KAAK,EAAO,aAAa,CAAC,KAAK,AAAC,GAAO,CAC5C,IAAK,EACH,KAAM,CAAI,MAAM,4BAAA,CAGlB,MADA,GAAO,QAAQ,wBAAyB,CAAE,IAAK,QAAQ,GAAK,EAAC,CACtD,CACR,EAAC,CAAC,CAED,GAAW,EAAO,KAAK,EAAU,cAAc,CAAC,KAAK,KACvD,EAAO,QAAQ,wCAAyC,CAAE,IAAK,QAAQ,GAAK,EAAC,EACtE,GACP,CAAC,CACC,GAAO,EAAO,KAAK,EAAM,MAAM,CAAC,KAAK,KACvC,EAAO,QAAQ,qBAAsB,CAAE,IAAK,QAAQ,GAAK,EAAC,EACnD,GACP,CAAC,CACC,GAAe,EAAO,KAAK,EAAc,MAAM,CAAC,CAEpD,KAAM,GAAkB,EAAQ,EAAU,CAC1C,EAAO,QAAQ,yBAA0B,CAAE,IAAK,QAAQ,GAAK,EAAC,CAC9D,EAAI,OAAO,IAAI,CAAC,KAAK,CAAE,OAAQ,IAAM,EAAC,EAC/B,CACR,OAAQ,EAAK,CAGZ,MAFA,GAAO,OAAO,mBAAoB,CAAE,KAAK,EAAC,CAC1C,EAAI,OAAO,IAAI,CAAC,KAAK,CAAE,IAAM,EAAc,OAAS,EAAC,EAC9C,CACR,CACF,CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.cjs","names":["checks: Promise<unknown>[]","timeoutMs: number"],"sources":["../../src/health/shared.ts"],"sourcesContent":["export interface SimpleLogger {\n error: (message: string, meta: Record<string, unknown>) => void;\n warn
|
|
1
|
+
{"version":3,"file":"shared.cjs","names":["checks: Promise<unknown>[]","timeoutMs: number"],"sources":["../../src/health/shared.ts"],"sourcesContent":["export interface SimpleLogger {\n error: (message: string, meta: Record<string, unknown>) => void;\n warn: (message: string, meta: Record<string, unknown>) => void;\n info: (message: string, meta: Record<string, unknown>) => void;\n debug?: (message: string, meta: Record<string, unknown>) => void;\n};\n\nexport function eventLoopHeartbeat(maxLag = 200): Promise<void> {\n return new Promise((resolve, reject) => {\n const start = Date.now();\n setImmediate(() => {\n if (Date.now() - start > maxLag) {\n reject(new Error('event‑loop lag'));\n } else {\n resolve();\n }\n });\n });\n}\n\nexport async function runParallelChecks(\n checks: Promise<unknown>[],\n timeoutMs: number,\n): Promise<void> {\n const timeout = new Promise((_, reject) =>\n setTimeout(reject, timeoutMs, new Error('probe timeout')),\n );\n return Promise.race([Promise.all(checks), timeout]).then(() => undefined);\n}\n"],"mappings":"AAOA,SAAgB,EAAmB,EAAS,IAAoB,CAC9D,OAAO,IAAI,QAAQ,CAAC,EAAS,IAAW,CACtC,IAAM,EAAQ,KAAK,KAAK,CACxB,aAAa,IAAM,CACjB,AAAI,KAAK,KAAK,CAAG,EAAQ,EACvB,EAAO,AAAI,MAAM,iBAAA,CAAkB,CAEnC,GAAS,AAEZ,EAAC,AACH,EACF,CAED,eAAsB,EACpBA,EACAC,EACe,CACf,IAAM,EAAU,IAAI,QAAQ,CAAC,EAAG,IAC9B,WAAW,EAAQ,EAAW,AAAI,MAAM,gBAAA,CAAiB,EAE3D,MAAO,SAAQ,KAAK,CAAC,QAAQ,IAAI,EAAO,CAAE,CAAQ,EAAC,CAAC,KAAK,QAAA,GAAgB,AAC1E"}
|
package/lib/health/shared.d.cts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
//#region src/health/shared.d.ts
|
|
2
2
|
interface SimpleLogger {
|
|
3
3
|
error: (message: string, meta: Record<string, unknown>) => void;
|
|
4
|
-
warn
|
|
5
|
-
info
|
|
4
|
+
warn: (message: string, meta: Record<string, unknown>) => void;
|
|
5
|
+
info: (message: string, meta: Record<string, unknown>) => void;
|
|
6
|
+
debug?: (message: string, meta: Record<string, unknown>) => void;
|
|
6
7
|
}
|
|
7
8
|
//#endregion
|
|
8
9
|
export { SimpleLogger };
|
package/lib/health/shared.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
//#region src/health/shared.d.ts
|
|
2
2
|
interface SimpleLogger {
|
|
3
3
|
error: (message: string, meta: Record<string, unknown>) => void;
|
|
4
|
-
warn
|
|
5
|
-
info
|
|
4
|
+
warn: (message: string, meta: Record<string, unknown>) => void;
|
|
5
|
+
info: (message: string, meta: Record<string, unknown>) => void;
|
|
6
|
+
debug?: (message: string, meta: Record<string, unknown>) => void;
|
|
6
7
|
}
|
|
7
8
|
//#endregion
|
|
8
9
|
export { SimpleLogger };
|
package/lib/health/shared.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.js","names":["checks: Promise<unknown>[]","timeoutMs: number"],"sources":["../../src/health/shared.ts"],"sourcesContent":["export interface SimpleLogger {\n error: (message: string, meta: Record<string, unknown>) => void;\n warn
|
|
1
|
+
{"version":3,"file":"shared.js","names":["checks: Promise<unknown>[]","timeoutMs: number"],"sources":["../../src/health/shared.ts"],"sourcesContent":["export interface SimpleLogger {\n error: (message: string, meta: Record<string, unknown>) => void;\n warn: (message: string, meta: Record<string, unknown>) => void;\n info: (message: string, meta: Record<string, unknown>) => void;\n debug?: (message: string, meta: Record<string, unknown>) => void;\n};\n\nexport function eventLoopHeartbeat(maxLag = 200): Promise<void> {\n return new Promise((resolve, reject) => {\n const start = Date.now();\n setImmediate(() => {\n if (Date.now() - start > maxLag) {\n reject(new Error('event‑loop lag'));\n } else {\n resolve();\n }\n });\n });\n}\n\nexport async function runParallelChecks(\n checks: Promise<unknown>[],\n timeoutMs: number,\n): Promise<void> {\n const timeout = new Promise((_, reject) =>\n setTimeout(reject, timeoutMs, new Error('probe timeout')),\n );\n return Promise.race([Promise.all(checks), timeout]).then(() => undefined);\n}\n"],"mappings":"AAOA,SAAgB,EAAmB,EAAS,IAAoB,CAC9D,OAAO,IAAI,QAAQ,CAAC,EAAS,IAAW,CACtC,IAAM,EAAQ,KAAK,KAAK,CACxB,aAAa,IAAM,CACjB,AAAI,KAAK,KAAK,CAAG,EAAQ,EACvB,EAAO,AAAI,MAAM,iBAAA,CAAkB,CAEnC,GAAS,AAEZ,EAAC,AACH,EACF,CAED,eAAsB,EACpBA,EACAC,EACe,CACf,IAAM,EAAU,IAAI,QAAQ,CAAC,EAAG,IAC9B,WAAW,EAAQ,EAAW,AAAI,MAAM,gBAAA,CAAiB,EAE3D,MAAO,SAAQ,KAAK,CAAC,QAAQ,IAAI,EAAO,CAAE,CAAQ,EAAC,CAAC,KAAK,QAAA,GAAgB,AAC1E"}
|