HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //opt/alt/alt-nodejs22/root/lib/node_modules/npm/node_modules.bundled/@npmcli/redact/lib/error.js
/** takes an error object and serializes it to a plan object */
function serializeError (input) {
  if (!(input instanceof Error)) {
    if (typeof input === 'string') {
      const error = new Error(`attempted to serialize a non-error, string String, "${input}"`)
      return serializeError(error)
    }
    const error = new Error(`attempted to serialize a non-error, ${typeof input} ${input?.constructor?.name}`)
    return serializeError(error)
  }
  // different error objects store status code differently
  // AxiosError uses `status`, other services use `statusCode`
  const statusCode = input.statusCode ?? input.status
  // CAUTION: what we serialize here gets add to the size of logs
  return {
    errorType: input.errorType ?? input.constructor.name,
    ...(input.message ? { message: input.message } : {}),
    ...(input.stack ? { stack: input.stack } : {}),
    // think of this as error code
    ...(input.code ? { code: input.code } : {}),
    // think of this as http status code
    ...(statusCode ? { statusCode } : {}),
  }
}

module.exports = {
  serializeError,
}