pgsql-deparser 13.16.0 → 13.19.0

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.
Files changed (50) hide show
  1. package/README.md +94 -45
  2. package/deparser/deparser.d.ts +302 -0
  3. package/deparser/deparser.js +10451 -0
  4. package/deparser/index.d.ts +9 -0
  5. package/deparser/index.js +17 -0
  6. package/deparser/utils/list-utils.d.ts +8 -0
  7. package/deparser/utils/list-utils.js +30 -0
  8. package/deparser/utils/quote-utils.d.ts +24 -0
  9. package/deparser/utils/quote-utils.js +89 -0
  10. package/deparser/utils/sql-formatter.d.ts +16 -0
  11. package/deparser/utils/sql-formatter.js +40 -0
  12. package/deparser/visitors/base.d.ts +68 -0
  13. package/deparser/visitors/base.js +122 -0
  14. package/esm/deparser/deparser.js +10447 -0
  15. package/esm/deparser/index.js +13 -0
  16. package/esm/deparser/utils/list-utils.js +26 -0
  17. package/esm/deparser/utils/quote-utils.js +85 -0
  18. package/esm/deparser/utils/sql-formatter.js +36 -0
  19. package/esm/deparser/visitors/base.js +117 -0
  20. package/esm/index.js +15 -0
  21. package/esm/v13-to-v14.js +2750 -0
  22. package/esm/v13-to-v17-direct.js +78 -0
  23. package/esm/v14-to-v15.js +1223 -0
  24. package/esm/v15-to-v16.js +2940 -0
  25. package/esm/v16-to-v17.js +1488 -0
  26. package/index.d.ts +9 -0
  27. package/index.js +19 -0
  28. package/package.json +26 -75
  29. package/v13-to-v14.d.ts +253 -0
  30. package/v13-to-v14.js +2754 -0
  31. package/v13-to-v17-direct.d.ts +24 -0
  32. package/v13-to-v17-direct.js +82 -0
  33. package/v14-to-v15.d.ts +616 -0
  34. package/v14-to-v15.js +1227 -0
  35. package/v15-to-v16.d.ts +633 -0
  36. package/v15-to-v16.js +2944 -0
  37. package/v16-to-v17.d.ts +638 -0
  38. package/v16-to-v17.js +1492 -0
  39. package/main/deparser.js +0 -3495
  40. package/main/index.js +0 -10
  41. package/main/utils/index.js +0 -97
  42. package/module/deparser.js +0 -3492
  43. package/module/index.js +0 -3
  44. package/module/utils/index.js +0 -90
  45. package/src/deparser.ts +0 -4234
  46. package/src/index.ts +0 -3
  47. package/src/utils/index.ts +0 -92
  48. package/types/deparser.d.ts +0 -119
  49. package/types/index.d.ts +0 -3
  50. package/types/utils/index.d.ts +0 -4
@@ -0,0 +1,78 @@
1
+ /**
2
+ * Auto-generated file with types stripped for better tree-shaking
3
+ * DO NOT EDIT - Generated by strip-direct-transformer-types.ts
4
+ */
5
+ import { V13ToV14Transformer } from "./v13-to-v14";
6
+ import { V14ToV15Transformer } from "./v14-to-v15";
7
+ import { V15ToV16Transformer } from "./v15-to-v16";
8
+ import { V16ToV17Transformer } from "./v16-to-v17";
9
+ /**
10
+ * Direct transformer from PG13 to PG17
11
+ * This transformer chains v13->v14->v15->v16->v17 transformations
12
+ */
13
+ export class PG13ToPG17Transformer {
14
+ v13to14 = new V13ToV14Transformer();
15
+ v14to15 = new V14ToV15Transformer();
16
+ v15to16 = new V15ToV16Transformer();
17
+ v16to17 = new V16ToV17Transformer();
18
+ transform(node) {
19
+ // If it's a ParseResult, handle it specially
20
+ if (this.isParseResult(node)) {
21
+ // Transform through the chain: v13->v14->v15->v16->v17
22
+ const v14Stmts = node.stmts.map((stmtWrapper) => {
23
+ if (stmtWrapper.stmt) {
24
+ const v14Stmt = this.v13to14.transform(stmtWrapper.stmt, { parentNodeTypes: [] });
25
+ return { ...stmtWrapper, stmt: v14Stmt };
26
+ }
27
+ return stmtWrapper;
28
+ });
29
+ const v15Stmts = v14Stmts.map((stmtWrapper) => {
30
+ if (stmtWrapper.stmt) {
31
+ const v15Stmt = this.v14to15.transform(stmtWrapper.stmt, { parentNodeTypes: [] });
32
+ return { ...stmtWrapper, stmt: v15Stmt };
33
+ }
34
+ return stmtWrapper;
35
+ });
36
+ const v16Stmts = v15Stmts.map((stmtWrapper) => {
37
+ if (stmtWrapper.stmt) {
38
+ const v16Stmt = this.v15to16.transform(stmtWrapper.stmt, { parentNodeTypes: [] });
39
+ return { ...stmtWrapper, stmt: v16Stmt };
40
+ }
41
+ return stmtWrapper;
42
+ });
43
+ const v17Stmts = v16Stmts.map((stmtWrapper) => {
44
+ if (stmtWrapper.stmt) {
45
+ const v17Stmt = this.v16to17.transform(stmtWrapper.stmt, { parentNodeTypes: [] });
46
+ return { ...stmtWrapper, stmt: v17Stmt };
47
+ }
48
+ return stmtWrapper;
49
+ });
50
+ return {
51
+ ...node,
52
+ version: 170004, // PG17 version
53
+ stmts: v17Stmts
54
+ };
55
+ }
56
+ // Otherwise, transform as a regular node through the chain
57
+ const v14Node = this.v13to14.transform(node, { parentNodeTypes: [] });
58
+ const v15Node = this.v14to15.transform(v14Node, { parentNodeTypes: [] });
59
+ const v16Node = this.v15to16.transform(v15Node, { parentNodeTypes: [] });
60
+ return this.v16to17.transform(v16Node, { parentNodeTypes: [] });
61
+ }
62
+ /**
63
+ * Transform a single statement from PG13 to PG17
64
+ * @deprecated Use transform() instead, which handles all node types
65
+ */
66
+ transformStatement(stmt) {
67
+ const v14Stmt = this.v13to14.transform(stmt, { parentNodeTypes: [] });
68
+ const v15Stmt = this.v14to15.transform(v14Stmt, { parentNodeTypes: [] });
69
+ const v16Stmt = this.v15to16.transform(v15Stmt, { parentNodeTypes: [] });
70
+ return this.v16to17.transform(v16Stmt, { parentNodeTypes: [] });
71
+ }
72
+ /**
73
+ * Type guard to check if a node is a ParseResult
74
+ */
75
+ isParseResult(node) {
76
+ return node && typeof node === 'object' && 'version' in node && 'stmts' in node;
77
+ }
78
+ }