Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
function createNamespace(name) {
assert.ok(name, 'namespace must be given a name.');
let namespace = new Namespace(name);
namespace.id = currentUid;
asyncHook.addHooks({
init(uid, handle, provider, parentUid, parentHandle) {
//parentUid = parentUid || currentUid; // Suggested usage but appears to work better for tracing modules.
currentUid = uid;
//CHAIN Parent's Context onto child if none exists. This is needed to pass net-events.spec
if (parentUid) {
namespace._contexts.set(uid, namespace._contexts.get(parentUid));
} else {
namespace._contexts.set(currentUid, namespace.active);
}
},
pre(uid, handle) {
currentUid = uid;
let context = namespace._contexts.get(uid);
if (context) {
namespace.enter(context);