New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

pgsql-ast-parser

Package Overview
Dependencies
Maintainers
1
Versions
108
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

pgsql-ast-parser - npm Package Compare versions

Comparing version 4.1.4 to 4.1.5

literal-syntaxes/interval-builder.d.ts

3

index.d.ts

@@ -1,2 +0,2 @@

export { parse, parseFirst, parseArrayLiteral, parseGeometricLiteral } from './parser';
export { parse, parseFirst, parseArrayLiteral, parseGeometricLiteral, parseIntervalLiteral } from './parser';
export { astVisitor } from './ast-visitor';

@@ -10,2 +10,3 @@ export { arrayNilMap, assignChanged, astMapper } from './ast-mapper';

export type { IAstPartialVisitor, IAstVisitor } from './ast-visitor';
export { intervalToString, normalizeInterval } from './literal-syntaxes/interval-builder';
//# sourceMappingURL=index.d.ts.map
{
"name": "pgsql-ast-parser",
"version": "4.1.4",
"version": "4.1.5",
"description": "Yet another simple Postgres SQL parser/modifier",

@@ -12,5 +12,5 @@ "main": "index.js",

"release-node": "git diff --exit-code && npm run test && npm run cover && npm run build && cp -r src lib/src && npm run build:deno && deno run deno-test.ts && npm publish lib",
"release-deno": "git add -A && git commit -m \"Build deno\" && PACKAGE_VERSION=$(cat package.json | grep \\\"version\\\" | head -1 | awk -F: '{ print $2 }' | sed 's/[\",]//g' | tr -d '[[:space:]]') && git tag $PACKAGE_VERSION && git push --tags",
"release-deno": "git add -A && git commit -m \"Build deno [autogenerated commit]\" && PACKAGE_VERSION=$(cat package.json | grep \\\"version\\\" | head -1 | awk -F: '{ print $2 }' | sed 's/[\",]//g' | tr -d '[[:space:]]') && git tag $PACKAGE_VERSION && git push --tags",
"typecheck": "tsc --project tsconfig.json --noEmit",
"deno:gen": "nearleyc src/syntax/main.ne -o .deno/syntax/main.ne.ts && nearleyc src/literal-syntaxes/array.ne -o .deno/literal-syntaxes/array.ne.ts&& nearleyc src/literal-syntaxes/geometric.ne -o .deno/literal-syntaxes/geometric.ne.ts",
"deno:gen": "nearleyc src/syntax/main.ne -o .deno/syntax/main.ne.ts && nearleyc src/literal-syntaxes/array.ne -o .deno/literal-syntaxes/array.ne.ts&& nearleyc src/literal-syntaxes/geometric.ne -o .deno/literal-syntaxes/geometric.ne.ts&& nearleyc src/literal-syntaxes/interval.ne -o .deno/literal-syntaxes/interval.ne.ts&& nearleyc src/literal-syntaxes/interval-iso.ne -o .deno/literal-syntaxes/interval-iso.ne.ts",
"build:deno": "rimraf .deno && node ./deno-transpile.js --copy && npm run deno:gen && node ./deno-transpile.js --process",

@@ -17,0 +17,0 @@ "test": "mochapack src/**/*.spec.ts",

@@ -1,2 +0,2 @@

import { Statement, Expr, QName, Point, Line, Segment, Box, Path, Polygon, Circle } from './syntax/ast';
import { Statement, Expr, QName, Point, Line, Segment, Box, Path, Polygon, Circle, Interval } from './syntax/ast';
/** Parse the first SQL statement in the given text (discards the rest), and return its AST */

@@ -9,2 +9,3 @@ export declare function parseFirst(sql: string): Statement;

export declare function parseArrayLiteral(sql: string): string[];
export declare function parseIntervalLiteral(literal: string): Interval;
export declare function parseGeometricLiteral(sql: string, type: 'point'): Point;

@@ -11,0 +12,0 @@ export declare function parseGeometricLiteral(sql: string, type: 'line'): Line;

@@ -1,2 +0,2 @@

export { parse, parseFirst, parseArrayLiteral, parseGeometricLiteral } from './parser';
export { parse, parseFirst, parseArrayLiteral, parseGeometricLiteral, parseIntervalLiteral } from './parser';
export { astVisitor } from './ast-visitor'

@@ -10,1 +10,2 @@ export { arrayNilMap, assignChanged, astMapper } from './ast-mapper';

export type { IAstPartialVisitor, IAstVisitor } from './ast-visitor'
export { intervalToString, normalizeInterval } from './literal-syntaxes/interval-builder';

@@ -1,2 +0,2 @@

import { Statement, Expr, LOCATION, QName, GeometricLiteral, Point, Line, Segment, Box, Path, Polygon, Circle } from './syntax/ast';
import { Statement, Expr, LOCATION, QName, GeometricLiteral, Point, Line, Segment, Box, Path, Polygon, Circle, Interval } from './syntax/ast';
import { Parser, Grammar } from 'nearley';

@@ -6,2 +6,5 @@ import sqlGrammar from './syntax/main.ne';

import geometricGrammar from './literal-syntaxes/geometric.ne';
import intervalTextGrammar from './literal-syntaxes/interval.ne';
import intervalIsoGrammar from './literal-syntaxes/interval-iso.ne';
import { buildInterval } from './literal-syntaxes/interval-builder';

@@ -11,2 +14,4 @@ let sqlCompiled: Grammar;

let geometricCompiled: Grammar;
let intervalTextCompiled: Grammar;
let intervalIsoCompiled: Grammar;

@@ -45,3 +50,18 @@ /** Parse the first SQL statement in the given text (discards the rest), and return its AST */

export function parseIntervalLiteral(literal: string): Interval {
if (literal.startsWith('P')) {
if (!intervalIsoCompiled) {
intervalIsoCompiled = Grammar.fromCompiled(intervalIsoGrammar);
}
return buildInterval(literal, _parse(literal, intervalIsoCompiled));
} else {
if (!intervalTextCompiled) {
intervalTextCompiled = Grammar.fromCompiled(intervalTextGrammar);
}
const low = literal.toLowerCase(); // full text syntax is case insensitive
return buildInterval(literal, _parse(low, intervalTextCompiled));
}
}
export function parseGeometricLiteral(sql: string, type: 'point'): Point;

@@ -48,0 +68,0 @@ export function parseGeometricLiteral(sql: string, type: 'line'): Line;

@@ -775,2 +775,12 @@ // import { IType } from '../../interfaces';

r: number;
}
}
export interface Interval {
years?: number;
months?: number;
days?: number;
hours?: number;
minutes?: number;
seconds?: number;
milliseconds?: number;
}

