@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.
Files changed (104) hide show
  1. package/13/enum-to-int.d.ts +7 -0
  2. package/13/enum-to-int.js +2165 -0
  3. package/13/enum-to-str.d.ts +7 -0
  4. package/13/enum-to-str.js +2165 -0
  5. package/13/enums.d.ts +15 -22
  6. package/13/runtime-schema.d.ts +17 -0
  7. package/13/runtime-schema.js +8419 -0
  8. package/13/types.d.ts +1079 -1304
  9. package/14/enum-to-int.d.ts +7 -0
  10. package/14/enum-to-int.js +2205 -0
  11. package/14/enum-to-str.d.ts +7 -0
  12. package/14/enum-to-str.js +2205 -0
  13. package/14/enums.d.ts +62 -0
  14. package/14/enums.js +2 -0
  15. package/14/runtime-schema.d.ts +17 -0
  16. package/14/runtime-schema.js +8695 -0
  17. package/14/types.d.ts +2164 -0
  18. package/14/types.js +2 -0
  19. package/15/enum-to-int.d.ts +7 -0
  20. package/15/enum-to-int.js +2255 -0
  21. package/15/enum-to-str.d.ts +7 -0
  22. package/15/enum-to-str.js +2255 -0
  23. package/15/enums.d.ts +64 -0
  24. package/15/enums.js +2 -0
  25. package/15/runtime-schema.d.ts +17 -0
  26. package/15/runtime-schema.js +8955 -0
  27. package/15/types.d.ts +2222 -0
  28. package/15/types.js +2 -0
  29. package/16/enum-to-int.d.ts +7 -0
  30. package/16/enum-to-int.js +2344 -0
  31. package/16/enum-to-str.d.ts +7 -0
  32. package/16/enum-to-str.js +2344 -0
  33. package/16/enums.d.ts +69 -0
  34. package/16/enums.js +2 -0
  35. package/16/runtime-schema.d.ts +17 -0
  36. package/16/runtime-schema.js +9339 -0
  37. package/16/types.d.ts +2328 -0
  38. package/16/types.js +2 -0
  39. package/17/enum-to-int.d.ts +7 -0
  40. package/17/enum-to-int.js +2501 -0
  41. package/17/enum-to-str.d.ts +7 -0
  42. package/17/enum-to-str.js +2501 -0
  43. package/17/enums.d.ts +1 -1
  44. package/17/runtime-schema.d.ts +17 -0
  45. package/17/runtime-schema.js +10010 -0
  46. package/17/types.d.ts +1 -1
  47. package/esm/13/enum-to-int.js +2161 -0
  48. package/esm/13/enum-to-str.js +2161 -0
  49. package/esm/13/runtime-schema.js +8416 -0
  50. package/esm/14/enum-to-int.js +2201 -0
  51. package/esm/14/enum-to-str.js +2201 -0
  52. package/esm/14/enums.js +1 -0
  53. package/esm/14/runtime-schema.js +8692 -0
  54. package/esm/14/types.js +1 -0
  55. package/esm/15/enum-to-int.js +2251 -0
  56. package/esm/15/enum-to-str.js +2251 -0
  57. package/esm/15/enums.js +1 -0
  58. package/esm/15/runtime-schema.js +8952 -0
  59. package/esm/15/types.js +1 -0
  60. package/esm/16/enum-to-int.js +2340 -0
  61. package/esm/16/enum-to-str.js +2340 -0
  62. package/esm/16/enums.js +1 -0
  63. package/esm/16/runtime-schema.js +9336 -0
  64. package/esm/16/types.js +1 -0
  65. package/esm/17/enum-to-int.js +2497 -0
  66. package/esm/17/enum-to-str.js +2497 -0
  67. package/esm/17/runtime-schema.js +10007 -0
  68. package/esm/index.js +15 -1309
  69. package/esm/multi-version-transformer.js +60 -0
  70. package/esm/transformers/context.js +1 -0
  71. package/esm/transformers/v13-to-v14.js +2745 -0
  72. package/esm/transformers/v14-to-v15.js +1215 -0
  73. package/esm/transformers/v15-to-v16.js +2876 -0
  74. package/esm/transformers/v16-to-v17.js +1483 -0
  75. package/esm/transformers-direct/index.js +8 -0
  76. package/esm/transformers-direct/v13-to-v17/index.js +74 -0
  77. package/esm/transformers-direct/v14-to-v17/index.js +63 -0
  78. package/esm/transformers-direct/v15-to-v17/index.js +53 -0
  79. package/esm/transformers-direct/v16-to-v17/index.js +40 -0
  80. package/index.d.ts +18 -5
  81. package/index.js +29 -1311
  82. package/multi-version-transformer.d.ts +9 -0
  83. package/multi-version-transformer.js +64 -0
  84. package/package.json +8 -4
  85. package/transformers/context.d.ts +4 -0
  86. package/transformers/context.js +2 -0
  87. package/transformers/v13-to-v14.d.ts +252 -0
  88. package/transformers/v13-to-v14.js +2749 -0
  89. package/transformers/v14-to-v15.d.ts +615 -0
  90. package/transformers/v14-to-v15.js +1219 -0
  91. package/transformers/v15-to-v16.d.ts +626 -0
  92. package/transformers/v15-to-v16.js +2880 -0
  93. package/transformers/v16-to-v17.d.ts +637 -0
  94. package/transformers/v16-to-v17.js +1487 -0
  95. package/transformers-direct/index.d.ts +8 -0
  96. package/transformers-direct/index.js +15 -0
  97. package/transformers-direct/v13-to-v17/index.d.ts +27 -0
  98. package/transformers-direct/v13-to-v17/index.js +78 -0
  99. package/transformers-direct/v14-to-v17/index.d.ts +26 -0
  100. package/transformers-direct/v14-to-v17/index.js +67 -0
  101. package/transformers-direct/v15-to-v17/index.d.ts +25 -0
  102. package/transformers-direct/v15-to-v17/index.js +57 -0
  103. package/transformers-direct/v16-to-v17/index.d.ts +24 -0
  104. 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,74 @@
