postgres-semicolons
TypeScript icon, indicating that this package has built-in type declarations

0.1.2 • Public • Published

semicolons

This package exists to take a string containing multiple Postgres SQL statements, separated by semicolons, and split it into its constituent statements.

This isn't trivial, because semicolons may occur in double-quoted identifiers, ordinary strings, 'escape' strings, continuation strings, dollar-quoted strings, single-line comments, and (nestable) multi-line comments, and in all these cases they do not separate statements.

Sticky RegExps are used liberally.

Installation

npm install postgres-semicolons

Usage

The exported functions have comprehensive TSDoc comments in index.ts.

An example:

import * as semicolons from 'postgres-semicolons';

const sql = `BEGIN; /*/* SELECT 1; */ SELECT 2; */; SELECT ';'';'; SELECT $x$;$x$; -- COMMIT;`;
const standardConformingStrings = true; 
const splits = semicolons.parseSplits(sql, standardConformingStrings);
const queries = semicolons.nonEmptyStatements(sql, splits.positions);

console.log(queries);  // -> [ 'BEGIN', "SELECT ';'';'", 'SELECT $x$;$x$' ]

License

The code is MIT licensed.

Readme

Keywords

none

Package Sidebar

Install

npm i postgres-semicolons

Weekly Downloads

2,251

Version

0.1.2

License

MIT

Unpacked Size

42.8 kB

Total Files

11

Last publish

Collaborators

  • jawj