@pgsql/transform 17.6.2 → 17.7.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.
- package/13/enum-to-int.d.ts +7 -0
- package/13/enum-to-int.js +2165 -0
- package/13/enum-to-str.d.ts +7 -0
- package/13/enum-to-str.js +2165 -0
- package/13/enums.d.ts +15 -22
- package/13/runtime-schema.d.ts +17 -0
- package/13/runtime-schema.js +8419 -0
- package/13/types.d.ts +1079 -1304
- package/14/enum-to-int.d.ts +7 -0
- package/14/enum-to-int.js +2205 -0
- package/14/enum-to-str.d.ts +7 -0
- package/14/enum-to-str.js +2205 -0
- package/14/enums.d.ts +62 -0
- package/14/enums.js +2 -0
- package/14/runtime-schema.d.ts +17 -0
- package/14/runtime-schema.js +8695 -0
- package/14/types.d.ts +2164 -0
- package/14/types.js +2 -0
- package/15/enum-to-int.d.ts +7 -0
- package/15/enum-to-int.js +2255 -0
- package/15/enum-to-str.d.ts +7 -0
- package/15/enum-to-str.js +2255 -0
- package/15/enums.d.ts +64 -0
- package/15/enums.js +2 -0
- package/15/runtime-schema.d.ts +17 -0
- package/15/runtime-schema.js +8955 -0
- package/15/types.d.ts +2222 -0
- package/15/types.js +2 -0
- package/16/enum-to-int.d.ts +7 -0
- package/16/enum-to-int.js +2344 -0
- package/16/enum-to-str.d.ts +7 -0
- package/16/enum-to-str.js +2344 -0
- package/16/enums.d.ts +69 -0
- package/16/enums.js +2 -0
- package/16/runtime-schema.d.ts +17 -0
- package/16/runtime-schema.js +9339 -0
- package/16/types.d.ts +2328 -0
- package/16/types.js +2 -0
- package/17/enum-to-int.d.ts +7 -0
- package/17/enum-to-int.js +2501 -0
- package/17/enum-to-str.d.ts +7 -0
- package/17/enum-to-str.js +2501 -0
- package/17/enums.d.ts +1 -1
- package/17/runtime-schema.d.ts +17 -0
- package/17/runtime-schema.js +10010 -0
- package/17/types.d.ts +1 -1
- package/esm/13/enum-to-int.js +2161 -0
- package/esm/13/enum-to-str.js +2161 -0
- package/esm/13/runtime-schema.js +8416 -0
- package/esm/14/enum-to-int.js +2201 -0
- package/esm/14/enum-to-str.js +2201 -0
- package/esm/14/enums.js +1 -0
- package/esm/14/runtime-schema.js +8692 -0
- package/esm/14/types.js +1 -0
- package/esm/15/enum-to-int.js +2251 -0
- package/esm/15/enum-to-str.js +2251 -0
- package/esm/15/enums.js +1 -0
- package/esm/15/runtime-schema.js +8952 -0
- package/esm/15/types.js +1 -0
- package/esm/16/enum-to-int.js +2340 -0
- package/esm/16/enum-to-str.js +2340 -0
- package/esm/16/enums.js +1 -0
- package/esm/16/runtime-schema.js +9336 -0
- package/esm/16/types.js +1 -0
- package/esm/17/enum-to-int.js +2497 -0
- package/esm/17/enum-to-str.js +2497 -0
- package/esm/17/runtime-schema.js +10007 -0
- package/esm/index.js +15 -1309
- package/esm/multi-version-transformer.js +60 -0
- package/esm/transformers/context.js +1 -0
- package/esm/transformers/v13-to-v14.js +2745 -0
- package/esm/transformers/v14-to-v15.js +1215 -0
- package/esm/transformers/v15-to-v16.js +2876 -0
- package/esm/transformers/v16-to-v17.js +1483 -0
- package/esm/transformers-direct/index.js +8 -0
- package/esm/transformers-direct/v13-to-v17/index.js +74 -0
- package/esm/transformers-direct/v14-to-v17/index.js +63 -0
- package/esm/transformers-direct/v15-to-v17/index.js +53 -0
- package/esm/transformers-direct/v16-to-v17/index.js +40 -0
- package/index.d.ts +18 -5
- package/index.js +29 -1311
- package/multi-version-transformer.d.ts +9 -0
- package/multi-version-transformer.js +64 -0
- package/package.json +8 -4
- package/transformers/context.d.ts +4 -0
- package/transformers/context.js +2 -0
- package/transformers/v13-to-v14.d.ts +252 -0
- package/transformers/v13-to-v14.js +2749 -0
- package/transformers/v14-to-v15.d.ts +615 -0
- package/transformers/v14-to-v15.js +1219 -0
- package/transformers/v15-to-v16.d.ts +626 -0
- package/transformers/v15-to-v16.js +2880 -0
- package/transformers/v16-to-v17.d.ts +637 -0
- package/transformers/v16-to-v17.js +1487 -0
- package/transformers-direct/index.d.ts +8 -0
- package/transformers-direct/index.js +15 -0
- package/transformers-direct/v13-to-v17/index.d.ts +27 -0
- package/transformers-direct/v13-to-v17/index.js +78 -0
- package/transformers-direct/v14-to-v17/index.d.ts +26 -0
- package/transformers-direct/v14-to-v17/index.js +67 -0
- package/transformers-direct/v15-to-v17/index.d.ts +25 -0
- package/transformers-direct/v15-to-v17/index.js +57 -0
- package/transformers-direct/v16-to-v17/index.d.ts +24 -0
- package/transformers-direct/v16-to-v17/index.js +44 -0
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Direct transformers for PostgreSQL version upgrades to PG17
|
|
3
|
+
* These transformers are designed for tree-shaking optimization
|
|
4
|
+
*/
|
|
5
|
+
export { PG13ToPG17Transformer } from './v13-to-v17';
|
|
6
|
+
export { PG14ToPG17Transformer } from './v14-to-v17';
|
|
7
|
+
export { PG15ToPG17Transformer } from './v15-to-v17';
|
|
8
|
+
export { PG16ToPG17Transformer } from './v16-to-v17';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Direct transformers for PostgreSQL version upgrades to PG17
|
|
4
|
+
* These transformers are designed for tree-shaking optimization
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.PG16ToPG17Transformer = exports.PG15ToPG17Transformer = exports.PG14ToPG17Transformer = exports.PG13ToPG17Transformer = void 0;
|
|
8
|
+
var v13_to_v17_1 = require("./v13-to-v17");
|
|
9
|
+
Object.defineProperty(exports, "PG13ToPG17Transformer", { enumerable: true, get: function () { return v13_to_v17_1.PG13ToPG17Transformer; } });
|
|
10
|
+
var v14_to_v17_1 = require("./v14-to-v17");
|
|
11
|
+
Object.defineProperty(exports, "PG14ToPG17Transformer", { enumerable: true, get: function () { return v14_to_v17_1.PG14ToPG17Transformer; } });
|
|
12
|
+
var v15_to_v17_1 = require("./v15-to-v17");
|
|
13
|
+
Object.defineProperty(exports, "PG15ToPG17Transformer", { enumerable: true, get: function () { return v15_to_v17_1.PG15ToPG17Transformer; } });
|
|
14
|
+
var v16_to_v17_1 = require("./v16-to-v17");
|
|
15
|
+
Object.defineProperty(exports, "PG16ToPG17Transformer", { enumerable: true, get: function () { return v16_to_v17_1.PG16ToPG17Transformer; } });
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import * as PG13 from '../../13/types';
|
|
2
|
+
import * as PG17 from '../../17/types';
|
|
3
|
+
/**
|
|
4
|
+
* Direct transformer from PG13 to PG17
|
|
5
|
+
* This transformer chains v13->v14->v15->v16->v17 transformations
|
|
6
|
+
*/
|
|
7
|
+
export declare class PG13ToPG17Transformer {
|
|
8
|
+
private v13to14;
|
|
9
|
+
private v14to15;
|
|
10
|
+
private v15to16;
|
|
11
|
+
private v16to17;
|
|
12
|
+
/**
|
|
13
|
+
* Transform a node or parse result from PG13 to PG17
|
|
14
|
+
* @param node - Can be a ParseResult or any Node type
|
|
15
|
+
*/
|
|
16
|
+
transform(node: PG13.Node): PG17.Node;
|
|
17
|
+
transform(node: PG13.ParseResult): PG17.ParseResult;
|
|
18
|
+
/**
|
|
19
|
+
* Transform a single statement from PG13 to PG17
|
|
20
|
+
* @deprecated Use transform() instead, which handles all node types
|
|
21
|
+
*/
|
|
22
|
+
transformStatement(stmt: any): any;
|
|
23
|
+
/**
|
|
24
|
+
* Type guard to check if a node is a ParseResult
|
|
25
|
+
*/
|
|
26
|
+
private isParseResult;
|
|
27
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PG13ToPG17Transformer = void 0;
|
|
4
|
+
const v13_to_v14_1 = require("../../transformers/v13-to-v14");
|
|
5
|
+
const v14_to_v15_1 = require("../../transformers/v14-to-v15");
|
|
6
|
+
const v15_to_v16_1 = require("../../transformers/v15-to-v16");
|
|
7
|
+
const v16_to_v17_1 = require("../../transformers/v16-to-v17");
|
|
8
|
+
/**
|
|
9
|
+
* Direct transformer from PG13 to PG17
|
|
10
|
+
* This transformer chains v13->v14->v15->v16->v17 transformations
|
|
11
|
+
*/
|
|
12
|
+
class PG13ToPG17Transformer {
|
|
13
|
+
v13to14 = new v13_to_v14_1.V13ToV14Transformer();
|
|
14
|
+
v14to15 = new v14_to_v15_1.V14ToV15Transformer();
|
|
15
|
+
v15to16 = new v15_to_v16_1.V15ToV16Transformer();
|
|
16
|
+
v16to17 = new v16_to_v17_1.V16ToV17Transformer();
|
|
17
|
+
transform(node) {
|
|
18
|
+
// If it's a ParseResult, handle it specially
|
|
19
|
+
if (this.isParseResult(node)) {
|
|
20
|
+
// Transform through the chain: v13->v14->v15->v16->v17
|
|
21
|
+
const v14Stmts = node.stmts.map((stmtWrapper) => {
|
|
22
|
+
if (stmtWrapper.stmt) {
|
|
23
|
+
const v14Stmt = this.v13to14.transform(stmtWrapper.stmt, { parentNodeTypes: [] });
|
|
24
|
+
return { ...stmtWrapper, stmt: v14Stmt };
|
|
25
|
+
}
|
|
26
|
+
return stmtWrapper;
|
|
27
|
+
});
|
|
28
|
+
const v15Stmts = v14Stmts.map((stmtWrapper) => {
|
|
29
|
+
if (stmtWrapper.stmt) {
|
|
30
|
+
const v15Stmt = this.v14to15.transform(stmtWrapper.stmt, { parentNodeTypes: [] });
|
|
31
|
+
return { ...stmtWrapper, stmt: v15Stmt };
|
|
32
|
+
}
|
|
33
|
+
return stmtWrapper;
|
|
34
|
+
});
|
|
35
|
+
const v16Stmts = v15Stmts.map((stmtWrapper) => {
|
|
36
|
+
if (stmtWrapper.stmt) {
|
|
37
|
+
const v16Stmt = this.v15to16.transform(stmtWrapper.stmt, { parentNodeTypes: [] });
|
|
38
|
+
return { ...stmtWrapper, stmt: v16Stmt };
|
|
39
|
+
}
|
|
40
|
+
return stmtWrapper;
|
|
41
|
+
});
|
|
42
|
+
const v17Stmts = v16Stmts.map((stmtWrapper) => {
|
|
43
|
+
if (stmtWrapper.stmt) {
|
|
44
|
+
const v17Stmt = this.v16to17.transform(stmtWrapper.stmt, { parentNodeTypes: [] });
|
|
45
|
+
return { ...stmtWrapper, stmt: v17Stmt };
|
|
46
|
+
}
|
|
47
|
+
return stmtWrapper;
|
|
48
|
+
});
|
|
49
|
+
return {
|
|
50
|
+
...node,
|
|
51
|
+
version: 170004, // PG17 version
|
|
52
|
+
stmts: v17Stmts
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
// Otherwise, transform as a regular node through the chain
|
|
56
|
+
const v14Node = this.v13to14.transform(node, { parentNodeTypes: [] });
|
|
57
|
+
const v15Node = this.v14to15.transform(v14Node, { parentNodeTypes: [] });
|
|
58
|
+
const v16Node = this.v15to16.transform(v15Node, { parentNodeTypes: [] });
|
|
59
|
+
return this.v16to17.transform(v16Node, { parentNodeTypes: [] });
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Transform a single statement from PG13 to PG17
|
|
63
|
+
* @deprecated Use transform() instead, which handles all node types
|
|
64
|
+
*/
|
|
65
|
+
transformStatement(stmt) {
|
|
66
|
+
const v14Stmt = this.v13to14.transform(stmt, { parentNodeTypes: [] });
|
|
67
|
+
const v15Stmt = this.v14to15.transform(v14Stmt, { parentNodeTypes: [] });
|
|
68
|
+
const v16Stmt = this.v15to16.transform(v15Stmt, { parentNodeTypes: [] });
|
|
69
|
+
return this.v16to17.transform(v16Stmt, { parentNodeTypes: [] });
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Type guard to check if a node is a ParseResult
|
|
73
|
+
*/
|
|
74
|
+
isParseResult(node) {
|
|
75
|
+
return node && typeof node === 'object' && 'version' in node && 'stmts' in node;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
exports.PG13ToPG17Transformer = PG13ToPG17Transformer;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import * as PG14 from '../../14/types';
|
|
2
|
+
import * as PG17 from '../../17/types';
|
|
3
|
+
/**
|
|
4
|
+
* Direct transformer from PG14 to PG17
|
|
5
|
+
* This transformer chains v14->v15->v16->v17 transformations
|
|
6
|
+
*/
|
|
7
|
+
export declare class PG14ToPG17Transformer {
|
|
8
|
+
private v14to15;
|
|
9
|
+
private v15to16;
|
|
10
|
+
private v16to17;
|
|
11
|
+
/**
|
|
12
|
+
* Transform a node or parse result from PG14 to PG17
|
|
13
|
+
* @param node - Can be a ParseResult or any Node type
|
|
14
|
+
*/
|
|
15
|
+
transform(node: PG14.Node): PG17.Node;
|
|
16
|
+
transform(node: PG14.ParseResult): PG17.ParseResult;
|
|
17
|
+
/**
|
|
18
|
+
* Transform a single statement from PG14 to PG17
|
|
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
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PG14ToPG17Transformer = 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
|
+
/**
|
|
8
|
+
* Direct transformer from PG14 to PG17
|
|
9
|
+
* This transformer chains v14->v15->v16->v17 transformations
|
|
10
|
+
*/
|
|
11
|
+
class PG14ToPG17Transformer {
|
|
12
|
+
v14to15 = new v14_to_v15_1.V14ToV15Transformer();
|
|
13
|
+
v15to16 = new v15_to_v16_1.V15ToV16Transformer();
|
|
14
|
+
v16to17 = new v16_to_v17_1.V16ToV17Transformer();
|
|
15
|
+
transform(node) {
|
|
16
|
+
// If it's a ParseResult, handle it specially
|
|
17
|
+
if (this.isParseResult(node)) {
|
|
18
|
+
// Transform through the chain: v14->v15->v16->v17
|
|
19
|
+
const v15Stmts = node.stmts.map((stmtWrapper) => {
|
|
20
|
+
if (stmtWrapper.stmt) {
|
|
21
|
+
const v15Stmt = this.v14to15.transform(stmtWrapper.stmt, { parentNodeTypes: [] });
|
|
22
|
+
return { ...stmtWrapper, stmt: v15Stmt };
|
|
23
|
+
}
|
|
24
|
+
return stmtWrapper;
|
|
25
|
+
});
|
|
26
|
+
const v16Stmts = v15Stmts.map((stmtWrapper) => {
|
|
27
|
+
if (stmtWrapper.stmt) {
|
|
28
|
+
const v16Stmt = this.v15to16.transform(stmtWrapper.stmt, { parentNodeTypes: [] });
|
|
29
|
+
return { ...stmtWrapper, stmt: v16Stmt };
|
|
30
|
+
}
|
|
31
|
+
return stmtWrapper;
|
|
32
|
+
});
|
|
33
|
+
const v17Stmts = v16Stmts.map((stmtWrapper) => {
|
|
34
|
+
if (stmtWrapper.stmt) {
|
|
35
|
+
const v17Stmt = this.v16to17.transform(stmtWrapper.stmt, { parentNodeTypes: [] });
|
|
36
|
+
return { ...stmtWrapper, stmt: v17Stmt };
|
|
37
|
+
}
|
|
38
|
+
return stmtWrapper;
|
|
39
|
+
});
|
|
40
|
+
return {
|
|
41
|
+
...node,
|
|
42
|
+
version: 170004, // PG17 version
|
|
43
|
+
stmts: v17Stmts
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
// Otherwise, transform as a regular node through the chain
|
|
47
|
+
const v15Node = this.v14to15.transform(node, { parentNodeTypes: [] });
|
|
48
|
+
const v16Node = this.v15to16.transform(v15Node, { parentNodeTypes: [] });
|
|
49
|
+
return this.v16to17.transform(v16Node, { parentNodeTypes: [] });
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Transform a single statement from PG14 to PG17
|
|
53
|
+
* @deprecated Use transform() instead, which handles all node types
|
|
54
|
+
*/
|
|
55
|
+
transformStatement(stmt) {
|
|
56
|
+
const v15Stmt = this.v14to15.transform(stmt, { parentNodeTypes: [] });
|
|
57
|
+
const v16Stmt = this.v15to16.transform(v15Stmt, { parentNodeTypes: [] });
|
|
58
|
+
return this.v16to17.transform(v16Stmt, { parentNodeTypes: [] });
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Type guard to check if a node is a ParseResult
|
|
62
|
+
*/
|
|
63
|
+
isParseResult(node) {
|
|
64
|
+
return node && typeof node === 'object' && 'version' in node && 'stmts' in node;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
exports.PG14ToPG17Transformer = PG14ToPG17Transformer;
|
|
@@ -0,0 +1,25 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
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;
|
|
@@ -0,0 +1,24 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
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;
|