porsager/postgres

Incorrect constructor parameter types for class `PostgresError`

Open

#703 opened on Oct 19, 2023

View on GitHub
 (0 comments) (0 reactions) (0 assignees)JavaScript (6,221 stars) (230 forks)batch import
Typescripthelp wanted

Description

According to the types, to construct a new PostgresError the first argument is a message string:

With this code:

import postgres from "postgres";

const error = new postgres.PostgresError("Error message.");

console.log(Object.entries(error));

What actually logs is:

[
  [ '0', 'E' ],
  [ '1', 'r' ],
  [ '2', 'r' ],
  [ '3', 'o' ],
  [ '4', 'r' ],
  [ '5', ' ' ],
  [ '6', 'm' ],
  [ '7', 'e' ],
  [ '8', 's' ],
  [ '9', 's' ],
  [ '10', 'a' ],
  [ '11', 'g' ],
  [ '12', 'e' ],
  [ '13', '.' ],
  [ 'name', 'PostgresError' ]
]

That's because actually the first argument it seems is supposed to be an Error instance:

https://github.com/porsager/postgres/blob/0428b30937400a7dadc8ed09587c44ef917052a6/src/errors.js#L1-L7

Contributor guide