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.

Dependencies (0)

    Dev Dependencies (4)

    Package Sidebar

    Install

    npm i postgres-semicolons

    Weekly Downloads

    2,057

    Version

    0.1.2

    License

    MIT

    Unpacked Size

    42.8 kB

    Total Files

    11

    Last publish

    Collaborators

    • jawj