@stackline/pg-types
v1.0.3
Published
Dependency-free PostgreSQL type parsers compatible with pg-types 2.2.0
Maintainers
Readme
@stackline/pg-types
Dependency-free PostgreSQL type parsers compatible with pg-types 2.2.0.
Documentation | npm | Issues | Repository
Current package version: 1.0.3
Why this package?
Dependency-free PostgreSQL result parsers with the public CommonJS and
TypeScript contract of [email protected]. This independent, maintained fork is
the compatibility leaf used by @stackline/pg.
Compatibility
| Item | Value |
| --- | --- |
| Package | @stackline/[email protected] |
| Node.js runtime | >=4 |
| CommonJS / primary entry | ./index.js |
| ES module entry | ./index.mjs |
| Type declarations | ./index.d.ts |
getTypeParser(oid, format?)setTypeParser(oid, parser)setTypeParser(oid, format, parser)arrayParser.create(source, transform?)builtinsTypeIdas the runtime value promised by the historical declarations- CommonJS, Node.js 4 or newer and TypeScript 3.9 declarations
- historical
pg-typespackage name through npm aliasing
Valid PostgreSQL values retain the 2.2.0 parser behavior. Dangerous parser
map keys are isolated, and malformed timestamp processing is bounded instead
of retrying a regular expression at every input position.
See COMPATIBILITY.md and MIGRATION.md for the complete contract.
Installation
Install
Direct scoped use:
npm install @stackline/pg-typesDrop-in replacement without changing existing imports:
Usage
npm install pg-types@npm:@stackline/pg-typesvar types = require('pg-types')
types.setTypeParser(types.builtins.INT8, function (value) {
return parseInt(value, 10)
})The scoped form exposes the same API:
var types = require('@stackline/pg-types')
var parseTimestamp = types.getTypeParser(types.builtins.TIMESTAMPTZ)
console.log(parseTimestamp('2026-08-30 12:00:00+00'))Features and Integrations
Documentation
Public documentation: https://alexandro.net/docs/vanilla/pg-types/
Security
Report vulnerabilities through GitHub private vulnerability reporting. Do not disclose an unpatched vulnerability in a public issue. See SECURITY.md.
Local Development
git clone https://github.com/alexandroit/stackline-pg-types.git
cd stackline-pg-types
npm ci
npm run verifyRelease tooling uses Node.js 24.20.0 and npm 11.19.0. The consumer runtime contract remains the one documented above.
Consumer Smoke Test
Run the repository's existing consumer/package check after installing development dependencies:
npm run test:smokeRelease Checklist
Dependency Standard
The published package has zero runtime dependencies. Exact source from the
five historical parser dependencies is maintained in-tree so an abandoned
transitive package cannot re-enter the install graph. Every release verifies
a warning-free packed install, npm ls --all, production and full audits,
license inventory, package metadata and runtime/type matrices.
The source inventory and license notices are documented in DEPENDENCY_REVIEW.md and THIRD_PARTY_LICENSES.md.
Run npm run verify and inspect the package contents before release. Publish a new version through the GitHub Actions publishing workflow, using the SHA-512 digest of the reviewed tarball. Verify the exact published version, tarball integrity, and npm provenance after the run.
License
MIT. This fork preserves Brian M. Carlson's original notice and the complete notices for derived parser source. See LICENSE, NOTICE and THIRD_PARTY_LICENSES.md.
Credits and original authors
- Stackline Maintainers.
- Brian M. Carlson.
- Ben Drucker.
- Charmander.
- Copyright (c) 2014 Brian M. Carlson.
- Stackline maintenance: Alexandro Paixao Marques and Stackline contributors.
Original copyright, license notices and contributor acknowledgements remain part of this distribution. Stackline maintenance does not replace authorship of the original work.
Community and Links
Use this repository's issue tracker for reproducible bugs and feature requests. Join r/Stackline for examples, usage questions and release discussions.