1
+ import { V13ToV14Transformer } from '../../transformers/v13-to-v14';
2
+ import { V14ToV15Transformer } from '../../transformers/v14-to-v15';
3
+ import { V15ToV16Transformer } from '../../transformers/v15-to-v16';
4
+ import { V16ToV17Transformer } from '../../transformers/v16-to-v17';
5
+ /**
6
+ * Direct transformer from PG13 to PG17
7
+ * This transformer chains v13->v14->v15->v16->v17 transformations
8
+ */
9
+ export class PG13ToPG17Transformer {
10
+ v13to14 = new V13ToV14Transformer();
11
+ v14to15 = new V14ToV15Transformer();
12
+ v15to16 = new V15ToV16Transformer();
13
+ v16to17 = new V16ToV17Transformer();
14
+ transform(node) {
15
+ // If it's a ParseResult, handle it specially
16
+ if (this.isParseResult(node)) {
17
+ // Transform through the chain: v13->v14->v15->v16->v17
18
+ const v14Stmts = node.stmts.map((stmtWrapper) => {
19
+ if (stmtWrapper.stmt) {
20
+ const v14Stmt = this.v13to14.transform(stmtWrapper.stmt, { parentNodeTypes: [] });
21
+ return { ...stmtWrapper, stmt: v14Stmt };
22
+ }
23
+ return stmtWrapper;
24
+ });
25
+ const v15Stmts = v14Stmts.map((stmtWrapper) => {
26
+ if (stmtWrapper.stmt) {
27
+ const v15Stmt = this.v14to15.transform(stmtWrapper.stmt, { parentNodeTypes: [] });
28
+ return { ...stmtWrapper, stmt: v15Stmt };
29
+ }
30
+ return stmtWrapper;
31
+ });
32
+ const v16Stmts = v15Stmts.map((stmtWrapper) => {
33
+ if (stmtWrapper.stmt) {
34
+ const v16Stmt = this.v15to16.transform(stmtWrapper.stmt, { parentNodeTypes: [] });
35
+ return { ...stmtWrapper, stmt: v16Stmt };
36
+ }
37
+ return stmtWrapper;
38
+ });
39
+ const v17Stmts = v16Stmts.map((stmtWrapper) => {
40
+ if (stmtWrapper.stmt) {
41
+ const v17Stmt = this.v16to17.transform(stmtWrapper.stmt, { parentNodeTypes: [] });
42
+ return { ...stmtWrapper, stmt: v17Stmt };
43
+ }
44
+ return stmtWrapper;
45
+ });
46
+ return {
47
+ ...node,
48
+ version: 170004, // PG17 version
49
+ stmts: v17Stmts
50
+ };
51
+ }
52
+ // Otherwise, transform as a regular node through the chain
53
+ const v14Node = this.v13to14.transform(node, { parentNodeTypes: [] });
54
+ const v15Node = this.v14to15.transform(v14Node, { parentNodeTypes: [] });
55
+ const v16Node = this.v15to16.transform(v15Node, { parentNodeTypes: [] });
56
+ return this.v16to17.transform(v16Node, { parentNodeTypes: [] });
57
+ }
58
+ /**
59
+ * Transform a single statement from PG13 to PG17
60
+ * @deprecated Use transform() instead, which handles all node types
61
+ */
62
+ transformStatement(stmt) {
63
+ const v14Stmt = this.v13to14.transform(stmt, { parentNodeTypes: [] });
64
+ const v15Stmt = this.v14to15.transform(v14Stmt, { parentNodeTypes: [] });
65
+ const v16Stmt = this.v15to16.transform(v15Stmt, { parentNodeTypes: [] });
66
+ return this.v16to17.transform(v16Stmt, { parentNodeTypes: [] });
67
+ }
68
+ /**
69
+ * Type guard to check if a node is a ParseResult
70
+ */
71
+ isParseResult(node) {
72
+ return node && typeof node === 'object' && 'version' in node && 'stmts' in node;
73
+ }
74
+ }
@@ -0,0 +1,63 @@
1
+ import { V14ToV15Transformer } from '../../transformers/v14-to-v15';
2
+ import { V15ToV16Transformer } from '../../transformers/v15-to-v16';
3
+ import { V16ToV17Transformer } from '../../transformers/v16-to-v17';
4
+ /**
5
+ * Direct transformer from PG14 to PG17
6
+ * This transformer chains v14->v15->v16->v17 transformations
7
+ */
8
+ export class PG14ToPG17Transformer {
9
+ v14to15 = new V14ToV15Transformer();
10
+ v15to16 = new V15ToV16Transformer();
11
+ v16to17 = new V16ToV17Transformer();
12
+ transform(node) {
13
+ // If it's a ParseResult, handle it specially
14
+ if (this.isParseResult(node)) {
15
+ // Transform through the chain: v14->v15->v16->v17
16
+ const v15Stmts = node.stmts.map((stmtWrapper) => {
17
+ if (stmtWrapper.stmt) {
18
+ const v15Stmt = this.v14to15.transform(stmtWrapper.stmt, { parentNodeTypes: [] });
19
+ return { ...stmtWrapper, stmt: v15Stmt };
20
+ }
21
+ return stmtWrapper;
22
+ });
23
+ const v16Stmts = v15Stmts.map((stmtWrapper) => {
24
+ if (stmtWrapper.stmt) {
25
+ const v16Stmt = this.v15to16.transform(stmtWrapper.stmt, { parentNodeTypes: [] });
26
+ return { ...stmtWrapper, stmt: v16Stmt };
27
+ }
28
+ return stmtWrapper;
29
+ });
30
+ const v17Stmts = v16Stmts.map((stmtWrapper) => {
31
+ if (stmtWrapper.stmt) {
32
+ const v17Stmt = this.v16to17.transform(stmtWrapper.stmt, { parentNodeTypes: [] });
33
+ return { ...stmtWrapper, stmt: v17Stmt };
34
+ }
35
+ return stmtWrapper;
36
+ });
37
+ return {
38
+ ...node,
39
+ version: 170004, // PG17 version
40
+ stmts: v17Stmts
41
+ };
42
+ }
43
+ // Otherwise, transform as a regular node through the chain
44
+ const v15Node = this.v14to15.transform(node, { parentNodeTypes: [] });
45
+ const v16Node = this.v15to16.transform(v15Node, { parentNodeTypes: [] });
46
+ return this.v16to17.transform(v16Node, { parentNodeTypes: [] });
47
+ }
48
+ /**
49
+ * Transform a single statement from PG14 to PG17
50
+ * @deprecated Use transform() instead, which handles all node types
51
+ */
52
+ transformStatement(stmt) {
53
+ const v15Stmt = this.v14to15.transform(stmt, { parentNodeTypes: [] });
54
+ const v16Stmt = this.v15to16.transform(v15Stmt, { parentNodeTypes: [] });
55
+ return this.v16to17.transform(v16Stmt, { parentNodeTypes: [] });
56
+ }
57
+ /**
58
+ * Type guard to check if a node is a ParseResult
59
+ */
60
+ isParseResult(node) {
61
+ return node && typeof node === 'object' && 'version' in node && 'stmts' in node;
62
+ }
63
+ }
@@ -0,0 +1,53 @@
1
+ import { V15ToV16Transformer } from '../../transformers/v15-to-v16';
2
+ import { V16ToV17Transformer } from '../../transformers/v16-to-v17';
3
+ /**
4
+ * Direct transformer from PG15 to PG17
5
+ * This transformer chains v15->v16->v17 transformations
6
+ */
7
+ export class PG15ToPG17Transformer {
8
+ v15to16 = new V15ToV16Transformer();
9
+ v16to17 = new V16ToV17Transformer();
10
+ transform(node) {
11
+ // If it's a ParseResult, handle it specially
12
+ if (this.isParseResult(node)) {
13
+ // First transform statements from v15 to v16
14
+ const v16Stmts = node.stmts.map((stmtWrapper) => {
15
+ if (stmtWrapper.stmt) {
16
+ const v16Stmt = this.v15to16.transform(stmtWrapper.stmt, { parentNodeTypes: [] });
17
+ return { ...stmtWrapper, stmt: v16Stmt };
18
+ }
19
+ return stmtWrapper;
20
+ });
21
+ // Then transform from v16 to v17
22
+ const v17Stmts = v16Stmts.map((stmtWrapper) => {
23
+ if (stmtWrapper.stmt) {
24
+ const v17Stmt = this.v16to17.transform(stmtWrapper.stmt, { parentNodeTypes: [] });
25
+ return { ...stmtWrapper, stmt: v17Stmt };
26
+ }
27
+ return stmtWrapper;
28
+ });
29
+ return {
30
+ ...node,
31
+ version: 170004, // PG17 version
32
+ stmts: v17Stmts
33
+ };
34
+ }
35
+ // Otherwise, transform as a regular node through the chain
36
+ const v16Node = this.v15to16.transform(node, { parentNodeTypes: [] });
37
+ return this.v16to17.transform(v16Node, { parentNodeTypes: [] });
38
+ }
39
+ /**
40
+ * Transform a single statement from PG15 to PG17
41
+ * @deprecated Use transform() instead, which handles all node types
42
+ */
43
+ transformStatement(stmt) {
44
+ const v16Stmt = this.v15to16.transform(stmt, { parentNodeTypes: [] });
45
+ return this.v16to17.transform(v16Stmt, { parentNodeTypes: [] });
46
+ }
47
+ /**
48
+ * Type guard to check if a node is a ParseResult
49
+ */
50
+ isParseResult(node) {
51
+ return node && typeof node === 'object' && 'version' in node && 'stmts' in node;
52
+ }
53
+ }
@@ -0,0 +1,40 @@
1
+ import { V16ToV17Transformer } from '../../transformers/v16-to-v17';
2
+ /**
3
+ * Direct transformer from PG16 to PG17
4
+ * This transformer only includes the necessary code for v16->v17 transformation
5
+ */
6
+ export class PG16ToPG17Transformer {
7
+ transformer = new V16ToV17Transformer();
8
+ transform(node) {
9
+ // If it's a ParseResult, handle it specially
10
+ if (this.isParseResult(node)) {
11
+ const transformedStmts = node.stmts.map((stmtWrapper) => {
12
+ if (stmtWrapper.stmt) {
13
+ const transformedStmt = this.transformer.transform(stmtWrapper.stmt, { parentNodeTypes: [] });
14
+ return { ...stmtWrapper, stmt: transformedStmt };
15
+ }
16
+ return stmtWrapper;
17
+ });
18
+ return {
19
+ ...node,
20
+ version: 170004, // PG17 version
21
+ stmts: transformedStmts
22
+ };
23
+ }
24
+ // Otherwise, transform as a regular node
25
+ return this.transformer.transform(node, { parentNodeTypes: [] });
26
+ }
27
+ /**
28
+ * Transform a single statement from PG16 to PG17
29
+ * @deprecated Use transform() instead, which handles all node types
30
+ */
31
+ transformStatement(stmt) {
32
+ return this.transformer.transform(stmt, { parentNodeTypes: [] });
33
+ }
34
+ /**
35
+ * Type guard to check if a node is a ParseResult
36
+ */
37
+ isParseResult(node) {
38
+ return node && typeof node === 'object' && 'version' in node && 'stmts' in node;
39
+ }
40
+ }
package/index.d.ts CHANGED
@@ -1,7 +1,20 @@
1
1
  import { Node as PG13Node } from './13/types';
