pgsql-deparser 13.15.0 → 14.0.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 (62) hide show
  1. package/README.md +88 -45
  2. package/dist/README.md +160 -0
  3. package/dist/deparser/deparser.d.ts +301 -0
  4. package/dist/deparser/deparser.js +10005 -0
  5. package/dist/deparser/index.d.ts +9 -0
  6. package/dist/deparser/index.js +17 -0
  7. package/dist/deparser/utils/list-utils.d.ts +8 -0
  8. package/dist/deparser/utils/list-utils.js +30 -0
  9. package/dist/deparser/utils/quote-utils.d.ts +24 -0
  10. package/dist/deparser/utils/quote-utils.js +89 -0
  11. package/dist/deparser/utils/sql-formatter.d.ts +16 -0
  12. package/dist/deparser/utils/sql-formatter.js +40 -0
  13. package/dist/deparser/visitors/base.d.ts +21 -0
  14. package/dist/deparser/visitors/base.js +34 -0
  15. package/dist/esm/deparser/deparser.js +10001 -0
  16. package/dist/esm/deparser/index.js +13 -0
  17. package/dist/esm/deparser/utils/list-utils.js +26 -0
  18. package/dist/esm/deparser/utils/quote-utils.js +85 -0
  19. package/dist/esm/deparser/utils/sql-formatter.js +36 -0
  20. package/dist/esm/deparser/visitors/base.js +30 -0
  21. package/dist/esm/index.js +15 -0
  22. package/dist/esm/v14-to-v15.js +1220 -0
  23. package/dist/esm/v14-to-v17-direct.js +67 -0
  24. package/dist/esm/v15-to-v16.js +2881 -0
  25. package/dist/esm/v16-to-v17.js +1488 -0
  26. package/dist/index.d.ts +9 -0
  27. package/dist/index.js +19 -0
  28. package/dist/package.json +42 -0
  29. package/dist/v14-to-v15.d.ts +616 -0
  30. package/dist/v14-to-v15.js +1224 -0
  31. package/dist/v14-to-v17-direct.d.ts +23 -0
  32. package/dist/v14-to-v17-direct.js +71 -0
  33. package/dist/v15-to-v16.d.ts +627 -0
  34. package/dist/v15-to-v16.js +2885 -0
  35. package/dist/v16-to-v17.d.ts +638 -0
  36. package/dist/v16-to-v17.js +1492 -0
  37. package/package.json +26 -73
  38. package/src/deparser/deparser.ts +10026 -0
  39. package/src/deparser/index.ts +14 -0
  40. package/src/deparser/utils/list-utils.ts +27 -0
  41. package/src/deparser/utils/quote-utils.ts +86 -0
  42. package/src/deparser/utils/sql-formatter.ts +37 -0
  43. package/src/deparser/visitors/base.ts +40 -0
  44. package/src/index.ts +27 -3
  45. package/src/v14-to-v15.ts +1621 -0
  46. package/src/v14-to-v17-direct.ts +68 -0
  47. package/src/v15-to-v16.ts +3290 -0
  48. package/src/v16-to-v17.ts +1897 -0
  49. package/tsconfig.esm.json +8 -0
  50. package/tsconfig.json +26 -0
  51. package/main/deparser.js +0 -3481
  52. package/main/index.js +0 -10
  53. package/main/utils/index.js +0 -97
  54. package/module/deparser.js +0 -3478
  55. package/module/index.js +0 -3
  56. package/module/utils/index.js +0 -90
  57. package/src/deparser.ts +0 -4220
  58. package/src/utils/index.ts +0 -92
  59. package/types/deparser.d.ts +0 -119
  60. package/types/index.d.ts +0 -3
  61. package/types/utils/index.d.ts +0 -4
  62. /package/{LICENSE → dist/LICENSE} +0 -0
@@ -0,0 +1,67 @@
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 { V14ToV15Transformer } from "./v14-to-v15";
6
+ import { V15ToV16Transformer } from "./v15-to-v16";
7
+ import { V16ToV17Transformer } from "./v16-to-v17";
8
+ /**
9
+ * Direct transformer from PG14 to PG17
10
+ * This transformer chains v14->v15->v16->v17 transformations
11
+ */
12
+ export class PG14ToPG17Transformer {
13
+ v14to15 = new V14ToV15Transformer();
14
+ v15to16 = new V15ToV16Transformer();
15
+ v16to17 = new V16ToV17Transformer();
16
+ transform(node) {
17
+ // If it's a ParseResult, handle it specially
18
+ if (this.isParseResult(node)) {
19
+ // Transform through the chain: v14->v15->v16->v17
20
+ const v15Stmts = node.stmts.map((stmtWrapper) => {
21
+ if (stmtWrapper.stmt) {
22
+ const v15Stmt = this.v14to15.transform(stmtWrapper.stmt, { parentNodeTypes: [] });
23
+ return { ...stmtWrapper, stmt: v15Stmt };
24
+ }
25
+ return stmtWrapper;
26
+ });
27
+ const v16Stmts = v15Stmts.map((stmtWrapper) => {
28
+ if (stmtWrapper.stmt) {
29
+ const v16Stmt = this.v15to16.transform(stmtWrapper.stmt, { parentNodeTypes: [] });
30
+ return { ...stmtWrapper, stmt: v16Stmt };
31
+ }
32
+ return stmtWrapper;
33
+ });
34
+ const v17Stmts = v16Stmts.map((stmtWrapper) => {
35
+ if (stmtWrapper.stmt) {
36
+ const v17Stmt = this.v16to17.transform(stmtWrapper.stmt, { parentNodeTypes: [] });
37
+ return { ...stmtWrapper, stmt: v17Stmt };
38
+ }
39
+ return stmtWrapper;
40
+ });
41
+ return {
42
+ ...node,
43
+ version: 170004, // PG17 version
44
+ stmts: v17Stmts
45
+ };
46
+ }
47
+ // Otherwise, transform as a regular node through the chain
48
+ const v15Node = this.v14to15.transform(node, { parentNodeTypes: [] });
49
+ const v16Node = this.v15to16.transform(v15Node, { parentNodeTypes: [] });
50
+ return this.v16to17.transform(v16Node, { parentNodeTypes: [] });
51
+ }
52
+ /**
53
+ * Transform a single statement from PG14 to PG17
54
+ * @deprecated Use transform() instead, which handles all node types
55
+ */
56
+ transformStatement(stmt) {
57
+ const v15Stmt = this.v14to15.transform(stmt, { parentNodeTypes: [] });
58
+ const v16Stmt = this.v15to16.transform(v15Stmt, { parentNodeTypes: [] });
59
+ return this.v16to17.transform(v16Stmt, { parentNodeTypes: [] });
60
+ }
61
+ /**
62
+ * Type guard to check if a node is a ParseResult
63
+ */
64
+ isParseResult(node) {
65
+ return node && typeof node === 'object' && 'version' in node && 'stmts' in node;
66
+ }
67
+ }