porsager/postgres

Incorrect constructor parameter types for class `PostgresError`

Open

#703 创建于 2023年10月19日

在 GitHub 查看
 (0 评论) (0 反应) (0 负责人)JavaScript (6,221 star) (230 fork)batch import
Typescripthelp wanted

描述

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

贡献者指南