@stainlessdev/xray-express 0.1.0-dev.c66866e → 0.1.0-dev.d01fd73

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 CHANGED
@@ -20,12 +20,20 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  // src/index.ts
21
21
  var index_exports = {};
22
22
  __export(index_exports, {
23
- createEmitter: () => import_xray_core.createEmitter,
23
+ createCoreEmitter: () => import_xray_core.createEmitter,
24
+ createEmitter: () => createEmitter,
24
25
  createExpressMiddleware: () => createExpressMiddleware
25
26
  });
26
27
  module.exports = __toCommonJS(index_exports);
27
28
  var import_xray_core = require("@stainlessdev/xray-core");
28
29
  var import_xray_node = require("@stainlessdev/xray-node");
30
+ function createEmitter(config, options) {
31
+ const emitter = (0, import_xray_core.createEmitter)(config);
32
+ const middleware = createExpressMiddleware(emitter, options);
33
+ middleware.flush = emitter.flush;
34
+ middleware.shutdown = emitter.shutdown;
35
+ return middleware;
36
+ }
29
37
  function createExpressMiddleware(xray, options) {
30
38
  return (req, res, next) => {
31
39
  const wrapped = (0, import_xray_node.wrapHttpHandler)(
@@ -51,6 +59,7 @@ function createExpressMiddleware(xray, options) {
51
59
  }
52
60
  // Annotate the CommonJS export names for ESM import in node:
53
61
  0 && (module.exports = {
62
+ createCoreEmitter,
54
63
  createEmitter,
55
64
  createExpressMiddleware
56
65
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["import type { RequestHandler } from 'express';\nimport type { XrayEmitter, XrayContext } from '@stainlessdev/xray-core';\nimport { createEmitter } from '@stainlessdev/xray-core';\nimport { wrapHttpHandler, type WrapOptions } from '@stainlessdev/xray-node';\n\nexport { createEmitter };\nexport type {\n CaptureConfig,\n RedactionConfig,\n RequestLog,\n XrayConfig,\n XrayContext,\n XrayEmitter,\n} from '@stainlessdev/xray-core';\nexport type { WrapOptions } from '@stainlessdev/xray-node';\n\nexport function createExpressMiddleware(xray: XrayEmitter, options?: WrapOptions): RequestHandler {\n return (req, res, next) => {\n const wrapped = wrapHttpHandler(\n () => {\n next();\n },\n xray,\n {\n ...options,\n onRequest: (ctx: XrayContext) => {\n (req as typeof req & { xray?: XrayContext }).xray = ctx;\n (res as typeof res & { locals?: Record<string, unknown> }).locals ??= {};\n (res.locals as { xray?: XrayContext }).xray = ctx;\n options?.onRequest?.(ctx);\n },\n },\n );\n\n const result = wrapped(req, res);\n if (result && typeof (result as Promise<void>).catch === 'function') {\n void (result as Promise<void>).catch(next);\n }\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,uBAA8B;AAC9B,uBAAkD;AAa3C,SAAS,wBAAwB,MAAmB,SAAuC;AAChG,SAAO,CAAC,KAAK,KAAK,SAAS;AACzB,UAAM,cAAU;AAAA,MACd,MAAM;AACJ,aAAK;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,QACE,GAAG;AAAA,QACH,WAAW,CAAC,QAAqB;AAC/B,UAAC,IAA4C,OAAO;AACpD,UAAC,IAA0D,WAA1D,IAA0D,SAAW,CAAC;AACvE,UAAC,IAAI,OAAkC,OAAO;AAC9C,mBAAS,YAAY,GAAG;AAAA,QAC1B;AAAA,MACF;AAAA,IACF;AAEA,UAAM,SAAS,QAAQ,KAAK,GAAG;AAC/B,QAAI,UAAU,OAAQ,OAAyB,UAAU,YAAY;AACnE,WAAM,OAAyB,MAAM,IAAI;AAAA,IAC3C;AAAA,EACF;AACF;","names":[]}
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["import type { RequestHandler } from 'express';\nimport type { XrayEmitter, XrayContext, XrayConfig } from '@stainlessdev/xray-core';\nimport { createEmitter as createCoreEmitter } from '@stainlessdev/xray-core';\nimport { wrapHttpHandler, type WrapOptions } from '@stainlessdev/xray-node';\n\nexport { createCoreEmitter };\nexport type {\n CaptureConfig,\n RedactionConfig,\n RequestLog,\n XrayConfig,\n XrayContext,\n XrayEmitter,\n} from '@stainlessdev/xray-core';\nexport type { WrapOptions } from '@stainlessdev/xray-node';\n\nexport type ExpressEmitter = RequestHandler & {\n flush: XrayEmitter['flush'];\n shutdown: XrayEmitter['shutdown'];\n};\n\nexport function createEmitter(config: XrayConfig, options?: WrapOptions): ExpressEmitter {\n const emitter = createCoreEmitter(config);\n const middleware = createExpressMiddleware(emitter, options) as ExpressEmitter;\n middleware.flush = emitter.flush;\n middleware.shutdown = emitter.shutdown;\n return middleware;\n}\n\nexport function createExpressMiddleware(xray: XrayEmitter, options?: WrapOptions): RequestHandler {\n return (req, res, next) => {\n const wrapped = wrapHttpHandler(\n () => {\n next();\n },\n xray,\n {\n ...options,\n onRequest: (ctx: XrayContext) => {\n (req as typeof req & { xray?: XrayContext }).xray = ctx;\n (res as typeof res & { locals?: Record<string, unknown> }).locals ??= {};\n (res.locals as { xray?: XrayContext }).xray = ctx;\n options?.onRequest?.(ctx);\n },\n },\n );\n\n const result = wrapped(req, res);\n if (result && typeof (result as Promise<void>).catch === 'function') {\n void (result as Promise<void>).catch(next);\n }\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,4CAAAA;AAAA,EAAA;AAAA;AAAA;AAAA;AAEA,uBAAmD;AACnD,uBAAkD;AAkB3C,SAAS,cAAc,QAAoB,SAAuC;AACvF,QAAM,cAAU,iBAAAC,eAAkB,MAAM;AACxC,QAAM,aAAa,wBAAwB,SAAS,OAAO;AAC3D,aAAW,QAAQ,QAAQ;AAC3B,aAAW,WAAW,QAAQ;AAC9B,SAAO;AACT;AAEO,SAAS,wBAAwB,MAAmB,SAAuC;AAChG,SAAO,CAAC,KAAK,KAAK,SAAS;AACzB,UAAM,cAAU;AAAA,MACd,MAAM;AACJ,aAAK;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,QACE,GAAG;AAAA,QACH,WAAW,CAAC,QAAqB;AAC/B,UAAC,IAA4C,OAAO;AACpD,UAAC,IAA0D,WAA1D,IAA0D,SAAW,CAAC;AACvE,UAAC,IAAI,OAAkC,OAAO;AAC9C,mBAAS,YAAY,GAAG;AAAA,QAC1B;AAAA,MACF;AAAA,IACF;AAEA,UAAM,SAAS,QAAQ,KAAK,GAAG;AAC/B,QAAI,UAAU,OAAQ,OAAyB,UAAU,YAAY;AACnE,WAAM,OAAyB,MAAM,IAAI;AAAA,IAC3C;AAAA,EACF;AACF;","names":["createCoreEmitter","createCoreEmitter"]}
package/dist/index.d.cts CHANGED
@@ -1,9 +1,14 @@
1
1
  import { RequestHandler } from 'express';
2
- import { XrayEmitter } from '@stainlessdev/xray-core';
3
- export { CaptureConfig, RedactionConfig, RequestLog, XrayConfig, XrayContext, XrayEmitter, createEmitter } from '@stainlessdev/xray-core';
2
+ import { XrayEmitter, XrayConfig } from '@stainlessdev/xray-core';
3
+ export { CaptureConfig, RedactionConfig, RequestLog, XrayConfig, XrayContext, XrayEmitter, createEmitter as createCoreEmitter } from '@stainlessdev/xray-core';
4
4
  import { WrapOptions } from '@stainlessdev/xray-node';
5
5
  export { WrapOptions } from '@stainlessdev/xray-node';
6
6
 
7
+ type ExpressEmitter = RequestHandler & {
8
+ flush: XrayEmitter['flush'];
9
+ shutdown: XrayEmitter['shutdown'];
10
+ };
11
+ declare function createEmitter(config: XrayConfig, options?: WrapOptions): ExpressEmitter;
7
12
  declare function createExpressMiddleware(xray: XrayEmitter, options?: WrapOptions): RequestHandler;
8
13
 
9
- export { createExpressMiddleware };
14
+ export { type ExpressEmitter, createEmitter, createExpressMiddleware };
package/dist/index.d.ts CHANGED
@@ -1,9 +1,14 @@
1
1
  import { RequestHandler } from 'express';
2
- import { XrayEmitter } from '@stainlessdev/xray-core';
3
- export { CaptureConfig, RedactionConfig, RequestLog, XrayConfig, XrayContext, XrayEmitter, createEmitter } from '@stainlessdev/xray-core';
2
+ import { XrayEmitter, XrayConfig } from '@stainlessdev/xray-core';
3
+ export { CaptureConfig, RedactionConfig, RequestLog, XrayConfig, XrayContext, XrayEmitter, createEmitter as createCoreEmitter } from '@stainlessdev/xray-core';
4
4
  import { WrapOptions } from '@stainlessdev/xray-node';
5
5
  export { WrapOptions } from '@stainlessdev/xray-node';
6
6
 
7
+ type ExpressEmitter = RequestHandler & {
8
+ flush: XrayEmitter['flush'];
9
+ shutdown: XrayEmitter['shutdown'];
10
+ };
11
+ declare function createEmitter(config: XrayConfig, options?: WrapOptions): ExpressEmitter;
7
12
  declare function createExpressMiddleware(xray: XrayEmitter, options?: WrapOptions): RequestHandler;
8
13
 
9
- export { createExpressMiddleware };
14
+ export { type ExpressEmitter, createEmitter, createExpressMiddleware };
package/dist/index.js CHANGED
@@ -1,6 +1,13 @@
1
1
  // src/index.ts
2
- import { createEmitter } from "@stainlessdev/xray-core";
2
+ import { createEmitter as createCoreEmitter } from "@stainlessdev/xray-core";
3
3
  import { wrapHttpHandler } from "@stainlessdev/xray-node";
4
+ function createEmitter(config, options) {
5
+ const emitter = createCoreEmitter(config);
6
+ const middleware = createExpressMiddleware(emitter, options);
7
+ middleware.flush = emitter.flush;
8
+ middleware.shutdown = emitter.shutdown;
9
+ return middleware;
10
+ }
4
11
  function createExpressMiddleware(xray, options) {
5
12
  return (req, res, next) => {
6
13
  const wrapped = wrapHttpHandler(
@@ -25,6 +32,7 @@ function createExpressMiddleware(xray, options) {
25
32
  };
26
33
  }
27
34
  export {
35
+ createCoreEmitter,
28
36
  createEmitter,
29
37
  createExpressMiddleware
30
38
  };
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["import type { RequestHandler } from 'express';\nimport type { XrayEmitter, XrayContext } from '@stainlessdev/xray-core';\nimport { createEmitter } from '@stainlessdev/xray-core';\nimport { wrapHttpHandler, type WrapOptions } from '@stainlessdev/xray-node';\n\nexport { createEmitter };\nexport type {\n CaptureConfig,\n RedactionConfig,\n RequestLog,\n XrayConfig,\n XrayContext,\n XrayEmitter,\n} from '@stainlessdev/xray-core';\nexport type { WrapOptions } from '@stainlessdev/xray-node';\n\nexport function createExpressMiddleware(xray: XrayEmitter, options?: WrapOptions): RequestHandler {\n return (req, res, next) => {\n const wrapped = wrapHttpHandler(\n () => {\n next();\n },\n xray,\n {\n ...options,\n onRequest: (ctx: XrayContext) => {\n (req as typeof req & { xray?: XrayContext }).xray = ctx;\n (res as typeof res & { locals?: Record<string, unknown> }).locals ??= {};\n (res.locals as { xray?: XrayContext }).xray = ctx;\n options?.onRequest?.(ctx);\n },\n },\n );\n\n const result = wrapped(req, res);\n if (result && typeof (result as Promise<void>).catch === 'function') {\n void (result as Promise<void>).catch(next);\n }\n };\n}\n"],"mappings":";AAEA,SAAS,qBAAqB;AAC9B,SAAS,uBAAyC;AAa3C,SAAS,wBAAwB,MAAmB,SAAuC;AAChG,SAAO,CAAC,KAAK,KAAK,SAAS;AACzB,UAAM,UAAU;AAAA,MACd,MAAM;AACJ,aAAK;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,QACE,GAAG;AAAA,QACH,WAAW,CAAC,QAAqB;AAC/B,UAAC,IAA4C,OAAO;AACpD,UAAC,IAA0D,WAA1D,IAA0D,SAAW,CAAC;AACvE,UAAC,IAAI,OAAkC,OAAO;AAC9C,mBAAS,YAAY,GAAG;AAAA,QAC1B;AAAA,MACF;AAAA,IACF;AAEA,UAAM,SAAS,QAAQ,KAAK,GAAG;AAC/B,QAAI,UAAU,OAAQ,OAAyB,UAAU,YAAY;AACnE,WAAM,OAAyB,MAAM,IAAI;AAAA,IAC3C;AAAA,EACF;AACF;","names":[]}
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["import type { RequestHandler } from 'express';\nimport type { XrayEmitter, XrayContext, XrayConfig } from '@stainlessdev/xray-core';\nimport { createEmitter as createCoreEmitter } from '@stainlessdev/xray-core';\nimport { wrapHttpHandler, type WrapOptions } from '@stainlessdev/xray-node';\n\nexport { createCoreEmitter };\nexport type {\n CaptureConfig,\n RedactionConfig,\n RequestLog,\n XrayConfig,\n XrayContext,\n XrayEmitter,\n} from '@stainlessdev/xray-core';\nexport type { WrapOptions } from '@stainlessdev/xray-node';\n\nexport type ExpressEmitter = RequestHandler & {\n flush: XrayEmitter['flush'];\n shutdown: XrayEmitter['shutdown'];\n};\n\nexport function createEmitter(config: XrayConfig, options?: WrapOptions): ExpressEmitter {\n const emitter = createCoreEmitter(config);\n const middleware = createExpressMiddleware(emitter, options) as ExpressEmitter;\n middleware.flush = emitter.flush;\n middleware.shutdown = emitter.shutdown;\n return middleware;\n}\n\nexport function createExpressMiddleware(xray: XrayEmitter, options?: WrapOptions): RequestHandler {\n return (req, res, next) => {\n const wrapped = wrapHttpHandler(\n () => {\n next();\n },\n xray,\n {\n ...options,\n onRequest: (ctx: XrayContext) => {\n (req as typeof req & { xray?: XrayContext }).xray = ctx;\n (res as typeof res & { locals?: Record<string, unknown> }).locals ??= {};\n (res.locals as { xray?: XrayContext }).xray = ctx;\n options?.onRequest?.(ctx);\n },\n },\n );\n\n const result = wrapped(req, res);\n if (result && typeof (result as Promise<void>).catch === 'function') {\n void (result as Promise<void>).catch(next);\n }\n };\n}\n"],"mappings":";AAEA,SAAS,iBAAiB,yBAAyB;AACnD,SAAS,uBAAyC;AAkB3C,SAAS,cAAc,QAAoB,SAAuC;AACvF,QAAM,UAAU,kBAAkB,MAAM;AACxC,QAAM,aAAa,wBAAwB,SAAS,OAAO;AAC3D,aAAW,QAAQ,QAAQ;AAC3B,aAAW,WAAW,QAAQ;AAC9B,SAAO;AACT;AAEO,SAAS,wBAAwB,MAAmB,SAAuC;AAChG,SAAO,CAAC,KAAK,KAAK,SAAS;AACzB,UAAM,UAAU;AAAA,MACd,MAAM;AACJ,aAAK;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,QACE,GAAG;AAAA,QACH,WAAW,CAAC,QAAqB;AAC/B,UAAC,IAA4C,OAAO;AACpD,UAAC,IAA0D,WAA1D,IAA0D,SAAW,CAAC;AACvE,UAAC,IAAI,OAAkC,OAAO;AAC9C,mBAAS,YAAY,GAAG;AAAA,QAC1B;AAAA,MACF;AAAA,IACF;AAEA,UAAM,SAAS,QAAQ,KAAK,GAAG;AAC/B,QAAI,UAAU,OAAQ,OAAyB,UAAU,YAAY;AACnE,WAAM,OAAyB,MAAM,IAAI;AAAA,IAC3C;AAAA,EACF;AACF;","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stainlessdev/xray-express",
3
- "version": "0.1.0-dev.c66866e",
3
+ "version": "0.1.0-dev.d01fd73",
4
4
  "description": "Express integration for Stainless X-ray request logging",
5
5
  "files": [
6
6
  "dist"
@@ -20,8 +20,8 @@
20
20
  "access": "public"
21
21
  },
22
22
  "dependencies": {
23
- "@stainlessdev/xray-core": "0.1.0-dev.c66866e",
24
- "@stainlessdev/xray-node": "0.1.0-dev.c66866e"
23
+ "@stainlessdev/xray-core": "0.1.0-dev.d01fd73",
24
+ "@stainlessdev/xray-node": "0.1.0-dev.d01fd73"
25
25
  },
26
26
  "devDependencies": {
27
27
  "@opentelemetry/api": "^1.9.0",