kysely 0.10.1 → 0.11.3

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 (156) hide show
  1. package/README.md +7 -3
  2. package/dist/cjs/dialect/dialect-adapter.d.ts +3 -2
  3. package/dist/cjs/dialect/mysql/mysql-adapter.js +1 -1
  4. package/dist/cjs/dialect/mysql/mysql-dialect.d.ts +3 -3
  5. package/dist/cjs/dialect/mysql/mysql-driver.js +25 -32
  6. package/dist/cjs/dialect/mysql/mysql-query-compiler.d.ts +0 -2
  7. package/dist/cjs/dialect/mysql/mysql-query-compiler.js +0 -6
  8. package/dist/cjs/dialect/postgres/postgres-dialect.d.ts +2 -2
  9. package/dist/cjs/dialect/postgres/postgres-driver.js +8 -19
  10. package/dist/cjs/dialect/postgres/postgres-query-compiler.d.ts +3 -0
  11. package/dist/cjs/dialect/postgres/postgres-query-compiler.js +9 -1
  12. package/dist/cjs/dialect/sqlite/sqlite-adapter.d.ts +7 -0
  13. package/dist/cjs/dialect/sqlite/sqlite-adapter.js +18 -0
  14. package/dist/cjs/dialect/sqlite/sqlite-dialect.d.ts +64 -0
  15. package/dist/cjs/dialect/sqlite/sqlite-dialect.js +33 -0
  16. package/dist/cjs/dialect/sqlite/sqlite-driver.d.ts +14 -0
  17. package/dist/cjs/dialect/sqlite/sqlite-driver.js +116 -0
  18. package/dist/cjs/dialect/sqlite/sqlite-introspector.d.ts +7 -0
  19. package/dist/cjs/dialect/sqlite/sqlite-introspector.js +44 -0
  20. package/dist/cjs/dialect/sqlite/sqlite-query-compiler.d.ts +7 -0
  21. package/dist/cjs/dialect/sqlite/sqlite-query-compiler.js +19 -0
  22. package/dist/cjs/driver/database-connection.d.ts +2 -2
  23. package/dist/cjs/driver/runtime-driver.js +1 -1
  24. package/dist/cjs/index.d.ts +46 -30
  25. package/dist/cjs/index.js +45 -29
  26. package/dist/cjs/kysely.d.ts +28 -10
  27. package/dist/cjs/kysely.js +6 -4
  28. package/dist/cjs/migration/migration.d.ts +1 -1
  29. package/dist/cjs/migration/migration.js +3 -3
  30. package/dist/cjs/operation-node/alias-node.d.ts +1 -1
  31. package/dist/cjs/operation-node/create-view-node.d.ts +1 -0
  32. package/dist/cjs/operation-node/having-node.d.ts +4 -8
  33. package/dist/cjs/operation-node/having-node.js +3 -3
  34. package/dist/cjs/operation-node/join-node.d.ts +6 -9
  35. package/dist/cjs/operation-node/join-node.js +10 -7
  36. package/dist/cjs/operation-node/on-node.d.ts +14 -0
  37. package/dist/cjs/operation-node/on-node.js +28 -0
  38. package/dist/cjs/operation-node/operation-node-transformer.d.ts +2 -0
  39. package/dist/cjs/operation-node/operation-node-transformer.js +8 -0
  40. package/dist/cjs/operation-node/operation-node-utils.d.ts +1 -1
  41. package/dist/cjs/operation-node/operation-node-visitor.d.ts +3 -0
  42. package/dist/cjs/operation-node/operation-node-visitor.js +4 -0
  43. package/dist/cjs/operation-node/operation-node.d.ts +1 -1
  44. package/dist/cjs/operation-node/query-node.d.ts +3 -3
  45. package/dist/cjs/operation-node/select-query-node.d.ts +4 -4
  46. package/dist/cjs/operation-node/where-node.d.ts +4 -8
  47. package/dist/cjs/operation-node/where-node.js +3 -3
  48. package/dist/cjs/parser/filter-parser.d.ts +1 -0
  49. package/dist/cjs/parser/filter-parser.js +49 -52
  50. package/dist/cjs/parser/returning-parser.d.ts +4 -2
  51. package/dist/cjs/parser/select-parser.d.ts +2 -2
  52. package/dist/cjs/plugin/immediate-value.ts/immediate-value-plugin.d.ts +1 -1
  53. package/dist/cjs/query-builder/delete-result.d.ts +5 -0
  54. package/dist/cjs/query-builder/delete-result.js +13 -0
  55. package/dist/cjs/query-builder/expression-builder.d.ts +2 -2
  56. package/dist/cjs/query-builder/expression-builder.js +1 -1
  57. package/dist/cjs/query-builder/function-builder.d.ts +5 -5
  58. package/dist/cjs/query-builder/function-builder.js +3 -3
  59. package/dist/cjs/query-builder/insert-result.d.ts +27 -0
  60. package/dist/cjs/query-builder/insert-result.js +35 -0
  61. package/dist/cjs/query-builder/join-builder.d.ts +3 -0
  62. package/dist/cjs/query-builder/query-builder.d.ts +95 -81
  63. package/dist/cjs/query-builder/query-builder.js +38 -41
  64. package/dist/cjs/query-builder/update-result.d.ts +5 -0
  65. package/dist/cjs/query-builder/update-result.js +13 -0
  66. package/dist/cjs/query-compiler/compiled-query.d.ts +5 -0
  67. package/dist/cjs/query-compiler/compiled-query.js +12 -0
  68. package/dist/cjs/query-compiler/default-query-compiler.d.ts +2 -0
  69. package/dist/cjs/query-compiler/default-query-compiler.js +24 -13
  70. package/dist/cjs/query-creator.d.ts +36 -26
  71. package/dist/cjs/query-creator.js +25 -17
  72. package/dist/cjs/schema/create-view-builder.d.ts +4 -0
  73. package/dist/cjs/schema/create-view-builder.js +11 -0
  74. package/dist/cjs/util/dynamic-import.d.ts +2 -0
  75. package/dist/cjs/util/dynamic-import.js +32 -0
  76. package/dist/cjs/util/log.d.ts +10 -8
  77. package/dist/cjs/util/log.js +29 -9
  78. package/dist/cjs/util/type-utils.d.ts +4 -15
  79. package/dist/esm/dialect/dialect-adapter.d.ts +3 -2
  80. package/dist/esm/dialect/mysql/mysql-adapter.js +1 -1
  81. package/dist/esm/dialect/mysql/mysql-dialect.d.ts +3 -3
  82. package/dist/esm/dialect/mysql/mysql-driver.js +26 -33
  83. package/dist/esm/dialect/mysql/mysql-query-compiler.d.ts +0 -2
  84. package/dist/esm/dialect/mysql/mysql-query-compiler.js +0 -6
  85. package/dist/esm/dialect/postgres/postgres-dialect.d.ts +2 -2
  86. package/dist/esm/dialect/postgres/postgres-driver.js +8 -19
  87. package/dist/esm/dialect/postgres/postgres-query-compiler.d.ts +3 -0
  88. package/dist/esm/dialect/postgres/postgres-query-compiler.js +9 -1
  89. package/dist/esm/dialect/sqlite/sqlite-adapter.d.ts +7 -0
  90. package/dist/esm/dialect/sqlite/sqlite-adapter.js +14 -0
  91. package/dist/esm/dialect/sqlite/sqlite-dialect.d.ts +64 -0
  92. package/dist/esm/dialect/sqlite/sqlite-dialect.js +29 -0
  93. package/dist/esm/dialect/sqlite/sqlite-driver.d.ts +14 -0
  94. package/dist/esm/dialect/sqlite/sqlite-driver.js +112 -0
  95. package/dist/esm/dialect/sqlite/sqlite-introspector.d.ts +7 -0
  96. package/dist/esm/dialect/sqlite/sqlite-introspector.js +40 -0
  97. package/dist/esm/dialect/sqlite/sqlite-query-compiler.d.ts +7 -0
  98. package/dist/esm/dialect/sqlite/sqlite-query-compiler.js +15 -0
  99. package/dist/esm/driver/database-connection.d.ts +2 -2
  100. package/dist/esm/driver/runtime-driver.js +1 -1
  101. package/dist/esm/index.d.ts +46 -30
  102. package/dist/esm/index.js +45 -29
  103. package/dist/esm/kysely.d.ts +28 -10
  104. package/dist/esm/kysely.js +6 -4
  105. package/dist/esm/migration/migration.d.ts +1 -1
  106. package/dist/esm/migration/migration.js +3 -3
  107. package/dist/esm/operation-node/alias-node.d.ts +1 -1
  108. package/dist/esm/operation-node/create-view-node.d.ts +1 -0
  109. package/dist/esm/operation-node/having-node.d.ts +4 -8
  110. package/dist/esm/operation-node/having-node.js +3 -3
  111. package/dist/esm/operation-node/join-node.d.ts +6 -9
  112. package/dist/esm/operation-node/join-node.js +10 -7
  113. package/dist/esm/operation-node/on-node.d.ts +14 -0
  114. package/dist/esm/operation-node/on-node.js +25 -0
  115. package/dist/esm/operation-node/operation-node-transformer.d.ts +2 -0
  116. package/dist/esm/operation-node/operation-node-transformer.js +8 -0
  117. package/dist/esm/operation-node/operation-node-utils.d.ts +1 -1
  118. package/dist/esm/operation-node/operation-node-visitor.d.ts +3 -0
  119. package/dist/esm/operation-node/operation-node-visitor.js +4 -0
  120. package/dist/esm/operation-node/operation-node.d.ts +1 -1
  121. package/dist/esm/operation-node/query-node.d.ts +3 -3
  122. package/dist/esm/operation-node/select-query-node.d.ts +4 -4
  123. package/dist/esm/operation-node/where-node.d.ts +4 -8
  124. package/dist/esm/operation-node/where-node.js +3 -3
  125. package/dist/esm/parser/filter-parser.d.ts +1 -0
  126. package/dist/esm/parser/filter-parser.js +48 -52
  127. package/dist/esm/parser/returning-parser.d.ts +4 -2
  128. package/dist/esm/parser/select-parser.d.ts +2 -2
  129. package/dist/esm/plugin/immediate-value.ts/immediate-value-plugin.d.ts +1 -1
  130. package/dist/esm/query-builder/delete-result.d.ts +5 -0
  131. package/dist/esm/query-builder/delete-result.js +9 -0
  132. package/dist/esm/query-builder/expression-builder.d.ts +2 -2
  133. package/dist/esm/query-builder/expression-builder.js +1 -1
  134. package/dist/esm/query-builder/function-builder.d.ts +5 -5
  135. package/dist/esm/query-builder/function-builder.js +3 -3
  136. package/dist/esm/query-builder/insert-result.d.ts +27 -0
  137. package/dist/esm/query-builder/insert-result.js +31 -0
  138. package/dist/esm/query-builder/join-builder.d.ts +3 -0
  139. package/dist/esm/query-builder/query-builder.d.ts +95 -81
  140. package/dist/esm/query-builder/query-builder.js +38 -41
  141. package/dist/esm/query-builder/update-result.d.ts +5 -0
  142. package/dist/esm/query-builder/update-result.js +9 -0
  143. package/dist/esm/query-compiler/compiled-query.d.ts +5 -0
  144. package/dist/esm/query-compiler/compiled-query.js +11 -1
  145. package/dist/esm/query-compiler/default-query-compiler.d.ts +2 -0
  146. package/dist/esm/query-compiler/default-query-compiler.js +24 -13
  147. package/dist/esm/query-creator.d.ts +36 -26
  148. package/dist/esm/query-creator.js +25 -17
  149. package/dist/esm/schema/create-view-builder.d.ts +4 -0
  150. package/dist/esm/schema/create-view-builder.js +11 -0
  151. package/dist/esm/util/dynamic-import.d.ts +2 -0
  152. package/dist/esm/util/dynamic-import.js +27 -0
  153. package/dist/esm/util/log.d.ts +10 -8
  154. package/dist/esm/util/log.js +30 -10
  155. package/dist/esm/util/type-utils.d.ts +4 -15
  156. package/package.json +3 -1
