kysely 0.9.7 → 0.10.1

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 (120) hide show
  1. package/README.md +15 -13
  2. package/dist/cjs/driver/runtime-driver.js +3 -4
  3. package/dist/cjs/index.d.ts +2 -0
  4. package/dist/cjs/index.js +2 -0
  5. package/dist/cjs/operation-node/column-definition-node.d.ts +8 -6
  6. package/dist/cjs/operation-node/column-definition-node.js +4 -4
  7. package/dist/cjs/operation-node/create-schema-node.d.ts +1 -2
  8. package/dist/cjs/operation-node/create-table-node.d.ts +2 -3
  9. package/dist/cjs/operation-node/create-table-node.js +2 -2
  10. package/dist/cjs/operation-node/create-view-node.d.ts +22 -0
  11. package/dist/cjs/operation-node/create-view-node.js +25 -0
  12. package/dist/cjs/operation-node/default-value-node.d.ts +14 -0
  13. package/dist/cjs/operation-node/default-value-node.js +18 -0
  14. package/dist/cjs/operation-node/drop-index-node.d.ts +1 -2
  15. package/dist/cjs/operation-node/drop-schema-node.d.ts +2 -3
  16. package/dist/cjs/operation-node/drop-schema-node.js +3 -3
  17. package/dist/cjs/operation-node/drop-table-node.d.ts +2 -3
  18. package/dist/cjs/operation-node/drop-table-node.js +2 -2
  19. package/dist/cjs/operation-node/drop-view-node.d.ts +17 -0
  20. package/dist/cjs/operation-node/drop-view-node.js +25 -0
  21. package/dist/cjs/operation-node/generated-always-as-node.d.ts +16 -0
  22. package/dist/cjs/operation-node/generated-always-as-node.js +25 -0
  23. package/dist/cjs/operation-node/operation-node-transformer.d.ts +8 -0
  24. package/dist/cjs/operation-node/operation-node-transformer.js +47 -11
  25. package/dist/cjs/operation-node/operation-node-visitor.d.ts +8 -0
  26. package/dist/cjs/operation-node/operation-node-visitor.js +7 -2
  27. package/dist/cjs/operation-node/operation-node.d.ts +1 -1
  28. package/dist/cjs/operation-node/operator-node.d.ts +1 -1
  29. package/dist/cjs/operation-node/operator-node.js +5 -0
  30. package/dist/cjs/operation-node/raw-node.d.ts +1 -1
  31. package/dist/cjs/operation-node/select-query-node.d.ts +1 -1
  32. package/dist/cjs/operation-node/select-query-node.js +1 -1
  33. package/dist/cjs/plugin/immediate-value.ts/immediate-value-plugin.d.ts +17 -0
  34. package/dist/cjs/plugin/immediate-value.ts/immediate-value-plugin.js +22 -0
  35. package/dist/cjs/plugin/immediate-value.ts/immediate-value-transformer.d.ts +13 -0
  36. package/dist/cjs/plugin/immediate-value.ts/immediate-value-transformer.js +21 -0
  37. package/dist/cjs/plugin/with-schema/with-schema-transformer.d.ts +4 -0
  38. package/dist/cjs/plugin/with-schema/with-schema-transformer.js +6 -0
  39. package/dist/cjs/query-compiler/default-query-compiler.d.ts +8 -0
  40. package/dist/cjs/query-compiler/default-query-compiler.js +59 -11
  41. package/dist/cjs/query-compiler/query-compiler.d.ts +3 -1
  42. package/dist/cjs/raw-builder/raw-builder.d.ts +1 -1
  43. package/dist/cjs/schema/alter-table-builder.d.ts +6 -2
  44. package/dist/cjs/schema/alter-table-builder.js +28 -4
  45. package/dist/cjs/schema/column-definition-builder.d.ts +43 -2
  46. package/dist/cjs/schema/column-definition-builder.js +23 -6
  47. package/dist/cjs/schema/create-schema-builder.js +1 -1
  48. package/dist/cjs/schema/create-table-builder.d.ts +7 -8
  49. package/dist/cjs/schema/create-table-builder.js +8 -9
  50. package/dist/cjs/schema/create-view-builder.d.ts +24 -0
  51. package/dist/cjs/schema/create-view-builder.js +73 -0
  52. package/dist/cjs/schema/drop-index-builder.js +1 -1
  53. package/dist/cjs/schema/drop-schema-builder.js +3 -1
  54. package/dist/cjs/schema/drop-table-builder.js +3 -1
  55. package/dist/cjs/schema/drop-view-builder.d.ts +20 -0
  56. package/dist/cjs/schema/drop-view-builder.js +39 -0
  57. package/dist/cjs/schema/schema.d.ts +30 -3
  58. package/dist/cjs/schema/schema.js +44 -3
  59. package/dist/cjs/util/performance-now.d.ts +1 -0
  60. package/dist/cjs/util/performance-now.js +13 -0
  61. package/dist/esm/driver/runtime-driver.js +3 -4
  62. package/dist/esm/index.d.ts +2 -0
  63. package/dist/esm/index.js +2 -0
  64. package/dist/esm/operation-node/column-definition-node.d.ts +8 -6
  65. package/dist/esm/operation-node/column-definition-node.js +4 -4
  66. package/dist/esm/operation-node/create-schema-node.d.ts +1 -2
  67. package/dist/esm/operation-node/create-table-node.d.ts +2 -3
  68. package/dist/esm/operation-node/create-table-node.js +2 -2
  69. package/dist/esm/operation-node/create-view-node.d.ts +22 -0
  70. package/dist/esm/operation-node/create-view-node.js +22 -0
  71. package/dist/esm/operation-node/default-value-node.d.ts +14 -0
  72. package/dist/esm/operation-node/default-value-node.js +15 -0
  73. package/dist/esm/operation-node/drop-index-node.d.ts +1 -2
  74. package/dist/esm/operation-node/drop-schema-node.d.ts +2 -3
  75. package/dist/esm/operation-node/drop-schema-node.js +3 -3
  76. package/dist/esm/operation-node/drop-table-node.d.ts +2 -3
  77. package/dist/esm/operation-node/drop-table-node.js +2 -2
  78. package/dist/esm/operation-node/drop-view-node.d.ts +17 -0
  79. package/dist/esm/operation-node/drop-view-node.js +22 -0
  80. package/dist/esm/operation-node/generated-always-as-node.d.ts +16 -0
  81. package/dist/esm/operation-node/generated-always-as-node.js +22 -0
  82. package/dist/esm/operation-node/operation-node-transformer.d.ts +8 -0
  83. package/dist/esm/operation-node/operation-node-transformer.js +47 -11
  84. package/dist/esm/operation-node/operation-node-visitor.d.ts +8 -0
  85. package/dist/esm/operation-node/operation-node-visitor.js +7 -2
  86. package/dist/esm/operation-node/operation-node.d.ts +1 -1
  87. package/dist/esm/operation-node/operator-node.d.ts +1 -1
  88. package/dist/esm/operation-node/operator-node.js +5 -0
  89. package/dist/esm/operation-node/raw-node.d.ts +1 -1
  90. package/dist/esm/operation-node/select-query-node.d.ts +1 -1
  91. package/dist/esm/operation-node/select-query-node.js +1 -1
  92. package/dist/esm/plugin/immediate-value.ts/immediate-value-plugin.d.ts +17 -0
  93. package/dist/esm/plugin/immediate-value.ts/immediate-value-plugin.js +18 -0
  94. package/dist/esm/plugin/immediate-value.ts/immediate-value-transformer.d.ts +13 -0
  95. package/dist/esm/plugin/immediate-value.ts/immediate-value-transformer.js +17 -0
  96. package/dist/esm/plugin/with-schema/with-schema-transformer.d.ts +4 -0
  97. package/dist/esm/plugin/with-schema/with-schema-transformer.js +6 -0
  98. package/dist/esm/query-compiler/default-query-compiler.d.ts +8 -0
  99. package/dist/esm/query-compiler/default-query-compiler.js +59 -11
  100. package/dist/esm/query-compiler/query-compiler.d.ts +3 -1
  101. package/dist/esm/raw-builder/raw-builder.d.ts +1 -1
  102. package/dist/esm/schema/alter-table-builder.d.ts +6 -2
  103. package/dist/esm/schema/alter-table-builder.js +28 -4
  104. package/dist/esm/schema/column-definition-builder.d.ts +43 -2
  105. package/dist/esm/schema/column-definition-builder.js +23 -6
  106. package/dist/esm/schema/create-schema-builder.js +1 -1
  107. package/dist/esm/schema/create-table-builder.d.ts +7 -8
  108. package/dist/esm/schema/create-table-builder.js +8 -9
  109. package/dist/esm/schema/create-view-builder.d.ts +24 -0
  110. package/dist/esm/schema/create-view-builder.js +69 -0
  111. package/dist/esm/schema/drop-index-builder.js +1 -1
  112. package/dist/esm/schema/drop-schema-builder.js +3 -1
  113. package/dist/esm/schema/drop-table-builder.js +3 -1
  114. package/dist/esm/schema/drop-view-builder.d.ts +20 -0
  115. package/dist/esm/schema/drop-view-builder.js +35 -0
  116. package/dist/esm/schema/schema.d.ts +30 -3
  117. package/dist/esm/schema/schema.js +44 -3
  118. package/dist/esm/util/performance-now.d.ts +1 -0
  119. package/dist/esm/util/performance-now.js +9 -0
  120. package/package.json +3 -3
