@pgsql/transform 18.1.0 → 18.3.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 (113) hide show
  1. package/README.md +29 -73
  2. package/categorize.d.ts +52 -0
  3. package/categorize.js +56 -0
  4. package/esm/categorize.js +51 -0
  5. package/esm/facts.js +289 -0
  6. package/esm/fixture-closure.js +197 -0
  7. package/esm/index.js +7 -22
  8. package/esm/qualify.js +297 -0
  9. package/esm/round-trip-core.js +126 -0
  10. package/esm/round-trip.js +116 -0
  11. package/esm/transform.js +1169 -0
  12. package/facts.d.ts +69 -0
  13. package/facts.js +292 -0
  14. package/fixture-closure.d.ts +71 -0
  15. package/fixture-closure.js +200 -0
  16. package/index.d.ts +14 -28
  17. package/index.js +43 -76
  18. package/package.json +22 -14
  19. package/qualify.d.ts +125 -0
  20. package/qualify.js +303 -0
  21. package/round-trip-core.d.ts +60 -0
  22. package/round-trip-core.js +133 -0
  23. package/round-trip.d.ts +47 -0
  24. package/round-trip.js +123 -0
  25. package/transform.d.ts +259 -0
  26. package/transform.js +1190 -0
  27. package/13/enums.d.ts +0 -62
  28. package/13/enums.js +0 -2
  29. package/13/types.d.ts +0 -2103
  30. package/13/types.js +0 -2
  31. package/14/enums.d.ts +0 -62
  32. package/14/enums.js +0 -2
  33. package/14/types.d.ts +0 -2164
  34. package/14/types.js +0 -2
  35. package/15/enums.d.ts +0 -64
  36. package/15/enums.js +0 -2
  37. package/15/types.d.ts +0 -2222
  38. package/15/types.js +0 -2
  39. package/16/enums.d.ts +0 -69
  40. package/16/enums.js +0 -2
  41. package/16/types.d.ts +0 -2328
  42. package/16/types.js +0 -2
  43. package/17/enums.d.ts +0 -76
  44. package/17/enums.js +0 -2
  45. package/17/types.d.ts +0 -2488
  46. package/17/types.js +0 -2
  47. package/18/enums.d.ts +0 -78
  48. package/18/enums.js +0 -2
  49. package/18/types.d.ts +0 -2538
  50. package/18/types.js +0 -2
  51. package/esm/13/enums.js +0 -1
  52. package/esm/13/types.js +0 -1
  53. package/esm/14/enums.js +0 -1
  54. package/esm/14/types.js +0 -1
  55. package/esm/15/enums.js +0 -1
  56. package/esm/15/types.js +0 -1
  57. package/esm/16/enums.js +0 -1
  58. package/esm/16/types.js +0 -1
  59. package/esm/17/enums.js +0 -1
  60. package/esm/17/types.js +0 -1
  61. package/esm/18/enums.js +0 -1
  62. package/esm/18/types.js +0 -1
  63. package/esm/multi-version-transformer.js +0 -80
  64. package/esm/transformers/context.js +0 -1
  65. package/esm/transformers/v13-to-v14.js +0 -2767
  66. package/esm/transformers/v14-to-v15.js +0 -1218
  67. package/esm/transformers/v15-to-v16.js +0 -2935
  68. package/esm/transformers/v16-to-v17.js +0 -1526
  69. package/esm/transformers/v17-to-v18.js +0 -204
  70. package/esm/transformers-direct/index.js +0 -13
  71. package/esm/transformers-direct/v13-to-v17/index.js +0 -74
  72. package/esm/transformers-direct/v13-to-v18/index.js +0 -84
  73. package/esm/transformers-direct/v14-to-v17/index.js +0 -63
  74. package/esm/transformers-direct/v14-to-v18/index.js +0 -73
  75. package/esm/transformers-direct/v15-to-v17/index.js +0 -53
  76. package/esm/transformers-direct/v15-to-v18/index.js +0 -62
  77. package/esm/transformers-direct/v16-to-v17/index.js +0 -40
  78. package/esm/transformers-direct/v16-to-v18/index.js +0 -51
  79. package/esm/transformers-direct/v17-to-v18/index.js +0 -39
  80. package/multi-version-transformer.d.ts +0 -14
  81. package/multi-version-transformer.js +0 -84
  82. package/transformers/context.d.ts +0 -4
  83. package/transformers/context.js +0 -2
  84. package/transformers/v13-to-v14.d.ts +0 -255
  85. package/transformers/v13-to-v14.js +0 -2771
  86. package/transformers/v14-to-v15.d.ts +0 -615
  87. package/transformers/v14-to-v15.js +0 -1222
  88. package/transformers/v15-to-v16.d.ts +0 -632
  89. package/transformers/v15-to-v16.js +0 -2939
  90. package/transformers/v16-to-v17.d.ts +0 -640
  91. package/transformers/v16-to-v17.js +0 -1530
  92. package/transformers/v17-to-v18.d.ts +0 -54
  93. package/transformers/v17-to-v18.js +0 -208
  94. package/transformers-direct/index.d.ts +0 -13
  95. package/transformers-direct/index.js +0 -25
  96. package/transformers-direct/v13-to-v17/index.d.ts +0 -27
  97. package/transformers-direct/v13-to-v17/index.js +0 -78
  98. package/transformers-direct/v13-to-v18/index.d.ts +0 -28
  99. package/transformers-direct/v13-to-v18/index.js +0 -88
  100. package/transformers-direct/v14-to-v17/index.d.ts +0 -26
  101. package/transformers-direct/v14-to-v17/index.js +0 -67
  102. package/transformers-direct/v14-to-v18/index.d.ts +0 -27
  103. package/transformers-direct/v14-to-v18/index.js +0 -77
  104. package/transformers-direct/v15-to-v17/index.d.ts +0 -25
  105. package/transformers-direct/v15-to-v17/index.js +0 -57
  106. package/transformers-direct/v15-to-v18/index.d.ts +0 -26
  107. package/transformers-direct/v15-to-v18/index.js +0 -66
  108. package/transformers-direct/v16-to-v17/index.d.ts +0 -24
  109. package/transformers-direct/v16-to-v17/index.js +0 -44
  110. package/transformers-direct/v16-to-v18/index.d.ts +0 -25
  111. package/transformers-direct/v16-to-v18/index.js +0 -55
  112. package/transformers-direct/v17-to-v18/index.d.ts +0 -24
  113. package/transformers-direct/v17-to-v18/index.js +0 -43