@@ -12,12 +12,12 @@ export interface QueryResult<O> {
12
12
  * This is defined for update and delete queries and contains
13
13
  * the number of rows the query updated/deleted.
14
14
  */
15
- readonly numUpdatedOrDeletedRows?: number;
15
+ readonly numUpdatedOrDeletedRows?: bigint;
16
16
  /**
17
17
  * This is defined for insert queries on dialects that return
18
18
  * the auto incrementing primary key from an insert.
19
19
  */
20
- readonly insertedPrimaryKey?: number;
20
+ readonly insertId?: bigint;
21
21
  /**
22
22
  * The rows returned by the query. This is always defined and is
23
23
  * empty if the query returned no rows.
@@ -97,7 +97,7 @@ class RuntimeConnection {
97
97
  #logQuery(compiledQuery, startTime) {
98
98
  this.#log.query(() => ({
99
99
  level: 'query',
100
- sql: compiledQuery.sql,
100
+ query: compiledQuery,
101
101
  queryDurationMillis: this.#calculateDurationMillis(startTime),
102
102
  }));
103
103
  }
@@ -3,6 +3,9 @@ export * from './query-creator.js';
3
3
  export * from './query-builder/query-builder.js';
4
4
  export * from './query-builder/join-builder.js';
5
5
  export * from './query-builder/expression-builder.js';
6
+ export * from './query-builder/insert-result.js';
7
+ export * from './query-builder/delete-result.js';
8
+ export * from './query-builder/update-result.js';
6
9
  export * from './raw-builder/raw-builder.js';
7
10
  export * from './query-executor/query-executor.js';
8
11
  export * from './query-executor/default-query-executor.js';
@@ -37,41 +40,19 @@ export * from './dialect/mysql/mysql-query-compiler.js';
37
40
  export * from './dialect/mysql/mysql-driver.js';
38
41
  export * from './dialect/mysql/mysql-introspector.js';
39
42
  export * from './dialect/mysql/mysql-adapter.js';
43
+ export * from './dialect/sqlite/sqlite-dialect.js';
44
+ export * from './dialect/sqlite/sqlite-query-compiler.js';
45
+ export * from './dialect/sqlite/sqlite-driver.js';
46
+ export * from './dialect/sqlite/sqlite-introspector.js';
47
+ export * from './dialect/sqlite/sqlite-adapter.js';
40
48
  export * from './query-compiler/default-query-compiler.js';
41
49
  export * from './query-compiler/query-compiler.js';
42
50
  export * from './migration/migration.js';
43
51
  export * from './dialect/dialect.js';
44
52
  export * from './dialect/dialect-adapter.js';
45
53
  export * from './dialect/dialect-adapter-base.js';
46
- export * from './operation-node/operation-node-transformer.js';
47
- export * from './operation-node/operation-node-visitor.js';
48
54
  export * from './plugin/kysely-plugin.js';
49
55
  export * from './plugin/camel-case/camel-case-plugin.js';
50
- export * from './operation-node/operation-node-transformer.js';
51
- export * from './operation-node/operation-node-visitor.js';
52
- export * from './operation-node/operator-node.js';
53
- export * from './operation-node/or-node.js';
54
- export * from './operation-node/order-by-item-node.js';
55
- export * from './operation-node/order-by-node.js';
56
- export * from './operation-node/parens-node.js';
57
- export * from './operation-node/primary-constraint-node.js';
58
- export * from './operation-node/primitive-value-list-node.js';
59
- export * from './operation-node/query-node.js';
60
- export * from './operation-node/raw-node.js';
61
- export * from './operation-node/reference-node.js';
62
- export * from './operation-node/references-node.js';
63
- export * from './operation-node/rename-column-node.js';
64
- export * from './operation-node/returning-node.js';
65
- export * from './operation-node/select-all-node.js';
66
- export * from './operation-node/select-query-node.js';
67
- export * from './operation-node/selection-node.js';
68
- export * from './operation-node/table-node.js';
69
- export * from './operation-node/unique-constraint-node.js';
70
- export * from './operation-node/update-query-node.js';
71
- export * from './operation-node/value-list-node.js';
72
- export * from './operation-node/value-node.js';
73
- export * from './operation-node/where-node.js';
74
- export * from './operation-node/with-node.js';
75
56
  export * from './operation-node/add-column-node.js';
76
57
  export * from './operation-node/add-constraint-node.js';
77
58
  export * from './operation-node/alias-node.js';
@@ -87,16 +68,20 @@ export * from './operation-node/constraint-node.js';
87
68
  export * from './operation-node/create-index-node.js';
88
69
  export * from './operation-node/create-schema-node.js';
89
70
  export * from './operation-node/create-table-node.js';
71
+ export * from './operation-node/create-view-node.js';
90
72
  export * from './operation-node/data-type-node.js';
73
+ export * from './operation-node/default-value-node.js';
91
74
  export * from './operation-node/delete-query-node.js';
92
75
  export * from './operation-node/drop-column-node.js';
93
76
  export * from './operation-node/drop-constraint-node.js';
94
77
  export * from './operation-node/drop-index-node.js';
95
78
  export * from './operation-node/drop-schema-node.js';
96
79
  export * from './operation-node/drop-table-node.js';
80
+ export * from './operation-node/drop-view-node.js';
97
81
  export * from './operation-node/filter-node.js';
98
82
  export * from './operation-node/foreign-key-constraint-node.js';
99
83
  export * from './operation-node/from-node.js';
84
+ export * from './operation-node/generated-always-as-node.js';
100
85
  export * from './operation-node/group-by-item-node.js';
101
86
  export * from './operation-node/group-by-node.js';
102
87
  export * from './operation-node/having-node.js';
@@ -105,19 +90,50 @@ export * from './operation-node/insert-query-node.js';
105
90
  export * from './operation-node/join-node.js';
106
91
  export * from './operation-node/limit-node.js';
107
92
  export * from './operation-node/list-node.js';
93
+ export * from './operation-node/modify-column-node.js';
108
94
  export * from './operation-node/offset-node.js';
109
- export * from './operation-node//on-conflict-node.js';
110
- export * from './operation-node/operation-node.js';
95
+ export * from './operation-node/on-conflict-node.js';
96
+ export * from './operation-node/on-duplicate-key-node.js';
97
+ export * from './operation-node/on-node.js';
111
98
  export * from './operation-node/operation-node-source.js';
99
+ export * from './operation-node/operation-node-transformer.js';
100
+ export * from './operation-node/operation-node-utils.js';
101
+ export * from './operation-node/operation-node-visitor.js';
102
+ export * from './operation-node/operation-node.js';
103
+ export * from './operation-node/operator-node.js';
104
+ export * from './operation-node/or-node.js';
105
+ export * from './operation-node/order-by-item-node.js';
112
106
  export * from './operation-node/order-by-node.js';
107
+ export * from './operation-node/parens-node.js';
108
+ export * from './operation-node/primary-constraint-node.js';
109
+ export * from './operation-node/primitive-value-list-node.js';
110
+ export * from './operation-node/query-node.js';
111
+ export * from './operation-node/raw-node.js';
112
+ export * from './operation-node/reference-node.js';
113
+ export * from './operation-node/references-node.js';
114
+ export * from './operation-node/rename-column-node.js';
115
+ export * from './operation-node/returning-node.js';
116
+ export * from './operation-node/select-all-node.js';
117
+ export * from './operation-node/select-query-node.js';
118
+ export * from './operation-node/select-query-node.js';
119
+ export * from './operation-node/selection-node.js';
120
+ export * from './operation-node/table-node.js';
121
+ export * from './operation-node/union-node.js';
122
+ export * from './operation-node/unique-constraint-node.js';
123
+ export * from './operation-node/update-query-node.js';
124
+ export * from './operation-node/value-list-node.js';
125
+ export * from './operation-node/value-node.js';
126
+ export * from './operation-node/where-node.js';
127
+ export * from './operation-node/with-node.js';
113
128
  export * from './introspection/database-introspector.js';
114
129
  export * from './util/compilable.js';
130
+ export * from './util/log.js';
115
131
  export { AnyColumn, UnknownRow, AnyQueryBuilder } from './util/type-utils.js';
116
132
  export { SelectExpression, SelectExpressionOrList, } from './parser/select-parser.js';
117
133
  export { ReferenceExpression, ReferenceExpressionOrList, } from './parser/reference-parser.js';
118
134
  export { ValueExpression, ValueExpressionOrList, } from './parser/value-parser.js';
119
135
  export { ExistsExpression, FilterOperator } from './parser/filter-parser.js';
120
- export { TableExpression } from './parser/table-parser.js';
136
+ export { TableExpression, TableExpressionOrList, } from './parser/table-parser.js';
121
137
  export { JoinReferenceExpression, JoinCallbackExpression, } from './parser/join-parser.js';
122
138
  export { InsertObject } from './parser/insert-values-parser.js';
123
139
  export { MutationObject } from './parser/update-set-parser.js';
package/dist/cjs/index.js CHANGED
@@ -15,6 +15,9 @@ __exportStar(require("./query-creator.js"), exports);
15
15
  __exportStar(require("./query-builder/query-builder.js"), exports);
16
16
  __exportStar(require("./query-builder/join-builder.js"), exports);
17
17
  __exportStar(require("./query-builder/expression-builder.js"), exports);
18
+ __exportStar(require("./query-builder/insert-result.js"), exports);
19
+ __exportStar(require("./query-builder/delete-result.js"), exports);
20
+ __exportStar(require("./query-builder/update-result.js"), exports);
18
21
  __exportStar(require("./raw-builder/raw-builder.js"), exports);
19
22
  __exportStar(require("./query-executor/query-executor.js"), exports);
20
23
  __exportStar(require("./query-executor/default-query-executor.js"), exports);
@@ -49,41 +52,19 @@ __exportStar(require("./dialect/mysql/mysql-query-compiler.js"), exports);
49
52
  __exportStar(require("./dialect/mysql/mysql-driver.js"), exports);
50
53
  __exportStar(require("./dialect/mysql/mysql-introspector.js"), exports);
51
54
  __exportStar(require("./dialect/mysql/mysql-adapter.js"), exports);
55
+ __exportStar(require("./dialect/sqlite/sqlite-dialect.js"), exports);
56
+ __exportStar(require("./dialect/sqlite/sqlite-query-compiler.js"), exports);
57
+ __exportStar(require("./dialect/sqlite/sqlite-driver.js"), exports);
58
+ __exportStar(require("./dialect/sqlite/sqlite-introspector.js"), exports);
59
+ __exportStar(require("./dialect/sqlite/sqlite-adapter.js"), exports);
52
60
  __exportStar(require("./query-compiler/default-query-compiler.js"), exports);
53
61
  __exportStar(require("./query-compiler/query-compiler.js"), exports);
54
62
  __exportStar(require("./migration/migration.js"), exports);
55
63
  __exportStar(require("./dialect/dialect.js"), exports);
56
64
  __exportStar(require("./dialect/dialect-adapter.js"), exports);
57
65
  __exportStar(require("./dialect/dialect-adapter-base.js"), exports);
58
- __exportStar(require("./operation-node/operation-node-transformer.js"), exports);
59
- __exportStar(require("./operation-node/operation-node-visitor.js"), exports);
60
66
  __exportStar(require("./plugin/kysely-plugin.js"), exports);
61
67
  __exportStar(require("./plugin/camel-case/camel-case-plugin.js"), exports);
62
- __exportStar(require("./operation-node/operation-node-transformer.js"), exports);
63
- __exportStar(require("./operation-node/operation-node-visitor.js"), exports);
64
- __exportStar(require("./operation-node/operator-node.js"), exports);
65
- __exportStar(require("./operation-node/or-node.js"), exports);
66
- __exportStar(require("./operation-node/order-by-item-node.js"), exports);
67
- __exportStar(require("./operation-node/order-by-node.js"), exports);
68
- __exportStar(require("./operation-node/parens-node.js"), exports);
69
- __exportStar(require("./operation-node/primary-constraint-node.js"), exports);
70
- __exportStar(require("./operation-node/primitive-value-list-node.js"), exports);
71
- __exportStar(require("./operation-node/query-node.js"), exports);
72
- __exportStar(require("./operation-node/raw-node.js"), exports);
73
- __exportStar(require("./operation-node/reference-node.js"), exports);
74
- __exportStar(require("./operation-node/references-node.js"), exports);
75
- __exportStar(require("./operation-node/rename-column-node.js"), exports);
76
- __exportStar(require("./operation-node/returning-node.js"), exports);
77
- __exportStar(require("./operation-node/select-all-node.js"), exports);
78
- __exportStar(require("./operation-node/select-query-node.js"), exports);
79
- __exportStar(require("./operation-node/selection-node.js"), exports);
80
- __exportStar(require("./operation-node/table-node.js"), exports);
81
- __exportStar(require("./operation-node/unique-constraint-node.js"), exports);
82
- __exportStar(require("./operation-node/update-query-node.js"), exports);
83
- __exportStar(require("./operation-node/value-list-node.js"), exports);
84
- __exportStar(require("./operation-node/value-node.js"), exports);
85
- __exportStar(require("./operation-node/where-node.js"), exports);
86
- __exportStar(require("./operation-node/with-node.js"), exports);
87
68
  __exportStar(require("./operation-node/add-column-node.js"), exports);
88
69
  __exportStar(require("./operation-node/add-constraint-node.js"), exports);
89
70
  __exportStar(require("./operation-node/alias-node.js"), exports);
@@ -99,16 +80,20 @@ __exportStar(require("./operation-node/constraint-node.js"), exports);
99
80
  __exportStar(require("./operation-node/create-index-node.js"), exports);
100
81
  __exportStar(require("./operation-node/create-schema-node.js"), exports);
101
82
  __exportStar(require("./operation-node/create-table-node.js"), exports);
83
+ __exportStar(require("./operation-node/create-view-node.js"), exports);
102
84
  __exportStar(require("./operation-node/data-type-node.js"), exports);
85
+ __exportStar(require("./operation-node/default-value-node.js"), exports);
103
86
  __exportStar(require("./operation-node/delete-query-node.js"), exports);
104
87
  __exportStar(require("./operation-node/drop-column-node.js"), exports);
105
88
  __exportStar(require("./operation-node/drop-constraint-node.js"), exports);
106
89
  __exportStar(require("./operation-node/drop-index-node.js"), exports);
107
90
  __exportStar(require("./operation-node/drop-schema-node.js"), exports);
108
91
  __exportStar(require("./operation-node/drop-table-node.js"), exports);
92
+ __exportStar(require("./operation-node/drop-view-node.js"), exports);
109
93
  __exportStar(require("./operation-node/filter-node.js"), exports);
110
94
  __exportStar(require("./operation-node/foreign-key-constraint-node.js"), exports);
111
95
  __exportStar(require("./operation-node/from-node.js"), exports);
96
+ __exportStar(require("./operation-node/generated-always-as-node.js"), exports);
112
97
  __exportStar(require("./operation-node/group-by-item-node.js"), exports);
113
98
  __exportStar(require("./operation-node/group-by-node.js"), exports);
114
99
  __exportStar(require("./operation-node/having-node.js"), exports);
@@ -117,10 +102,41 @@ __exportStar(require("./operation-node/insert-query-node.js"), exports);
117
102
  __exportStar(require("./operation-node/join-node.js"), exports);
118
103
  __exportStar(require("./operation-node/limit-node.js"), exports);
119
104
  __exportStar(require("./operation-node/list-node.js"), exports);
105
+ __exportStar(require("./operation-node/modify-column-node.js"), exports);
120
106
  __exportStar(require("./operation-node/offset-node.js"), exports);
121
- __exportStar(require("./operation-node//on-conflict-node.js"), exports);
122
- __exportStar(require("./operation-node/operation-node.js"), exports);
107
+ __exportStar(require("./operation-node/on-conflict-node.js"), exports);
108
+ __exportStar(require("./operation-node/on-duplicate-key-node.js"), exports);
109
+ __exportStar(require("./operation-node/on-node.js"), exports);
123
110
  __exportStar(require("./operation-node/operation-node-source.js"), exports);
111
+ __exportStar(require("./operation-node/operation-node-transformer.js"), exports);
112
+ __exportStar(require("./operation-node/operation-node-utils.js"), exports);
113
+ __exportStar(require("./operation-node/operation-node-visitor.js"), exports);
114
+ __exportStar(require("./operation-node/operation-node.js"), exports);
115
+ __exportStar(require("./operation-node/operator-node.js"), exports);
116
+ __exportStar(require("./operation-node/or-node.js"), exports);
117
+ __exportStar(require("./operation-node/order-by-item-node.js"), exports);
124
118
  __exportStar(require("./operation-node/order-by-node.js"), exports);
119
+ __exportStar(require("./operation-node/parens-node.js"), exports);
120
+ __exportStar(require("./operation-node/primary-constraint-node.js"), exports);
121
+ __exportStar(require("./operation-node/primitive-value-list-node.js"), exports);
122
+ __exportStar(require("./operation-node/query-node.js"), exports);
123
+ __exportStar(require("./operation-node/raw-node.js"), exports);
124
+ __exportStar(require("./operation-node/reference-node.js"), exports);
125
+ __exportStar(require("./operation-node/references-node.js"), exports);
126
+ __exportStar(require("./operation-node/rename-column-node.js"), exports);
127
+ __exportStar(require("./operation-node/returning-node.js"), exports);
128
+ __exportStar(require("./operation-node/select-all-node.js"), exports);
129
+ __exportStar(require("./operation-node/select-query-node.js"), exports);
130
+ __exportStar(require("./operation-node/select-query-node.js"), exports);
131
+ __exportStar(require("./operation-node/selection-node.js"), exports);
132
+ __exportStar(require("./operation-node/table-node.js"), exports);
133
+ __exportStar(require("./operation-node/union-node.js"), exports);
134
+ __exportStar(require("./operation-node/unique-constraint-node.js"), exports);
135
+ __exportStar(require("./operation-node/update-query-node.js"), exports);
136
+ __exportStar(require("./operation-node/value-list-node.js"), exports);
137
+ __exportStar(require("./operation-node/value-node.js"), exports);
138
+ __exportStar(require("./operation-node/where-node.js"), exports);
139
+ __exportStar(require("./operation-node/with-node.js"), exports);
125
140
  __exportStar(require("./introspection/database-introspector.js"), exports);
126
141
  __exportStar(require("./util/compilable.js"), exports);
142
+ __exportStar(require("./util/log.js"), exports);
@@ -10,7 +10,7 @@ import { DatabaseIntrospector } from './introspection/database-introspector.js';
10
10
  import { Driver, IsolationLevel } from './driver/driver.js';
11
11
  import { ParseContext } from './parser/parse-context.js';
12
12
  import { FunctionBuilder } from './query-builder/function-builder.js';
13
- import { LogLevel } from './util/log.js';
13
+ import { LogConfig } from './util/log.js';
14
14
  /**
15
15
  * The main Kysely class.
16
16
  *
@@ -116,7 +116,7 @@ export declare class Kysely<DB> extends QueryCreator<DB> {
116
116
  * .execute()
117
117
  * ```
118
118
  *
119
- * The generated SQL (postgresql):
119
+ * The generated SQL (PostgreSQL):
120
120
  *
121
121
  * ```sql
122
122
  * select "person"."id", count("pet"."id") as "pet_count"
@@ -146,17 +146,19 @@ export declare class Kysely<DB> extends QueryCreator<DB> {
146
146
  * const catto = await db.transaction().execute(async (trx) => {
147
147
  * const jennifer = await trx.insertInto('person')
148
148
  * .values({
149
+ * id: db.generated,
149
150
  * first_name: 'Jennifer',
150
- * last_name: 'Aniston',
151
+ * last_name: 'Aniston',
151
152
  * })
152
153
  * .returning('id')
153
- * .executeTakeFirst()
154
+ * .executeTakeFirstOrThrow()
154
155
  *
155
156
  * await someFunction(trx, jennifer)
156
157
  *
157
158
  * return await trx.insertInto('pet')
158
159
  * .values({
159
- * user_id: jennifer!.id,
160
+ * id: db.generated,
161
+ * user_id: jennifer.id,
160
162
  * name: 'Catto',
161
163
  * species: 'cat'
162
164
  * })
@@ -233,17 +235,33 @@ export interface KyselyConfig {
233
235
  readonly dialect: Dialect;
234
236
  readonly plugins?: KyselyPlugin[];
235
237
  /**
236
- * A list of log levels to log.
238
+ * A list of log levels to log or a custom logger function.
237
239
  *
238
240
  * Currently there's only two levels: `query` and `error`.
239
241
  * This will be expanded based on user feedback later.
240
242
  *
241
- * Log levels:
243
+ * @example
244
+ * ```ts
245
+ * const db = new Kysely<Database>({
246
+ * dialect: new PostgresDialect(postgresConfig),
247
+ * log: ['query', 'error']
248
+ * })
249
+ * ```
242
250
  *
243
- * - query: Log each query's SQL and duration using console.log
244
- * - error: Log all query errors using console.error
251
+ * @example
252
+ * ```ts
253
+ * const db = new Kysely<Database>({
254
+ * dialect: new PostgresDialect(postgresConfig),
255
+ * log(event): void {
256
+ * if (event.level === 'query') {
257
+ * console.log(event.query.sql)
258
+ * console.log(event.query.parameters)
259
+ * }
260
+ * }
261
+ * })
262
+ * ```
245
263
  */
246
- readonly log?: ReadonlyArray<LogLevel>;
264
+ readonly log?: LogConfig;
247
265
  }
248
266
  export declare class ConnectionBuilder<DB> {
249
267
  #private;
@@ -154,7 +154,7 @@ class Kysely extends query_creator_js_1.QueryCreator {
154
154
  * .execute()
155
155
  * ```
156
156
  *
157
- * The generated SQL (postgresql):
157
+ * The generated SQL (PostgreSQL):
158
158
  *
159
159
  * ```sql
160
160
  * select "person"."id", count("pet"."id") as "pet_count"
@@ -186,17 +186,19 @@ class Kysely extends query_creator_js_1.QueryCreator {
186
186
  * const catto = await db.transaction().execute(async (trx) => {
187
187
  * const jennifer = await trx.insertInto('person')
188
188
  * .values({
189
+ * id: db.generated,
189
190
  * first_name: 'Jennifer',
190
- * last_name: 'Aniston',
191
+ * last_name: 'Aniston',
191
192
  * })
192
193
  * .returning('id')
193
- * .executeTakeFirst()
194
+ * .executeTakeFirstOrThrow()
194
195
  *
195
196
  * await someFunction(trx, jennifer)
196
197
  *
197
198
  * return await trx.insertInto('pet')
198
199
  * .values({
199
- * user_id: jennifer!.id,
200
+ * id: db.generated,
201
+ * user_id: jennifer.id,
200
202
  * name: 'Catto',
201
203
  * species: 'cat'
202
204
  * })
@@ -62,5 +62,5 @@ export declare class MigrationModule {
62
62
  }
63
63
  export interface Migration {
64
64
  up(db: Kysely<any>): Promise<void>;
65
- down(db: Kysely<any>): Promise<void>;
65
+ down?(db: Kysely<any>): Promise<void>;
66
66
  }
@@ -61,7 +61,7 @@ async function ensureMigrationTableExists(db) {
61
61
  .execute();
62
62
  }
63
63
  catch (error) {
64
- // At least on postgres, `if not exists` doesn't guarantee the `create table`
64
+ // At least on PostgreSQL, `if not exists` doesn't guarantee the `create table`
65
65
  // query doesn't throw if the table already exits. That's why we check if
66
66
  // the table exist here and ignore the error if it does.
67
67
  if (!(await doesTableExists(db, exports.MIGRATION_TABLE))) {
@@ -81,7 +81,7 @@ async function ensureMigrationLockTableExists(db) {
81
81
  .execute();
82
82
  }
83
83
  catch (error) {
84
- // At least on postgres, `if not exists` doesn't guarantee the `create table`
84
+ // At least on PostgreSQL, `if not exists` doesn't guarantee the `create table`
85
85
  // query doesn't throw if the table already exits. That's why we check if
86
86
  // the table exist here and ignore the error if it does.
87
87
  if (!(await doesTableExists(db, exports.MIGRATION_LOCK_TABLE))) {
@@ -183,5 +183,5 @@ function ensureMigrationsAreNotCorrupted(executedMigrationNames, oldMigrationNam
183
183
  }
184
184
  }
185
185
  function isMigration(obj) {
186
- return (0, object_utils_js_1.isObject)(obj) && (0, object_utils_js_1.isFunction)(obj.up) && (0, object_utils_js_1.isFunction)(obj.down);
186
+ return (0, object_utils_js_1.isObject)(obj) && (0, object_utils_js_1.isFunction)(obj.up);
187
187
  }
@@ -5,7 +5,7 @@ import { RawNode } from './raw-node.js';
5
5
  import { ReferenceNode } from './reference-node.js';
6
6
  import { SelectQueryNode } from './select-query-node.js';
7
7
  import { TableNode } from './table-node.js';
8
- export declare type AliasNodeChild = ColumnNode | ReferenceNode | TableNode | RawNode | SelectQueryNode;
8
+ export declare type AliasNodeChild = ColumnNode | ReferenceNode | TableNode | SelectQueryNode | RawNode;
9
9
  export interface AliasNode extends OperationNode {
10
10
  readonly kind: 'AliasNode';
11
11
  readonly node: AliasNodeChild;
@@ -9,6 +9,7 @@ export interface CreateViewNode extends OperationNode {
9
9
  readonly name: IdentifierNode;
10
10
  readonly materialized?: boolean;
11
11
  readonly orReplace?: boolean;
12
+ readonly ifNotExists?: boolean;
12
13
  readonly columns?: ReadonlyArray<ColumnNode>;
13
14
  readonly as?: SelectQueryNode | RawNode;
14
15
  }
@@ -1,18 +1,14 @@
1
- import { AndNode } from './and-node.js';
2
- import { FilterNode } from './filter-node.js';
1
+ import { FilterExpressionNode } from './operation-node-utils.js';
3
2
  import { OperationNode } from './operation-node.js';
4
- import { OrNode } from './or-node.js';
5
- import { ParensNode } from './parens-node.js';
6
- export declare type HavingNodeChild = FilterNode | AndNode | OrNode | ParensNode;
7
3
  export interface HavingNode extends OperationNode {
8
4
  readonly kind: 'HavingNode';
9
- readonly having: HavingNodeChild;
5
+ readonly having: FilterExpressionNode;
10
6
  }
11
7
  /**
12
8
  * @internal
13
9
  */
14
10
  export declare const HavingNode: Readonly<{
15
11
  is(node: OperationNode): node is HavingNode;
16
- create(filter: HavingNodeChild): HavingNode;
17
- cloneWithFilter(havingNode: HavingNode, op: 'And' | 'Or', having: HavingNodeChild): HavingNode;
12
+ create(filter: FilterExpressionNode): HavingNode;
13
+ cloneWithFilter(havingNode: HavingNode, op: 'And' | 'Or', filter: FilterExpressionNode): HavingNode;
18
14
  }>;
@@ -17,12 +17,12 @@ exports.HavingNode = (0, object_utils_js_1.freeze)({
17
17
  having: filter,
18
18
  });
19
19
  },
20
- cloneWithFilter(havingNode, op, having) {
20
+ cloneWithFilter(havingNode, op, filter) {
21
21
  return (0, object_utils_js_1.freeze)({
22
22
  ...havingNode,
23
23
  having: op === 'And'
24
- ? and_node_js_1.AndNode.create(havingNode.having, having)
25
- : or_node_js_1.OrNode.create(havingNode.having, having),
24
+ ? and_node_js_1.AndNode.create(havingNode.having, filter)
25
+ : or_node_js_1.OrNode.create(havingNode.having, filter),
26
26
  });
27
27
  },
28
28
  });
@@ -1,18 +1,15 @@
1
1
  import { AliasNode } from './alias-node.js';
2
- import { AndNode } from './and-node.js';
3
- import { FilterNode } from './filter-node.js';
2
+ import { OnNode } from './on-node.js';
3
+ import { FilterExpressionNode } from './operation-node-utils.js';
4
4
  import { OperationNode } from './operation-node.js';
5
- import { OrNode } from './or-node.js';
6
- import { ParensNode } from './parens-node.js';
7
5
  import { TableNode } from './table-node.js';
8
6
  export declare type JoinTableNode = TableNode | AliasNode;
9
7
  export declare type JoinType = 'InnerJoin' | 'LeftJoin' | 'RightJoin' | 'FullJoin';
10
- export declare type JoinNodeOnNode = FilterNode | AndNode | OrNode | ParensNode;
11
8
  export interface JoinNode extends OperationNode {
12
9
  readonly kind: 'JoinNode';
13
10
  readonly joinType: JoinType;
14
11
  readonly table: JoinTableNode;
15
- readonly on?: JoinNodeOnNode;
12
+ readonly on?: OnNode;
16
13
  }
17
14
  /**
18
15
  * @internal
@@ -20,7 +17,7 @@ export interface JoinNode extends OperationNode {
20
17
  export declare const JoinNode: Readonly<{
21
18
  is(node: OperationNode): node is JoinNode;
22
19
  create(joinType: JoinType, table: JoinTableNode): JoinNode;
23
- createWithOn(joinType: JoinType, table: JoinTableNode, on: JoinNodeOnNode): JoinNode;
24
- cloneWithOn(joinNode: JoinNode, on: JoinNodeOnNode): JoinNode;
25
- cloneWithOrOn(joinNode: JoinNode, on: JoinNodeOnNode): JoinNode;
20
+ createWithOn(joinType: JoinType, table: JoinTableNode, on: FilterExpressionNode): JoinNode;
21
+ cloneWithOn(joinNode: JoinNode, filter: FilterExpressionNode): JoinNode;
22
+ cloneWithOrOn(joinNode: JoinNode, filter: FilterExpressionNode): JoinNode;
26
23
  }>;
@@ -2,8 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.JoinNode = void 0;
4
4
  const object_utils_js_1 = require("../util/object-utils.js");
5
- const and_node_js_1 = require("./and-node.js");
6
- const or_node_js_1 = require("./or-node.js");
5
+ const on_node_js_1 = require("./on-node.js");
7
6
  /**
8
7
  * @internal
9
8
  */
@@ -24,19 +23,23 @@ exports.JoinNode = (0, object_utils_js_1.freeze)({
24
23
  kind: 'JoinNode',
25
24
  joinType,
26
25
  table,
27
- on,
26
+ on: on_node_js_1.OnNode.create(on),
28
27
  });
29
28
  },
30
- cloneWithOn(joinNode, on) {
29
+ cloneWithOn(joinNode, filter) {
31
30
  return (0, object_utils_js_1.freeze)({
32
31
  ...joinNode,
33
- on: joinNode.on ? and_node_js_1.AndNode.create(joinNode.on, on) : on,
32
+ on: joinNode.on
33
+ ? on_node_js_1.OnNode.cloneWithFilter(joinNode.on, 'And', filter)
34
+ : on_node_js_1.OnNode.create(filter),
34
35
  });
35
36
  },
36
- cloneWithOrOn(joinNode, on) {
37
+ cloneWithOrOn(joinNode, filter) {
37
38
  return (0, object_utils_js_1.freeze)({
38
39
  ...joinNode,
39
- on: joinNode.on ? or_node_js_1.OrNode.create(joinNode.on, on) : on,
40
+ on: joinNode.on
41
+ ? on_node_js_1.OnNode.cloneWithFilter(joinNode.on, 'Or', filter)
42
+ : on_node_js_1.OnNode.create(filter),
40
43
  });
41
44
  },
42
45
  });
@@ -0,0 +1,14 @@
1
+ import { FilterExpressionNode } from './operation-node-utils.js';
2
+ import { OperationNode } from './operation-node.js';
3
+ export interface OnNode extends OperationNode {
4
+ readonly kind: 'OnNode';
5
+ readonly on: FilterExpressionNode;
6
+ }
7
+ /**
8
+ * @internal
9
+ */
10
+ export declare const OnNode: Readonly<{
11
+ is(node: OperationNode): node is OnNode;
12
+ create(filter: FilterExpressionNode): OnNode;
13
+ cloneWithFilter(onNode: OnNode, op: 'And' | 'Or', filter: FilterExpressionNode): OnNode;
14
+ }>;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OnNode = void 0;
4
+ const object_utils_js_1 = require("../util/object-utils.js");
5
+ const and_node_js_1 = require("./and-node.js");
6
+ const or_node_js_1 = require("./or-node.js");
7
+ /**
8
+ * @internal
9
+ */
10
+ exports.OnNode = (0, object_utils_js_1.freeze)({
11
+ is(node) {
12
+ return node.kind === 'OnNode';
13
+ },
14
+ create(filter) {
15
+ return (0, object_utils_js_1.freeze)({
16
+ kind: 'OnNode',
17
+ on: filter,
18
+ });
19
+ },
20
+ cloneWithFilter(onNode, op, filter) {
21
+ return (0, object_utils_js_1.freeze)({
22
+ ...onNode,
23
+ on: op === 'And'
24
+ ? and_node_js_1.AndNode.create(onNode.on, filter)
25
+ : or_node_js_1.OrNode.create(onNode.on, filter),
26
+ });
27
+ },
28
+ });
@@ -62,6 +62,7 @@ import { CreateViewNode } from './create-view-node.js';
62
62
  import { DropViewNode } from './drop-view-node.js';
63
63
  import { GeneratedAlwaysAsNode } from './generated-always-as-node.js';
64
64
  import { DefaultValueNode } from './default-value-node.js';
65
+ import { OnNode } from './on-node.js';
65
66
  /**
66
67
  * Transforms an operation node tree into another one.
67
68
  *
@@ -153,6 +154,7 @@ export declare class OperationNodeTransformer {
153
154
  protected transformDropView(node: DropViewNode): DropViewNode;
154
155
  protected transformGeneratedAlwaysAs(node: GeneratedAlwaysAsNode): GeneratedAlwaysAsNode;
155
156
  protected transformDefaultValue(node: DefaultValueNode): DefaultValueNode;
157
+ protected transformOn(node: OnNode): OnNode;
156
158
  protected transformDataType(node: DataTypeNode): DataTypeNode;
157
159
  protected transformSelectAll(node: SelectAllNode): SelectAllNode;
158
160
  protected transformIdentifier(node: IdentifierNode): IdentifierNode;