MCPcopy Index your code
hub / github.com/nodejs/node / debuglog

Function debuglog

lib/internal/util/debuglog.js:87–138  ·  view source on GitHub ↗
(set, cb)

Source from the content-addressed store, hash-verified

85// that may be loaded before these run time states are allowed to
86// be accessed.
87function debuglog(set, cb) {
88 function init() {
89 set = StringPrototypeToUpperCase(set);
90 enabled = testEnabled(set);
91 }
92 let debug = (...args) => {
93 init();
94 // Only invokes debuglogImpl() when the debug function is
95 // called for the first time.
96 debug = debuglogImpl(enabled, set);
97 if (typeof cb === 'function') {
98 ObjectDefineProperty(debug, 'enabled', {
99 __proto__: null,
100 get() {
101 return enabled;
102 },
103 configurable: true,
104 enumerable: true,
105 });
106 cb(debug);
107 }
108 switch (args.length) {
109 case 1: return debug(args[0]);
110 case 2: return debug(args[0], args[1]);
111 default: return debug(...new SafeArrayIterator(args));
112 }
113 };
114 let enabled;
115 let test = () => {
116 init();
117 test = () => enabled;
118 return enabled;
119 };
120 const logger = (...args) => {
121 // Improve performance when debug is disabled, avoid calling `new SafeArrayIterator(args)`
122 if (enabled === false) return;
123 switch (args.length) {
124 case 1: return debug(args[0]);
125 case 2: return debug(args[0], args[1]);
126 default: return debug(...new SafeArrayIterator(args));
127 }
128 };
129 ObjectDefineProperty(logger, 'enabled', {
130 __proto__: null,
131 get() {
132 return test();
133 },
134 configurable: true,
135 enumerable: true,
136 });
137 return logger;
138}
139
140function pad(value) {
141 return StringPrototypePadStart(`${value}`, 2, '0');

Callers 14

runMethod · 0.50
controlEvalFunction · 0.50
returnToCallbackFunction · 0.50
debugEvalFunction · 0.50
createReplFunction · 0.50
_handleChunkMethod · 0.50
callMethodMethod · 0.50
_connectWebsocketMethod · 0.50
handshakeListenerMethod · 0.50
loader.jsFile · 0.50

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…