2
+ import { Node as PG14Node } from './14/types';
3
+ import { Node as PG15Node } from './15/types';
4
+ import { Node as PG16Node } from './16/types';
2
5
  import { Node as PG17Node } from './17/types';
3
- export declare function transformPG13ToPG17(node: PG13Node): PG17Node;
4
- export { Node as PG13Node } from './13/types';
5
- export { Node as PG17Node } from './17/types';
6
- export * as PG13Types from './13/types';
7
- export * as PG17Types from './17/types';
6
+ import * as PG13Types from './13/types';
7
+ import * as PG14Types from './14/types';
8
+ import * as PG15Types from './15/types';
9
+ import * as PG16Types from './16/types';
10
+ import * as PG17Types from './17/types';
11
+ export { ASTTransformer } from './multi-version-transformer';
12
+ export { V13ToV14Transformer } from './transformers/v13-to-v14';
13
+ export { V14ToV15Transformer } from './transformers/v14-to-v15';
14
+ export { V15ToV16Transformer } from './transformers/v15-to-v16';
15
+ export { V16ToV17Transformer } from './transformers/v16-to-v17';
16
+ export { PG13ToPG17Transformer } from './transformers-direct/v13-to-v17';
17
+ export { PG14ToPG17Transformer } from './transformers-direct/v14-to-v17';
18
+ export { PG15ToPG17Transformer } from './transformers-direct/v15-to-v17';
19
+ export { PG16ToPG17Transformer } from './transformers-direct/v16-to-v17';
20
+ export { PG13Node, PG14Node, PG15Node, PG16Node, PG17Node, PG13Types, PG14Types, PG15Types, PG16Types, PG17Types };