@@ -6,6 +6,8 @@ import { CreateTableBuilder } from './create-table-builder.js';
6
6
  import { DropIndexBuilder } from './drop-index-builder.js';
7
7
  import { DropSchemaBuilder } from './drop-schema-builder.js';
8
8
  import { DropTableBuilder } from './drop-table-builder.js';
9
+ import { CreateViewBuilder } from './create-view-builder.js';
10
+ import { DropViewBuilder } from './drop-view-builder.js';
9
11
  /**
10
12
  * Provides methods for building database schema.
11
13
  */
@@ -22,7 +24,7 @@ export declare class SchemaModule {
22
24
  * ```ts
23
25
  * await db.schema
24
26
  * .createTable('person')
25
- * .addColumn('id', 'integer', col => col.primaryKey().increments())
27
+ * .addColumn('id', 'integer', col => col.primaryKey().autoIncrement())
26
28
  * .addColumn('first_name', 'varchar', col => col.notNull())
27
29
  * .addColumn('last_name', 'varchar', col => col.notNull())
28
30
  * .addColumn('gender', 'varchar')
@@ -38,7 +40,7 @@ export declare class SchemaModule {
38
40
  * ```ts
39
41
  * await db.schema
40
42
  * .createTable('pet')
41
- * .addColumn('id', 'integer', col => col.primaryKey().increments())
43
+ * .addColumn('id', 'integer', col => col.primaryKey().autoIncrement())
42
44
  * .addColumn('owner_id', 'integer', col => col
43
45
  * .references('person.id')
44
46
  * .onDelete('cascade')
@@ -55,7 +57,7 @@ export declare class SchemaModule {
55
57
  * ```ts
56
58
  * await db.schema
57
59
  * .createTable('pet')
58
- * .addColumn('id', 'integer', col => col.primaryKey().increments())
60
+ * .addColumn('id', 'integer', col => col.primaryKey().autoIncrement())
59
61
  * .addColumn('owner_id', 'integer')
60
62
  * .addForeignKeyConstraint(
61
63
  * 'pet_owner_id_foreign', ['owner_id'], 'person', ['id'],
@@ -135,6 +137,31 @@ export declare class SchemaModule {
135
137
  * ```
136
138
  */
137
139
  alterTable(table: string): AlterTableBuilder;
140
+ /**
141
+ * Create a new view.
142
+ *
143
+ * @example
144
+ * ```ts
145
+ * await db.schema
146
+ * .createView('dogs')
147
+ * .orReplace()
148
+ * .as(db.selectFrom('pet').selectAll().where('species', '=', 'dog'))
149
+ * .execute()
150
+ * ```
151
+ */
152
+ createView(viewName: string): CreateViewBuilder;
153
+ /**
154
+ * Drop a view.
155
+ *
156
+ * @example
157
+ * ```ts
158
+ * await db.schema
159
+ * .dropView('dogs')
160
+ * .ifExists()
161
+ * .execute()
162
+ * ```
163
+ */
164
+ dropView(viewName: string): DropViewBuilder;
138
165
  /**
139
166
  * See {@link QueryCreator.withSchema}
140
167
  */
@@ -15,6 +15,10 @@ import { DropSchemaBuilder } from './drop-schema-builder.js';
15
15
  import { DropTableBuilder } from './drop-table-builder.js';
16
16
  import { createQueryId } from '../util/query-id.js';
17
17
  import { WithSchemaPlugin } from '../plugin/with-schema/with-schema-plugin.js';
18
+ import { CreateViewBuilder } from './create-view-builder.js';
19
+ import { CreateViewNode } from '../operation-node/create-view-node.js';
20
+ import { DropViewBuilder } from './drop-view-builder.js';
21
+ import { DropViewNode } from '../operation-node/drop-view-node.js';
18
22
  /**
19
23
  * Provides methods for building database schema.
20
24
  */
@@ -33,7 +37,7 @@ export class SchemaModule {
33
37
  * ```ts
34
38
  * await db.schema
35
39
  * .createTable('person')
36
- * .addColumn('id', 'integer', col => col.primaryKey().increments())
40
+ * .addColumn('id', 'integer', col => col.primaryKey().autoIncrement())
37
41
  * .addColumn('first_name', 'varchar', col => col.notNull())
38
42
  * .addColumn('last_name', 'varchar', col => col.notNull())
39
43
  * .addColumn('gender', 'varchar')
@@ -49,7 +53,7 @@ export class SchemaModule {
49
53
  * ```ts
50
54
  * await db.schema
51
55
  * .createTable('pet')
52
- * .addColumn('id', 'integer', col => col.primaryKey().increments())
56
+ * .addColumn('id', 'integer', col => col.primaryKey().autoIncrement())
53
57
  * .addColumn('owner_id', 'integer', col => col
54
58
  * .references('person.id')
55
59
  * .onDelete('cascade')
@@ -66,7 +70,7 @@ export class SchemaModule {
66
70
  * ```ts
67
71
  * await db.schema
68
72
  * .createTable('pet')
69
- * .addColumn('id', 'integer', col => col.primaryKey().increments())
73
+ * .addColumn('id', 'integer', col => col.primaryKey().autoIncrement())
70
74
  * .addColumn('owner_id', 'integer')
71
75
  * .addForeignKeyConstraint(
72
76
  * 'pet_owner_id_foreign', ['owner_id'], 'person', ['id'],
@@ -188,6 +192,43 @@ export class SchemaModule {
188
192
  alterTableNode: AlterTableNode.create(table),
189
193
  });
190
194
  }
195
+ /**
196
+ * Create a new view.
197
+ *
198
+ * @example
199
+ * ```ts
200
+ * await db.schema
201
+ * .createView('dogs')
202
+ * .orReplace()
203
+ * .as(db.selectFrom('pet').selectAll().where('species', '=', 'dog'))
204
+ * .execute()
205
+ * ```
206
+ */
207
+ createView(viewName) {
208
+ return new CreateViewBuilder({
209
+ queryId: createQueryId(),
210
+ executor: this.#executor,
211
+ createViewNode: CreateViewNode.create(viewName),
212
+ });
213
+ }
214
+ /**
215
+ * Drop a view.
216
+ *
217
+ * @example
218
+ * ```ts
219
+ * await db.schema
220
+ * .dropView('dogs')
221
+ * .ifExists()
222
+ * .execute()
223
+ * ```
224
+ */
225
+ dropView(viewName) {
226
+ return new DropViewBuilder({
227
+ queryId: createQueryId(),
228
+ executor: this.#executor,
229
+ dropViewNode: DropViewNode.create(viewName),
230
+ });
231
+ }
191
232
  /**
192
233
  * See {@link QueryCreator.withSchema}
193
234
  */
@@ -0,0 +1 @@
1
+ export declare function performanceNow(): number;
@@ -0,0 +1,9 @@
1
+ import { isFunction } from './object-utils.js';
2
+ export function performanceNow() {
3
+ if (typeof performance !== 'undefined' && isFunction(performance.now)) {
4
+ return performance.now();
5
+ }
6
+ else {
7
+ return Date.now();
8
+ }
9
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kysely",
3
- "version": "0.9.7",
3
+ "version": "0.10.1",
4
4
  "description": "Type safe SQL query builder",
5
5
  "repository": {
6
6
  "type": "git",
@@ -47,9 +47,9 @@
47
47
  "mocha": "^9.1.3",
48
48
  "mysql2": "^2.3.3",
49
49
  "pg": "^8.7.1",
50
- "prettier": "^2.4.1",
50
+ "prettier": "^2.5.1",
51
51
  "tsd": "^0.19.0",
52
- "typedoc": "^0.22.9",
52
+ "typedoc": "^0.22.10",
53
53
  "typescript": "4.5.2"
54
54
  }
55
55
  }