@visulima/pail 4.0.0-alpha.12 → 4.0.0-alpha.13
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/CHANGELOG.md +16 -0
- package/LICENSE.md +0 -27
- package/dist/error.js +5 -76
- package/dist/index.browser.js +19 -1499
- package/dist/index.server.js +31 -2804
- package/dist/middleware/elysia.d.ts +3 -3
- package/dist/middleware/elysia.js +1 -70
- package/dist/middleware/express.d.ts +3 -3
- package/dist/middleware/express.js +1 -29
- package/dist/middleware/fastify.d.ts +3 -3
- package/dist/middleware/fastify.js +1 -46
- package/dist/middleware/hono.d.ts +3 -3
- package/dist/middleware/hono.js +1 -33
- package/dist/middleware/next/handler.d.ts +5 -5
- package/dist/middleware/next/handler.js +1 -53
- package/dist/middleware/sveltekit.d.ts +3 -3
- package/dist/middleware/sveltekit.js +1 -43
- package/dist/object-tree.js +2 -89
- package/dist/packem_shared/AbstractJsonReporter-BawNFYxI.js +1 -0
- package/dist/packem_shared/AbstractJsonReporter-Dt5-5x2R.js +1 -0
- package/dist/packem_shared/JsonReporter-15ln04rX.js +2 -0
- package/dist/packem_shared/JsonReporter-CerNvhg-.js +1 -0
- package/dist/packem_shared/PrettyReporter-Br5njEEy.js +5 -0
- package/dist/packem_shared/PrettyReporter-CgXnwIip.js +44 -0
- package/dist/packem_shared/{abstract-json-reporter.d-BAgznjyU.d.ts → abstract-json-reporter.d-Bz3lZEDi.d.ts} +1 -1
- package/dist/packem_shared/abstract-pretty-reporter-BiHgKxG_.js +33 -0
- package/dist/packem_shared/constants-DKfCaSUR.js +1 -0
- package/dist/packem_shared/constants-ep2nsfdy.js +1 -0
- package/dist/packem_shared/{create-middleware-logger.d-DheMh8q4.d.ts → create-middleware-logger.d-DeNLii5l.d.ts} +2 -2
- package/dist/packem_shared/createPailError-53jAfQ-T.js +5 -0
- package/dist/packem_shared/headers-S8WyX-2m.js +1 -0
- package/dist/packem_shared/index-Bzp4LnJ5.js +1 -0
- package/dist/packem_shared/pailMiddleware-CWOJRmJq.js +1 -0
- package/dist/packem_shared/storage-DHM1EP2P.js +1 -0
- package/dist/packem_shared/{types.d-BeLumqgD.d.ts → types.d-ByY2ZuYG.d.ts} +1 -1
- package/dist/packem_shared/useLogger-qyZrjy4D.js +1 -0
- package/dist/packem_shared/{wide-event.d-B-t8ZnhI.d.ts → wide-event.d-Ke44zirU.d.ts} +1 -1
- package/dist/packem_shared/write-console-log-based-on-level-DfD64owL.js +1 -0
- package/dist/packem_shared/write-stream-Dd4_PTcm.js +1 -0
- package/dist/processor/caller/caller-processor.d.ts +1 -1
- package/dist/processor/caller/caller-processor.js +1 -59
- package/dist/processor/environment-processor.d.ts +1 -1
- package/dist/processor/environment-processor.js +1 -82
- package/dist/processor/message-formatter-processor.d.ts +1 -1
- package/dist/processor/message-formatter-processor.js +1 -715
- package/dist/processor/opentelemetry-processor.d.ts +1 -1
- package/dist/processor/opentelemetry-processor.js +1 -52
- package/dist/processor/redact-processor.d.ts +1 -1
- package/dist/processor/redact-processor.js +1 -31
- package/dist/processor/sampling-processor.d.ts +1 -1
- package/dist/processor/sampling-processor.js +1 -59
- package/dist/reporter/file/json-file-reporter.d.ts +2 -2
- package/dist/reporter/file/json-file-reporter.js +2 -136
- package/dist/reporter/http/abstract-http-reporter.d.ts +2 -2
- package/dist/reporter/http/abstract-http-reporter.js +2 -432
- package/dist/reporter/http/http-reporter.d.ts +2 -2
- package/dist/reporter/http/http-reporter.edge-light.js +2 -728
- package/dist/reporter/http/http-reporter.js +1 -13
- package/dist/reporter/json/index.browser.js +1 -2
- package/dist/reporter/json/index.d.ts +2 -2
- package/dist/reporter/json/index.js +1 -2
- package/dist/reporter/pretty/index.browser.js +1 -1
- package/dist/reporter/pretty/index.d.ts +3 -36
- package/dist/reporter/pretty/index.js +1 -1
- package/dist/reporter/simple/simple-reporter.server.d.ts +1 -1
- package/dist/reporter/simple/simple-reporter.server.js +8 -183
- package/dist/wide-event.d.ts +2 -2
- package/dist/wide-event.js +1 -284
- package/package.json +24 -24
- package/dist/packem_shared/AbstractJsonReporter-BO8Calb4.js +0 -284
- package/dist/packem_shared/AbstractJsonReporter-nOj0Ft1F.js +0 -284
- package/dist/packem_shared/JsonReporter-CCmj7oYL.js +0 -28
- package/dist/packem_shared/JsonReporter-Ck2PIAEw.js +0 -58
- package/dist/packem_shared/PrettyReporter-CIbrmjUV.js +0 -213
- package/dist/packem_shared/PrettyReporter-CNJEO9g7.js +0 -2723
- package/dist/packem_shared/abstract-pretty-reporter-CkqCt5hg.js +0 -2637
- package/dist/packem_shared/constants-B1RjD_ps.js +0 -99
- package/dist/packem_shared/constants-omsTHUWB.js +0 -119
- package/dist/packem_shared/createPailError-B_sgL0nF.js +0 -76
- package/dist/packem_shared/headers-BxHWM6KI.js +0 -127
- package/dist/packem_shared/index-6cG1Kp0t.js +0 -658
- package/dist/packem_shared/pailMiddleware-Ci88geIF.js +0 -24
- package/dist/packem_shared/storage-D0vqz8OX.js +0 -36
- package/dist/packem_shared/useLogger-D0rU3lcX.js +0 -33
- package/dist/packem_shared/write-console-log-based-on-level-ree2lDPw.js +0 -15
- package/dist/packem_shared/write-stream-MDqyXmc_.js +0 -6
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { W as WideEvent } from "../packem_shared/wide-event.d-
|
|
2
|
-
import { P as PailMiddlewareOptions } from "../packem_shared/create-middleware-logger.d-
|
|
1
|
+
import { W as WideEvent } from "../packem_shared/wide-event.d-Ke44zirU.js";
|
|
2
|
+
import { P as PailMiddlewareOptions } from "../packem_shared/create-middleware-logger.d-DeNLii5l.js";
|
|
3
3
|
import 'safe-stable-stringify';
|
|
4
|
-
import "../packem_shared/types.d-
|
|
4
|
+
import "../packem_shared/types.d-ByY2ZuYG.js";
|
|
5
5
|
import '@visulima/colorize';
|
|
6
6
|
import '@visulima/interactive-manager';
|
|
7
7
|
/**
|
|
@@ -1,70 +1 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
const __cjs_require = __cjs_createRequire(import.meta.url);
|
|
4
|
-
|
|
5
|
-
const __cjs_getProcess = typeof globalThis !== "undefined" && typeof globalThis.process !== "undefined" ? globalThis.process : process;
|
|
6
|
-
|
|
7
|
-
const __cjs_getBuiltinModule = (module) => {
|
|
8
|
-
// Check if we're in Node.js and version supports getBuiltinModule
|
|
9
|
-
if (typeof __cjs_getProcess !== "undefined" && __cjs_getProcess.versions && __cjs_getProcess.versions.node) {
|
|
10
|
-
const [major, minor] = __cjs_getProcess.versions.node.split(".").map(Number);
|
|
11
|
-
// Node.js 20.16.0+ and 22.3.0+
|
|
12
|
-
if (major > 22 || (major === 22 && minor >= 3) || (major === 20 && minor >= 16)) {
|
|
13
|
-
return __cjs_getProcess.getBuiltinModule(module);
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
// Fallback to createRequire
|
|
17
|
-
return __cjs_require(module);
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
const {
|
|
21
|
-
AsyncLocalStorage
|
|
22
|
-
} = __cjs_getBuiltinModule("node:async_hooks");
|
|
23
|
-
import { a as extractSafeHeaders, c as createMiddlewareLogger } from '../packem_shared/headers-BxHWM6KI.js';
|
|
24
|
-
|
|
25
|
-
const storage = new AsyncLocalStorage();
|
|
26
|
-
const activeLoggers = /* @__PURE__ */ new WeakSet();
|
|
27
|
-
const useLogger = () => {
|
|
28
|
-
const logger = storage.getStore();
|
|
29
|
-
if (!logger || !activeLoggers.has(logger)) {
|
|
30
|
-
throw new Error("[pail] useLogger() called outside of Elysia pail plugin context.");
|
|
31
|
-
}
|
|
32
|
-
return logger;
|
|
33
|
-
};
|
|
34
|
-
const pailPlugin = (app, options) => {
|
|
35
|
-
const requestState = /* @__PURE__ */ new WeakMap();
|
|
36
|
-
const emitted = /* @__PURE__ */ new WeakSet();
|
|
37
|
-
return app.derive({ as: "global" }, ({ request }) => {
|
|
38
|
-
const url = new URL(request.url);
|
|
39
|
-
const requestId = request.headers.get("x-request-id") ?? crypto.randomUUID();
|
|
40
|
-
const safeHeaders = extractSafeHeaders(request.headers);
|
|
41
|
-
const result = createMiddlewareLogger(options, {
|
|
42
|
-
headers: safeHeaders,
|
|
43
|
-
method: request.method,
|
|
44
|
-
path: url.pathname,
|
|
45
|
-
requestId
|
|
46
|
-
});
|
|
47
|
-
requestState.set(request, result);
|
|
48
|
-
if (!result.skipped) {
|
|
49
|
-
activeLoggers.add(result.logger);
|
|
50
|
-
storage.enterWith(result.logger);
|
|
51
|
-
}
|
|
52
|
-
return { log: result.logger };
|
|
53
|
-
}).onAfterHandle({ as: "global" }, async ({ request, set }) => {
|
|
54
|
-
const state = requestState.get(request);
|
|
55
|
-
if (!state?.skipped && state && !emitted.has(request)) {
|
|
56
|
-
emitted.add(request);
|
|
57
|
-
state.finish({ status: set.status ?? 200 });
|
|
58
|
-
activeLoggers.delete(state.logger);
|
|
59
|
-
}
|
|
60
|
-
}).onError({ as: "global" }, async ({ error, request }) => {
|
|
61
|
-
const state = requestState.get(request);
|
|
62
|
-
if (!state?.skipped && state && !emitted.has(request)) {
|
|
63
|
-
emitted.add(request);
|
|
64
|
-
state.finish({ error });
|
|
65
|
-
activeLoggers.delete(state.logger);
|
|
66
|
-
}
|
|
67
|
-
});
|
|
68
|
-
};
|
|
69
|
-
|
|
70
|
-
export { pailPlugin, useLogger };
|
|
1
|
+
var f=Object.defineProperty;var g=(e,t)=>f(e,"name",{value:t,configurable:!0});import{createRequire as h}from"node:module";import{a as b,c as q}from"../packem_shared/headers-S8WyX-2m.js";const m=h(import.meta.url),i=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,_=g(e=>{if(typeof i<"u"&&i.versions&&i.versions.node){const[t,a]=i.versions.node.split(".").map(Number);if(t>22||t===22&&a>=3||t===20&&a>=16)return i.getBuiltinModule(e)}return m(e)},"__cjs_getBuiltinModule"),{AsyncLocalStorage:y}=_("node:async_hooks");var w=Object.defineProperty,c=g((e,t)=>w(e,"name",{value:t,configurable:!0}),"d");const u=new y,d=new WeakSet,L=c(()=>{const e=u.getStore();if(!e||!d.has(e))throw new Error("[pail] useLogger() called outside of Elysia pail plugin context.");return e},"useLogger"),S=c((e,t)=>{const a=new WeakMap,l=new WeakSet;return e.derive({as:"global"},({request:r})=>{const o=new URL(r.url),s=r.headers.get("x-request-id")??crypto.randomUUID(),p=b(r.headers),n=q(t,{headers:p,method:r.method,path:o.pathname,requestId:s});return a.set(r,n),n.skipped||(d.add(n.logger),u.enterWith(n.logger)),{log:n.logger}}).onAfterHandle({as:"global"},async({request:r,set:o})=>{const s=a.get(r);!s?.skipped&&s&&!l.has(r)&&(l.add(r),s.finish({status:o.status??200}),d.delete(s.logger))}).onError({as:"global"},async({error:r,request:o})=>{const s=a.get(o);!s?.skipped&&s&&!l.has(o)&&(l.add(o),s.finish({error:r}),d.delete(s.logger))})},"pailPlugin");export{S as pailPlugin,L as useLogger};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { W as WideEvent } from "../packem_shared/wide-event.d-
|
|
2
|
-
import { P as PailMiddlewareOptions } from "../packem_shared/create-middleware-logger.d-
|
|
1
|
+
import { W as WideEvent } from "../packem_shared/wide-event.d-Ke44zirU.js";
|
|
2
|
+
import { P as PailMiddlewareOptions } from "../packem_shared/create-middleware-logger.d-DeNLii5l.js";
|
|
3
3
|
import 'safe-stable-stringify';
|
|
4
|
-
import "../packem_shared/types.d-
|
|
4
|
+
import "../packem_shared/types.d-ByY2ZuYG.js";
|
|
5
5
|
import '@visulima/colorize';
|
|
6
6
|
import '@visulima/interactive-manager';
|
|
7
7
|
/**
|
|
@@ -1,29 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { c as createLoggerStorage } from '../packem_shared/storage-D0vqz8OX.js';
|
|
3
|
-
|
|
4
|
-
const loggerStorage = createLoggerStorage("Express middleware context. Make sure pail middleware is registered before your route handlers.");
|
|
5
|
-
const useLogger = () => loggerStorage.useLogger();
|
|
6
|
-
const pailMiddleware = (options) => (request, response, next) => {
|
|
7
|
-
const requestId = request.headers["x-request-id"] ?? crypto.randomUUID();
|
|
8
|
-
const path = request.originalUrl ?? request.url ?? "/";
|
|
9
|
-
const safeHeaders = extractSafeNodeHeaders(request.headers);
|
|
10
|
-
const { finish, logger, skipped } = createMiddlewareLogger(options, {
|
|
11
|
-
headers: safeHeaders,
|
|
12
|
-
method: request.method,
|
|
13
|
-
path,
|
|
14
|
-
requestId
|
|
15
|
-
});
|
|
16
|
-
if (skipped) {
|
|
17
|
-
next();
|
|
18
|
-
return;
|
|
19
|
-
}
|
|
20
|
-
request.log = logger;
|
|
21
|
-
response.on("finish", () => {
|
|
22
|
-
finish({ status: response.statusCode });
|
|
23
|
-
});
|
|
24
|
-
loggerStorage.storage.run(logger, () => {
|
|
25
|
-
next();
|
|
26
|
-
});
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
export { pailMiddleware, useLogger };
|
|
1
|
+
var c=Object.defineProperty;var t=(r,e)=>c(r,"name",{value:e,configurable:!0});import{e as m,c as f}from"../packem_shared/headers-S8WyX-2m.js";import{c as h}from"../packem_shared/storage-DHM1EP2P.js";var w=Object.defineProperty,d=t((r,e)=>w(r,"name",{value:e,configurable:!0}),"i");const i=h("Express middleware context. Make sure pail middleware is registered before your route handlers."),b=d(()=>i.useLogger(),"useLogger"),v=d(r=>(e,a,o)=>{const g=e.headers["x-request-id"]??crypto.randomUUID(),l=e.originalUrl??e.url??"/",u=m(e.headers),{finish:n,logger:s,skipped:p}=f(r,{headers:u,method:e.method,path:l,requestId:g});if(p){o();return}e.log=s,a.on("finish",()=>{n({status:a.statusCode})}),i.storage.run(s,()=>{o()})},"pailMiddleware");export{v as pailMiddleware,b as useLogger};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { W as WideEvent } from "../packem_shared/wide-event.d-
|
|
2
|
-
import { P as PailMiddlewareOptions } from "../packem_shared/create-middleware-logger.d-
|
|
1
|
+
import { W as WideEvent } from "../packem_shared/wide-event.d-Ke44zirU.js";
|
|
2
|
+
import { P as PailMiddlewareOptions } from "../packem_shared/create-middleware-logger.d-DeNLii5l.js";
|
|
3
3
|
import 'safe-stable-stringify';
|
|
4
|
-
import "../packem_shared/types.d-
|
|
4
|
+
import "../packem_shared/types.d-ByY2ZuYG.js";
|
|
5
5
|
import '@visulima/colorize';
|
|
6
6
|
import '@visulima/interactive-manager';
|
|
7
7
|
/**
|
|
@@ -1,46 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { c as createLoggerStorage } from '../packem_shared/storage-D0vqz8OX.js';
|
|
3
|
-
|
|
4
|
-
const loggerStorage = createLoggerStorage("Fastify middleware context. Make sure pail plugin is registered before your route handlers.");
|
|
5
|
-
const useLogger = () => loggerStorage.useLogger();
|
|
6
|
-
const pailPlugin = (fastify, options) => {
|
|
7
|
-
const requestState = /* @__PURE__ */ new WeakMap();
|
|
8
|
-
const emitted = /* @__PURE__ */ new WeakSet();
|
|
9
|
-
fastify.addHook("onRequest", (request, _reply, done) => {
|
|
10
|
-
const requestId = request.headers["x-request-id"] ?? crypto.randomUUID();
|
|
11
|
-
const safeHeaders = extractSafeNodeHeaders(request.headers);
|
|
12
|
-
const { finish, logger, skipped } = createMiddlewareLogger(options, {
|
|
13
|
-
headers: safeHeaders,
|
|
14
|
-
method: request.method,
|
|
15
|
-
path: request.url,
|
|
16
|
-
requestId
|
|
17
|
-
});
|
|
18
|
-
if (skipped) {
|
|
19
|
-
done();
|
|
20
|
-
return;
|
|
21
|
-
}
|
|
22
|
-
request.log = logger;
|
|
23
|
-
requestState.set(request, { finish });
|
|
24
|
-
loggerStorage.storage.run(logger, () => {
|
|
25
|
-
done();
|
|
26
|
-
});
|
|
27
|
-
});
|
|
28
|
-
fastify.addHook("onResponse", async (request, reply) => {
|
|
29
|
-
const state = requestState.get(request);
|
|
30
|
-
if (!state || emitted.has(request)) {
|
|
31
|
-
return;
|
|
32
|
-
}
|
|
33
|
-
emitted.add(request);
|
|
34
|
-
state.finish({ status: reply.statusCode });
|
|
35
|
-
});
|
|
36
|
-
fastify.addHook("onError", async (request, _reply, error) => {
|
|
37
|
-
const state = requestState.get(request);
|
|
38
|
-
if (!state || emitted.has(request)) {
|
|
39
|
-
return;
|
|
40
|
-
}
|
|
41
|
-
emitted.add(request);
|
|
42
|
-
state.finish({ error });
|
|
43
|
-
});
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
export { pailPlugin, useLogger };
|
|
1
|
+
var h=Object.defineProperty;var g=(r,a)=>h(r,"name",{value:a,configurable:!0});import{e as m,c as k}from"../packem_shared/headers-S8WyX-2m.js";import{c as y}from"../packem_shared/storage-DHM1EP2P.js";var L=Object.defineProperty,u=g((r,a)=>L(r,"name",{value:a,configurable:!0}),"d");const c=y("Fastify middleware context. Make sure pail plugin is registered before your route handlers."),b=u(()=>c.useLogger(),"useLogger"),q=u((r,a)=>{const n=new WeakMap,s=new WeakSet;r.addHook("onRequest",(e,d,o)=>{const t=e.headers["x-request-id"]??crypto.randomUUID(),l=m(e.headers),{finish:p,logger:i,skipped:f}=k(a,{headers:l,method:e.method,path:e.url,requestId:t});if(f){o();return}e.log=i,n.set(e,{finish:p}),c.storage.run(i,()=>{o()})}),r.addHook("onResponse",async(e,d)=>{const o=n.get(e);!o||s.has(e)||(s.add(e),o.finish({status:d.statusCode}))}),r.addHook("onError",async(e,d,o)=>{const t=n.get(e);!t||s.has(e)||(s.add(e),t.finish({error:o}))})},"pailPlugin");export{q as pailPlugin,b as useLogger};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { W as WideEvent } from "../packem_shared/wide-event.d-
|
|
2
|
-
import { P as PailMiddlewareOptions } from "../packem_shared/create-middleware-logger.d-
|
|
1
|
+
import { W as WideEvent } from "../packem_shared/wide-event.d-Ke44zirU.js";
|
|
2
|
+
import { P as PailMiddlewareOptions } from "../packem_shared/create-middleware-logger.d-DeNLii5l.js";
|
|
3
3
|
import 'safe-stable-stringify';
|
|
4
|
-
import "../packem_shared/types.d-
|
|
4
|
+
import "../packem_shared/types.d-ByY2ZuYG.js";
|
|
5
5
|
import '@visulima/colorize';
|
|
6
6
|
import '@visulima/interactive-manager';
|
|
7
7
|
/**
|
package/dist/middleware/hono.js
CHANGED
|
@@ -1,33 +1 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const useLogger = (c) => {
|
|
4
|
-
const logger = c.get("log");
|
|
5
|
-
if (!logger) {
|
|
6
|
-
throw new Error("[pail] useLogger() called but pail middleware is not registered.");
|
|
7
|
-
}
|
|
8
|
-
return logger;
|
|
9
|
-
};
|
|
10
|
-
const pailMiddleware = (options) => async (c, next) => {
|
|
11
|
-
const requestId = c.req.header("x-request-id") ?? crypto.randomUUID();
|
|
12
|
-
const safeHeaders = extractSafeHeaders(c.req.raw.headers);
|
|
13
|
-
const { finish, logger, skipped } = createMiddlewareLogger(options, {
|
|
14
|
-
headers: safeHeaders,
|
|
15
|
-
method: c.req.method,
|
|
16
|
-
path: c.req.path,
|
|
17
|
-
requestId
|
|
18
|
-
});
|
|
19
|
-
if (skipped) {
|
|
20
|
-
await next();
|
|
21
|
-
return;
|
|
22
|
-
}
|
|
23
|
-
c.set("log", logger);
|
|
24
|
-
try {
|
|
25
|
-
await next();
|
|
26
|
-
finish({ status: c.res.status });
|
|
27
|
-
} catch (error) {
|
|
28
|
-
finish({ error: error instanceof Error ? error : new Error(String(error)) });
|
|
29
|
-
throw error;
|
|
30
|
-
}
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
export { pailMiddleware, useLogger };
|
|
1
|
+
var c=Object.defineProperty;var s=(r,e)=>c(r,"name",{value:e,configurable:!0});import{a as u,c as p}from"../packem_shared/headers-S8WyX-2m.js";var h=Object.defineProperty,d=s((r,e)=>h(r,"name",{value:e,configurable:!0}),"o");const m=d(r=>{const e=r.get("log");if(!e)throw new Error("[pail] useLogger() called but pail middleware is not registered.");return e},"useLogger"),q=d(r=>async(e,t)=>{const i=e.req.header("x-request-id")??crypto.randomUUID(),n=u(e.req.raw.headers),{finish:o,logger:g,skipped:l}=p(r,{headers:n,method:e.req.method,path:e.req.path,requestId:i});if(l){await t();return}e.set("log",g);try{await t(),o({status:e.res.status})}catch(a){throw o({error:a instanceof Error?a:new Error(String(a))}),a}},"pailMiddleware");export{q as pailMiddleware,m as useLogger};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { P as PailMiddlewareOptions } from "../../packem_shared/create-middleware-logger.d-
|
|
2
|
-
import { W as WideEvent } from "../../packem_shared/wide-event.d-
|
|
1
|
+
import { P as PailMiddlewareOptions } from "../../packem_shared/create-middleware-logger.d-DeNLii5l.js";
|
|
2
|
+
import { W as WideEvent } from "../../packem_shared/wide-event.d-Ke44zirU.js";
|
|
3
3
|
import 'node:async_hooks';
|
|
4
|
-
import "../../packem_shared/types.d-
|
|
4
|
+
import "../../packem_shared/types.d-ByY2ZuYG.js";
|
|
5
5
|
import '@visulima/colorize';
|
|
6
6
|
import '@visulima/interactive-manager';
|
|
7
7
|
import 'safe-stable-stringify';
|
|
@@ -62,7 +62,7 @@ interface PailNextMiddlewareOptions {
|
|
|
62
62
|
* export default middleware;
|
|
63
63
|
* ```
|
|
64
64
|
*/
|
|
65
|
-
declare const pailMiddleware: (NextResponseClass: NextResponseConstructor, options?: PailNextMiddlewareOptions) => (request: NextRequest) => NextResponse;
|
|
65
|
+
declare const pailMiddleware: (NextResponseClass: NextResponseConstructor, options?: PailNextMiddlewareOptions) => ((request: NextRequest) => NextResponse);
|
|
66
66
|
/**
|
|
67
67
|
* Retrieve the request-scoped WideEvent logger from AsyncLocalStorage.
|
|
68
68
|
* Must be called within a `withPail()` wrapped handler or server action.
|
|
@@ -99,5 +99,5 @@ type NextPailOptions<T extends string = string> = PailMiddlewareOptions<T>;
|
|
|
99
99
|
* });
|
|
100
100
|
* ```
|
|
101
101
|
*/
|
|
102
|
-
declare const createWithPail: <T extends string = string>(options: NextPailOptions<T>) => <TArgs extends unknown[], TReturn>(handler: (...args: TArgs) => Promise<TReturn> | TReturn) => (...args: TArgs) => Promise<TReturn
|
|
102
|
+
declare const createWithPail: <T extends string = string>(options: NextPailOptions<T>) => <TArgs extends unknown[], TReturn>(handler: (...args: TArgs) => Promise<TReturn> | TReturn) => ((...args: TArgs) => Promise<TReturn>);
|
|
103
103
|
export { type NextPailOptions, type PailNextMiddlewareOptions, type WideEvent, createWithPail, pailMiddleware, useLogger };
|
|
@@ -1,53 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { pailStorage } from '../../packem_shared/useLogger-D0rU3lcX.js';
|
|
3
|
-
export { useLogger } from '../../packem_shared/useLogger-D0rU3lcX.js';
|
|
4
|
-
export { pailMiddleware } from '../../packem_shared/pailMiddleware-Ci88geIF.js';
|
|
5
|
-
|
|
6
|
-
const createWithPail = (options) => (
|
|
7
|
-
/**
|
|
8
|
-
* Wrap a Next.js route handler or server action with wide event logging.
|
|
9
|
-
* @returns A wrapped handler that creates and emits a WideEvent
|
|
10
|
-
*/
|
|
11
|
-
(handler) => async (...args) => {
|
|
12
|
-
const [firstArgument] = args;
|
|
13
|
-
const isRequest = firstArgument instanceof Request;
|
|
14
|
-
let method = "UNKNOWN";
|
|
15
|
-
let path = "/";
|
|
16
|
-
let requestId = crypto.randomUUID();
|
|
17
|
-
let headers = {};
|
|
18
|
-
if (isRequest) {
|
|
19
|
-
const request = firstArgument;
|
|
20
|
-
const url = new URL(request.url);
|
|
21
|
-
method = request.method;
|
|
22
|
-
path = url.pathname;
|
|
23
|
-
headers = extractSafeHeaders(request.headers);
|
|
24
|
-
const middlewareRequestId = request.headers.get("x-request-id");
|
|
25
|
-
if (middlewareRequestId) {
|
|
26
|
-
requestId = middlewareRequestId;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
const { finish, logger, skipped } = createMiddlewareLogger(options, {
|
|
30
|
-
headers,
|
|
31
|
-
method,
|
|
32
|
-
path,
|
|
33
|
-
requestId
|
|
34
|
-
});
|
|
35
|
-
if (skipped) {
|
|
36
|
-
return handler(...args);
|
|
37
|
-
}
|
|
38
|
-
try {
|
|
39
|
-
const result = await pailStorage.run(logger, () => handler(...args));
|
|
40
|
-
const status = result instanceof Response ? result.status : 200;
|
|
41
|
-
finish({ status });
|
|
42
|
-
return result;
|
|
43
|
-
} catch (error) {
|
|
44
|
-
const errorInstance = error instanceof Error ? error : new Error(String(error));
|
|
45
|
-
const errorStatus = errorInstance.status ?? errorInstance.statusCode ?? 500;
|
|
46
|
-
finish({ error: errorInstance });
|
|
47
|
-
logger.setStatus(errorStatus);
|
|
48
|
-
throw error;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
);
|
|
52
|
-
|
|
53
|
-
export { createWithPail };
|
|
1
|
+
var g=Object.defineProperty;var h=(a,r)=>g(a,"name",{value:r,configurable:!0});import{a as w,c as x}from"../../packem_shared/headers-S8WyX-2m.js";import{pailStorage as y}from"../../packem_shared/useLogger-qyZrjy4D.js";import{useLogger as W}from"../../packem_shared/useLogger-qyZrjy4D.js";import{pailMiddleware as E}from"../../packem_shared/pailMiddleware-CWOJRmJq.js";var S=Object.defineProperty,U=h((a,r)=>S(a,"name",{value:r,configurable:!0}),"c");const N=U(a=>r=>async(...o)=>{const[n]=o,l=n instanceof Request;let i="UNKNOWN",c="/",d=crypto.randomUUID(),u={};if(l){const e=n,t=new URL(e.url);i=e.method,c=t.pathname,u=w(e.headers);const s=e.headers.get("x-request-id");s&&(d=s)}const{finish:p,logger:f,skipped:m}=x(a,{headers:u,method:i,path:c,requestId:d});if(m)return r(...o);try{const e=await y.run(f,()=>r(...o)),t=e instanceof Response?e.status:200;return p({status:t}),e}catch(e){const t=e instanceof Error?e:new Error(String(e)),s=t.status??t.statusCode??500;throw p({error:t}),f.setStatus(s),e}},"createWithPail");export{N as createWithPail,E as pailMiddleware,W as useLogger};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { W as WideEvent } from "../packem_shared/wide-event.d-
|
|
2
|
-
import { P as PailMiddlewareOptions } from "../packem_shared/create-middleware-logger.d-
|
|
1
|
+
import { W as WideEvent } from "../packem_shared/wide-event.d-Ke44zirU.js";
|
|
2
|
+
import { P as PailMiddlewareOptions } from "../packem_shared/create-middleware-logger.d-DeNLii5l.js";
|
|
3
3
|
import 'safe-stable-stringify';
|
|
4
|
-
import "../packem_shared/types.d-
|
|
4
|
+
import "../packem_shared/types.d-ByY2ZuYG.js";
|
|
5
5
|
import '@visulima/colorize';
|
|
6
6
|
import '@visulima/interactive-manager';
|
|
7
7
|
/**
|
|
@@ -1,43 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { c as createLoggerStorage } from '../packem_shared/storage-D0vqz8OX.js';
|
|
3
|
-
|
|
4
|
-
const loggerStorage = createLoggerStorage("SvelteKit handle hook context. Make sure pailHandle is added to your hooks.server.ts.");
|
|
5
|
-
const useLogger = () => loggerStorage.useLogger();
|
|
6
|
-
const pailHandle = (options) => async ({ event, resolve }) => {
|
|
7
|
-
const requestId = event.request.headers.get("x-request-id") ?? crypto.randomUUID();
|
|
8
|
-
const safeHeaders = extractSafeHeaders(event.request.headers);
|
|
9
|
-
const { finish, logger, skipped } = createMiddlewareLogger(options, {
|
|
10
|
-
headers: safeHeaders,
|
|
11
|
-
method: event.request.method,
|
|
12
|
-
path: event.url.pathname,
|
|
13
|
-
requestId
|
|
14
|
-
});
|
|
15
|
-
if (skipped) {
|
|
16
|
-
return resolve(event);
|
|
17
|
-
}
|
|
18
|
-
event.locals.log = logger;
|
|
19
|
-
return loggerStorage.storage.run(logger, async () => {
|
|
20
|
-
try {
|
|
21
|
-
const response = await resolve(event);
|
|
22
|
-
finish({ status: response.status });
|
|
23
|
-
return response;
|
|
24
|
-
} catch (error) {
|
|
25
|
-
finish({ error: error instanceof Error ? error : new Error(String(error)) });
|
|
26
|
-
throw error;
|
|
27
|
-
}
|
|
28
|
-
});
|
|
29
|
-
};
|
|
30
|
-
const pailHandleError = () => ({ error, event }) => {
|
|
31
|
-
const logger = event.locals.log;
|
|
32
|
-
if (logger && error instanceof Error) {
|
|
33
|
-
logger.error(error.message, error);
|
|
34
|
-
}
|
|
35
|
-
};
|
|
36
|
-
const createPailHooks = (options) => {
|
|
37
|
-
return {
|
|
38
|
-
handle: pailHandle(options),
|
|
39
|
-
handleError: pailHandleError()
|
|
40
|
-
};
|
|
41
|
-
};
|
|
42
|
-
|
|
43
|
-
export { createPailHooks, pailHandle, pailHandleError, useLogger };
|
|
1
|
+
var u=Object.defineProperty;var l=(r,e)=>u(r,"name",{value:e,configurable:!0});import{a as h,c as p}from"../packem_shared/headers-S8WyX-2m.js";import{c as m}from"../packem_shared/storage-DHM1EP2P.js";var v=Object.defineProperty,t=l((r,e)=>v(r,"name",{value:e,configurable:!0}),"n");const d=m("SvelteKit handle hook context. Make sure pailHandle is added to your hooks.server.ts."),q=t(()=>d.useLogger(),"useLogger"),f=t(r=>async({event:e,resolve:o})=>{const c=e.request.headers.get("x-request-id")??crypto.randomUUID(),i=h(e.request.headers),{finish:s,logger:n,skipped:g}=p(r,{headers:i,method:e.request.method,path:e.url.pathname,requestId:c});return g?o(e):(e.locals.log=n,d.storage.run(n,async()=>{try{const a=await o(e);return s({status:a.status}),a}catch(a){throw s({error:a instanceof Error?a:new Error(String(a))}),a}}))},"pailHandle"),H=t(()=>({error:r,event:e})=>{const o=e.locals.log;o&&r instanceof Error&&o.error(r.message,r)},"pailHandleError"),L=t(r=>({handle:f(r),handleError:H()}),"createPailHooks");export{L as createPailHooks,f as pailHandle,H as pailHandleError,q as useLogger};
|
package/dist/object-tree.js
CHANGED
|
@@ -1,89 +1,2 @@
|
|
|
1
|
-
const buildContext = (
|
|
2
|
-
|
|
3
|
-
breakCircularWith: " (circular ref.)",
|
|
4
|
-
joined: true,
|
|
5
|
-
keyNeighbour: "├─ ",
|
|
6
|
-
keyNoNeighbour: "└─ ",
|
|
7
|
-
renderFn: (node) => {
|
|
8
|
-
if (["boolean", "number", "string"].includes(typeof node)) {
|
|
9
|
-
return String(node);
|
|
10
|
-
}
|
|
11
|
-
return void 0;
|
|
12
|
-
},
|
|
13
|
-
separator: ": ",
|
|
14
|
-
sortFn: void 0,
|
|
15
|
-
spacerNeighbour: "│ ",
|
|
16
|
-
spacerNoNeighbour: " ",
|
|
17
|
-
...options
|
|
18
|
-
};
|
|
19
|
-
if (typeof context.joined !== "boolean") {
|
|
20
|
-
throw new TypeError('Option "joined" must be a boolean');
|
|
21
|
-
}
|
|
22
|
-
if (typeof context.spacerNoNeighbour !== "string") {
|
|
23
|
-
throw new TypeError('Option "spacerNoNeighbour" must be a string');
|
|
24
|
-
}
|
|
25
|
-
if (typeof context.spacerNeighbour !== "string") {
|
|
26
|
-
throw new TypeError('Option "spacerNeighbour" must be a string');
|
|
27
|
-
}
|
|
28
|
-
if (typeof context.keyNoNeighbour !== "string") {
|
|
29
|
-
throw new TypeError('Option "keyNoNeighbour" must be a string');
|
|
30
|
-
}
|
|
31
|
-
if (typeof context.keyNeighbour !== "string") {
|
|
32
|
-
throw new TypeError('Option "keyNeighbour" must be a string');
|
|
33
|
-
}
|
|
34
|
-
if (typeof context.separator !== "string") {
|
|
35
|
-
throw new TypeError('Option "separator" must be a string');
|
|
36
|
-
}
|
|
37
|
-
if (typeof context.renderFn !== "function") {
|
|
38
|
-
throw new TypeError('Option "renderFn" must be a function');
|
|
39
|
-
}
|
|
40
|
-
if (context.sortFn !== void 0 && typeof context.sortFn !== "function") {
|
|
41
|
-
throw new TypeError('Option "sortFn" must be a function or undefined');
|
|
42
|
-
}
|
|
43
|
-
if (context.breakCircularWith !== null && typeof context.breakCircularWith !== "string") {
|
|
44
|
-
throw new TypeError('Option "breakCircularWith" must be a string or null');
|
|
45
|
-
}
|
|
46
|
-
return context;
|
|
47
|
-
};
|
|
48
|
-
const renderObjectTree = (tree, options) => {
|
|
49
|
-
const context = buildContext(options);
|
|
50
|
-
const result = [];
|
|
51
|
-
const rootRendered = context.renderFn(tree);
|
|
52
|
-
if (rootRendered !== void 0) {
|
|
53
|
-
result.push(rootRendered);
|
|
54
|
-
}
|
|
55
|
-
const sort = (input) => {
|
|
56
|
-
if (context.sortFn === void 0) {
|
|
57
|
-
return input;
|
|
58
|
-
}
|
|
59
|
-
return input.toSorted((a, b) => context.sortFn?.(b, a) ?? 0);
|
|
60
|
-
};
|
|
61
|
-
const neighbours = [];
|
|
62
|
-
const keys = sort(Object.keys(tree)).map((k) => [k]);
|
|
63
|
-
const lookup = [tree];
|
|
64
|
-
while (keys.length > 0) {
|
|
65
|
-
const key = keys.pop() ?? [];
|
|
66
|
-
const node = lookup[key.length - 1][key.at(-1) ?? ""];
|
|
67
|
-
const isCircular = context.breakCircularWith !== null && lookup.slice(0, key.length).includes(node);
|
|
68
|
-
neighbours[key.length - 1] = keys.length > 0 && (keys.at(-1)?.length ?? 0) === key.length;
|
|
69
|
-
const indent = neighbours.slice(0, key.length - 1).map((n) => {
|
|
70
|
-
if (n) {
|
|
71
|
-
return context.spacerNeighbour;
|
|
72
|
-
}
|
|
73
|
-
return context.spacerNoNeighbour;
|
|
74
|
-
}).join("");
|
|
75
|
-
const connector = neighbours[key.length - 1] ? context.keyNeighbour : context.keyNoNeighbour;
|
|
76
|
-
const keyName = key.at(-1) ?? "";
|
|
77
|
-
const nodeRendered = context.renderFn(node);
|
|
78
|
-
const value = nodeRendered === void 0 ? "" : `${context.separator}${nodeRendered}`;
|
|
79
|
-
const circular = isCircular ? context.breakCircularWith ?? "" : "";
|
|
80
|
-
result.push(`${indent}${connector}${keyName}${value}${circular}`);
|
|
81
|
-
if (node !== null && typeof node === "object" && !Array.isArray(node) && !isCircular) {
|
|
82
|
-
keys.push(...sort(Object.keys(node)).map((k) => [...key, k]));
|
|
83
|
-
lookup[key.length] = node;
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
return context.joined ? result.join("\n") : result;
|
|
87
|
-
};
|
|
88
|
-
|
|
89
|
-
export { renderObjectTree as default, renderObjectTree };
|
|
1
|
+
var O=Object.defineProperty;var y=(o,r)=>O(o,"name",{value:r,configurable:!0});var m=Object.defineProperty,u=y((o,r)=>m(o,"name",{value:r,configurable:!0}),"s");const j=u(o=>{const r={breakCircularWith:" (circular ref.)",joined:!0,keyNeighbour:"├─ ",keyNoNeighbour:"└─ ",renderFn:u(e=>{if(["boolean","number","string"].includes(typeof e))return String(e)},"renderFn"),separator:": ",sortFn:void 0,spacerNeighbour:"│ ",spacerNoNeighbour:" ",...o};if(typeof r.joined!="boolean")throw new TypeError('Option "joined" must be a boolean');if(typeof r.spacerNoNeighbour!="string")throw new TypeError('Option "spacerNoNeighbour" must be a string');if(typeof r.spacerNeighbour!="string")throw new TypeError('Option "spacerNeighbour" must be a string');if(typeof r.keyNoNeighbour!="string")throw new TypeError('Option "keyNoNeighbour" must be a string');if(typeof r.keyNeighbour!="string")throw new TypeError('Option "keyNeighbour" must be a string');if(typeof r.separator!="string")throw new TypeError('Option "separator" must be a string');if(typeof r.renderFn!="function")throw new TypeError('Option "renderFn" must be a function');if(r.sortFn!==void 0&&typeof r.sortFn!="function")throw new TypeError('Option "sortFn" must be a function or undefined');if(r.breakCircularWith!==null&&typeof r.breakCircularWith!="string")throw new TypeError('Option "breakCircularWith" must be a string or null');return r},"buildContext"),T=u((o,r)=>{const e=j(r),s=[],g=e.renderFn(o);g!==void 0&&s.push(g);const c=u(t=>e.sortFn===void 0?t:t.toSorted((n,a)=>e.sortFn?.(a,n)??0),"sort"),p=[],i=c(Object.keys(o)).map(t=>[t]),h=[o];for(;i.length>0;){const t=i.pop()??[],n=h[t.length-1][t.at(-1)??""],a=e.breakCircularWith!==null&&h.slice(0,t.length).includes(n);p[t.length-1]=i.length>0&&(i.at(-1)?.length??0)===t.length;const f=p.slice(0,t.length-1).map(b=>b?e.spacerNeighbour:e.spacerNoNeighbour).join(""),d=p[t.length-1]?e.keyNeighbour:e.keyNoNeighbour,N=t.at(-1)??"",l=e.renderFn(n),w=l===void 0?"":`${e.separator}${l}`,k=a?e.breakCircularWith??"":"";s.push(`${f}${d}${N}${w}${k}`),n!==null&&typeof n=="object"&&!Array.isArray(n)&&!a&&(i.push(...c(Object.keys(n)).map(b=>[...t,b])),h[t.length]=n)}return e.joined?s.join(`
|
|
2
|
+
`):s},"renderObjectTree");export{T as default,T as renderObjectTree};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var j=Object.defineProperty;var l=(e,r)=>j(e,"name",{value:r,configurable:!0});import{E as O}from"./constants-ep2nsfdy.js";var h=Object.defineProperty,S=l((e,r)=>h(e,"name",{value:r,configurable:!0}),"e");function v(e){if(typeof e!="object"||e===null)return!1;const r=Object.getPrototypeOf(e);return(r===null||r===Object.prototype||Object.getPrototypeOf(r)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}l(v,"r");S(v,"isPlainObject");var P=Object.defineProperty,s=l((e,r)=>P(e,"name",{value:r,configurable:!0}),"i");const w=Object.create({},{cause:{enumerable:!1,value:void 0,writable:!0},code:{enumerable:!0,value:void 0,writable:!0},errors:{enumerable:!1,value:void 0,writable:!0},message:{enumerable:!1,value:void 0,writable:!0},name:{enumerable:!1,value:void 0,writable:!0},stack:{enumerable:!1,value:void 0,writable:!0}}),m=new WeakSet,d=s(e=>{const r=Object.getOwnPropertyNames(e);for(const n of r){const t=Object.getOwnPropertyDescriptor(e,n);t&&(t.enumerable||Object.defineProperty(e,n,{...t,enumerable:!0}),t.value&&typeof t.value=="object"&&!Array.isArray(t.value)&&(Object.getPrototypeOf(t.value)===Object.prototype||Object.getPrototypeOf(t.value)===null)&&d(t.value))}},"makePropertiesEnumerable"),N=s(e=>{m.add(e);const r=e.toJSON();return m.delete(e),Object.isExtensible(r)&&d(r),r},"toJSON"),y=s((e,r,n,t)=>{if(e&&e instanceof Uint8Array&&e.constructor.name==="Buffer")return"[object Buffer]";if(e!==null&&typeof e=="object"&&"pipe"in e&&typeof e.pipe=="function")return"[object Stream]";if(e instanceof Error)return r.has(e)?"[Circular]":(n+=1,b(e,t,r,n));if(t.useToJSON&&e!==null&&typeof e=="object"&&"toJSON"in e&&typeof e.toJSON=="function")return e.toJSON();if(e instanceof Date)return e.toISOString();if(typeof e=="function")return`[Function: ${e.name||"anonymous"}]`;if(typeof e=="bigint")return`${String(e)}n`;if(v(e)){if(t.maxDepth!==void 0&&t.maxDepth!==Number.POSITIVE_INFINITY&&n+1>=t.maxDepth)return{};n+=1;const o={};for(const i in e)o[i]=y(e[i],r,n,t);return o}try{return e}catch{return"[Not Available]"}},"serializeValue"),b=s((e,r,n,t)=>{if(n.add(e),r.maxDepth===0)return{};if(r.useToJSON&&typeof e.toJSON=="function"&&!m.has(e))return N(e);const o=Object.create(w);if(Object.defineProperty(o,"name",{configurable:!0,enumerable:!0,value:Object.prototype.toString.call(e.constructor)==="[object Function]"?e.constructor.name:e.name,writable:!0}),Object.defineProperty(o,"message",{configurable:!0,enumerable:!0,value:e.message,writable:!0}),Object.defineProperty(o,"stack",{configurable:!0,enumerable:!0,value:e.stack,writable:!0}),Array.isArray(e.errors)){const u=[];for(const a of e.errors){if(!(a instanceof Error))throw new TypeError("All errors in the 'errors' property must be instances of Error");if(n.has(a))return Object.defineProperty(o,"errors",{configurable:!0,enumerable:!0,value:[],writable:!0}),o;u.push(b(a,r,n,t))}Object.defineProperty(o,"errors",{configurable:!0,enumerable:!0,value:u,writable:!0})}const i=e.cause;if(i!=null)if(i instanceof Error)n.has(i)?Object.defineProperty(o,"cause",{configurable:!0,enumerable:!0,value:"[Circular]",writable:!0}):Object.defineProperty(o,"cause",{configurable:!0,enumerable:!0,value:b(i,r,n,t),writable:!0});else{const u=y(i,n,t,r);Object.defineProperty(o,"cause",{configurable:!0,enumerable:!0,value:u,writable:!0})}for(const u in e){if(u==="name"||u==="message"||u==="stack"||u==="cause"||u==="errors")continue;const a=e[u],c=y(a,n,t,r);Object.defineProperty(o,u,{configurable:!0,enumerable:!0,value:c,writable:!0})}if(Array.isArray(r.exclude)&&r.exclude.length>0)for(const u of r.exclude)try{delete o[u]}catch{}return o},"_serialize"),g=s((e,r={})=>b(e,{exclude:r.exclude??[],maxDepth:r.maxDepth??Number.POSITIVE_INFINITY,useToJSON:r.useToJSON??!1},new Set,0),"serialize");var x=Object.defineProperty,E=l((e,r)=>x(e,"name",{value:r,configurable:!0}),"f");class I{static{l(this,"AbstractJsonReporter")}static{E(this,"AbstractJsonReporter")}stringify;errorOptions;constructor(r={}){this.errorOptions=r.error??{}}setStringify(r){this.stringify=r}log(r){const{context:n,error:t,file:o,message:i,type:u,...a}=r;if(a.label&&(a.label=a.label.trim()),o&&(a.file=`${o.name??""}:${String(o.line)}${o.column?`:${String(o.column)}`:""}`),a.message=i===O?void 0:i,t&&(a.error=g(t,this.errorOptions)),n){const c=[];for(let p=0;p<n.length;p+=1){const f=n[p];f!==O&&(f instanceof Error?c.push(g(f,this.errorOptions)):c.push(f))}a.context=c}this._log(this.stringify(a),u.level)}}export{I as AbstractJsonReporter};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var j=Object.defineProperty;var l=(e,r)=>j(e,"name",{value:r,configurable:!0});import{E as O}from"./constants-DKfCaSUR.js";var h=Object.defineProperty,S=l((e,r)=>h(e,"name",{value:r,configurable:!0}),"e");function v(e){if(typeof e!="object"||e===null)return!1;const r=Object.getPrototypeOf(e);return(r===null||r===Object.prototype||Object.getPrototypeOf(r)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}l(v,"r");S(v,"isPlainObject");var P=Object.defineProperty,s=l((e,r)=>P(e,"name",{value:r,configurable:!0}),"i");const w=Object.create({},{cause:{enumerable:!1,value:void 0,writable:!0},code:{enumerable:!0,value:void 0,writable:!0},errors:{enumerable:!1,value:void 0,writable:!0},message:{enumerable:!1,value:void 0,writable:!0},name:{enumerable:!1,value:void 0,writable:!0},stack:{enumerable:!1,value:void 0,writable:!0}}),m=new WeakSet,d=s(e=>{const r=Object.getOwnPropertyNames(e);for(const n of r){const t=Object.getOwnPropertyDescriptor(e,n);t&&(t.enumerable||Object.defineProperty(e,n,{...t,enumerable:!0}),t.value&&typeof t.value=="object"&&!Array.isArray(t.value)&&(Object.getPrototypeOf(t.value)===Object.prototype||Object.getPrototypeOf(t.value)===null)&&d(t.value))}},"makePropertiesEnumerable"),N=s(e=>{m.add(e);const r=e.toJSON();return m.delete(e),Object.isExtensible(r)&&d(r),r},"toJSON"),y=s((e,r,n,t)=>{if(e&&e instanceof Uint8Array&&e.constructor.name==="Buffer")return"[object Buffer]";if(e!==null&&typeof e=="object"&&"pipe"in e&&typeof e.pipe=="function")return"[object Stream]";if(e instanceof Error)return r.has(e)?"[Circular]":(n+=1,b(e,t,r,n));if(t.useToJSON&&e!==null&&typeof e=="object"&&"toJSON"in e&&typeof e.toJSON=="function")return e.toJSON();if(e instanceof Date)return e.toISOString();if(typeof e=="function")return`[Function: ${e.name||"anonymous"}]`;if(typeof e=="bigint")return`${String(e)}n`;if(v(e)){if(t.maxDepth!==void 0&&t.maxDepth!==Number.POSITIVE_INFINITY&&n+1>=t.maxDepth)return{};n+=1;const o={};for(const i in e)o[i]=y(e[i],r,n,t);return o}try{return e}catch{return"[Not Available]"}},"serializeValue"),b=s((e,r,n,t)=>{if(n.add(e),r.maxDepth===0)return{};if(r.useToJSON&&typeof e.toJSON=="function"&&!m.has(e))return N(e);const o=Object.create(w);if(Object.defineProperty(o,"name",{configurable:!0,enumerable:!0,value:Object.prototype.toString.call(e.constructor)==="[object Function]"?e.constructor.name:e.name,writable:!0}),Object.defineProperty(o,"message",{configurable:!0,enumerable:!0,value:e.message,writable:!0}),Object.defineProperty(o,"stack",{configurable:!0,enumerable:!0,value:e.stack,writable:!0}),Array.isArray(e.errors)){const u=[];for(const a of e.errors){if(!(a instanceof Error))throw new TypeError("All errors in the 'errors' property must be instances of Error");if(n.has(a))return Object.defineProperty(o,"errors",{configurable:!0,enumerable:!0,value:[],writable:!0}),o;u.push(b(a,r,n,t))}Object.defineProperty(o,"errors",{configurable:!0,enumerable:!0,value:u,writable:!0})}const i=e.cause;if(i!=null)if(i instanceof Error)n.has(i)?Object.defineProperty(o,"cause",{configurable:!0,enumerable:!0,value:"[Circular]",writable:!0}):Object.defineProperty(o,"cause",{configurable:!0,enumerable:!0,value:b(i,r,n,t),writable:!0});else{const u=y(i,n,t,r);Object.defineProperty(o,"cause",{configurable:!0,enumerable:!0,value:u,writable:!0})}for(const u in e){if(u==="name"||u==="message"||u==="stack"||u==="cause"||u==="errors")continue;const a=e[u],c=y(a,n,t,r);Object.defineProperty(o,u,{configurable:!0,enumerable:!0,value:c,writable:!0})}if(Array.isArray(r.exclude)&&r.exclude.length>0)for(const u of r.exclude)try{delete o[u]}catch{}return o},"_serialize"),g=s((e,r={})=>b(e,{exclude:r.exclude??[],maxDepth:r.maxDepth??Number.POSITIVE_INFINITY,useToJSON:r.useToJSON??!1},new Set,0),"serialize");var x=Object.defineProperty,E=l((e,r)=>x(e,"name",{value:r,configurable:!0}),"f");class I{static{l(this,"AbstractJsonReporter")}static{E(this,"AbstractJsonReporter")}stringify;errorOptions;constructor(r={}){this.errorOptions=r.error??{}}setStringify(r){this.stringify=r}log(r){const{context:n,error:t,file:o,message:i,type:u,...a}=r;if(a.label&&(a.label=a.label.trim()),o&&(a.file=`${o.name??""}:${String(o.line)}${o.column?`:${String(o.column)}`:""}`),a.message=i===O?void 0:i,t&&(a.error=g(t,this.errorOptions)),n){const c=[];for(let p=0;p<n.length;p+=1){const f=n[p];f!==O&&(f instanceof Error?c.push(g(f,this.errorOptions)):c.push(f))}a.context=c}this._log(this.stringify(a),u.level)}}export{I as AbstractJsonReporter};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var i=Object.defineProperty;var s=(t,e)=>i(t,"name",{value:e,configurable:!0});import{createRequire as c}from"node:module";import{i as p}from"./write-stream-Dd4_PTcm.js";import{AbstractJsonReporter as l}from"./AbstractJsonReporter-BawNFYxI.js";const _=c(import.meta.url),a=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,{stdout:n,stderr:u}=a;var d=Object.defineProperty,f=s((t,e)=>d(t,"name",{value:e,configurable:!0}),"r");class j extends l{static{s(this,"m")}static{f(this,"JsonReporter")}#e;#t;constructor(e={}){super(e),this.#e=n,this.#t=u}setStdout(e){this.#e=e}setStderr(e){this.#t=e}_log(e,r){const o=["error","warn"].includes(r)?this.#t:this.#e;p(`${e}
|
|
2
|
+
`,o)}}export{j as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var s=Object.defineProperty;var t=(e,r)=>s(e,"name",{value:r,configurable:!0});import{AbstractJsonReporter as a}from"./AbstractJsonReporter-Dt5-5x2R.js";import{t as p}from"./write-console-log-based-on-level-DfD64owL.js";var c=Object.defineProperty,n=t((e,r)=>c(e,"name",{value:r,configurable:!0}),"e");class l extends a{static{t(this,"p")}static{n(this,"JsonReporter")}constructor(r={}){super(r)}_log(r,o){p(o)(r)}}export{l as default};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
var E=Object.defineProperty;var c=(r,t)=>E(r,"name",{value:t,configurable:!0});import F,{grey as o,white as w,underline as T,bold as M}from"@visulima/colorize/browser";import{v as a,s as Y}from"./index-Bzp4LnJ5.js";import{L as _,E as k}from"./constants-DKfCaSUR.js";import{t as C}from"./write-console-log-based-on-level-DfD64owL.js";var D=Object.defineProperty,G=c((r,t)=>D(r,"name",{value:t,configurable:!0}),"r$1");const H=G(r=>{const t=Object.keys(r).map(l=>r[l].badge??"");return t.length===0?"":t.reduce((l,u)=>l.length>u.length?l:u,"")},"getLongestBadge");var U=Object.defineProperty,R=c((r,t)=>U(r,"name",{value:t,configurable:!0}),"o");const q=R(r=>[r.getHours(),r.getMinutes(),r.getSeconds()].map(t=>String(t).padStart(2,"0")).join(":"),"dateFormatter");class z{static{c(this,"AbstractPrettyReporter")}static{R(this,"AbstractPrettyReporter")}styles;loggerTypes;constructor(t){this.styles={bold:{label:!1},dateFormatter:q,underline:{label:!1,message:!1,prefix:!1,suffix:!1},uppercase:{label:!1},...t},this.loggerTypes=_}setLoggerTypes(t){this.loggerTypes=t}}var I=Object.defineProperty,J=c((r,t)=>I(r,"name",{value:t,configurable:!0}),"B");class X extends z{static{c(this,"_")}static{J(this,"PrettyReporter")}constructor(t={}){super({uppercase:{label:!0,...t.uppercase},...t})}log(t){const l=typeof globalThis.window<"u"&&typeof globalThis.document<"u",u=C(t.type.level),{badge:x,context:A,date:g,error:P,groups:y,label:d,message:S,prefix:b,repeated:f,scope:h,suffix:m,type:B}=t,{color:j}=this.loggerTypes[B.name],O=j?F[j]:w,s=[];if(l&&y.length>0){const e=y.map(()=>" ").join(""),i=o(`[${y.at(-1)}]`);s.push(a(e+i[0],i.slice(1)))}if(g){const e=o(this.styles.dateFormatter(typeof g=="string"?new Date(g):g));l?s.push(a(e[0],e.slice(1))):s.push([`${e[0]} `,...e.slice(1)])}if(x){const e=O(x);l?s.push(a(e[0],e.slice(1))):s.push([`${e[0]} `,...e.slice(1)])}else{const e=H(this.loggerTypes);if(e.length>0){const i=o(".".repeat(e.length));l?s.push(a(`${i[0]} `,i.slice(1))):s.push([`${i[0]} `,...i.slice(1)])}}const L=Y(this.loggerTypes);let $;if(f){const e=w(`[${f}x]`);$=l?a(e[0],e.slice(1)):[e[0],...e.slice(1)]}if(d){const e=O(this.#e(d));l?s.push(a(e[0],e.slice(1))):s.push([e[0],...e.slice(1)]),$&&s.push($);let i=L.length-d.length;if(f?i-=String(f).length+3:i+=1,i>0){const n=o(".".repeat(i));l?s.push(a(n[0],n.slice(1))):s.push([` ${n[0]}`,...n.slice(1)])}}else{const e=o(".".repeat(L.length+1));l?s.push(a(e[0],e.slice(1))):s.push([e[0],...e.slice(1)])}if(Array.isArray(h)&&h.length>0){const e=o(`[${h.join(" > ")}]`);l?s.push(a(e[0],e.slice(1))):s.push([e[0],...e.slice(1)])}if(b){const e=o(`${Array.isArray(h)&&h.length>0?". ":" "}[${this.styles.underline.prefix?T(b):b}] `);l?s.push(a(e[0],e.slice(1))):s.push([e[0],...e.slice(1)])}if(S!==k&&s.push(S),A&&s.push(...A),P&&s.push(P,`
|
|
2
|
+
|
|
3
|
+
`),m){const e=o(this.styles.underline.suffix?T(m):m);l?s.push(a(`
|
|
4
|
+
${e[0]}`,e.slice(1))):s.push([`
|
|
5
|
+
${e[0]}`,...e.slice(1)])}if(l)u(...s);else{let e="";const i=[],n=[];for(let v=0;v<s.length;v+=1){const p=s[v];Array.isArray(p)&&p.length>1&&p[0].includes("%c")?(e+=String(p[0]),i.push(...p.slice(1))):n.push(p)}u(`${e}%c`,...i,"",...n)}}#e(t){let l=this.styles.uppercase.label?t.toUpperCase():t;return l=this.styles.underline.label?T(l):l,this.styles.bold.label&&(l=M(l)),l}}export{X as default};
|