kysely 0.2.2 → 0.2.6

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 (172) hide show
  1. package/README.md +8 -8
  2. package/lib/dialect/postgres/postgres-dialect.js +5 -4
  3. package/lib/index.d.ts +66 -2
  4. package/lib/index.js +66 -2
  5. package/lib/kysely.d.ts +15 -14
  6. package/lib/kysely.js +17 -16
  7. package/lib/migration/migration.js +4 -4
  8. package/lib/operation-node/add-column-node.d.ts +6 -19
  9. package/lib/operation-node/add-column-node.js +5 -14
  10. package/lib/operation-node/add-constraint-node.d.ts +13 -0
  11. package/lib/operation-node/add-constraint-node.js +18 -0
  12. package/lib/operation-node/alias-node.d.ts +4 -2
  13. package/lib/operation-node/alias-node.js +3 -0
  14. package/lib/operation-node/alter-column-node.d.ts +24 -0
  15. package/lib/operation-node/alter-column-node.js +25 -0
  16. package/lib/operation-node/alter-table-node.d.ts +30 -0
  17. package/lib/operation-node/alter-table-node.js +25 -0
  18. package/lib/operation-node/and-node.d.ts +3 -0
  19. package/lib/operation-node/and-node.js +3 -0
  20. package/lib/operation-node/check-constraint-node.d.ts +6 -1
  21. package/lib/operation-node/check-constraint-node.js +6 -1
  22. package/lib/operation-node/column-definition-node.d.ts +29 -0
  23. package/lib/operation-node/column-definition-node.js +30 -0
  24. package/lib/operation-node/column-node.d.ts +3 -0
  25. package/lib/operation-node/column-node.js +3 -0
  26. package/lib/operation-node/column-update-node.d.ts +3 -0
  27. package/lib/operation-node/column-update-node.js +3 -0
  28. package/lib/operation-node/common-table-expression-node.d.ts +3 -0
  29. package/lib/operation-node/common-table-expression-node.js +3 -0
  30. package/lib/operation-node/constraint-node.d.ts +5 -0
  31. package/lib/operation-node/constraint-node.js +2 -0
  32. package/lib/operation-node/create-index-node.d.ts +3 -0
  33. package/lib/operation-node/create-index-node.js +3 -0
  34. package/lib/operation-node/create-schema-node.d.ts +3 -0
  35. package/lib/operation-node/create-schema-node.js +3 -0
  36. package/lib/operation-node/create-table-node.d.ts +12 -12
  37. package/lib/operation-node/create-table-node.js +30 -12
  38. package/lib/operation-node/data-type-node.d.ts +4 -1
  39. package/lib/operation-node/data-type-node.js +3 -0
  40. package/lib/operation-node/delete-query-node.d.ts +3 -0
  41. package/lib/operation-node/delete-query-node.js +3 -0
  42. package/lib/operation-node/drop-column-node.d.ts +13 -0
  43. package/lib/operation-node/drop-column-node.js +19 -0
  44. package/lib/operation-node/drop-constraint-node.d.ts +13 -0
  45. package/lib/operation-node/drop-constraint-node.js +19 -0
  46. package/lib/operation-node/drop-index-node.d.ts +3 -0
  47. package/lib/operation-node/drop-index-node.js +3 -0
  48. package/lib/operation-node/drop-schema-node.d.ts +3 -0
  49. package/lib/operation-node/drop-schema-node.js +3 -0
  50. package/lib/operation-node/drop-table-node.d.ts +5 -2
  51. package/lib/operation-node/drop-table-node.js +3 -0
  52. package/lib/operation-node/filter-node.d.ts +3 -0
  53. package/lib/operation-node/filter-node.js +3 -0
  54. package/lib/operation-node/foreign-key-constraint-node.d.ts +18 -0
  55. package/lib/operation-node/foreign-key-constraint-node.js +22 -0
  56. package/lib/operation-node/from-node.d.ts +3 -0
  57. package/lib/operation-node/from-node.js +3 -0
  58. package/lib/operation-node/group-by-item-node.d.ts +3 -0
  59. package/lib/operation-node/group-by-item-node.js +3 -0
  60. package/lib/operation-node/group-by-node.d.ts +3 -0
  61. package/lib/operation-node/group-by-node.js +3 -0
  62. package/lib/operation-node/having-node.d.ts +3 -0
  63. package/lib/operation-node/having-node.js +3 -0
  64. package/lib/operation-node/identifier-node.d.ts +3 -0
  65. package/lib/operation-node/identifier-node.js +3 -0
  66. package/lib/operation-node/insert-query-node.d.ts +3 -0
  67. package/lib/operation-node/insert-query-node.js +3 -0
  68. package/lib/operation-node/join-node.d.ts +3 -0
  69. package/lib/operation-node/join-node.js +3 -0
  70. package/lib/operation-node/limit-node.d.ts +3 -0
  71. package/lib/operation-node/limit-node.js +3 -0
  72. package/lib/operation-node/list-node.d.ts +3 -0
  73. package/lib/operation-node/list-node.js +3 -0
  74. package/lib/operation-node/offset-node.d.ts +3 -0
  75. package/lib/operation-node/offset-node.js +3 -0
  76. package/lib/operation-node/on-conflict-node.d.ts +3 -0
  77. package/lib/operation-node/on-conflict-node.js +3 -0
  78. package/lib/operation-node/operation-node-transformer.d.ts +20 -4
  79. package/lib/operation-node/operation-node-transformer.js +86 -12
  80. package/lib/operation-node/operation-node-visitor.d.ts +20 -4
  81. package/lib/operation-node/operation-node-visitor.js +75 -5
  82. package/lib/operation-node/operation-node.d.ts +1 -1
  83. package/lib/operation-node/operator-node.d.ts +3 -0
  84. package/lib/operation-node/operator-node.js +3 -0
  85. package/lib/operation-node/or-node.d.ts +3 -0
  86. package/lib/operation-node/or-node.js +3 -0
  87. package/lib/operation-node/order-by-item-node.d.ts +3 -0
  88. package/lib/operation-node/order-by-item-node.js +3 -0
  89. package/lib/operation-node/order-by-node.d.ts +3 -0
  90. package/lib/operation-node/order-by-node.js +3 -0
  91. package/lib/operation-node/parens-node.d.ts +3 -0
  92. package/lib/operation-node/parens-node.js +3 -0
  93. package/lib/operation-node/primary-constraint-node.d.ts +15 -0
  94. package/lib/operation-node/primary-constraint-node.js +21 -0
  95. package/lib/operation-node/primitive-value-list-node.d.ts +3 -0
  96. package/lib/operation-node/primitive-value-list-node.js +3 -0
  97. package/lib/operation-node/query-node.d.ts +3 -0
  98. package/lib/operation-node/query-node.js +3 -0
  99. package/lib/operation-node/raw-node.d.ts +3 -0
  100. package/lib/operation-node/raw-node.js +3 -0
  101. package/lib/operation-node/reference-node.d.ts +3 -0
  102. package/lib/operation-node/reference-node.js +3 -0
  103. package/lib/operation-node/references-node.d.ts +5 -2
  104. package/lib/operation-node/references-node.js +5 -2
  105. package/lib/operation-node/rename-column-node.d.ts +14 -0
  106. package/lib/operation-node/rename-column-node.js +20 -0
  107. package/lib/operation-node/returning-node.d.ts +3 -0
  108. package/lib/operation-node/returning-node.js +3 -0
  109. package/lib/operation-node/select-all-node.d.ts +3 -0
  110. package/lib/operation-node/select-all-node.js +3 -0
  111. package/lib/operation-node/select-query-node.d.ts +3 -0
  112. package/lib/operation-node/select-query-node.js +3 -0
  113. package/lib/operation-node/selection-node.d.ts +3 -0
  114. package/lib/operation-node/selection-node.js +3 -0
  115. package/lib/operation-node/table-node.d.ts +3 -0
  116. package/lib/operation-node/table-node.js +3 -0
  117. package/lib/operation-node/unique-constraint-node.d.ts +15 -0
  118. package/lib/operation-node/unique-constraint-node.js +21 -0
  119. package/lib/operation-node/update-query-node.d.ts +3 -0
  120. package/lib/operation-node/update-query-node.js +3 -0
  121. package/lib/operation-node/value-list-node.d.ts +3 -0
  122. package/lib/operation-node/value-list-node.js +3 -0
  123. package/lib/operation-node/value-node.d.ts +3 -0
  124. package/lib/operation-node/value-node.js +3 -0
  125. package/lib/operation-node/where-node.d.ts +3 -0
  126. package/lib/operation-node/where-node.js +3 -0
  127. package/lib/operation-node/with-node.d.ts +3 -0
  128. package/lib/operation-node/with-node.js +3 -0
  129. package/lib/parser/with-parser.js +1 -1
  130. package/lib/plugin/camel-case/camel-case-plugin.d.ts +1 -1
  131. package/lib/plugin/camel-case/camel-case-plugin.js +1 -1
  132. package/lib/query-builder/query-builder.d.ts +9 -9
  133. package/lib/query-builder/query-builder.js +6 -6
  134. package/lib/query-builder/sub-query-builder.d.ts +1 -1
  135. package/lib/query-builder/sub-query-builder.js +1 -1
  136. package/lib/query-compiler/default-query-compiler.d.ts +21 -5
  137. package/lib/query-compiler/default-query-compiler.js +110 -10
  138. package/lib/query-compiler/query-compiler.d.ts +2 -1
  139. package/lib/query-creator.d.ts +2 -2
  140. package/lib/query-creator.js +1 -1
  141. package/lib/{util → query-executor}/query-executor.d.ts +0 -0
  142. package/lib/{util → query-executor}/query-executor.js +1 -1
  143. package/lib/raw-builder/raw-builder.d.ts +2 -2
  144. package/lib/raw-builder/raw-builder.js +4 -4
  145. package/lib/schema/alter-table-builder.d.ts +64 -0
  146. package/lib/schema/alter-table-builder.js +236 -0
  147. package/lib/schema/{add-column-builder.d.ts → column-definition-builder.d.ts} +25 -15
  148. package/lib/schema/column-definition-builder.js +66 -0
  149. package/lib/schema/create-index-builder.d.ts +2 -2
  150. package/lib/schema/create-index-builder.js +3 -3
  151. package/lib/schema/create-schema-builder.d.ts +2 -2
  152. package/lib/schema/create-schema-builder.js +3 -3
  153. package/lib/schema/create-table-builder.d.ts +28 -13
  154. package/lib/schema/create-table-builder.js +38 -18
  155. package/lib/schema/drop-index-builder.d.ts +2 -2
  156. package/lib/schema/drop-index-builder.js +3 -3
  157. package/lib/schema/drop-schema-builder.d.ts +2 -2
  158. package/lib/schema/drop-schema-builder.js +3 -3
  159. package/lib/schema/drop-table-builder.d.ts +2 -2
  160. package/lib/schema/drop-table-builder.js +3 -3
  161. package/lib/schema/schema.d.ts +19 -5
  162. package/lib/schema/schema.js +24 -4
  163. package/lib/transformers/with-schema-transformer.d.ts +2 -0
  164. package/lib/transformers/with-schema-transformer.js +3 -0
  165. package/lib/util/object-utils.d.ts +1 -0
  166. package/lib/util/object-utils.js +13 -1
  167. package/package.json +2 -2
  168. package/lib/operation-node/table-primary-constraint-node.d.ts +0 -10
  169. package/lib/operation-node/table-primary-constraint-node.js +0 -16
  170. package/lib/operation-node/table-unique-constraint-node.d.ts +0 -10
  171. package/lib/operation-node/table-unique-constraint-node.js +0 -16
  172. package/lib/schema/add-column-builder.js +0 -116
