Skip to content
/ pg-ts Public
forked from musicglue/pg-ts

Typescript wrapper around node-postgres

License

Notifications You must be signed in to change notification settings

ivivona/pg-ts

Repository files navigation

pg-ts

Typescript wrapper around node-postgres

💥 breaking change 🚀 new feature 🐛 bug fix 🔧 chore 📓 docs

v8.0.0

  • 🐛 fix broken nominal typing on classes by changing public readonly _T = "<class name>" to public readonly _<class name>: void.
  • 💥 as a result of fixing nominal typing, makeConnectionPool now returns an error union of PgPoolCreationError | PgTypeParserSetupError instead of PgPoolCreationError. Other errors may occur in application code as a result of the error classes now being correctly differentiated.

## v7.0.0

v6.0.1

  • 🔧 add _T symbol to uniquely identify error classes

v6.0.0

  • 💥 Simplified the API by always requiring an environment object in which pg-ts can store it's state (Connection) under a Symbol key. This will never conflict with other keys in the E, so we can now remove ConnectionE and related subsequent design decisions.

v5.0.1

  • 🐛 QueryAnyError union included PgRowCountError. This is incorrect (obvs).
  • 🔧 Compiled with TS3.0.1.

v5.0.0

  • Eitherish functions no longer return a simple Error type in their Lefts. Instead, we now provide a union of concrete error types that make it explicit what the failure conditions are. Clients can pattern match on error type using the provided ErrorPredicate functions, e.g, isRowCountError. Application-defined error types are propagated through the pg-ts stack.

  • Commonly-grouped errors are provided as unions, e.g. ConnectionError<L>, TransactionError<L>.

  • Renamed withConnectionE to widenToConnectionE for clarity and to differentiate from the withConnectionE function defined on Connection.

  • withTransaction has been replaced by three similar functions that assist you depending on whether you want to go from:

    Outer Context Inner Context Function to use
    Connection Connection withTransactionC
    ConnectionE<E> ConnectionE<E> withTransactionE
    ConnectionE<E> Connection withTransactionEC
  • Fixed the types setting in package.json, so imports should now default to from "pg-ts" instead of from "pg-ts/dist".

  • Integration tests are provided. A DATABASE_URL environment variable must be present. The test suite will create the table it needs and will truncate before each test. Every query type is tested and transaction commit/rollback behaviour is also verified.

About

Typescript wrapper around node-postgres

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 100.0%