+8
-7
@@ -67,9 +67,2 @@ /** | ||
| /** | ||
| * dc-browser | ||
| * | ||
| * Browser-compatible polyfill for Node.js diagnostics_channel. | ||
| * Matches the API from Node.js core exactly. | ||
| */ | ||
| /** | ||
| * Get or create a channel by name. | ||
@@ -85,3 +78,11 @@ * Matches Node.js channel() API. | ||
| declare function hasSubscribers(name: string | symbol): boolean; | ||
| /** | ||
| * dc-browser | ||
| * | ||
| * Browser-compatible polyfill for Node.js diagnostics_channel. | ||
| * Matches the API from Node.js core exactly. | ||
| */ | ||
| /** | ||
| * Subscribe to a channel. | ||
@@ -88,0 +89,0 @@ * Matches Node.js subscribe() API. |
+8
-7
@@ -67,9 +67,2 @@ /** | ||
| /** | ||
| * dc-browser | ||
| * | ||
| * Browser-compatible polyfill for Node.js diagnostics_channel. | ||
| * Matches the API from Node.js core exactly. | ||
| */ | ||
| /** | ||
| * Get or create a channel by name. | ||
@@ -85,3 +78,11 @@ * Matches Node.js channel() API. | ||
| declare function hasSubscribers(name: string | symbol): boolean; | ||
| /** | ||
| * dc-browser | ||
| * | ||
| * Browser-compatible polyfill for Node.js diagnostics_channel. | ||
| * Matches the API from Node.js core exactly. | ||
| */ | ||
| /** | ||
| * Subscribe to a channel. | ||
@@ -88,0 +89,0 @@ * Matches Node.js subscribe() API. |
+32
-22
@@ -129,2 +129,29 @@ "use strict"; | ||
| // src/channel-registry.ts | ||
| var CHANNELS_KEY = /* @__PURE__ */ Symbol.for("dc-browser:channels"); | ||
| var channels = globalThis[CHANNELS_KEY] || (globalThis[CHANNELS_KEY] = /* @__PURE__ */ new Map()); | ||
| function getOrCreateChannel(name) { | ||
| let ch = channels.get(name); | ||
| if (!ch) { | ||
| ch = new Channel(name); | ||
| channels.set(name, ch); | ||
| } | ||
| return ch; | ||
| } | ||
| function getChannelIfExists(name) { | ||
| return channels.get(name); | ||
| } | ||
| // src/channel-api.ts | ||
| function channel(name) { | ||
| if (typeof name !== "string" && typeof name !== "symbol") { | ||
| throw new TypeError("channel name must be a string or symbol"); | ||
| } | ||
| return getOrCreateChannel(name); | ||
| } | ||
| function hasSubscribers(name) { | ||
| const ch = getChannelIfExists(name); | ||
| return ch ? ch.hasSubscribers : false; | ||
| } | ||
| // src/tracing-channel.ts | ||
@@ -139,7 +166,7 @@ var TracingChannel = class { | ||
| if (typeof nameOrChannels === "string") { | ||
| this.start = new Channel(`tracing:${nameOrChannels}:start`); | ||
| this.end = new Channel(`tracing:${nameOrChannels}:end`); | ||
| this.asyncStart = new Channel(`tracing:${nameOrChannels}:asyncStart`); | ||
| this.asyncEnd = new Channel(`tracing:${nameOrChannels}:asyncEnd`); | ||
| this.error = new Channel(`tracing:${nameOrChannels}:error`); | ||
| this.start = channel(`tracing:${nameOrChannels}:start`); | ||
| this.end = channel(`tracing:${nameOrChannels}:end`); | ||
| this.asyncStart = channel(`tracing:${nameOrChannels}:asyncStart`); | ||
| this.asyncEnd = channel(`tracing:${nameOrChannels}:asyncEnd`); | ||
| this.error = channel(`tracing:${nameOrChannels}:error`); | ||
| } else { | ||
@@ -307,19 +334,2 @@ this.start = nameOrChannels.start; | ||
| // src/index.ts | ||
| var CHANNELS_KEY = /* @__PURE__ */ Symbol.for("dc-browser:channels"); | ||
| var channels = globalThis[CHANNELS_KEY] || (globalThis[CHANNELS_KEY] = /* @__PURE__ */ new Map()); | ||
| function channel(name) { | ||
| if (typeof name !== "string" && typeof name !== "symbol") { | ||
| throw new TypeError("channel name must be a string or symbol"); | ||
| } | ||
| let ch = channels.get(name); | ||
| if (!ch) { | ||
| ch = new Channel(name); | ||
| channels.set(name, ch); | ||
| } | ||
| return ch; | ||
| } | ||
| function hasSubscribers(name) { | ||
| const ch = channels.get(name); | ||
| return ch ? ch.hasSubscribers : false; | ||
| } | ||
| function subscribe(name, subscription) { | ||
@@ -326,0 +336,0 @@ const ch = channel(name); |
+32
-22
@@ -97,2 +97,29 @@ // src/channel.ts | ||
| // src/channel-registry.ts | ||
| var CHANNELS_KEY = /* @__PURE__ */ Symbol.for("dc-browser:channels"); | ||
| var channels = globalThis[CHANNELS_KEY] || (globalThis[CHANNELS_KEY] = /* @__PURE__ */ new Map()); | ||
| function getOrCreateChannel(name) { | ||
| let ch = channels.get(name); | ||
| if (!ch) { | ||
| ch = new Channel(name); | ||
| channels.set(name, ch); | ||
| } | ||
| return ch; | ||
| } | ||
| function getChannelIfExists(name) { | ||
| return channels.get(name); | ||
| } | ||
| // src/channel-api.ts | ||
| function channel(name) { | ||
| if (typeof name !== "string" && typeof name !== "symbol") { | ||
| throw new TypeError("channel name must be a string or symbol"); | ||
| } | ||
| return getOrCreateChannel(name); | ||
| } | ||
| function hasSubscribers(name) { | ||
| const ch = getChannelIfExists(name); | ||
| return ch ? ch.hasSubscribers : false; | ||
| } | ||
| // src/tracing-channel.ts | ||
@@ -107,7 +134,7 @@ var TracingChannel = class { | ||
| if (typeof nameOrChannels === "string") { | ||
| this.start = new Channel(`tracing:${nameOrChannels}:start`); | ||
| this.end = new Channel(`tracing:${nameOrChannels}:end`); | ||
| this.asyncStart = new Channel(`tracing:${nameOrChannels}:asyncStart`); | ||
| this.asyncEnd = new Channel(`tracing:${nameOrChannels}:asyncEnd`); | ||
| this.error = new Channel(`tracing:${nameOrChannels}:error`); | ||
| this.start = channel(`tracing:${nameOrChannels}:start`); | ||
| this.end = channel(`tracing:${nameOrChannels}:end`); | ||
| this.asyncStart = channel(`tracing:${nameOrChannels}:asyncStart`); | ||
| this.asyncEnd = channel(`tracing:${nameOrChannels}:asyncEnd`); | ||
| this.error = channel(`tracing:${nameOrChannels}:error`); | ||
| } else { | ||
@@ -275,19 +302,2 @@ this.start = nameOrChannels.start; | ||
| // src/index.ts | ||
| var CHANNELS_KEY = /* @__PURE__ */ Symbol.for("dc-browser:channels"); | ||
| var channels = globalThis[CHANNELS_KEY] || (globalThis[CHANNELS_KEY] = /* @__PURE__ */ new Map()); | ||
| function channel(name) { | ||
| if (typeof name !== "string" && typeof name !== "symbol") { | ||
| throw new TypeError("channel name must be a string or symbol"); | ||
| } | ||
| let ch = channels.get(name); | ||
| if (!ch) { | ||
| ch = new Channel(name); | ||
| channels.set(name, ch); | ||
| } | ||
| return ch; | ||
| } | ||
| function hasSubscribers(name) { | ||
| const ch = channels.get(name); | ||
| return ch ? ch.hasSubscribers : false; | ||
| } | ||
| function subscribe(name, subscription) { | ||
@@ -294,0 +304,0 @@ const ch = channel(name); |
+3
-1
| { | ||
| "name": "dc-browser", | ||
| "version": "1.0.2", | ||
| "version": "1.0.3", | ||
| "description": "Browser polyfill for Node.js diagnostics_channel", | ||
@@ -33,5 +33,7 @@ "author": "Stephen Belanger <admin@stephenbelanger.com>", | ||
| "devDependencies": { | ||
| "@types/jsdom": "^28.0.0", | ||
| "@types/node": "^20.10.5", | ||
| "als-browser": "^1.0.1", | ||
| "happy-dom": "^12.0.0", | ||
| "jsdom": "^28.1.0", | ||
| "tsup": "^8.5.0", | ||
@@ -38,0 +40,0 @@ "typescript": "5.4.4", |
36578
1.14%748
2.19%8
33.33%