@@ -4,6 +4,9 @@ export interface GroupByItemNode extends OperationNode {
4
4
  readonly kind: 'GroupByItemNode';
5
5
  readonly groupBy: ReferenceExpressionNode;
6
6
  }
7
+ /**
8
+ * @internal
9
+ */
7
10
  export declare const groupByItemNode: Readonly<{
8
11
  is(node: OperationNode): node is GroupByItemNode;
9
12
  create(groupBy: ReferenceExpressionNode): GroupByItemNode;
@@ -2,6 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.groupByItemNode = void 0;
4
4
  const object_utils_1 = require("../util/object-utils");
5
+ /**
6
+ * @internal
7
+ */
5
8
  exports.groupByItemNode = object_utils_1.freeze({
6
9
  is(node) {
7
10
  return node.kind === 'GroupByItemNode';
@@ -4,6 +4,9 @@ export interface GroupByNode extends OperationNode {
4
4
  readonly kind: 'GroupByNode';
5
5
  readonly items: ReadonlyArray<GroupByItemNode>;
6
6
  }
7
+ /**
8
+ * @internal
9
+ */
7
10
  export declare const groupByNode: Readonly<{
8
11
  is(node: OperationNode): node is GroupByNode;
9
12
  create(items: ReadonlyArray<GroupByItemNode>): GroupByNode;
@@ -2,6 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.groupByNode = void 0;
4
4
  const object_utils_1 = require("../util/object-utils");
5
+ /**
6
+ * @internal
7
+ */
5
8
  exports.groupByNode = object_utils_1.freeze({
6
9
  is(node) {
7
10
  return node.kind === 'GroupByNode';
@@ -8,6 +8,9 @@ export interface HavingNode extends OperationNode {
8
8
  readonly kind: 'HavingNode';
9
9
  readonly having: HavingNodeChild;
10
10
  }
11
+ /**
12
+ * @internal
13
+ */
11
14
  export declare const havingNode: Readonly<{
12
15
  is(node: OperationNode): node is HavingNode;
13
16
  create(filter: HavingNodeChild): HavingNode;
@@ -4,6 +4,9 @@ exports.havingNode = void 0;
4
4
  const object_utils_1 = require("../util/object-utils");
5
5
  const and_node_1 = require("./and-node");
6
6
  const or_node_1 = require("./or-node");
7
+ /**
8
+ * @internal
9
+ */
7
10
  exports.havingNode = object_utils_1.freeze({
8
11
  is(node) {
9
12
  return node.kind === 'HavingNode';
@@ -3,6 +3,9 @@ export interface IdentifierNode extends OperationNode {
3
3
  readonly kind: 'IdentifierNode';
4
4
  readonly identifier: string;
5
5
  }
6
+ /**
7
+ * @internal
8
+ */
6
9
  export declare const identifierNode: Readonly<{
7
10
  is(node: OperationNode): node is IdentifierNode;
8
11
  create(identifier: string): IdentifierNode;
@@ -2,6 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.identifierNode = void 0;
4
4
  const object_utils_1 = require("../util/object-utils");
5
+ /**
6
+ * @internal
7
+ */
5
8
  exports.identifierNode = object_utils_1.freeze({
6
9
  is(node) {
7
10
  return node.kind === 'IdentifierNode';
@@ -17,6 +17,9 @@ export interface InsertQueryNode extends OperationNode {
17
17
  readonly onConflict?: OnConflictNode;
18
18
  readonly with?: WithNode;
19
19
  }
20
+ /**
21
+ * @internal
22
+ */
20
23
  export declare const insertQueryNode: Readonly<{
21
24
  is(node: OperationNode): node is InsertQueryNode;
22
25
  create(into: TableNode, withNode?: WithNode | undefined): InsertQueryNode;
@@ -3,6 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.insertQueryNode = void 0;
4
4
  const object_utils_1 = require("../util/object-utils");
5
5
  const on_conflict_node_1 = require("./on-conflict-node");
6
+ /**
7
+ * @internal
8
+ */
6
9
  exports.insertQueryNode = object_utils_1.freeze({
7
10
  is(node) {
8
11
  return node.kind === 'InsertQueryNode';
@@ -14,6 +14,9 @@ export interface JoinNode extends OperationNode {
14
14
  readonly table: JoinTableNode;
15
15
  readonly on?: JoinNodeOnNode;
16
16
  }
17
+ /**
18
+ * @internal
19
+ */
17
20
  export declare const joinNode: Readonly<{
18
21
  is(node: OperationNode): node is JoinNode;
19
22
  create(joinType: JoinType, table: JoinTableNode): JoinNode;
@@ -4,6 +4,9 @@ exports.joinNode = void 0;
4
4
  const object_utils_1 = require("../util/object-utils");
5
5
  const and_node_1 = require("./and-node");
6
6
  const or_node_1 = require("./or-node");
7
+ /**
8
+ * @internal
9
+ */
7
10
  exports.joinNode = object_utils_1.freeze({
8
11
  is(node) {
9
12
  return node.kind === 'JoinNode';
@@ -4,6 +4,9 @@ export interface LimitNode extends OperationNode {
4
4
  readonly kind: 'LimitNode';
5
5
  readonly limit: ValueNode;
6
6
  }
7
+ /**
8
+ * @internal
9
+ */
7
10
  export declare const limitNode: Readonly<{
8
11
  is(node: OperationNode): node is LimitNode;
9
12
  create(limit: number): LimitNode;
@@ -3,6 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.limitNode = void 0;
4
4
  const object_utils_1 = require("../util/object-utils");
5
5
  const value_node_1 = require("./value-node");
6
+ /**
7
+ * @internal
8
+ */
6
9
  exports.limitNode = object_utils_1.freeze({
7
10
  is(node) {
8
11
  return node.kind === 'LimitNode';
@@ -3,6 +3,9 @@ export interface ListNode extends OperationNode {
3
3
  readonly kind: 'ListNode';
4
4
  readonly items: ReadonlyArray<OperationNode>;
5
5
  }
6
+ /**
7
+ * @internal
8
+ */
6
9
  export declare const listNode: Readonly<{
7
10
  is(node: OperationNode): node is ListNode;
8
11
  create(items: ReadonlyArray<OperationNode>): ListNode;
@@ -2,6 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.listNode = void 0;
4
4
  const object_utils_1 = require("../util/object-utils");
5
+ /**
6
+ * @internal
7
+ */
5
8
  exports.listNode = object_utils_1.freeze({
6
9
  is(node) {
7
10
  return node.kind === 'ListNode';
@@ -4,6 +4,9 @@ export interface OffsetNode extends OperationNode {
4
4
  readonly kind: 'OffsetNode';
5
5
  readonly offset: ValueNode;
6
6
  }
7
+ /**
8
+ * @internal
9
+ */
7
10
  export declare const offsetNode: Readonly<{
8
11
  is(node: OperationNode): node is OffsetNode;
9
12
  create(offset: number): OffsetNode;
@@ -3,6 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.offsetNode = void 0;
4
4
  const object_utils_1 = require("../util/object-utils");
5
5
  const value_node_1 = require("./value-node");
6
+ /**
7
+ * @internal
8
+ */
6
9
  exports.offsetNode = object_utils_1.freeze({
7
10
  is(node) {
8
11
  return node.kind === 'OffsetNode';
@@ -7,6 +7,9 @@ export interface OnConflictNode extends OperationNode {
7
7
  readonly updates?: ReadonlyArray<ColumnUpdateNode>;
8
8
  readonly doNothing?: boolean;
9
9
  }
10
+ /**
11
+ * @internal
12
+ */
10
13
  export declare const onConflictNode: Readonly<{
11
14
  is(node: OperationNode): node is OnConflictNode;
12
15
  createWithDoNothing(columns: ReadonlyArray<ColumnNode>): OnConflictNode;
@@ -2,6 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.onConflictNode = void 0;
4
4
  const object_utils_1 = require("../util/object-utils");
5
+ /**
6
+ * @internal
7
+ */
5
8
  exports.onConflictNode = object_utils_1.freeze({
6
9
  is(node) {
7
10
  return node.kind === 'OnConflictNode';
@@ -38,8 +38,8 @@ import { OnConflictNode } from './on-conflict-node';
38
38
  import { CreateIndexNode } from './create-index-node';
39
39
  import { ListNode } from './list-node';
40
40
  import { DropIndexNode } from './drop-index-node';
41
- import { TablePrimaryConstraintNode } from './table-primary-constraint-node';
42
- import { TableUniqueConstraintNode } from './table-unique-constraint-node';
41
+ import { PrimaryKeyConstraintNode } from './primary-constraint-node';
42
+ import { UniqueConstraintNode } from './unique-constraint-node';
43
43
  import { ReferencesNode } from './references-node';
44
44
  import { CheckConstraintNode } from './check-constraint-node';
45
45
  import { WithNode } from './with-node';
@@ -47,6 +47,14 @@ import { CommonTableExpressionNode } from './common-table-expression-node';
47
47
  import { HavingNode } from './having-node';
48
48
  import { CreateSchemaNode } from './create-schema-node';
49
49
  import { DropSchemaNode } from './drop-schema-node';
50
+ import { AlterTableNode } from './alter-table-node';
51
+ import { DropColumnNode } from './drop-column-node';
52
+ import { RenameColumnNode } from './rename-column-node';
53
+ import { AlterColumnNode } from './alter-column-node';
54
+ import { AddConstraintNode } from './add-constraint-node';
55
+ import { DropConstraintNode } from './drop-constraint-node';
56
+ import { ForeignKeyConstraintNode } from './foreign-key-constraint-node';
57
+ import { ColumnDefinitionNode } from './column-definition-node';
50
58
  /**
51
59
  * Transforms an operation node tree into another one.
52
60
  *
@@ -100,6 +108,7 @@ export declare class OperationNodeTransformer {
100
108
  protected transformDeleteQuery(node: DeleteQueryNode): DeleteQueryNode;
101
109
  protected transformReturning(node: ReturningNode): ReturningNode;
102
110
  protected transformCreateTable(node: CreateTableNode): CreateTableNode;
111
+ protected transformColumnDefinition(node: ColumnDefinitionNode): ColumnDefinitionNode;
103
112
  protected transformAddColumn(node: AddColumnNode): AddColumnNode;
104
113
  protected transformDropTable(node: DropTableNode): DropTableNode;
105
114
  protected transformOrderBy(node: OrderByNode): OrderByNode;
@@ -114,8 +123,9 @@ export declare class OperationNodeTransformer {
114
123
  protected transformCreateIndex(node: CreateIndexNode): CreateIndexNode;
115
124
  protected transformList(node: ListNode): ListNode;
116
125
  protected transformDropIndex(node: DropIndexNode): DropIndexNode;
117
- protected transformTablePrimaryConstraint(node: TablePrimaryConstraintNode): TablePrimaryConstraintNode;
118
- protected transformTableUniqueConstraint(node: TableUniqueConstraintNode): TableUniqueConstraintNode;
126
+ protected transformPrimaryKeyConstraint(node: PrimaryKeyConstraintNode): PrimaryKeyConstraintNode;
127
+ protected transformUniqueConstraint(node: UniqueConstraintNode): UniqueConstraintNode;
128
+ protected transformForeignKeyConstraint(node: ForeignKeyConstraintNode): ForeignKeyConstraintNode;
119
129
  protected transformReferences(node: ReferencesNode): ReferencesNode;
120
130
  protected transformCheckConstraint(node: CheckConstraintNode): CheckConstraintNode;
121
131
  protected transformWith(node: WithNode): WithNode;
@@ -123,6 +133,12 @@ export declare class OperationNodeTransformer {
123
133
  protected transformHaving(node: HavingNode): HavingNode;
124
134
  protected transformCreateSchema(node: CreateSchemaNode): CreateSchemaNode;
125
135
  protected transformDropSchema(node: DropSchemaNode): DropSchemaNode;
136
+ protected transformAlterTable(node: AlterTableNode): AlterTableNode;
137
+ protected transformDropColumn(node: DropColumnNode): DropColumnNode;
138
+ protected transformRenameColumn(node: RenameColumnNode): RenameColumnNode;
139
+ protected transformAlterColumn(node: AlterColumnNode): AlterColumnNode;
140
+ protected transformAddConstraint(node: AddConstraintNode): AddConstraintNode;
141
+ protected transformDropConstraint(node: DropConstraintNode): DropConstraintNode;
126
142
  protected transformDataType(node: DataTypeNode): DataTypeNode;
127
143
  protected transformSelectAll(node: SelectAllNode): SelectAllNode;
128
144
  protected transformIdentifier(node: IdentifierNode): IdentifierNode;
@@ -59,6 +59,7 @@ class OperationNodeTransformer {
59
59
  ReturningNode: this.transformReturning.bind(this),
60
60
  CreateTableNode: this.transformCreateTable.bind(this),
61
61
  AddColumnNode: this.transformAddColumn.bind(this),
62
+ ColumnDefinitionNode: this.transformColumnDefinition.bind(this),
62
63
  DropTableNode: this.transformDropTable.bind(this),
63
64
  DataTypeNode: this.transformDataType.bind(this),
64
65
  OrderByNode: this.transformOrderBy.bind(this),
@@ -73,8 +74,8 @@ class OperationNodeTransformer {
73
74
  CreateIndexNode: this.transformCreateIndex.bind(this),
74
75
  DropIndexNode: this.transformDropIndex.bind(this),
75
76
  ListNode: this.transformList.bind(this),
76
- TablePrimaryConstraintNode: this.transformTablePrimaryConstraint.bind(this),
77
- TableUniqueConstraintNode: this.transformTableUniqueConstraint.bind(this),
77
+ PrimaryKeyConstraintNode: this.transformPrimaryKeyConstraint.bind(this),
78
+ UniqueConstraintNode: this.transformUniqueConstraint.bind(this),
78
79
  ReferencesNode: this.transformReferences.bind(this),
79
80
  CheckConstraintNode: this.transformCheckConstraint.bind(this),
80
81
  WithNode: this.transformWith.bind(this),
@@ -82,6 +83,13 @@ class OperationNodeTransformer {
82
83
  HavingNode: this.transformHaving.bind(this),
83
84
  CreateSchemaNode: this.transformCreateSchema.bind(this),
84
85
  DropSchemaNode: this.transformDropSchema.bind(this),
86
+ AlterTableNode: this.transformAlterTable.bind(this),
87
+ DropColumnNode: this.transformDropColumn.bind(this),
88
+ RenameColumnNode: this.transformRenameColumn.bind(this),
89
+ AlterColumnNode: this.transformAlterColumn.bind(this),
90
+ AddConstraintNode: this.transformAddConstraint.bind(this),
91
+ DropConstraintNode: this.transformDropConstraint.bind(this),
92
+ ForeignKeyConstraintNode: this.transformForeignKeyConstraint.bind(this),
85
93
  };
86
94
  transformNode = (node) => {
87
95
  if (!node) {
@@ -241,15 +249,13 @@ class OperationNodeTransformer {
241
249
  kind: 'CreateTableNode',
242
250
  table: this.transformNode(node.table),
243
251
  columns: this.transformNodeList(node.columns),
252
+ constraints: this.transformNodeList(node.constraints),
244
253
  modifier: node.modifier,
245
- primaryKeyConstraint: this.transformNode(node.primaryKeyConstraint),
246
- uniqueConstraints: this.transformNodeList(node.uniqueConstraints),
247
- checkConstraints: this.transformNodeList(node.checkConstraints),
248
254
  };
249
255
  }
250
- transformAddColumn(node) {
256
+ transformColumnDefinition(node) {
251
257
  return {
252
- kind: 'AddColumnNode',
258
+ kind: 'ColumnDefinitionNode',
253
259
  column: this.transformNode(node.column),
254
260
  dataType: this.transformNode(node.dataType),
255
261
  references: this.transformNode(node.references),
@@ -261,6 +267,12 @@ class OperationNodeTransformer {
261
267
  check: this.transformNode(node.check),
262
268
  };
263
269
  }
270
+ transformAddColumn(node) {
271
+ return {
272
+ kind: 'AddColumnNode',
273
+ column: this.transformNode(node.column),
274
+ };
275
+ }
264
276
  transformDropTable(node) {
265
277
  return {
266
278
  kind: 'DropTableNode',
@@ -354,23 +366,33 @@ class OperationNodeTransformer {
354
366
  modifier: node.modifier,
355
367
  };
356
368
  }
357
- transformTablePrimaryConstraint(node) {
369
+ transformPrimaryKeyConstraint(node) {
358
370
  return {
359
- kind: 'TablePrimaryConstraintNode',
371
+ kind: 'PrimaryKeyConstraintNode',
360
372
  columns: this.transformNodeList(node.columns),
373
+ name: this.transformNode(node.name),
361
374
  };
362
375
  }
363
- transformTableUniqueConstraint(node) {
376
+ transformUniqueConstraint(node) {
364
377
  return {
365
- kind: 'TableUniqueConstraintNode',
378
+ kind: 'UniqueConstraintNode',
366
379
  columns: this.transformNodeList(node.columns),
380
+ name: this.transformNode(node.name),
381
+ };
382
+ }
383
+ transformForeignKeyConstraint(node) {
384
+ return {
385
+ kind: 'ForeignKeyConstraintNode',
386
+ columns: this.transformNodeList(node.columns),
387
+ references: this.transformNode(node.references),
388
+ name: this.transformNode(node.name),
367
389
  };
368
390
  }
369
391
  transformReferences(node) {
370
392
  return {
371
393
  kind: 'ReferencesNode',
372
394
  table: this.transformNode(node.table),
373
- column: this.transformNode(node.column),
395
+ columns: this.transformNodeList(node.columns),
374
396
  onDelete: node.onDelete,
375
397
  };
376
398
  }
@@ -378,6 +400,7 @@ class OperationNodeTransformer {
378
400
  return {
379
401
  kind: 'CheckConstraintNode',
380
402
  expression: this.transformNode(node.expression),
403
+ name: this.transformNode(node.name),
381
404
  };
382
405
  }
383
406
  transformWith(node) {
@@ -412,6 +435,57 @@ class OperationNodeTransformer {
412
435
  modifier: node.modifier,
413
436
  };
414
437
  }
438
+ transformAlterTable(node) {
439
+ return {
440
+ kind: 'AlterTableNode',
441
+ table: this.transformNode(node.table),
442
+ renameTo: this.transformNode(node.renameTo),
443
+ renameColumn: this.transformNode(node.renameColumn),
444
+ setSchema: this.transformNode(node.setSchema),
445
+ addColumn: this.transformNode(node.addColumn),
446
+ dropColumn: this.transformNode(node.dropColumn),
447
+ alterColumn: this.transformNode(node.alterColumn),
448
+ addConstraint: this.transformNode(node.addConstraint),
449
+ dropConstraint: this.transformNode(node.dropConstraint),
450
+ };
451
+ }
452
+ transformDropColumn(node) {
453
+ return {
454
+ kind: 'DropColumnNode',
455
+ column: this.transformNode(node.column),
456
+ };
457
+ }
458
+ transformRenameColumn(node) {
459
+ return {
460
+ kind: 'RenameColumnNode',
461
+ column: this.transformNode(node.column),
462
+ renameTo: this.transformNode(node.renameTo),
463
+ };
464
+ }
465
+ transformAlterColumn(node) {
466
+ return {
467
+ kind: 'AlterColumnNode',
468
+ column: this.transformNode(node.column),
469
+ dataType: this.transformNode(node.dataType),
470
+ dataTypeExpression: this.transformNode(node.dataTypeExpression),
471
+ setDefault: this.transformNode(node.setDefault),
472
+ dropDefault: node.dropDefault,
473
+ setNotNull: node.setNotNull,
474
+ dropNotNull: node.dropNotNull,
475
+ };
476
+ }
477
+ transformAddConstraint(node) {
478
+ return {
479
+ kind: 'AddConstraintNode',
480
+ constraint: this.transformNode(node.constraint),
481
+ };
482
+ }
483
+ transformDropConstraint(node) {
484
+ return {
485
+ kind: 'DropConstraintNode',
486
+ constraintName: this.transformNode(node.constraintName),
487
+ };
488
+ }
415
489
  transformDataType(node) {
416
490
  // An Object.freezed leaf node. No need to clone.
417
491
  return node;
@@ -38,8 +38,8 @@ import { OnConflictNode } from './on-conflict-node';
38
38
  import { CreateIndexNode } from './create-index-node';
39
39
  import { ListNode } from './list-node';
40
40
  import { DropIndexNode } from './drop-index-node';
41
- import { TablePrimaryConstraintNode } from './table-primary-constraint-node';
42
- import { TableUniqueConstraintNode } from './table-unique-constraint-node';
41
+ import { PrimaryKeyConstraintNode } from './primary-constraint-node';
42
+ import { UniqueConstraintNode } from './unique-constraint-node';
43
43
  import { ReferencesNode } from './references-node';
44
44
  import { CheckConstraintNode } from './check-constraint-node';
45
45
  import { WithNode } from './with-node';
@@ -47,6 +47,14 @@ import { CommonTableExpressionNode } from './common-table-expression-node';
47
47
  import { HavingNode } from './having-node';
48
48
  import { CreateSchemaNode } from './create-schema-node';
49
49
  import { DropSchemaNode } from './drop-schema-node';
50
+ import { AlterTableNode } from './alter-table-node';
51
+ import { DropColumnNode } from './drop-column-node';
52
+ import { RenameColumnNode } from './rename-column-node';
53
+ import { AlterColumnNode } from './alter-column-node';
54
+ import { AddConstraintNode } from './add-constraint-node';
55
+ import { DropConstraintNode } from './drop-constraint-node';
56
+ import { ForeignKeyConstraintNode } from './foreign-key-constraint-node';
57
+ import { ColumnDefinitionNode } from './column-definition-node';
50
58
  export declare class OperationNodeVisitor {
51
59
  #private;
52
60
  protected readonly nodeStack: OperationNode[];
@@ -71,6 +79,7 @@ export declare class OperationNodeVisitor {
71
79
  protected visitReturning(node: ReturningNode): void;
72
80
  protected visitCreateTable(node: CreateTableNode): void;
73
81
  protected visitAddColumn(node: AddColumnNode): void;
82
+ protected visitColumnDefinition(node: ColumnDefinitionNode): void;
74
83
  protected visitDropTable(node: DropTableNode): void;
75
84
  protected visitOrderBy(node: OrderByNode): void;
76
85
  protected visitOrderByItem(node: OrderByItemNode): void;
@@ -84,8 +93,8 @@ export declare class OperationNodeVisitor {
84
93
  protected visitCreateIndex(node: CreateIndexNode): void;
85
94
  protected visitList(node: ListNode): void;
86
95
  protected visitDropIndex(node: DropIndexNode): void;
87
- protected visitTablePrimaryConstraint(node: TablePrimaryConstraintNode): void;
88
- protected visitTableUniqueConstraint(node: TableUniqueConstraintNode): void;
96
+ protected visitPrimaryKeyConstraint(node: PrimaryKeyConstraintNode): void;
97
+ protected visitUniqueConstraint(node: UniqueConstraintNode): void;
89
98
  protected visitReferences(node: ReferencesNode): void;
90
99
  protected visitCheckConstraint(node: CheckConstraintNode): void;
91
100
  protected visitWith(node: WithNode): void;
@@ -93,6 +102,13 @@ export declare class OperationNodeVisitor {
93
102
  protected visitHaving(node: HavingNode): void;
94
103
  protected visitCreateSchema(node: CreateSchemaNode): void;
95
104
  protected visitDropSchema(node: DropSchemaNode): void;
105
+ protected visitAlterTable(node: AlterTableNode): void;
106
+ protected visitDropColumn(node: DropColumnNode): void;
107
+ protected visitRenameColumn(node: RenameColumnNode): void;
108
+ protected visitAlterColumn(node: AlterColumnNode): void;
109
+ protected visitAddConstraint(node: AddConstraintNode): void;
110
+ protected visitDropConstraint(node: DropConstraintNode): void;
111
+ protected visitForeignKeyConstraint(node: ForeignKeyConstraintNode): void;
96
112
  protected visitDataType(node: DataTypeNode): void;
97
113
  protected visitSelectAll(_: SelectAllNode): void;
98
114
  protected visitIdentifier(_: IdentifierNode): void;
@@ -29,6 +29,7 @@ class OperationNodeVisitor {
29
29
  ReturningNode: this.visitReturning.bind(this),
30
30
  CreateTableNode: this.visitCreateTable.bind(this),
31
31
  AddColumnNode: this.visitAddColumn.bind(this),
32
+ ColumnDefinitionNode: this.visitColumnDefinition.bind(this),
32
33
  DropTableNode: this.visitDropTable.bind(this),
33
34
  DataTypeNode: this.visitDataType.bind(this),
34
35
  OrderByNode: this.visitOrderBy.bind(this),
@@ -43,8 +44,8 @@ class OperationNodeVisitor {
43
44
  CreateIndexNode: this.visitCreateIndex.bind(this),
44
45
  DropIndexNode: this.visitDropIndex.bind(this),
45
46
  ListNode: this.visitList.bind(this),
46
- TablePrimaryConstraintNode: this.visitTablePrimaryConstraint.bind(this),
47
- TableUniqueConstraintNode: this.visitTableUniqueConstraint.bind(this),
47
+ PrimaryKeyConstraintNode: this.visitPrimaryKeyConstraint.bind(this),
48
+ UniqueConstraintNode: this.visitUniqueConstraint.bind(this),
48
49
  ReferencesNode: this.visitReferences.bind(this),
49
50
  CheckConstraintNode: this.visitCheckConstraint.bind(this),
50
51
  WithNode: this.visitWith.bind(this),
@@ -52,6 +53,13 @@ class OperationNodeVisitor {
52
53
  HavingNode: this.visitHaving.bind(this),
53
54
  CreateSchemaNode: this.visitCreateSchema.bind(this),
54
55
  DropSchemaNode: this.visitDropSchema.bind(this),
56
+ AlterTableNode: this.visitAlterTable.bind(this),
57
+ DropColumnNode: this.visitDropColumn.bind(this),
58
+ RenameColumnNode: this.visitRenameColumn.bind(this),
59
+ AlterColumnNode: this.visitAlterColumn.bind(this),
60
+ AddConstraintNode: this.visitAddConstraint.bind(this),
61
+ DropConstraintNode: this.visitDropConstraint.bind(this),
62
+ ForeignKeyConstraintNode: this.visitForeignKeyConstraint.bind(this),
55
63
  };
56
64
  visitNode = (node) => {
57
65
  this.nodeStack.push(node);
@@ -182,13 +190,22 @@ class OperationNodeVisitor {
182
190
  visitCreateTable(node) {
183
191
  this.visitNode(node.table);
184
192
  node.columns.forEach(this.visitNode);
193
+ if (node.constraints) {
194
+ node.constraints.forEach(this.visitNode);
195
+ }
185
196
  }
186
197
  visitAddColumn(node) {
187
198
  this.visitNode(node.column);
199
+ }
200
+ visitColumnDefinition(node) {
201
+ this.visitNode(node.column);
188
202
  this.visitNode(node.dataType);
189
203
  if (node.defaultTo) {
190
204
  this.visitNode(node.defaultTo);
191
205
  }
206
+ if (node.references) {
207
+ this.visitNode(node.references);
208
+ }
192
209
  if (node.check) {
193
210
  this.visitNode(node.check);
194
211
  }
@@ -260,17 +277,26 @@ class OperationNodeVisitor {
260
277
  visitDropIndex(node) {
261
278
  this.visitNode(node.name);
262
279
  }
263
- visitTablePrimaryConstraint(node) {
280
+ visitPrimaryKeyConstraint(node) {
281
+ if (node.name) {
282
+ this.visitNode(node.name);
283
+ }
264
284
  node.columns.forEach(this.visitNode);
265
285
  }
266
- visitTableUniqueConstraint(node) {
286
+ visitUniqueConstraint(node) {
287
+ if (node.name) {
288
+ this.visitNode(node.name);
289
+ }
267
290
  node.columns.forEach(this.visitNode);
268
291
  }
269
292
  visitReferences(node) {
270
- this.visitNode(node.column);
293
+ node.columns.forEach(this.visitNode);
271
294
  this.visitNode(node.table);
272
295
  }
273
296
  visitCheckConstraint(node) {
297
+ if (node.name) {
298
+ this.visitNode(node.name);
299
+ }
274
300
  this.visitNode(node.expression);
275
301
  }
276
302
  visitWith(node) {
@@ -289,6 +315,50 @@ class OperationNodeVisitor {
289
315
  visitDropSchema(node) {
290
316
  this.visitNode(node.schema);
291
317
  }
318
+ visitAlterTable(node) {
319
+ this.visitNode(node.table);
320
+ if (node.renameTo) {
321
+ this.visitNode(node.renameTo);
322
+ }
323
+ if (node.renameColumn) {
324
+ this.visitNode(node.renameColumn);
325
+ }
326
+ if (node.setSchema) {
327
+ this.visitNode(node.setSchema);
328
+ }
329
+ if (node.addColumn) {
330
+ this.visitNode(node.addColumn);
331
+ }
332
+ if (node.dropColumn) {
333
+ this.visitNode(node.dropColumn);
334
+ }
335
+ if (node.alterColumn) {
336
+ this.visitNode(node.alterColumn);
337
+ }
338
+ }
339
+ visitDropColumn(node) {
340
+ this.visitNode(node.column);
341
+ }
342
+ visitRenameColumn(node) {
343
+ this.visitNode(node.column);
344
+ this.visitNode(node.renameTo);
345
+ }
346
+ visitAlterColumn(node) {
347
+ this.visitNode(node.column);
348
+ }
349
+ visitAddConstraint(node) {
350
+ this.visitNode(node.constraint);
351
+ }
352
+ visitDropConstraint(node) {
353
+ this.visitNode(node.constraintName);
354
+ }
355
+ visitForeignKeyConstraint(node) {
356
+ if (node.name) {
357
+ this.visitNode(node.name);
358
+ }
359
+ node.columns.forEach(this.visitNode);
360
+ this.visitNode(node.references);
361
+ }
292
362
  visitDataType(node) { }
293
363
  visitSelectAll(_) { }
294
364
  visitIdentifier(_) { }
@@ -1,4 +1,4 @@
1
- export declare type OperationNodeKind = 'IdentifierNode' | 'RawNode' | 'SelectQueryNode' | 'SelectionNode' | 'ReferenceNode' | 'ColumnNode' | 'TableNode' | 'AliasNode' | 'FromNode' | 'SelectAllNode' | 'FilterNode' | 'AndNode' | 'OrNode' | 'ParensNode' | 'ValueNode' | 'ValueListNode' | 'PrimitiveValueListNode' | 'JoinNode' | 'OperatorNode' | 'WhereNode' | 'InsertQueryNode' | 'DeleteQueryNode' | 'ReturningNode' | 'CreateTableNode' | 'AddColumnNode' | 'DropTableNode' | 'DataTypeNode' | 'OrderByNode' | 'OrderByItemNode' | 'GroupByNode' | 'GroupByItemNode' | 'UpdateQueryNode' | 'ColumnUpdateNode' | 'LimitNode' | 'OffsetNode' | 'OnConflictNode' | 'CreateIndexNode' | 'DropIndexNode' | 'ListNode' | 'TablePrimaryConstraintNode' | 'TableUniqueConstraintNode' | 'ReferencesNode' | 'CheckConstraintNode' | 'WithNode' | 'CommonTableExpressionNode' | 'HavingNode' | 'CreateSchemaNode' | 'DropSchemaNode';
1
+ export declare type OperationNodeKind = 'IdentifierNode' | 'RawNode' | 'SelectQueryNode' | 'SelectionNode' | 'ReferenceNode' | 'ColumnNode' | 'TableNode' | 'AliasNode' | 'FromNode' | 'SelectAllNode' | 'FilterNode' | 'AndNode' | 'OrNode' | 'ParensNode' | 'ValueNode' | 'ValueListNode' | 'PrimitiveValueListNode' | 'JoinNode' | 'OperatorNode' | 'WhereNode' | 'InsertQueryNode' | 'DeleteQueryNode' | 'ReturningNode' | 'CreateTableNode' | 'ColumnDefinitionNode' | 'AddColumnNode' | 'DropTableNode' | 'DataTypeNode' | 'OrderByNode' | 'OrderByItemNode' | 'GroupByNode' | 'GroupByItemNode' | 'UpdateQueryNode' | 'ColumnUpdateNode' | 'LimitNode' | 'OffsetNode' | 'OnConflictNode' | 'CreateIndexNode' | 'DropIndexNode' | 'ListNode' | 'ReferencesNode' | 'PrimaryKeyConstraintNode' | 'UniqueConstraintNode' | 'CheckConstraintNode' | 'ForeignKeyConstraintNode' | 'WithNode' | 'CommonTableExpressionNode' | 'HavingNode' | 'CreateSchemaNode' | 'DropSchemaNode' | 'AlterTableNode' | 'DropColumnNode' | 'RenameColumnNode' | 'AlterColumnNode' | 'AddConstraintNode' | 'DropConstraintNode';
2
2
  export interface OperationNode {
3
3
  readonly kind: OperationNodeKind;
4
4
  }