@@ -1,77 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PG14ToPG18Transformer = void 0;
4
- const v14_to_v15_1 = require("../../transformers/v14-to-v15");
5
- const v15_to_v16_1 = require("../../transformers/v15-to-v16");
6
- const v16_to_v17_1 = require("../../transformers/v16-to-v17");
7
- const v17_to_v18_1 = require("../../transformers/v17-to-v18");
8
- /**
9
- * Direct transformer from PG14 to PG18
10
- * This transformer chains v14->...->v18 transformations
11
- */
12
- class PG14ToPG18Transformer {
13
- v14to15 = new v14_to_v15_1.V14ToV15Transformer();
14
- v15to16 = new v15_to_v16_1.V15ToV16Transformer();
15
- v16to17 = new v16_to_v17_1.V16ToV17Transformer();
16
- v17to18 = new v17_to_v18_1.V17ToV18Transformer();
17
- transform(node) {
18
- if (this.isParseResult(node)) {
19
- // Transform through the chain: v14->v15->v16->v17->v18
20
- const v15Stmts = node.stmts.map((stmtWrapper) => {
21
- if (stmtWrapper.stmt) {
22
- const stmt = this.v14to15.transform(stmtWrapper.stmt, { parentNodeTypes: [] });
23
- return { ...stmtWrapper, stmt };
24
- }
25
- return stmtWrapper;
26
- });
27
- const v16Stmts = v15Stmts.map((stmtWrapper) => {
28
- if (stmtWrapper.stmt) {
29
- const stmt = this.v15to16.transform(stmtWrapper.stmt, { parentNodeTypes: [] });
30
- return { ...stmtWrapper, stmt };
31
- }
32
- return stmtWrapper;
33
- });
34
- const v17Stmts = v16Stmts.map((stmtWrapper) => {
35
- if (stmtWrapper.stmt) {
36
- const stmt = this.v16to17.transform(stmtWrapper.stmt, { parentNodeTypes: [] });
37
- return { ...stmtWrapper, stmt };
38
- }
39
- return stmtWrapper;
40
- });
41
- const v18Stmts = v17Stmts.map((stmtWrapper) => {
42
- if (stmtWrapper.stmt) {
43
- const stmt = this.v17to18.transform(stmtWrapper.stmt, { parentNodeTypes: [] });
44
- return { ...stmtWrapper, stmt };
45
- }
46
- return stmtWrapper;
47
- });
48
- return {
49
- ...node,
50
- version: 180004, // PG18 version
51
- stmts: v18Stmts
52
- };
53
- }
54
- // Otherwise, transform as a regular node through the chain
55
- const v15Node = this.v14to15.transform(node, { parentNodeTypes: [] });
56
- const v16Node = this.v15to16.transform(v15Node, { parentNodeTypes: [] });
57
- const v17Node = this.v16to17.transform(v16Node, { parentNodeTypes: [] });
58
- return this.v17to18.transform(v17Node, { parentNodeTypes: [] });
59
- }
60
- /**
61
- * Transform a single statement from PG14 to PG18
62
- * @deprecated Use transform() instead, which handles all node types
63
- */
64
- transformStatement(stmt) {
65
- const v15Stmt = this.v14to15.transform(stmt, { parentNodeTypes: [] });
66
- const v16Stmt = this.v15to16.transform(v15Stmt, { parentNodeTypes: [] });
67
- const v17Stmt = this.v16to17.transform(v16Stmt, { parentNodeTypes: [] });
68
- return this.v17to18.transform(v17Stmt, { parentNodeTypes: [] });
69
- }
70
- /**
71
- * Type guard to check if a node is a ParseResult
72
- */
73
- isParseResult(node) {
74
- return node && typeof node === 'object' && 'version' in node && 'stmts' in node;
75
- }
76
- }
77
- exports.PG14ToPG18Transformer = PG14ToPG18Transformer;
@@ -1,25 +0,0 @@
1
- import * as PG15 from '../../15/types';
2
- import * as PG17 from '../../17/types';
3
- /**
4
- * Direct transformer from PG15 to PG17
5
- * This transformer chains v15->v16->v17 transformations
6
- */
7
- export declare class PG15ToPG17Transformer {
8
- private v15to16;
9
- private v16to17;
10
- /**
11
- * Transform a node or parse result from PG15 to PG17
12
- * @param node - Can be a ParseResult or any Node type
13
- */
14
- transform(node: PG15.Node): PG17.Node;
15
- transform(node: PG15.ParseResult): PG17.ParseResult;
16
- /**
17
- * Transform a single statement from PG15 to PG17
18
- * @deprecated Use transform() instead, which handles all node types
19
- */
20
- transformStatement(stmt: any): any;
21
- /**
22
- * Type guard to check if a node is a ParseResult
23
- */
24
- private isParseResult;
25
- }
@@ -1,57 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PG15ToPG17Transformer = void 0;
4
- const v15_to_v16_1 = require("../../transformers/v15-to-v16");
5
- const v16_to_v17_1 = require("../../transformers/v16-to-v17");
6
- /**
7
- * Direct transformer from PG15 to PG17
8
- * This transformer chains v15->v16->v17 transformations
9
- */
10
- class PG15ToPG17Transformer {
11
- v15to16 = new v15_to_v16_1.V15ToV16Transformer();
12
- v16to17 = new v16_to_v17_1.V16ToV17Transformer();
13
- transform(node) {
14
- // If it's a ParseResult, handle it specially
15
- if (this.isParseResult(node)) {
16
- // First transform statements from v15 to v16
17
- const v16Stmts = node.stmts.map((stmtWrapper) => {
18
- if (stmtWrapper.stmt) {
19
- const v16Stmt = this.v15to16.transform(stmtWrapper.stmt, { parentNodeTypes: [] });
20
- return { ...stmtWrapper, stmt: v16Stmt };
21
- }
22
- return stmtWrapper;
23
- });
24
- // Then transform from v16 to v17
25
- const v17Stmts = v16Stmts.map((stmtWrapper) => {
26
- if (stmtWrapper.stmt) {
27
- const v17Stmt = this.v16to17.transform(stmtWrapper.stmt, { parentNodeTypes: [] });
28
- return { ...stmtWrapper, stmt: v17Stmt };
29
- }
30
- return stmtWrapper;
31
- });
32
- return {
33
- ...node,
34
- version: 170004, // PG17 version
35
- stmts: v17Stmts
36
- };
37
- }
38
- // Otherwise, transform as a regular node through the chain
39
- const v16Node = this.v15to16.transform(node, { parentNodeTypes: [] });
40
- return this.v16to17.transform(v16Node, { parentNodeTypes: [] });
41
- }
42
- /**
43
- * Transform a single statement from PG15 to PG17
44
- * @deprecated Use transform() instead, which handles all node types
45
- */
46
- transformStatement(stmt) {
47
- const v16Stmt = this.v15to16.transform(stmt, { parentNodeTypes: [] });
48
- return this.v16to17.transform(v16Stmt, { parentNodeTypes: [] });
49
- }
50
- /**
51
- * Type guard to check if a node is a ParseResult
52
- */
53
- isParseResult(node) {
54
- return node && typeof node === 'object' && 'version' in node && 'stmts' in node;
55
- }
56
- }
57
- exports.PG15ToPG17Transformer = PG15ToPG17Transformer;
@@ -1,26 +0,0 @@
1
- import * as PG15 from '../../15/types';
2
- import * as PG18 from '../../18/types';
3
- /**
4
- * Direct transformer from PG15 to PG18
5
- * This transformer chains v15->...->v18 transformations
6
- */
7
- export declare class PG15ToPG18Transformer {
8
- private v15to16;
9
- private v16to17;
10
- private v17to18;
11
- /**
12
- * Transform a node or parse result from PG15 to PG18
13
- * @param node - Can be a ParseResult or any Node type
14
- */
15
- transform(node: PG15.Node): PG18.Node;
16
- transform(node: PG15.ParseResult): PG18.ParseResult;
17
- /**
18
- * Transform a single statement from PG15 to PG18
19
- * @deprecated Use transform() instead, which handles all node types
20
- */
21
- transformStatement(stmt: any): any;
22
- /**
23
- * Type guard to check if a node is a ParseResult
24
- */
25
- private isParseResult;
26
- }
@@ -1,66 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PG15ToPG18Transformer = void 0;
4
- const v15_to_v16_1 = require("../../transformers/v15-to-v16");
5
- const v16_to_v17_1 = require("../../transformers/v16-to-v17");
6
- const v17_to_v18_1 = require("../../transformers/v17-to-v18");
7
- /**
8
- * Direct transformer from PG15 to PG18
9
- * This transformer chains v15->...->v18 transformations
10
- */
11
- class PG15ToPG18Transformer {
12
- v15to16 = new v15_to_v16_1.V15ToV16Transformer();
13
- v16to17 = new v16_to_v17_1.V16ToV17Transformer();
14
- v17to18 = new v17_to_v18_1.V17ToV18Transformer();
15
- transform(node) {
16
- if (this.isParseResult(node)) {
17
- // Transform through the chain: v15->v16->v17->v18
18
- const v16Stmts = node.stmts.map((stmtWrapper) => {
19
- if (stmtWrapper.stmt) {
20
- const stmt = this.v15to16.transform(stmtWrapper.stmt, { parentNodeTypes: [] });
21
- return { ...stmtWrapper, stmt };
22
- }
23
- return stmtWrapper;
24
- });
25
- const v17Stmts = v16Stmts.map((stmtWrapper) => {
26
- if (stmtWrapper.stmt) {
27
- const stmt = this.v16to17.transform(stmtWrapper.stmt, { parentNodeTypes: [] });
28
- return { ...stmtWrapper, stmt };
29
- }
30
- return stmtWrapper;
31
- });
32
- const v18Stmts = v17Stmts.map((stmtWrapper) => {
33
- if (stmtWrapper.stmt) {
34
- const stmt = this.v17to18.transform(stmtWrapper.stmt, { parentNodeTypes: [] });
35
- return { ...stmtWrapper, stmt };
36
- }
37
- return stmtWrapper;
38
- });
39
- return {
40
- ...node,
41
- version: 180004, // PG18 version
42
- stmts: v18Stmts
43
- };
44
- }
45
- // Otherwise, transform as a regular node through the chain
46
- const v16Node = this.v15to16.transform(node, { parentNodeTypes: [] });
47
- const v17Node = this.v16to17.transform(v16Node, { parentNodeTypes: [] });
48
- return this.v17to18.transform(v17Node, { parentNodeTypes: [] });
49
- }
50
- /**
51
- * Transform a single statement from PG15 to PG18
52
- * @deprecated Use transform() instead, which handles all node types
53
- */
54
- transformStatement(stmt) {
55
- const v16Stmt = this.v15to16.transform(stmt, { parentNodeTypes: [] });
56
- const v17Stmt = this.v16to17.transform(v16Stmt, { parentNodeTypes: [] });
57
- return this.v17to18.transform(v17Stmt, { parentNodeTypes: [] });
58
- }
59
- /**
60
- * Type guard to check if a node is a ParseResult
61
- */
62
- isParseResult(node) {
63
- return node && typeof node === 'object' && 'version' in node && 'stmts' in node;
64
- }
65
- }
66
- exports.PG15ToPG18Transformer = PG15ToPG18Transformer;
@@ -1,24 +0,0 @@
1
- import * as PG16 from '../../16/types';
2
- import * as PG17 from '../../17/types';
3
- /**
4
- * Direct transformer from PG16 to PG17
5
- * This transformer only includes the necessary code for v16->v17 transformation
6
- */
7
- export declare class PG16ToPG17Transformer {
8
- private transformer;
9
- /**
10
- * Transform a node or parse result from PG16 to PG17
11
- * @param node - Can be a ParseResult or any Node type
12
- */
13
- transform(node: PG16.Node): PG17.Node;
14
- transform(node: PG16.ParseResult): PG17.ParseResult;
15
- /**
16
- * Transform a single statement from PG16 to PG17
17
- * @deprecated Use transform() instead, which handles all node types
18
- */
19
- transformStatement(stmt: any): any;
20
- /**
21
- * Type guard to check if a node is a ParseResult
22
- */
23
- private isParseResult;
24
- }
@@ -1,44 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PG16ToPG17Transformer = void 0;
4
- const v16_to_v17_1 = require("../../transformers/v16-to-v17");
5
- /**
6
- * Direct transformer from PG16 to PG17
7
- * This transformer only includes the necessary code for v16->v17 transformation
8
- */
9
- class PG16ToPG17Transformer {
10
- transformer = new v16_to_v17_1.V16ToV17Transformer();
11
- transform(node) {
12
- // If it's a ParseResult, handle it specially
13
- if (this.isParseResult(node)) {
14
- const transformedStmts = node.stmts.map((stmtWrapper) => {
15
- if (stmtWrapper.stmt) {
16
- const transformedStmt = this.transformer.transform(stmtWrapper.stmt, { parentNodeTypes: [] });
17
- return { ...stmtWrapper, stmt: transformedStmt };
18
- }
19
- return stmtWrapper;
20
- });
21
- return {
22
- ...node,
23
- version: 170004, // PG17 version
24
- stmts: transformedStmts
25
- };
26
- }
27
- // Otherwise, transform as a regular node
28
- return this.transformer.transform(node, { parentNodeTypes: [] });
29
- }
30
- /**
31
- * Transform a single statement from PG16 to PG17
32
- * @deprecated Use transform() instead, which handles all node types
33
- */
34
- transformStatement(stmt) {
35
- return this.transformer.transform(stmt, { parentNodeTypes: [] });
36
- }
37
- /**
38
- * Type guard to check if a node is a ParseResult
39
- */
40
- isParseResult(node) {
41
- return node && typeof node === 'object' && 'version' in node && 'stmts' in node;
42
- }
43
- }
44
- exports.PG16ToPG17Transformer = PG16ToPG17Transformer;
@@ -1,25 +0,0 @@
1
- import * as PG16 from '../../16/types';
2
- import * as PG18 from '../../18/types';
3
- /**
4
- * Direct transformer from PG16 to PG18
5
- * This transformer chains v16->...->v18 transformations
6
- */
7
- export declare class PG16ToPG18Transformer {
8
- private v16to17;
9
- private v17to18;
10
- /**
11
- * Transform a node or parse result from PG16 to PG18
12
- * @param node - Can be a ParseResult or any Node type
13
- */
14
- transform(node: PG16.Node): PG18.Node;
15
- transform(node: PG16.ParseResult): PG18.ParseResult;
16
- /**
17
- * Transform a single statement from PG16 to PG18
18
- * @deprecated Use transform() instead, which handles all node types
19
- */
20
- transformStatement(stmt: any): any;
21
- /**
22
- * Type guard to check if a node is a ParseResult
23
- */
24
- private isParseResult;
25
- }
@@ -1,55 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PG16ToPG18Transformer = void 0;
4
- const v16_to_v17_1 = require("../../transformers/v16-to-v17");
5
- const v17_to_v18_1 = require("../../transformers/v17-to-v18");
6
- /**
7
- * Direct transformer from PG16 to PG18
8
- * This transformer chains v16->...->v18 transformations
9
- */
10
- class PG16ToPG18Transformer {
11
- v16to17 = new v16_to_v17_1.V16ToV17Transformer();
12
- v17to18 = new v17_to_v18_1.V17ToV18Transformer();
13
- transform(node) {
14
- if (this.isParseResult(node)) {
15
- // Transform through the chain: v16->v17->v18
16
- const v17Stmts = node.stmts.map((stmtWrapper) => {
17
- if (stmtWrapper.stmt) {
18
- const stmt = this.v16to17.transform(stmtWrapper.stmt, { parentNodeTypes: [] });
19
- return { ...stmtWrapper, stmt };
20
- }
21
- return stmtWrapper;
22
- });
23
- const v18Stmts = v17Stmts.map((stmtWrapper) => {
24
- if (stmtWrapper.stmt) {
25
- const stmt = this.v17to18.transform(stmtWrapper.stmt, { parentNodeTypes: [] });
26
- return { ...stmtWrapper, stmt };
27
- }
28
- return stmtWrapper;
29
- });
30
- return {
31
- ...node,
32
- version: 180004, // PG18 version
33
- stmts: v18Stmts
34
- };
35
- }
36
- // Otherwise, transform as a regular node through the chain
37
- const v17Node = this.v16to17.transform(node, { parentNodeTypes: [] });
38
- return this.v17to18.transform(v17Node, { parentNodeTypes: [] });
39
- }
40
- /**
41
- * Transform a single statement from PG16 to PG18
42
- * @deprecated Use transform() instead, which handles all node types
43
- */
44
- transformStatement(stmt) {
45
- const v17Stmt = this.v16to17.transform(stmt, { parentNodeTypes: [] });
46
- return this.v17to18.transform(v17Stmt, { parentNodeTypes: [] });
47
- }
48
- /**
49
- * Type guard to check if a node is a ParseResult
50
- */
51
- isParseResult(node) {
52
- return node && typeof node === 'object' && 'version' in node && 'stmts' in node;
53
- }
54
- }
55
- exports.PG16ToPG18Transformer = PG16ToPG18Transformer;
@@ -1,24 +0,0 @@
1
- import * as PG17 from '../../17/types';
2
- import * as PG18 from '../../18/types';
3
- /**
4
- * Direct transformer from PG17 to PG18
5
- * This transformer chains v17->...->v18 transformations
6
- */
7
- export declare class PG17ToPG18Transformer {
8
- private v17to18;
9
- /**
10
- * Transform a node or parse result from PG17 to PG18
11
- * @param node - Can be a ParseResult or any Node type
12
- */
13
- transform(node: PG17.Node): PG18.Node;
14
- transform(node: PG17.ParseResult): PG18.ParseResult;
15
- /**
16
- * Transform a single statement from PG17 to PG18
17
- * @deprecated Use transform() instead, which handles all node types
18
- */
19
- transformStatement(stmt: any): any;
20
- /**
21
- * Type guard to check if a node is a ParseResult
22
- */
23
- private isParseResult;
24
- }
@@ -1,43 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PG17ToPG18Transformer = void 0;
4
- const v17_to_v18_1 = require("../../transformers/v17-to-v18");
5
- /**
6
- * Direct transformer from PG17 to PG18
7
- * This transformer chains v17->...->v18 transformations
8
- */
9
- class PG17ToPG18Transformer {
10
- v17to18 = new v17_to_v18_1.V17ToV18Transformer();
11
- transform(node) {
12
- if (this.isParseResult(node)) {
13
- const transformedStmts = node.stmts.map((stmtWrapper) => {
14
- if (stmtWrapper.stmt) {
15
- const transformedStmt = this.v17to18.transform(stmtWrapper.stmt, { parentNodeTypes: [] });
16
- return { ...stmtWrapper, stmt: transformedStmt };
17
- }
18
- return stmtWrapper;
19
- });
20
- return {
21
- ...node,
22
- version: 180004, // PG18 version
23
- stmts: transformedStmts
24
- };
25
- }
26
- // Otherwise, transform as a regular node
27
- return this.v17to18.transform(node, { parentNodeTypes: [] });
28
- }
29
- /**
30
- * Transform a single statement from PG17 to PG18
31
- * @deprecated Use transform() instead, which handles all node types
32
- */
33
- transformStatement(stmt) {
34
- return this.v17to18.transform(stmt, { parentNodeTypes: [] });
35
- }
36
- /**
37
- * Type guard to check if a node is a ParseResult
38
- */
39
- isParseResult(node) {
40
- return node && typeof node === 'object' && 'version' in node && 'stmts' in node;
41
- }
42
- }
43
- exports.PG17ToPG18Transformer = PG17ToPG18Transformer;