New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

node-cls

Package Overview
Dependencies
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

node-cls - npm Package Compare versions

Comparing version 1.0.3 to 1.0.4

2

CHANGELOG.md
## Release notes
__1.0.4__
No longer using recursion internally. This could potentially lead to "Maximum call stack size exceeded".
__1.0.3__

@@ -3,0 +5,0 @@ Saving node_cls on process.

57

index-core.js

@@ -63,25 +63,24 @@ let fs = require('fs');

function getAllContexts(asyncId, obj) {
obj = obj || {};
if (!stack[asyncId])
return;
for (let ns in stack[asyncId].contexts) {
if (!obj[ns]) {
obj[ns] = stack[asyncId].contexts[ns];
function getAllContexts(asyncId) {
let obj = {};
while(stack[asyncId]) {
for (let ns in stack[asyncId].contexts) {
if (!obj[ns]) {
obj[ns] = stack[asyncId].contexts[ns];
}
}
asyncId = stack[asyncId].parent;
}
getAllContexts(stack[asyncId].parent, obj);
return obj;
}
function getContext(ns, asyncId, cur = []) {
asyncId = asyncId || ah.executionAsyncId();
let current = stack[asyncId];
if (!current)
return;
if (current.contexts[ns])
return current.contexts[ns];
if (current.parent) {
cur.push(current.parent);
return getContext(ns, current.parent, cur);
function getContext(ns) {
let asyncId = ah.executionAsyncId();
while(asyncId) {
let current = stack[asyncId];
if (!current)
return;
if (current.contexts[ns])
return current.contexts[ns];
asyncId = current.parent;
}

@@ -104,13 +103,13 @@ }

function exitContextUp(context, ns, asyncId) {
if (!stack[asyncId])
return;
log(`exit ${ asyncId}`);
let parentId = stack[asyncId].parent;
let parent = stack[parentId];
if (parent) {
if (parent.contexts[ns] === context)
delete parent.contexts[ns];
else if (parent.contexts[ns])
return;
exitContextUp(context, ns, parentId);
while(stack[asyncId]) {
log(`exit ${ asyncId}`);
let parentId = stack[asyncId].parent;
let parent = stack[parentId];
if (parent) {
if (parent.contexts[ns] === context)
delete parent.contexts[ns];
else if (parent.contexts[ns])
return;
asyncId = parentId;
}
}

@@ -117,0 +116,0 @@ }

{
"name": "node-cls",
"version": "1.0.3",
"version": "1.0.4",
"description": "Continuation Local Storage based on async_hooks",

@@ -5,0 +5,0 @@ "main": "index.js",

SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc