Socket
Socket
Sign inDemoInstall

postgres-interval

Package Overview
Dependencies
0
Maintainers
1
Versions
14
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    postgres-interval

Parse Postgres interval columns


Version published
Weekly downloads
6.4M
increased by0.88%
Maintainers
1
Install size
11.7 kB
Created
Weekly downloads
 

Package description

What is postgres-interval?

The postgres-interval npm package is designed to parse and handle PostgreSQL interval types in JavaScript. It allows for the parsing of interval output from PostgreSQL into a JavaScript object, manipulation of these interval objects, and formatting of interval objects back into strings that PostgreSQL can understand. This is particularly useful when working with time-based data that needs to be manipulated or displayed in a JavaScript application.

What are postgres-interval's main functionalities?

Parsing PostgreSQL interval output

This feature allows for the parsing of a PostgreSQL interval string into a JavaScript object, making it easier to work with in a JavaScript codebase. The object contains properties for years, months, days, hours, minutes, and seconds.

const parseInterval = require('postgres-interval');
const result = parseInterval('1 year 2 months 3 days 04:05:06');
console.log(result);

Manipulating interval objects

After parsing an interval string into an object, this feature allows for the manipulation of the interval's properties (e.g., adding an extra day). The manipulated interval can then be converted back into a PostgreSQL interval string.

const parseInterval = require('postgres-interval');
const interval = parseInterval('1 day');
interval.days += 1;
console.log(interval.toPostgres());

Formatting intervals for PostgreSQL

This feature is useful for converting a manipulated interval object back into a string format that PostgreSQL can understand, enabling the updated interval to be used in database queries or operations.

const parseInterval = require('postgres-interval');
const interval = parseInterval('10 hours');
const formattedInterval = interval.toPostgres();
console.log(formattedInterval);

Other packages similar to postgres-interval

Readme

Source

postgres-interval tests

Parse Postgres interval columns

Install

npm install --save postgres-interval

Usage

var parse = require('postgres-interval')
var interval = parse('01:02:03')
// => { hours: 1, minutes: 2, seconds: 3 }
interval.toPostgres()
// 1 hour 2 minutes 3 seconds
interval.toISOString()
// P0Y0M0DT1H2M3S
interval.toISOStringShort()
// PT1H2M3S

This package parses the default Postgres interval style. If you have changed intervalstyle, you will need to set it back to the default:

set intervalstyle to default;

API

parse(pgInterval) -> interval
pgInterval

Required
Type: string

A Postgres interval string.

This package is focused on parsing Postgres outputs. It optimizes for performance by assuming that inputs follow the default interval format. It does not perform any validation on the input. If any interval field is not found, its value will be set to 0 in the returned interval.

interval.toPostgres() -> string

Returns an interval string. This allows the interval object to be passed into prepared statements.

interval.toISOString() -> string

Returns an ISO 8601 compliant string, for example P0Y0M0DT0H9M0S.

Also available as interval.toISO() for backwards compatibility.

interval.toISOStringShort() -> string

Returns an ISO 8601 compliant string shortened to minimum length, for example PT9M.

License

MIT © Ben Drucker

Keywords

FAQs

Last updated on 29 Jan 2024

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc