HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux ip-172-31-42-149 5.15.0-1084-aws #91~20.04.1-Ubuntu SMP Fri May 2 07:00:04 UTC 2025 aarch64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //lib/node_modules/npm/node_modules/@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,
}