
Security News
Open Source CAI Framework Handles Pen Testing Tasks up to 3,600× Faster Than Humans
CAI is a new open source AI framework that automates penetration testing tasks like scanning and exploitation up to 3,600× faster than humans.
postgres-range
Advanced tools
The postgres-range npm package is designed to parse and serialize PostgreSQL range types. It supports various operations on range data, such as checking if a range contains a value, if one range contains another, if ranges overlap, and more. This package is particularly useful when working with PostgreSQL databases in Node.js applications that require manipulation or interpretation of range data.
Parsing range strings
This feature allows for the parsing of PostgreSQL range strings into Range objects. The example demonstrates parsing an integer range string.
"const { Range } = require('postgres-range');
const intRange = Range.parse('[1,5)');
console.log(intRange);"
Checking if a range contains a value
This feature enables checking whether a given value is contained within a range. The example shows how to check if the number 3 is within the range [1,5), which returns true, and if the number 5 is within the same range, which returns false.
"const { Range } = require('postgres-range');
const intRange = new Range(1, 5);
console.log(intRange.contains(3)); // true
console.log(intRange.contains(5)); // false"
Serializing range objects to strings
This feature allows for the serialization of Range objects back into PostgreSQL range strings. The example demonstrates serializing a Range object representing the range [1,5).
"const { Range } = require('postgres-range');
const intRange = new Range(1, 5, '[)');
console.log(intRange.toString()); // '[1,5)'"
Similar to postgres-range, pg-range is designed to work with PostgreSQL range types in Node.js. It provides functionality for parsing and formatting range types. The main difference is in the API design and the extent of utility functions provided for range manipulation.
Parse postgres range columns
npm install --save postgres-range
const range = require('postgres-range')
const rng = range.parse('[0,5)', (value) => parseInt(value, 10))
rng.isBounded()
// => true
rng.isLowerBoundClosed()
// => true
rng.isUpperBoundClosed()
// => false
rng.hasLowerBound()
// => true
rng.hasUpperBound()
// => true
rng.containsPoint(4)
// => true
rng.containsRange(range.parse('[1,2]', x => parseInt(x)))
// => true
range.parse('empty').isEmpty()
// => true
range.serialize(new range.Range(0, 5))
// => '(0,5)'
range.serialize(new range.Range(0, 5, range.RANGE_LB_INC | RANGE_UB_INC))
// => '[0,5]'
parse(input, [transform])
-> Range
Required
Type: string
A Postgres range string.
Type: function
Default: identity
A function that transforms non-null bounds of the range.
serialize(range, [format])
-> string
Required
Type: Range
A Range
object.
Type: function
Default: identity
A function that formats non-null bounds of the range.
MIT © Abbas Mashayekh
FAQs
Range data type parser and serializer for PostgreSQL
The npm package postgres-range receives a total of 1,967,473 weekly downloads. As such, postgres-range popularity was classified as popular.
We found that postgres-range demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
CAI is a new open source AI framework that automates penetration testing tasks like scanning and exploitation up to 3,600× faster than humans.
Security News
Deno 2.4 brings back bundling, improves dependency updates and telemetry, and makes the runtime more practical for real-world JavaScript projects.
Security News
CVEForecast.org uses machine learning to project a record-breaking surge in vulnerability disclosures in 2025.