pg-range
TypeScript icon, indicating that this package has built-in type declarations

1.1.2 • Public • Published

node-pg-range

Range type support for node-postgres.

Usage

Install pg-range into your existing pg adapter:

var pg = require("pg");
require("pg-range").install(pg);

Then make a query that returns range objects!

client.query("SELECT range FROM table", function (result) {
  // result.range = {
  //   begin: Thu Mar 26 2014 17:57:02 GMT-0400 (EDT),
  //   end: Thu Mar 27 2014 17:57:02 GMT-0400 (EDT),
  //   bounds: '[)'
  // }
});

Or make a query that inserts range objects:

var Range = require("pg-range").Range;

client.query("INSERT INTO table VALUES ($1)", [Range(1, 3)]);

See the Postgres "Range Types" documentation for details.

Range objects

pg-range uses stRange.js, a JavaScript range library, to provide a Range class with useful methods, like contains and intersects. See the stRange.js API documentation.

Values of (PostgreSQL) type

  • int4range
  • int8range
  • numrange
  • tsrange
  • tstzrange
  • daterange

will be automatically parsed into instances of Range when the pg-range type adapter is installed.

Warning: When constructing range objects for use in queries, use the pg-range Range constructor as shown above, and not raw stRange.js Range objects. Raw stRange.js objects do not provide a toPostgres method, and will not properly serialize date ranges and empty ranges in queries!

Dependents (6)

Package Sidebar

Install

npm i pg-range

Weekly Downloads

2,297

Version

1.1.2

License

MIT

Unpacked Size

6.85 kB

Total Files

7

Last publish

Collaborators

  • benesch