@@ -5,6 +5,7 @@ import { Parser, Grammar } from 'nearley';

import { trimNullish } from '../utils';
import { Expr, SelectStatement, CreateTableStatement, CreateIndexStatement, Statement, InsertStatement, UpdateStatement, AlterTableStatement, DeleteStatement, CreateExtensionStatement, CreateSequenceStatement, AlterSequenceStatement, DropTableStatement, SelectedColumn } from './ast';
import { Expr, SelectStatement, CreateTableStatement, CreateIndexStatement, Statement, InsertStatement, UpdateStatement, AlterTableStatement, DeleteStatement, CreateExtensionStatement, CreateSequenceStatement, AlterSequenceStatement, DropTableStatement, SelectedColumn, Interval } from './ast';
import { astMapper, IAstMapper } from '../ast-mapper';
import { IAstVisitor } from '../ast-visitor';
import { toSql, IAstToSql } from '../to-sql';
import { parseIntervalLiteral } from '../parser';
import { normalizeInterval } from '../literal-syntaxes/interval-builder';

@@ -147,2 +148,13 @@ export function checkSelect(value: string | string[], expected: SelectStatement) {

: { expr });
}
export function checkInterval(input: string | string[], expected: Interval) {
for (const v of Array.isArray(input) ? input : [input]) {
it('parses interval "' + v + '"', () => {
expect(normalizeInterval(parseIntervalLiteral(v)))
.to.deep.equal(expected);
})
}
}

@@ -552,3 +552,12 @@ import { nil } from '../utils';

}
export interface Interval {
years?: number;
months?: number;
days?: number;
hours?: number;
minutes?: number;
seconds?: number;
milliseconds?: number;
}
export {};
//# sourceMappingURL=ast.d.ts.map

@@ -1,2 +0,2 @@

import { Expr, SelectStatement, CreateTableStatement, CreateIndexStatement, Statement, InsertStatement, UpdateStatement, AlterTableStatement, DeleteStatement, CreateExtensionStatement, CreateSequenceStatement, AlterSequenceStatement, SelectedColumn } from './ast';
import { Expr, SelectStatement, CreateTableStatement, CreateIndexStatement, Statement, InsertStatement, UpdateStatement, AlterTableStatement, DeleteStatement, CreateExtensionStatement, CreateSequenceStatement, AlterSequenceStatement, SelectedColumn, Interval } from './ast';
export declare function checkSelect(value: string | string[], expected: SelectStatement): void;

@@ -17,2 +17,3 @@ export declare function checkCreateSequence(value: string | string[], expected: CreateSequenceStatement): void;

export declare function columns(...vals: (Expr | string)[]): SelectedColumn[];
export declare function checkInterval(input: string | string[], expected: Interval): void;
//# sourceMappingURL=spec-utils.d.ts.map

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc