pg-sql2 5.0.0-beta.7 → 5.0.0-beta.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,57 @@
1
1
  # pg-sql2
2
2
 
3
+ ## 5.0.0-beta.9
4
+
5
+ ### Patch Changes
6
+
7
+ - [#2434](https://github.com/graphile/crystal/pull/2434)
8
+ [`5a26196eff8fd1956d73e0b8fdf5cfcb7f01b7d3`](https://github.com/graphile/crystal/commit/5a26196eff8fd1956d73e0b8fdf5cfcb7f01b7d3)
9
+ Thanks [@benjie](https://github.com/benjie)! - `util.inspect(someSql)` will
10
+ now output a much nicer string
11
+
12
+ - [#2482](https://github.com/graphile/crystal/pull/2482)
13
+ [`459e1869a2ec58925b2bac5458af487c52a8ca37`](https://github.com/graphile/crystal/commit/459e1869a2ec58925b2bac5458af487c52a8ca37)
14
+ Thanks [@benjie](https://github.com/benjie)! - Minimum version of Node.js
15
+ bumped to Node 22 (the latest LTS).
16
+
17
+ - [#2450](https://github.com/graphile/crystal/pull/2450)
18
+ [`a87bbd76f1a8b60fd86de65922746d830cc160b4`](https://github.com/graphile/crystal/commit/a87bbd76f1a8b60fd86de65922746d830cc160b4)
19
+ Thanks [@benjie](https://github.com/benjie)! - Type-only tweak
20
+
21
+ - [#2525](https://github.com/graphile/crystal/pull/2525)
22
+ [`c9cd0cc72a4db4b02b2bdf770161c9346cb4b174`](https://github.com/graphile/crystal/commit/c9cd0cc72a4db4b02b2bdf770161c9346cb4b174)
23
+ Thanks [@benjie](https://github.com/benjie)! - `sql.getIdentifierSymbol(node)`
24
+ method added to extract a symbol from an identifier node (if a node is an
25
+ identifier node, otherwise return `null`).
26
+ - Updated dependencies
27
+ [[`459e1869a2ec58925b2bac5458af487c52a8ca37`](https://github.com/graphile/crystal/commit/459e1869a2ec58925b2bac5458af487c52a8ca37)]:
28
+ - @graphile/lru@5.0.0-beta.4
29
+
30
+ ## 5.0.0-beta.8
31
+
32
+ ### Patch Changes
33
+
34
+ - [#2329](https://github.com/graphile/crystal/pull/2329)
35
+ [`e10c372dafbe0d6014b1e946349b22f40aa87ef9`](https://github.com/graphile/crystal/commit/e10c372dafbe0d6014b1e946349b22f40aa87ef9)
36
+ Thanks [@benjie](https://github.com/benjie)! - Fix bug causing unhelpful throw
37
+ on $type optimization on null - instead pass through to more helpful throw.
38
+
39
+ - [#2341](https://github.com/graphile/crystal/pull/2341)
40
+ [`3b0f5082b2272997ce33ce8823a4752513d19e28`](https://github.com/graphile/crystal/commit/3b0f5082b2272997ce33ce8823a4752513d19e28)
41
+ Thanks [@benjie](https://github.com/benjie)! - Some of the pg-sql2 inputs are
42
+ now marked Readonly to indicate we won't mutate them.
43
+
44
+ - [#2320](https://github.com/graphile/crystal/pull/2320)
45
+ [`3789326b2e2fdb86519acc75e606c752ddefe590`](https://github.com/graphile/crystal/commit/3789326b2e2fdb86519acc75e606c752ddefe590)
46
+ Thanks [@benjie](https://github.com/benjie)! - Add new `withTransformer`
47
+ functionality to enable embedding of non-SQL values into PgSQL fragments, for
48
+ improved user ergonomics.
49
+
50
+ - [#2384](https://github.com/graphile/crystal/pull/2384)
51
+ [`412b92a0b1e03ad962521f630b57a996d8620cf6`](https://github.com/graphile/crystal/commit/412b92a0b1e03ad962521f630b57a996d8620cf6)
52
+ Thanks [@benjie](https://github.com/benjie)! - Small optimization/fix to
53
+ `arraysMatch` function.
54
+
3
55
  ## 5.0.0-beta.7
4
56
 
5
57
  ### Patch Changes
package/README.md CHANGED
@@ -25,11 +25,7 @@ And please give some love to our featured sponsors 🤩:
25
25
 
26
26
  <table><tr>
27
27
  <td align="center"><a href="https://www.the-guild.dev/"><img src="https://graphile.org/images/sponsors/theguild.png" width="90" height="90" alt="The Guild" /><br />The Guild</a> *</td>
28
- <td align="center"><a href="https://dovetailapp.com/"><img src="https://graphile.org/images/sponsors/dovetail.png" width="90" height="90" alt="Dovetail" /><br />Dovetail</a> *</td>
29
- <td align="center"><a href="https://stellate.co/"><img src="https://graphile.org/images/sponsors/Stellate.png" width="90" height="90" alt="Stellate" /><br />Stellate</a> *</td>
30
28
  <td align="center"><a href="https://gosteelhead.com/"><img src="https://graphile.org/images/sponsors/steelhead.svg" width="90" height="90" alt="Steelhead" /><br />Steelhead</a> *</td>
31
- </tr><tr>
32
- <td align="center"><a href=""><img src="https://graphile.org/images/sponsors/latchbio.jpg" width="90" height="90" alt="LatchBio" /><br />LatchBio</a> *</td>
33
29
  </tr></table>
34
30
 
35
31
  <em>\* Sponsors the entire Graphile suite</em>
package/dist/index.d.ts CHANGED
@@ -4,18 +4,29 @@ export { version } from "./version.js";
4
4
  export declare const $$toSQL: unique symbol;
5
5
  /** Experimental! */
6
6
  export declare const $$symbolToIdentifier: unique symbol;
7
+ interface PgSQL2Proto {
8
+ }
7
9
  /**
8
10
  * Represents raw SQL, the text will be output verbatim into the compiled query.
9
11
  */
10
12
  export interface SQLRawNode {
13
+ __proto__?: PgSQL2Proto;
11
14
  readonly [$$type]: "RAW";
12
15
  }
16
+ /**
17
+ * An SQL comment, ignored during comparisons
18
+ */
19
+ export interface SQLCommentNode {
20
+ __proto__?: PgSQL2Proto;
21
+ readonly [$$type]: "COMMENT";
22
+ }
13
23
  /**
14
24
  * Represents an SQL identifier such as table, column, function, etc name. These
15
25
  * identifiers will be automatically escaped when compiled, respecting any
16
26
  * reserved words.
17
27
  */
18
28
  export interface SQLIdentifierNode {
29
+ __proto__?: PgSQL2Proto;
19
30
  readonly [$$type]: "IDENTIFIER";
20
31
  }
21
32
  /**
@@ -28,6 +39,7 @@ export type SQLRawValue = string | number | boolean | null | ReadonlyArray<SQLRa
28
39
  * compiled SQL statement.
29
40
  */
30
41
  export interface SQLValueNode {
42
+ __proto__?: PgSQL2Proto;
31
43
  readonly [$$type]: "VALUE";
32
44
  }
33
45
  /**
@@ -49,8 +61,9 @@ export interface SQLSymbolAliasNode {
49
61
  export interface SQLPlaceholderNode {
50
62
  readonly [$$type]: "PLACEHOLDER";
51
63
  }
52
- export type SQLNode = SQLRawNode | SQLValueNode | SQLIdentifierNode | SQLIndentNode | SQLSymbolAliasNode | SQLPlaceholderNode;
64
+ export type SQLNode = SQLRawNode | SQLCommentNode | SQLValueNode | SQLIdentifierNode | SQLIndentNode | SQLSymbolAliasNode | SQLPlaceholderNode;
53
65
  export interface SQLQuery {
66
+ __proto__?: PgSQL2Proto;
54
67
  readonly [$$type]: "QUERY";
55
68
  }
56
69
  /**
@@ -69,7 +82,7 @@ export interface SQLable {
69
82
  * placeholders, and the values to substitute for these values.
70
83
  */
71
84
  export declare function compile(sql: SQL, options?: {
72
- placeholderValues?: Map<symbol, SQL>;
85
+ placeholderValues?: ReadonlyMap<symbol, SQL>;
73
86
  }): {
74
87
  text: string;
75
88
  values: SQLRawValue[];
@@ -108,7 +121,7 @@ export declare function literal(val: string | number | boolean | null): SQL;
108
121
  * dealing with lists of SQL items, for example a dynamic list of columns or
109
122
  * variadic SQL function arguments.
110
123
  */
111
- export declare function join(items: Array<SQL>, separator?: string): SQL;
124
+ export declare function join(items: ReadonlyArray<SQL>, separator?: string): SQL;
112
125
  export declare function indent(fragment: SQL): SQL;
113
126
  export declare function indent(strings: TemplateStringsArray, ...values: Array<SQL>): SQL;
114
127
  export declare function indentIf(condition: boolean, fragment: SQL): SQL;
@@ -139,23 +152,28 @@ export declare function indentIf(condition: boolean, fragment: SQL): SQL;
139
152
  export declare function parens(frag: SQL, force?: boolean): SQL;
140
153
  export declare function symbolAlias(symbol1: symbol, symbol2: symbol): SQL;
141
154
  export declare function placeholder(symbol: symbol, fallback?: SQL): SQLPlaceholderNode;
155
+ export declare function comment(commentText: string): SQLCommentNode | SQLRawNode;
142
156
  export declare function arraysMatch<T>(array1: ReadonlyArray<T>, array2: ReadonlyArray<T>, comparator?: (val1: T, val2: T) => boolean): boolean;
143
157
  export declare function isEquivalent(sql1: SQL, sql2: SQL, options?: {
144
- symbolSubstitutes?: Map<symbol, symbol>;
158
+ symbolSubstitutes?: ReadonlyMap<symbol, symbol>;
145
159
  }): boolean;
146
160
  /**
147
161
  * @experimental
148
162
  */
149
163
  export declare function replaceSymbol(frag: SQL, needle: symbol, replacement: symbol): SQL;
164
+ export type Transformer<TNewEmbed> = <TValue>(sql: PgSQL, value: TNewEmbed | TValue, where?: string) => SQL | TValue;
165
+ export declare function withTransformer<TNewEmbed, TResult = SQL>(transformer: Transformer<TNewEmbed>, callback: (sql: PgSQL<TNewEmbed>) => TResult): TResult;
166
+ /** If node is an identifier, return its symbol, otherwise return null */
167
+ declare function getIdentifierSymbol(potentialIdentifier: SQL): symbol | null;
150
168
  export declare const sql: PgSQL;
151
169
  export default sql;
152
170
  export { falseNode as false, sql as fragment, isSQL, nullNode as null, sql as query, trueNode as true, };
153
- export interface PgSQL {
154
- (strings: TemplateStringsArray, ...values: Array<SQL | SQLable>): SQL;
171
+ export interface PgSQL<TEmbed = never> {
172
+ (strings: TemplateStringsArray, ...values: Array<SQL | SQLable | TEmbed>): SQL;
155
173
  escapeSqlIdentifier: typeof escapeSqlIdentifier;
156
174
  compile: typeof compile;
157
175
  isEquivalent: typeof isEquivalent;
158
- query: PgSQL;
176
+ query: PgSQL<TEmbed>;
159
177
  raw: typeof raw;
160
178
  identifier: typeof identifier;
161
179
  value: typeof value;
@@ -164,15 +182,18 @@ export interface PgSQL {
164
182
  indent: typeof indent;
165
183
  indentIf: typeof indentIf;
166
184
  parens: typeof parens;
185
+ comment: typeof comment;
167
186
  symbolAlias: typeof symbolAlias;
168
187
  placeholder: typeof placeholder;
169
188
  blank: typeof blank;
170
- fragment: PgSQL;
189
+ fragment: PgSQL<TEmbed>;
171
190
  true: typeof trueNode;
172
191
  false: typeof falseNode;
173
192
  null: typeof nullNode;
174
193
  isSQL: typeof isSQL;
175
194
  replaceSymbol: typeof replaceSymbol;
176
- sql: PgSQL;
195
+ sql: PgSQL<TEmbed>;
196
+ withTransformer<TNewEmbed, TResult = SQL>(transformer: Transformer<TNewEmbed>, callback: (sql: PgSQL<TEmbed | TNewEmbed>) => TResult): TResult;
197
+ getIdentifierSymbol: typeof getIdentifierSymbol;
177
198
  }
178
199
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,gGAAgG;AAChG,eAAO,MAAM,OAAO,eAAkB,CAAC;AAkBvC,oBAAoB;AACpB,eAAO,MAAM,oBAAoB,eAA+B,CAAC;AAOjE;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;CAG1B;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;CAKjC;AAED;;;GAGG;AACH,MAAM,MAAM,WAAW,GACnB,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,aAAa,CAAC,WAAW,CAAC,CAAC;AAE/B;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAG5B;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC;CAK7B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC;CAKnC;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC;CAKlC;AAED,MAAM,MAAM,OAAO,GACf,UAAU,GACV,YAAY,GACZ,iBAAiB,GACjB,aAAa,GACb,kBAAkB,GAClB,kBAAkB,CAAC;AAEvB,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAO5B;AAGD;;;GAGG;AACH,MAAM,MAAM,GAAG,GAAG,OAAO,GAAG,QAAQ,CAAC;AAoDrC,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEvD;AAyHD,iBAAS,KAAK,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,GAAG,CAMzC;AAED,MAAM,WAAW,OAAO;IACtB,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC;IACjB,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC;CAClB;AA6BD;;;GAGG;AACH,wBAAgB,OAAO,CACrB,GAAG,EAAE,GAAG,EACR,OAAO,CAAC,EAAE;IAAE,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAE,GACjD;IACD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,CAAC,oBAAoB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7C,CAsLA;AAyFD;;;;;GAKG;AACH,wBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAmBrC;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,GAAG,KAAK,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,GAAG,CA2ChE;AAED;;;GAGG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,WAAW,GAAG,GAAG,CAE3C;AAED,QAAA,MAAM,QAAQ,YAA8B,CAAC;AAC7C,QAAA,MAAM,SAAS,YAAgC,CAAC;AAChD,QAAA,MAAM,QAAQ,YAA8B,CAAC;AAC7C,eAAO,MAAM,KAAK,YAA2B,CAAC;AAC9C,eAAO,MAAM,GAAG,YAA0B,CAAC;AAI3C;;;GAGG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,GAAG,CAsBlE;AAED;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,SAAS,SAAK,GAAG,GAAG,CAsE3D;AAWD,wBAAgB,MAAM,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,CAAC;AAC3C,wBAAgB,MAAM,CACpB,OAAO,EAAE,oBAAoB,EAC7B,GAAG,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,GACpB,GAAG,CAAC;AAeP,wBAAgB,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,GAAG,GAAG,CAE/D;AAqBD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,GAAG,CAsFtD;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,GAAG,CAEjE;AAED,wBAAgB,WAAW,CACzB,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,GAAG,GACb,kBAAkB,CAEpB;AAED,wBAAgB,WAAW,CAAC,CAAC,EAC3B,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EACxB,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EACxB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,OAAO,GACzC,OAAO,CAcT;AAkBD,wBAAgB,YAAY,CAC1B,IAAI,EAAE,GAAG,EACT,IAAI,EAAE,GAAG,EACT,OAAO,CAAC,EAAE;IACR,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzC,GACA,OAAO,CA+DT;AAkDD;;GAEG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,GAAG,EACT,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GAClB,GAAG,CAcL;AAoCD,eAAO,MAAM,GAAG,OAAmB,CAAC;AACpC,eAAe,GAAG,CAAC;AAEnB,OAAO,EACL,SAAS,IAAI,KAAK,EAClB,GAAG,IAAI,QAAQ,EACf,KAAK,EACL,QAAQ,IAAI,IAAI,EAChB,GAAG,IAAI,KAAK,EACZ,QAAQ,IAAI,IAAI,GACjB,CAAC;AAEF,MAAM,WAAW,KAAK;IACpB,CAAC,OAAO,EAAE,oBAAoB,EAAE,GAAG,MAAM,EAAE,KAAK,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,GAAG,CAAC;IACtE,mBAAmB,EAAE,OAAO,mBAAmB,CAAC;IAChD,OAAO,EAAE,OAAO,OAAO,CAAC;IACxB,YAAY,EAAE,OAAO,YAAY,CAAC;IAClC,KAAK,EAAE,KAAK,CAAC;IACb,GAAG,EAAE,OAAO,GAAG,CAAC;IAChB,UAAU,EAAE,OAAO,UAAU,CAAC;IAC9B,KAAK,EAAE,OAAO,KAAK,CAAC;IACpB,OAAO,EAAE,OAAO,OAAO,CAAC;IACxB,IAAI,EAAE,OAAO,IAAI,CAAC;IAClB,MAAM,EAAE,OAAO,MAAM,CAAC;IACtB,QAAQ,EAAE,OAAO,QAAQ,CAAC;IAC1B,MAAM,EAAE,OAAO,MAAM,CAAC;IACtB,WAAW,EAAE,OAAO,WAAW,CAAC;IAChC,WAAW,EAAE,OAAO,WAAW,CAAC;IAChC,KAAK,EAAE,OAAO,KAAK,CAAC;IACpB,QAAQ,EAAE,KAAK,CAAC;IAChB,IAAI,EAAE,OAAO,QAAQ,CAAC;IACtB,KAAK,EAAE,OAAO,SAAS,CAAC;IACxB,IAAI,EAAE,OAAO,QAAQ,CAAC;IACtB,KAAK,EAAE,OAAO,KAAK,CAAC;IACpB,aAAa,EAAE,OAAO,aAAa,CAAC;IACpC,GAAG,EAAE,KAAK,CAAC;CACZ"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,6 +1,24 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.true = exports.query = exports.null = exports.isSQL = exports.fragment = exports.false = exports.sql = exports.replaceSymbol = exports.isEquivalent = exports.arraysMatch = exports.placeholder = exports.symbolAlias = exports.parens = exports.indentIf = exports.indent = exports.join = exports.literal = exports.dot = exports.blank = exports.value = exports.identifier = exports.raw = exports.compile = exports.escapeSqlIdentifier = exports.$$symbolToIdentifier = exports.$$toSQL = exports.version = void 0;
3
+ exports.true = exports.query = exports.null = exports.fragment = exports.false = exports.sql = exports.dot = exports.blank = exports.$$symbolToIdentifier = exports.$$toSQL = exports.version = void 0;
4
+ exports.escapeSqlIdentifier = escapeSqlIdentifier;
5
+ exports.compile = compile;
6
+ exports.raw = raw;
7
+ exports.identifier = identifier;
8
+ exports.value = value;
9
+ exports.literal = literal;
10
+ exports.join = join;
11
+ exports.indent = indent;
12
+ exports.indentIf = indentIf;
13
+ exports.parens = parens;
14
+ exports.symbolAlias = symbolAlias;
15
+ exports.placeholder = placeholder;
16
+ exports.comment = comment;
17
+ exports.arraysMatch = arraysMatch;
18
+ exports.isEquivalent = isEquivalent;
19
+ exports.replaceSymbol = replaceSymbol;
20
+ exports.withTransformer = withTransformer;
21
+ exports.isSQL = isSQL;
4
22
  const tslib_1 = require("tslib");
5
23
  const lru_1 = tslib_1.__importDefault(require("@graphile/lru"));
6
24
  const assert = tslib_1.__importStar(require("assert"));
@@ -29,6 +47,38 @@ exports.$$symbolToIdentifier = Symbol("symbolToIdentifier");
29
47
  const isDev = typeof process !== "undefined" &&
30
48
  (process.env.GRAPHILE_ENV === "development" ||
31
49
  process.env.GRAPHILE_ENV === "test");
50
+ const includeComments = typeof process !== "undefined" && process.env.PGSQL2_DEBUG === "1";
51
+ const nodeInspect = function (depth, options) {
52
+ if (this[thereCanBeOnlyOne_js_1.$$type] === "VALUE") {
53
+ if (depth < 0) {
54
+ return `sql.value(...)`;
55
+ }
56
+ return `sql.value(${(0, util_1.inspect)(this.v, {
57
+ ...options,
58
+ depth: options.depth == null ? null : options.depth - 1,
59
+ })})`;
60
+ }
61
+ else if (this[thereCanBeOnlyOne_js_1.$$type] === "RAW") {
62
+ return `sql\`${this.t}\``;
63
+ }
64
+ else if (this[thereCanBeOnlyOne_js_1.$$type] === "IDENTIFIER") {
65
+ return `sql.identifier(${JSON.stringify(this.n)})`;
66
+ }
67
+ else if (this[thereCanBeOnlyOne_js_1.$$type] === "QUERY") {
68
+ if (depth < 0) {
69
+ return `sql\`...\``;
70
+ }
71
+ else {
72
+ return `sql\`${this.n.map((n) => (n[thereCanBeOnlyOne_js_1.$$type] === "RAW" ? n.t : "${" + nodeInspect.call(n, depth + 1, options) + "}")).join("")}\``;
73
+ }
74
+ }
75
+ else {
76
+ return `sql{${this[thereCanBeOnlyOne_js_1.$$type]}}`;
77
+ }
78
+ };
79
+ const pgSQL2Proto = Object.assign(Object.create(null), {
80
+ [util_1.inspect.custom]: nodeInspect,
81
+ });
32
82
  const FLAG_HAS_PARENS = 1 << 0;
33
83
  /**
34
84
  * This helps us to avoid GC overhead of allocating new raw nodes all the time
@@ -75,7 +125,6 @@ function getSymbolName(symbol) {
75
125
  function escapeSqlIdentifier(str) {
76
126
  return `"${str.replace(/["\0]/g, '""')}"`;
77
127
  }
78
- exports.escapeSqlIdentifier = escapeSqlIdentifier;
79
128
  function makeRawNode(text, exportName) {
80
129
  const n = CACHE_RAW_NODES.get(text);
81
130
  if (n) {
@@ -85,6 +134,7 @@ function makeRawNode(text, exportName) {
85
134
  throw new Error(`[pg-sql2] Invalid argument to makeRawNode - expected string, but received '${(0, util_1.inspect)(text)}'`);
86
135
  }
87
136
  const newNode = {
137
+ __proto__: pgSQL2Proto,
88
138
  [thereCanBeOnlyOne_js_1.$$type]: "RAW",
89
139
  t: text,
90
140
  };
@@ -96,9 +146,24 @@ function makeRawNode(text, exportName) {
96
146
  CACHE_RAW_NODES.set(text, newNode);
97
147
  return newNode;
98
148
  }
149
+ function makeCommentNode(commentText) {
150
+ if (typeof commentText !== "string") {
151
+ throw new Error(`[pg-sql2] Invalid argument to makeCommentNode - expected string, but received '${(0, util_1.inspect)(commentText)}'`);
152
+ }
153
+ if (commentText.includes("*/") || commentText.includes("/*")) {
154
+ throw new Error(`Forbidden comment text!`);
155
+ }
156
+ const newNode = {
157
+ __proto__: pgSQL2Proto,
158
+ [thereCanBeOnlyOne_js_1.$$type]: "COMMENT",
159
+ commentText,
160
+ };
161
+ return newNode;
162
+ }
99
163
  // Simple function to help V8 optimize it.
100
164
  function makeIdentifierNode(s, n = getSymbolName(s)) {
101
165
  return Object.freeze({
166
+ __proto__: pgSQL2Proto,
102
167
  [thereCanBeOnlyOne_js_1.$$type]: "IDENTIFIER",
103
168
  s,
104
169
  n,
@@ -107,6 +172,7 @@ function makeIdentifierNode(s, n = getSymbolName(s)) {
107
172
  // Simple function to help V8 optimize it.
108
173
  function makeValueNode(rawValue) {
109
174
  return Object.freeze({
175
+ __proto__: pgSQL2Proto,
110
176
  [thereCanBeOnlyOne_js_1.$$type]: "VALUE",
111
177
  v: rawValue,
112
178
  });
@@ -145,6 +211,9 @@ function makeQueryNode(nodes, flags = 0) {
145
211
  }
146
212
  break;
147
213
  }
214
+ case "COMMENT": {
215
+ break;
216
+ }
148
217
  case "VALUE": {
149
218
  checksum += 211;
150
219
  break;
@@ -172,6 +241,7 @@ function makeQueryNode(nodes, flags = 0) {
172
241
  }
173
242
  }
174
243
  return Object.freeze({
244
+ __proto__: pgSQL2Proto,
175
245
  [thereCanBeOnlyOne_js_1.$$type]: "QUERY",
176
246
  n: nodes,
177
247
  f: flags,
@@ -183,7 +253,6 @@ function isSQL(node) {
183
253
  node !== null &&
184
254
  typeof node[thereCanBeOnlyOne_js_1.$$type] === "string");
185
255
  }
186
- exports.isSQL = isSQL;
187
256
  function isSQLable(value) {
188
257
  return (typeof value === "object" &&
189
258
  value !== null &&
@@ -193,10 +262,20 @@ function enforceValidNode(node, where) {
193
262
  if (isSQL(node)) {
194
263
  return node;
195
264
  }
265
+ for (let i = _userTransformers.length - 1; i >= 0; i--) {
266
+ const transformer = _userTransformers[i];
267
+ const transformed = transformer(exports.sql, node, where);
268
+ if (transformed !== node) {
269
+ return enforceValidNode(transformed);
270
+ }
271
+ else {
272
+ // Continue onward; `node` is unchanged
273
+ }
274
+ }
196
275
  if (isSQLable(node)) {
197
276
  return enforceValidNode(node[exports.$$toSQL](), where);
198
277
  }
199
- throw new Error(`[pg-sql2] Invalid expression. Expected an SQL item${where ? ` at ${where}` : ""} but received '${(0, util_1.inspect)(node)}'. This may mean that there is an issue in the SQL expression where a dynamic value was not escaped via 'sql.value(...)', an identifier wasn't wrapped with 'sql.identifier(...)', or a SQL expression was added without using the \`sql\` tagged template literal.`);
278
+ throw new Error(`[pg-sql2] Invalid expression. Expected an SQL item${where ? ` at ${where}` : ""} but received '${(0, util_1.inspect)(node)}'. This may mean that there is an issue in the SQL expression where a dynamic value was not escaped via 'sql.value(...)', an identifier wasn't wrapped with 'sql.identifier(...)', or a SQL expression was added without using the \`sql\` tagged template literal. Alternatively, perhaps you forgot to call sql.withTransformer() when building your SQL?`);
200
279
  }
201
280
  /**
202
281
  * Accepts an sql`...` expression and compiles it out to SQL text with
@@ -245,7 +324,7 @@ function compile(sql, options) {
245
324
  * Join this to generate the SQL query
246
325
  */
247
326
  const sqlFragments = [];
248
- const trustedInput = untrustedInput[thereCanBeOnlyOne_js_1.$$type] !== undefined
327
+ const trustedInput = untrustedInput?.[thereCanBeOnlyOne_js_1.$$type] !== undefined
249
328
  ? untrustedInput
250
329
  : enforceValidNode(untrustedInput, ``);
251
330
  const items = trustedInput[thereCanBeOnlyOne_js_1.$$type] === "QUERY"
@@ -254,7 +333,7 @@ function compile(sql, options) {
254
333
  const itemCount = items.length;
255
334
  for (let itemIndex = 0; itemIndex < itemCount; itemIndex++) {
256
335
  const itemAtIndex = items[itemIndex];
257
- const item = itemAtIndex[thereCanBeOnlyOne_js_1.$$type] !== undefined
336
+ const item = itemAtIndex?.[thereCanBeOnlyOne_js_1.$$type] !== undefined
258
337
  ? itemAtIndex
259
338
  : enforceValidNode(itemAtIndex, `item ${itemIndex}`);
260
339
  switch (item[thereCanBeOnlyOne_js_1.$$type]) {
@@ -274,6 +353,10 @@ function compile(sql, options) {
274
353
  sqlFragments.push(isDev ? item.t.replace(/\n/g, "\n" + " ".repeat(indent)) : item.t);
275
354
  break;
276
355
  }
356
+ case "COMMENT": {
357
+ sqlFragments.push(`/* ${item.commentText} */`);
358
+ break;
359
+ }
277
360
  case "IDENTIFIER": {
278
361
  // Get the correct identifier string for this symbol.
279
362
  let identifierForSymbol = symbolToIdentifier.get(item.s);
@@ -339,7 +422,10 @@ function compile(sql, options) {
339
422
  if (!resolvedPlaceholder) {
340
423
  throw new Error("ERROR: sql.placeholder was used in this query, but no value was supplied for it, and it has no fallback.");
341
424
  }
342
- sqlFragments.push(print(resolvedPlaceholder, indent));
425
+ const resolved = print(resolvedPlaceholder, indent);
426
+ if (resolved !== "") {
427
+ sqlFragments.push(resolved);
428
+ }
343
429
  break;
344
430
  }
345
431
  default: {
@@ -358,7 +444,6 @@ function compile(sql, options) {
358
444
  [exports.$$symbolToIdentifier]: symbolToIdentifier,
359
445
  };
360
446
  }
361
- exports.compile = compile;
362
447
  // LRU not necessary
363
448
  const CACHE_SIMPLE_FRAGMENTS = new Map();
364
449
  /**
@@ -398,7 +483,7 @@ const sqlBase = function sql(strings, ...values) {
398
483
  currentText += text;
399
484
  if (i < l - 1) {
400
485
  const rawVal = values[i];
401
- const valid = rawVal[thereCanBeOnlyOne_js_1.$$type] !== undefined
486
+ const valid = rawVal?.[thereCanBeOnlyOne_js_1.$$type] !== undefined
402
487
  ? rawVal
403
488
  : enforceValidNode(rawVal, `template literal placeholder ${i}`);
404
489
  if (valid[thereCanBeOnlyOne_js_1.$$type] === "RAW") {
@@ -459,7 +544,6 @@ function raw(text) {
459
544
  }
460
545
  return makeRawNode(text);
461
546
  }
462
- exports.raw = raw;
463
547
  /**
464
548
  * Creates a SQL item for a SQL identifier. A SQL identifier is anything like
465
549
  * a table, schema, or column name. An identifier may also have a namespace,
@@ -502,7 +586,6 @@ function identifier(...names) {
502
586
  }
503
587
  return items.length === 1 ? items[0] : makeQueryNode(items);
504
588
  }
505
- exports.identifier = identifier;
506
589
  /**
507
590
  * Creates a SQL item for a value that will be included in our final query.
508
591
  * This value will be added in a way which avoids SQL injection.
@@ -510,7 +593,6 @@ exports.identifier = identifier;
510
593
  function value(val) {
511
594
  return makeValueNode(val);
512
595
  }
513
- exports.value = value;
514
596
  const trueNode = makeRawNode(`TRUE`, "true");
515
597
  exports.true = trueNode;
516
598
  const falseNode = makeRawNode(`FALSE`, "false");
@@ -553,7 +635,6 @@ function literal(val) {
553
635
  return value(val);
554
636
  }
555
637
  }
556
- exports.literal = literal;
557
638
  /**
558
639
  * Join some SQL items together, optionally separated by a string. Useful when
559
640
  * dealing with lists of SQL items, for example a dynamic list of columns or
@@ -572,7 +653,7 @@ function join(items, separator = "") {
572
653
  }
573
654
  else if (items.length === 1) {
574
655
  const rawNode = items[0];
575
- const node = rawNode[thereCanBeOnlyOne_js_1.$$type] !== undefined
656
+ const node = rawNode?.[thereCanBeOnlyOne_js_1.$$type] !== undefined
576
657
  ? rawNode
577
658
  : enforceValidNode(rawNode, `join item ${0}`);
578
659
  return node;
@@ -583,7 +664,7 @@ function join(items, separator = "") {
583
664
  for (let i = 0, l = items.length; i < l; i++) {
584
665
  const rawNode = items[i];
585
666
  const addSeparator = i > 0 && hasSeparator;
586
- const node = rawNode[thereCanBeOnlyOne_js_1.$$type] !== undefined
667
+ const node = rawNode?.[thereCanBeOnlyOne_js_1.$$type] !== undefined
587
668
  ? rawNode
588
669
  : enforceValidNode(rawNode, `join item ${i}`);
589
670
  if (addSeparator) {
@@ -622,7 +703,6 @@ function join(items, separator = "") {
622
703
  ? currentItems[0]
623
704
  : makeQueryNode(currentItems);
624
705
  }
625
- exports.join = join;
626
706
  function expandQueryNodes(node) {
627
707
  const parens = (node.f & FLAG_HAS_PARENS) === FLAG_HAS_PARENS;
628
708
  if (parens) {
@@ -641,11 +721,9 @@ function indent(fragmentOrStrings, ...values) {
641
721
  }
642
722
  return makeIndentNode(fragment);
643
723
  }
644
- exports.indent = indent;
645
724
  function indentIf(condition, fragment) {
646
725
  return isDev && condition ? makeIndentNode(fragment) : fragment;
647
726
  }
648
- exports.indentIf = indentIf;
649
727
  const QUOTED_IDENTIFIER_REGEX = /^"[^"]+"$/;
650
728
  const UNQUOTED_IDENTIFIER_REGEX = /^[a-zA-Z0-9_]+$/;
651
729
  const NUMBER_REGEX_1 = /^[0-9]+(?:\.[0-9]+)?$/;
@@ -764,6 +842,9 @@ function parens(frag, force) {
764
842
  else if (frag[thereCanBeOnlyOne_js_1.$$type] === "IDENTIFIER") {
765
843
  return frag;
766
844
  }
845
+ else if (frag[thereCanBeOnlyOne_js_1.$$type] === "COMMENT") {
846
+ return frag;
847
+ }
767
848
  else if (frag[thereCanBeOnlyOne_js_1.$$type] === "RAW") {
768
849
  const expr = frag.t;
769
850
  if (expr.match(NUMBER_REGEX_1) || expr.match(NUMBER_REGEX_2)) {
@@ -782,15 +863,20 @@ function parens(frag, force) {
782
863
  }
783
864
  return parenthesize(frag);
784
865
  }
785
- exports.parens = parens;
786
866
  function symbolAlias(symbol1, symbol2) {
787
867
  return makeSymbolAliasNode(symbol1, symbol2);
788
868
  }
789
- exports.symbolAlias = symbolAlias;
790
869
  function placeholder(symbol, fallback) {
791
870
  return makePlaceholderNode(symbol, fallback);
792
871
  }
793
- exports.placeholder = placeholder;
872
+ function comment(commentText) {
873
+ if (includeComments) {
874
+ return makeCommentNode(commentText);
875
+ }
876
+ else {
877
+ return exports.sql.blank;
878
+ }
879
+ }
794
880
  function arraysMatch(array1, array2, comparator) {
795
881
  if (array1 === array2)
796
882
  return true;
@@ -798,14 +884,24 @@ function arraysMatch(array1, array2, comparator) {
798
884
  if (l !== array2.length) {
799
885
  return false;
800
886
  }
801
- for (let i = 0; i < l; i++) {
802
- if (comparator ? !comparator(array1[i], array2[i]) : array1[i] !== array2[i]) {
803
- return false;
887
+ if (comparator != null) {
888
+ for (let i = 0; i < l; i++) {
889
+ const a = array1[i];
890
+ const b = array2[i];
891
+ if (a !== b && !comparator(a, b)) {
892
+ return false;
893
+ }
894
+ }
895
+ }
896
+ else {
897
+ for (let i = 0; i < l; i++) {
898
+ if (array1[i] !== array2[i]) {
899
+ return false;
900
+ }
804
901
  }
805
902
  }
806
903
  return true;
807
904
  }
808
- exports.arraysMatch = arraysMatch;
809
905
  /*
810
906
  export function isEquivalentSymbol(
811
907
  sql1: symbol,
@@ -854,6 +950,9 @@ function isEquivalent(sql1, sql2, options) {
854
950
  }
855
951
  return isEquivalent(sql1.c, sql2.c, options);
856
952
  }
953
+ case "COMMENT": {
954
+ return true;
955
+ }
857
956
  case "IDENTIFIER": {
858
957
  if (sql2[thereCanBeOnlyOne_js_1.$$type] !== sql1[thereCanBeOnlyOne_js_1.$$type]) {
859
958
  return false;
@@ -888,9 +987,9 @@ function isEquivalent(sql1, sql2, options) {
888
987
  }
889
988
  }
890
989
  }
891
- exports.isEquivalent = isEquivalent;
892
990
  function replaceSymbolInNode(frag, needle, replacement) {
893
991
  switch (frag[thereCanBeOnlyOne_js_1.$$type]) {
992
+ case "COMMENT":
894
993
  case "RAW": {
895
994
  return frag;
896
995
  }
@@ -954,7 +1053,6 @@ function replaceSymbol(frag, needle, replacement) {
954
1053
  return replaceSymbolInNode(frag, needle, replacement);
955
1054
  }
956
1055
  }
957
- exports.replaceSymbol = replaceSymbol;
958
1056
  /**
959
1057
  * @internal
960
1058
  */
@@ -981,6 +1079,25 @@ function getSubstitute(initialSymbol, symbolSubstitutes) {
981
1079
  }
982
1080
  throw new Error("symbolSubstitutes depth too deep");
983
1081
  }
1082
+ const _userTransformers = [];
1083
+ function withTransformer(transformer, callback) {
1084
+ _userTransformers.push(transformer);
1085
+ try {
1086
+ return callback(exports.sql);
1087
+ }
1088
+ finally {
1089
+ _userTransformers.pop();
1090
+ }
1091
+ }
1092
+ /** If node is an identifier, return its symbol, otherwise return null */
1093
+ function getIdentifierSymbol(potentialIdentifier) {
1094
+ if (potentialIdentifier[thereCanBeOnlyOne_js_1.$$type] === "IDENTIFIER") {
1095
+ return potentialIdentifier.s;
1096
+ }
1097
+ else {
1098
+ return null;
1099
+ }
1100
+ }
984
1101
  exports.sql = sqlBase;
985
1102
  exports.fragment = exports.sql;
986
1103
  exports.query = exports.sql;
@@ -999,6 +1116,7 @@ const attributes = {
999
1116
  indent,
1000
1117
  indentIf,
1001
1118
  parens,
1119
+ comment,
1002
1120
  symbolAlias,
1003
1121
  placeholder,
1004
1122
  blank: exports.blank,
@@ -1008,6 +1126,8 @@ const attributes = {
1008
1126
  null: nullNode,
1009
1127
  replaceSymbol,
1010
1128
  isSQL,
1129
+ withTransformer,
1130
+ getIdentifierSymbol,
1011
1131
  };
1012
1132
  Object.entries(attributes).forEach(([exportName, value]) => {
1013
1133
  if (!value.$$export) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const version = "5.0.0-beta.7";
1
+ export declare const version = "5.0.0-beta.9";
2
2
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -2,5 +2,5 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.version = void 0;
4
4
  // This file is autogenerated by /scripts/postversion.mjs
5
- exports.version = "5.0.0-beta.7";
5
+ exports.version = "5.0.0-beta.9";
6
6
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pg-sql2",
3
- "version": "5.0.0-beta.7",
3
+ "version": "5.0.0-beta.9",
4
4
  "description": "Generate safe Postgres-compliant SQL with tagged template literals",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -41,11 +41,11 @@
41
41
  "jest": "^29.6.4",
42
42
  "markdown-doctest": "^1.1.0",
43
43
  "ts-node": "^10.9.1",
44
- "typescript": "^5.2.2"
44
+ "typescript": "^5.8.3"
45
45
  },
46
46
  "dependencies": {
47
- "@graphile/lru": "^5.0.0-beta.3",
48
- "tslib": "^2.6.2"
47
+ "@graphile/lru": "^5.0.0-beta.4",
48
+ "tslib": "^2.8.1"
49
49
  },
50
50
  "files": [
51
51
  "dist"