..:: 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         890  0.5  0.5 11797020 84704 ?      Ssl   2024 1531:56 node /home/sasa/mikosoft_hr/www-mikosoft-hr/server/index.js
sasa         903  0.7  0.5 1331320 84676 ?       Ssl   2024 2171:48 node /home/sasa/mikosoft-info/api-mikosoft-info/starter.js
sasa         929  0.3  0.4 1302328 70584 ?       Ssl   2024 1024:44 node /home/sasa/mikosoft-info/www-mikosoft-info/server/index.js
sasa         943  0.3  0.4 1303368 69548 ?       Ssl   2024 1003:04 node /home/sasa/dex8/dex8-kiosk/server/index.js
sasa         980  0.5  0.5 11813668 97232 ?      Ssl   2024 1648:09 node /home/sasa/mikosoft-info/dodo-mikosoft-info/server/index.js
sasa         981  0.5  0.6 1153712 109040 ?      Ssl   2024 1702:28 node /home/sasa/voovuu/voovuu-api/starter.js
sasa        1039  0.8  1.8 12072792 304016 ?     Ssl   2024 2507:26 node /home/sasa/voovuu/voovuu-pub/server/index.js
www-data 1234891  0.0  0.0   2608   608 ?        S    18:39   0:00 sh -c ps -aux | grep node
www-data 1234893  0.0  0.0   3304   720 ?        S    18:39   0:00 grep node
sasa     1788108  0.4  0.5 11808832 91160 ?      Ssl  Mar16 234:14 node /home/sasa/mikosoft-info/crypto-mikosoft-info/server/index.
sasa     1790865  0.7  0.6 11825340 104384 ?     Ssl  Jan30 868:19 node /home/sasa/dex8/dex8-www/server/index.js
sasa     1791369  0.7  0.8 11789608 139752 ?     Ssl  Jan30 869:54 node /home/sasa/dex8/dex8-api/starter.js
sasa     2044488  0.3  0.4 1300372 69628 ?       Ssl   2024 871:31 node /home/sasa/dex8/dex8-panel/server/index.js
sasa     2574087  0.3  0.4 11795224 79696 ?      Ssl   2024 955:54 node /home/sasa/@mikosoft/dodo-examples/server/index.js
sasa     3598766  0.3  0.4 1102428 67060 ?       Ssl   2024 588:52 node /home/sasa/dex8/dex8-worker/starter.js
sasa     3598767  0.3  0.4 22280560 81456 ?      Ssl   2024 599:01 node /home/sasa/dex8/dex8-worker/starter.js
sasa     3598774  0.3  0.4 1102432 67428 ?       Ssl   2024 591:10 node /home/sasa/dex8/dex8-worker/starter.js
sasa     3598775  0.3  0.4 1101152 65896 ?       Ssl   2024 592:38 node /home/sasa/dex8/dex8-worker/starter.js
sasa     3598802  0.6  1.0 22350028 178752 ?     Ssl   2024 1083:03 node /home/sasa/dex8/dex8-worker/starter.js
sasa     3598803  0.3  0.4 1101920 67224 ?       Ssl   2024 589:12 node /home/sasa/dex8/dex8-worker/starter.js
sasa     3598851  0.3  0.4 1102180 67392 ?       Ssl   2024 589:35 node /home/sasa/dex8/dex8-worker/starter.js
sasa     3598853  0.3  0.4 1101412 67268 ?       Ssl   2024 589:18 node /home/sasa/dex8/dex8-worker/starter.js
sasa     3598925  0.3  0.5 1329664 82632 ?       Ssl   2024 613:38 node /home/sasa/dex8/dex8-worker/starter.js
sasa     3598927  0.3  0.4 1299468 68552 ?       Ssl   2024 590:13 node /home/sasa/dex8/dex8-worker/starter.js