Socket
Socket
Sign inDemoInstall

@opentelemetry/context-async-hooks

Package Overview
Dependencies
1
Maintainers
4
Versions
117
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.17.0 to 0.17.1-alpha.3

5

build/src/AbstractAsyncHooksContextManager.d.ts

@@ -13,3 +13,3 @@ import { ContextManager, Context } from '@opentelemetry/context-base';

* go through it.
* @param target EventEmitter a instance of EventEmitter to patch
* @param ee EventEmitter an instance of EventEmitter to patch
* @param context the context we want to bind

@@ -40,3 +40,6 @@ */

private _patchAddListener;
private _createPatchMap;
private _getPatchMap;
private readonly _kOtListeners;
}
//# sourceMappingURL=AbstractAsyncHooksContextManager.d.ts.map

47

build/src/AbstractAsyncHooksContextManager.js

@@ -20,3 +20,2 @@ "use strict";

const events_1 = require("events");
const kOtListeners = Symbol('OtListeners');
const ADD_LISTENER_METHODS = [

@@ -30,2 +29,5 @@ 'addListener',

class AbstractAsyncHooksContextManager {
constructor() {
this._kOtListeners = Symbol('OtListeners');
}
bind(target, context = this.active()) {

@@ -62,10 +64,10 @@ if (target instanceof events_1.EventEmitter) {

* go through it.
* @param target EventEmitter a instance of EventEmitter to patch
* @param ee EventEmitter an instance of EventEmitter to patch
* @param context the context we want to bind
*/
_bindEventEmitter(target, context) {
const ee = target;
if (ee[kOtListeners] !== undefined)
return target;
ee[kOtListeners] = {};
_bindEventEmitter(ee, context) {
const map = this._getPatchMap(ee);
if (map !== undefined)
return ee;
this._createPatchMap(ee);
// patch methods that add a listener to propagate context

@@ -88,3 +90,3 @@ ADD_LISTENER_METHODS.forEach(methodName => {

}
return target;
return ee;
}

@@ -98,5 +100,6 @@ /**

_patchRemoveListener(ee, original) {
const contextManager = this;
return function (event, listener) {
var _a;
const events = (_a = ee[kOtListeners]) === null || _a === void 0 ? void 0 : _a[event];
const events = (_a = contextManager._getPatchMap(ee)) === null || _a === void 0 ? void 0 : _a[event];
if (events === undefined) {

@@ -116,6 +119,7 @@ return original.call(this, event, listener);

_patchRemoveAllListeners(ee, original) {
const contextManager = this;
return function (event) {
var _a;
if (((_a = ee[kOtListeners]) === null || _a === void 0 ? void 0 : _a[event]) !== undefined) {
delete ee[kOtListeners][event];
const map = contextManager._getPatchMap(ee);
if ((map === null || map === void 0 ? void 0 : map[event]) !== undefined) {
delete map[event];
}

@@ -135,8 +139,10 @@ return original.call(this, event);

return function (event, listener) {
if (ee[kOtListeners] === undefined)
ee[kOtListeners] = {};
let listeners = ee[kOtListeners][event];
let map = contextManager._getPatchMap(ee);
if (map === undefined) {
map = contextManager._createPatchMap(ee);
}
let listeners = map[event];
if (listeners === undefined) {
listeners = new WeakMap();
ee[kOtListeners][event] = listeners;
map[event] = listeners;
}

@@ -149,4 +155,13 @@ const patchedListener = contextManager.bind(listener, context);

}
_createPatchMap(ee) {
const map = {};
// eslint-disable-next-line @typescript-eslint/no-explicit-any
ee[this._kOtListeners] = map;
return map;
}
_getPatchMap(ee) {
return ee[this._kOtListeners];
}
}
exports.AbstractAsyncHooksContextManager = AbstractAsyncHooksContextManager;
//# sourceMappingURL=AbstractAsyncHooksContextManager.js.map
{
"name": "@opentelemetry/context-async-hooks",
"version": "0.17.0",
"version": "0.17.1-alpha.3+9437d7e8",
"description": "OpenTelemetry AsyncHooks-based Context Manager",

@@ -58,3 +58,3 @@ "main": "build/src/index.js",

},
"gitHead": "a91ea7617f288af632934334d0c8ecece318ce73"
"gitHead": "9437d7e88603e9cc4e818ba7cc90de32832ea284"
}

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc