..:: Source code - 056global_properties_node.js ::..

/**
 * List all 'global' properties
 */
var property;

for (property in global) {
  if (global.hasOwnProperty(property)) {
    console.log("global." + property + " = " + global[property]);
  }
}
 

..:: NodeJS Console - 056global_properties_node.js ::..

$ node 056global_properties_node.js
global.global = [object global]
global.clearImmediate = function clearImmediate(immediate) {
  if (!immediate || immediate._destroyed)
    return;

  immediateInfo[kCount]--;
  immediate._destroyed = true;

  if (immediate[kRefed] && --immediateInfo[kRefCount] === 0) {
    // We need to use the binding as the receiver for fast API calls.
    binding.toggleImmediateRef(false);
  }
  immediate[kRefed] = null;

  if (destroyHooksExist() && immediate[async_id_symbol] !== undefined) {
    emitDestroy(immediate[async_id_symbol]);
  }

  immediate._onImmediate = null;

  immediateQueue.remove(immediate);
}
global.setImmediate = function setImmediate(callback, arg1, arg2, arg3) {
  validateFunction(callback, 'callback');

  let i, args;
  switch (arguments.length) {
    // fast cases
    case 1:
      break;
    case 2:
      args = [arg1];
      break;
    case 3:
      args = [arg1, arg2];
      break;
    default:
      args = [arg1, arg2, arg3];
      for (i = 4; i < arguments.length; i++) {
        // Extend array dynamically, makes .apply run much faster in v6.0.0
        args[i - 1] = arguments[i];
      }
      break;
  }

  return new Immediate(callback, args);
}
global.clearInterval = function clearInterval(timer) {
  // clearTimeout and clearInterval can be used to clear timers created from
  // both setTimeout and setInterval, as specified by HTML Living Standard:
  // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-setinterval
  clearTimeout(timer);
}
global.clearTimeout = function clearTimeout(timer) {
  if (timer && timer._onTimeout) {
    timer._onTimeout = null;
    unenroll(timer);
    return;
  }
  if (typeof timer === 'number' || typeof timer === 'string') {
    const timerInstance = knownTimersById[timer];
    if (timerInstance !== undefined) {
      timerInstance._onTimeout = null;
      unenroll(timerInstance);
    }
  }
}
global.setInterval = function setInterval(callback, repeat, arg1, arg2, arg3) {
  validateFunction(callback, 'callback');

  let i, args;
  switch (arguments.length) {
    // fast cases
    case 1:
    case 2:
      break;
    case 3:
      args = [arg1];
      break;
    case 4:
      args = [arg1, arg2];
      break;
    default:
      args = [arg1, arg2, arg3];
      for (i = 5; i < arguments.length; i++) {
        // Extend array dynamically, makes .apply run much faster in v6.0.0
        args[i - 2] = arguments[i];
      }
      break;
  }

  const timeout = new Timeout(callback, repeat, args, true, true);
  insert(timeout, timeout._idleTimeout);

  return timeout;
}
global.setTimeout = function setTimeout(callback, after, arg1, arg2, arg3) {
  validateFunction(callback, 'callback');

  let i, args;
  switch (arguments.length) {
    // fast cases
    case 1:
    case 2:
      break;
    case 3:
      args = [arg1];
      break;
    case 4:
      args = [arg1, arg2];
      break;
    default:
      args = [arg1, arg2, arg3];
      for (i = 5; i < arguments.length; i++) {
        // Extend array dynamically, makes .apply run much faster in v6.0.0
        args[i - 2] = arguments[i];
      }
      break;
  }

  const timeout = new Timeout(callback, after, args, false, true);
  insert(timeout, timeout._idleTimeout);

  return timeout;
}
global.queueMicrotask = function queueMicrotask(callback) {
  validateFunction(callback, 'callback');

  const asyncResource = new AsyncResource(
    'Microtask',
    defaultMicrotaskResourceOpts,
  );
  asyncResource.callback = callback;

  enqueueMicrotask(FunctionPrototypeBind(runMicrotask, asyncResource));
}
global.structuredClone = function structuredClone() { [native code] }
global.atob = function atob(input) {
  // The implementation here has not been performance optimized in any way and
  // should not be.
  // Refs: https://github.com/nodejs/node/pull/38433#issuecomment-828426932
  if (arguments.length === 0) {
    throw new ERR_MISSING_ARGS('input');
  }

  input = `${input}`;
  let nonAsciiWhitespaceCharCount = 0;
  let equalCharCount = 0;

  for (let n = 0; n < input.length; n++) {
    const index = ArrayPrototypeIndexOf(
      kForgivingBase64AllowedChars,
      StringPrototypeCharCodeAt(input, n));

    if (index > 4) {
      // The first 5 elements of `kForgivingBase64AllowedChars` are
      // ASCII whitespace char codes.
      nonAsciiWhitespaceCharCount++;

      if (index === kEqualSignIndex) {
        equalCharCount++;
      } else if (equalCharCount) {
        // The `=` char is only allowed at the end.
        throw lazyDOMException('Invalid character', 'InvalidCharacterError');
      }

      if (equalCharCount > 2) {
        // Only one more `=` is permitted after the first equal sign.
        throw lazyDOMException('Invalid character', 'InvalidCharacterError');
      }
    } else if (index === -1) {
      throw lazyDOMException('Invalid character', 'InvalidCharacterError');
    }
  }

  let reminder = nonAsciiWhitespaceCharCount % 4;

  // See #2, #3, #4 - https://infra.spec.whatwg.org/#forgiving-base64
  if (!reminder) {
    // Remove all trailing `=` characters and get the new reminder.
    reminder = (nonAsciiWhitespaceCharCount - equalCharCount) % 4;
  } else if (equalCharCount) {
    // `=` should not in the input if there's a reminder.
    throw lazyDOMException('Invalid character', 'InvalidCharacterError');
  }

  // See #3 - https://infra.spec.whatwg.org/#forgiving-base64
  if (reminder === 1) {
    throw lazyDOMException(
      'The string to be decoded is not correctly encoded.',
      'InvalidCharacterError');
  }

  return Buffer.from(input, 'base64').toString('latin1');
}
global.btoa = function btoa(input) {
  // The implementation here has not been performance optimized in any way and
  // should not be.
  // Refs: https://github.com/nodejs/node/pull/38433#issuecomment-828426932
  if (arguments.length === 0) {
    throw new ERR_MISSING_ARGS('input');
  }
  input = `${input}`;
  for (let n = 0; n < input.length; n++) {
    if (input[n].charCodeAt(0) > 0xff)
      throw lazyDOMException('Invalid character', 'InvalidCharacterError');
  }
  const buf = Buffer.from(input, 'latin1');
  return buf.toString('base64');
}
global.performance = [object Performance]
global.fetch = function fetch(input, init = undefined) {
      return lazyUndici().fetch(input, init);
    }
global.crypto = [object Crypto]
$ps -aux | grep node (list all node processes)
sasa        1197  1.3  0.6 1330492 106488 ?      Ssl  Oct18  90:12 node /home/sasa/.pm2/modules/pm2-logrotate/node_modules/pm2-logr
sasa        1211  7.6  0.6 11704520 110716 ?     Ssl  Oct18 511:55 node /home/sasa/dex8/dex8-api/starter.js
sasa        1218  0.4  0.5 11799916 83800 ?      Ssl  Oct18  29:13 node /home/sasa/dex8/dex8-panel/server/index.js
sasa        1219  0.7  0.7 11825260 118772 ?     Ssl  Oct18  48:08 node /home/sasa/dex8/dex8-www/server/index.js
sasa        1232  0.4  0.5 11805212 90184 ?      Ssl  Oct18  26:56 node /home/sasa/mikosoft_hr/www-mikosoft-hr/server/index.js
sasa        1248  0.6  0.5 1330748 84168 ?       Ssl  Oct18  42:11 node /home/sasa/mikosoft-info/api-mikosoft-info/starter.js
sasa        1274  0.3  0.4 1299508 66824 ?       Ssl  Oct18  21:16 node /home/sasa/mikosoft-info/www-mikosoft-info/server/index.js
sasa        1277  0.3  0.3 1297632 65280 ?       Ssl  Oct18  20:50 node /home/sasa/dex8/dex8-kiosk/server/index.js
sasa        1335  0.4  0.6 11832912 106788 ?     Ssl  Oct18  28:07 node /home/sasa/mikosoft-info/dodo-mikosoft-info/server/index.js
sasa        1337  0.6  0.6 1156356 112720 ?      Ssl  Oct18  42:54 node /home/sasa/voovuu/voovuu-api/starter.js
sasa        1385  2.6  2.5 12107340 418676 ?     Ssl  Oct18 179:23 node /home/sasa/voovuu/voovuu-pub/server/index.js
sasa        1387  0.3  0.4 11797056 80884 ?      Ssl  Oct18  22:12 node /home/sasa/@mikosoft/dodo-examples/server/index.js
sasa        1457  0.3  0.3 1100384 65092 ?       Ssl  Oct18  21:21 node /home/sasa/dex8/dex8-worker/starter.js
sasa        1458  0.3  0.3 1100648 65440 ?       Ssl  Oct18  21:17 node /home/sasa/dex8/dex8-worker/starter.js
sasa        1514  0.3  0.3 1100772 65392 ?       Ssl  Oct18  21:13 node /home/sasa/dex8/dex8-worker/starter.js
sasa        1515  0.3  0.3 1100644 64924 ?       Ssl  Oct18  21:16 node /home/sasa/dex8/dex8-worker/starter.js
sasa        1593  0.3  0.3 1100640 65276 ?       Ssl  Oct18  21:19 node /home/sasa/dex8/dex8-worker/starter.js
sasa        1595  0.3  0.3 1100640 64872 ?       Ssl  Oct18  21:16 node /home/sasa/dex8/dex8-worker/starter.js
sasa        1660  0.3  0.3 1100784 64608 ?       Ssl  Oct18  21:11 node /home/sasa/dex8/dex8-worker/starter.js
sasa        1661  0.3  0.3 1100384 65412 ?       Ssl  Oct18  21:11 node /home/sasa/dex8/dex8-worker/starter.js
sasa        1732  0.3  0.3 1100384 65168 ?       Ssl  Oct18  21:16 node /home/sasa/dex8/dex8-worker/starter.js
sasa        1734  0.3  0.3 1100640 64620 ?       Ssl  Oct18  21:13 node /home/sasa/dex8/dex8-worker/starter.js
sasa        1792  0.4  0.5 11801812 88816 ?      Ssl  Oct18  29:57 node /home/sasa/mikosoft-info/crypto-mikosoft-info/server/index.
sasa      367378  0.5  0.4 1327408 79548 ?       Ssl  Oct21  11:22 node /home/sasa/miko/miko-hr/api/starter.js
sasa      367471  1.3  1.3 11951792 221060 ?     Ssl  Oct21  28:40 node /home/sasa/miko/miko-hr/server/index.js
www-data  533571  0.0  0.0   2608   536 ?        S    04:21   0:00 sh -c ps -aux | grep node
www-data  533573  0.0  0.0   3304   716 ?        S    04:21   0:00 grep node