kysely 0.16.0 → 0.16.4

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 (230) hide show
  1. package/README.md +4 -4
  2. package/dist/cjs/dialect/mysql/mysql-dialect-config.d.ts +205 -0
  3. package/dist/cjs/dialect/mysql/mysql-dialect-config.js +2 -0
  4. package/dist/cjs/dialect/mysql/mysql-dialect.d.ts +1 -205
  5. package/dist/cjs/dialect/mysql/mysql-driver.d.ts +1 -1
  6. package/dist/cjs/dialect/mysql/mysql-driver.js +10 -2
  7. package/dist/cjs/dialect/postgres/postgres-dialect-config.d.ts +103 -0
  8. package/dist/cjs/dialect/postgres/postgres-dialect-config.js +2 -0
  9. package/dist/cjs/dialect/postgres/postgres-dialect.d.ts +1 -103
  10. package/dist/cjs/dialect/postgres/postgres-driver.d.ts +1 -1
  11. package/dist/cjs/dialect/postgres/postgres-driver.js +11 -2
  12. package/dist/cjs/dialect/sqlite/sqlite-dialect-config.d.ts +43 -0
  13. package/dist/cjs/dialect/sqlite/sqlite-dialect-config.js +2 -0
  14. package/dist/cjs/dialect/sqlite/sqlite-dialect.d.ts +1 -43
  15. package/dist/cjs/dialect/sqlite/sqlite-driver.d.ts +1 -1
  16. package/dist/cjs/dialect/sqlite/sqlite-driver.js +10 -2
  17. package/dist/cjs/index.d.ts +3 -0
  18. package/dist/cjs/index.js +3 -0
  19. package/dist/cjs/operation-node/constraint-node.d.ts +4 -4
  20. package/dist/cjs/plugin/camel-case/camel-case-plugin.js +1 -1
  21. package/dist/cjs/query-builder/expression-builder.d.ts +42 -0
  22. package/dist/cjs/query-builder/expression-builder.js +48 -0
  23. package/dist/cjs/query-builder/insert-query-builder.d.ts +16 -0
  24. package/dist/cjs/query-builder/insert-query-builder.js +16 -0
  25. package/dist/cjs/query-builder/on-conflict-builder.d.ts +5 -3
  26. package/dist/cjs/query-creator.d.ts +1 -1
  27. package/dist/cjs/util/object-utils.d.ts +1 -1
  28. package/dist/cjs/util/object-utils.js +8 -8
  29. package/dist/esm/dialect/database-introspector.js +1 -0
  30. package/dist/esm/dialect/dialect-adapter-base.js +1 -0
  31. package/dist/esm/dialect/dialect-adapter.js +1 -0
  32. package/dist/esm/dialect/dialect.js +1 -0
  33. package/dist/esm/dialect/mysql/mysql-adapter.js +1 -0
  34. package/dist/esm/dialect/mysql/mysql-dialect-config.d.ts +205 -0
  35. package/dist/esm/dialect/mysql/mysql-dialect-config.js +2 -0
  36. package/dist/esm/dialect/mysql/mysql-dialect.d.ts +1 -205
  37. package/dist/esm/dialect/mysql/mysql-dialect.js +1 -0
  38. package/dist/esm/dialect/mysql/mysql-driver.d.ts +1 -1
  39. package/dist/esm/dialect/mysql/mysql-driver.js +12 -3
  40. package/dist/esm/dialect/mysql/mysql-introspector.js +1 -0
  41. package/dist/esm/dialect/mysql/mysql-query-compiler.js +1 -0
  42. package/dist/esm/dialect/postgres/postgres-adapter.js +1 -0
  43. package/dist/esm/dialect/postgres/postgres-dialect-config.d.ts +103 -0
  44. package/dist/esm/dialect/postgres/postgres-dialect-config.js +2 -0
  45. package/dist/esm/dialect/postgres/postgres-dialect.d.ts +1 -103
  46. package/dist/esm/dialect/postgres/postgres-dialect.js +1 -0
  47. package/dist/esm/dialect/postgres/postgres-driver.d.ts +1 -1
  48. package/dist/esm/dialect/postgres/postgres-driver.js +12 -2
  49. package/dist/esm/dialect/postgres/postgres-introspector.js +1 -0
  50. package/dist/esm/dialect/postgres/postgres-query-compiler.js +1 -0
  51. package/dist/esm/dialect/sqlite/sqlite-adapter.js +1 -0
  52. package/dist/esm/dialect/sqlite/sqlite-dialect-config.d.ts +43 -0
  53. package/dist/esm/dialect/sqlite/sqlite-dialect-config.js +2 -0
  54. package/dist/esm/dialect/sqlite/sqlite-dialect.d.ts +1 -43
  55. package/dist/esm/dialect/sqlite/sqlite-dialect.js +1 -0
  56. package/dist/esm/dialect/sqlite/sqlite-driver.d.ts +1 -1
  57. package/dist/esm/dialect/sqlite/sqlite-driver.js +11 -2
  58. package/dist/esm/dialect/sqlite/sqlite-introspector.js +1 -0
  59. package/dist/esm/dialect/sqlite/sqlite-query-compiler.js +1 -0
  60. package/dist/esm/driver/connection-provider.js +1 -0
  61. package/dist/esm/driver/database-connection.js +1 -0
  62. package/dist/esm/driver/default-connection-provider.js +1 -0
  63. package/dist/esm/driver/driver.js +1 -0
  64. package/dist/esm/driver/runtime-driver.js +1 -0
  65. package/dist/esm/driver/single-connection-provider.js +1 -0
  66. package/dist/esm/dynamic/dynamic-reference-builder.js +1 -0
  67. package/dist/esm/dynamic/dynamic.js +1 -0
  68. package/dist/esm/index-nodeless.js +1 -0
  69. package/dist/esm/index.d.ts +3 -0
  70. package/dist/esm/index.js +4 -0
  71. package/dist/esm/kysely.js +1 -0
  72. package/dist/esm/migration/file-migration-provider.js +1 -0
  73. package/dist/esm/migration/migrator.js +1 -0
  74. package/dist/esm/operation-node/add-column-node.js +1 -0
  75. package/dist/esm/operation-node/add-constraint-node.js +1 -0
  76. package/dist/esm/operation-node/alias-node.js +1 -0
  77. package/dist/esm/operation-node/alter-column-node.js +1 -0
  78. package/dist/esm/operation-node/alter-table-node.js +1 -0
  79. package/dist/esm/operation-node/and-node.js +1 -0
  80. package/dist/esm/operation-node/check-constraint-node.js +1 -0
  81. package/dist/esm/operation-node/column-definition-node.js +1 -0
  82. package/dist/esm/operation-node/column-node.js +1 -0
  83. package/dist/esm/operation-node/column-update-node.js +1 -0
  84. package/dist/esm/operation-node/common-table-expression-name-node.js +1 -0
  85. package/dist/esm/operation-node/common-table-expression-node.js +1 -0
  86. package/dist/esm/operation-node/constraint-node.d.ts +4 -4
  87. package/dist/esm/operation-node/constraint-node.js +1 -0
  88. package/dist/esm/operation-node/create-index-node.js +1 -0
  89. package/dist/esm/operation-node/create-schema-node.js +1 -0
  90. package/dist/esm/operation-node/create-table-node.js +1 -0
  91. package/dist/esm/operation-node/create-view-node.js +1 -0
  92. package/dist/esm/operation-node/data-type-node.js +1 -0
  93. package/dist/esm/operation-node/default-value-node.js +1 -0
  94. package/dist/esm/operation-node/delete-query-node.js +1 -0
  95. package/dist/esm/operation-node/drop-column-node.js +1 -0
  96. package/dist/esm/operation-node/drop-constraint-node.js +1 -0
  97. package/dist/esm/operation-node/drop-index-node.js +1 -0
  98. package/dist/esm/operation-node/drop-schema-node.js +1 -0
  99. package/dist/esm/operation-node/drop-table-node.js +1 -0
  100. package/dist/esm/operation-node/drop-view-node.js +1 -0
  101. package/dist/esm/operation-node/filter-node.js +1 -0
  102. package/dist/esm/operation-node/foreign-key-constraint-node.js +1 -0
  103. package/dist/esm/operation-node/from-node.js +1 -0
  104. package/dist/esm/operation-node/generated-node.js +1 -0
  105. package/dist/esm/operation-node/group-by-item-node.js +1 -0
  106. package/dist/esm/operation-node/group-by-node.js +1 -0
  107. package/dist/esm/operation-node/having-node.js +1 -0
  108. package/dist/esm/operation-node/identifier-node.js +1 -0
  109. package/dist/esm/operation-node/insert-query-node.js +1 -0
  110. package/dist/esm/operation-node/join-node.js +1 -0
  111. package/dist/esm/operation-node/limit-node.js +1 -0
  112. package/dist/esm/operation-node/list-node.js +1 -0
  113. package/dist/esm/operation-node/modify-column-node.js +1 -0
  114. package/dist/esm/operation-node/offset-node.js +1 -0
  115. package/dist/esm/operation-node/on-conflict-node.js +1 -0
  116. package/dist/esm/operation-node/on-duplicate-key-node.js +1 -0
  117. package/dist/esm/operation-node/on-node.js +1 -0
  118. package/dist/esm/operation-node/operation-node-source.js +1 -0
  119. package/dist/esm/operation-node/operation-node-transformer.js +1 -0
  120. package/dist/esm/operation-node/operation-node-utils.js +1 -0
  121. package/dist/esm/operation-node/operation-node-visitor.js +1 -0
  122. package/dist/esm/operation-node/operation-node.js +1 -0
  123. package/dist/esm/operation-node/operator-node.js +1 -0
  124. package/dist/esm/operation-node/or-node.js +1 -0
  125. package/dist/esm/operation-node/order-by-item-node.js +1 -0
  126. package/dist/esm/operation-node/order-by-node.js +1 -0
  127. package/dist/esm/operation-node/parens-node.js +1 -0
  128. package/dist/esm/operation-node/primary-constraint-node.js +1 -0
  129. package/dist/esm/operation-node/primitive-value-list-node.js +1 -0
  130. package/dist/esm/operation-node/query-node.js +1 -0
  131. package/dist/esm/operation-node/raw-node.js +1 -0
  132. package/dist/esm/operation-node/reference-node.js +1 -0
  133. package/dist/esm/operation-node/references-node.js +1 -0
  134. package/dist/esm/operation-node/rename-column-node.js +1 -0
  135. package/dist/esm/operation-node/returning-node.js +1 -0
  136. package/dist/esm/operation-node/select-all-node.js +1 -0
  137. package/dist/esm/operation-node/select-query-node.js +1 -0
  138. package/dist/esm/operation-node/selection-node.js +1 -0
  139. package/dist/esm/operation-node/table-node.js +1 -0
  140. package/dist/esm/operation-node/union-node.js +1 -0
  141. package/dist/esm/operation-node/unique-constraint-node.js +1 -0
  142. package/dist/esm/operation-node/update-query-node.js +1 -0
  143. package/dist/esm/operation-node/value-list-node.js +1 -0
  144. package/dist/esm/operation-node/value-node.js +1 -0
  145. package/dist/esm/operation-node/values-node.js +1 -0
  146. package/dist/esm/operation-node/where-node.js +1 -0
  147. package/dist/esm/operation-node/with-node.js +1 -0
  148. package/dist/esm/parser/complex-expression-parser.js +1 -0
  149. package/dist/esm/parser/data-type-parser.js +1 -0
  150. package/dist/esm/parser/default-value-parser.js +1 -0
  151. package/dist/esm/parser/filter-parser.js +1 -0
  152. package/dist/esm/parser/group-by-parser.js +1 -0
  153. package/dist/esm/parser/insert-values-parser.js +1 -0
  154. package/dist/esm/parser/join-parser.js +1 -0
  155. package/dist/esm/parser/order-by-parser.js +1 -0
  156. package/dist/esm/parser/parse-context.js +1 -0
  157. package/dist/esm/parser/reference-parser.js +1 -0
  158. package/dist/esm/parser/returning-parser.js +1 -0
  159. package/dist/esm/parser/select-parser.js +1 -0
  160. package/dist/esm/parser/table-parser.js +1 -0
  161. package/dist/esm/parser/union-parser.js +1 -0
  162. package/dist/esm/parser/update-set-parser.js +1 -0
  163. package/dist/esm/parser/value-parser.js +1 -0
  164. package/dist/esm/parser/with-parser.js +1 -0
  165. package/dist/esm/plugin/camel-case/camel-case-plugin.js +3 -2
  166. package/dist/esm/plugin/camel-case/camel-case-transformer.js +1 -0
  167. package/dist/esm/plugin/camel-case/camel-case.js +1 -0
  168. package/dist/esm/plugin/immediate-value.ts/immediate-value-plugin.js +1 -0
  169. package/dist/esm/plugin/immediate-value.ts/immediate-value-transformer.js +1 -0
  170. package/dist/esm/plugin/kysely-plugin.js +1 -0
  171. package/dist/esm/plugin/with-schema/with-schema-plugin.js +1 -0
  172. package/dist/esm/plugin/with-schema/with-schema-transformer.js +1 -0
  173. package/dist/esm/query-builder/delete-query-builder.js +1 -0
  174. package/dist/esm/query-builder/delete-result.js +1 -0
  175. package/dist/esm/query-builder/expression-builder.d.ts +42 -0
  176. package/dist/esm/query-builder/expression-builder.js +49 -0
  177. package/dist/esm/query-builder/function-builder.js +1 -0
  178. package/dist/esm/query-builder/having-interface.js +1 -0
  179. package/dist/esm/query-builder/insert-query-builder.d.ts +16 -0
  180. package/dist/esm/query-builder/insert-query-builder.js +17 -0
  181. package/dist/esm/query-builder/insert-result.js +1 -0
  182. package/dist/esm/query-builder/join-builder.js +1 -0
  183. package/dist/esm/query-builder/join-interface.js +1 -0
  184. package/dist/esm/query-builder/no-result-error.js +1 -0
  185. package/dist/esm/query-builder/on-conflict-builder.d.ts +5 -3
  186. package/dist/esm/query-builder/on-conflict-builder.js +1 -0
  187. package/dist/esm/query-builder/returning-interface.js +1 -0
  188. package/dist/esm/query-builder/select-query-builder.js +1 -0
  189. package/dist/esm/query-builder/update-query-builder.js +1 -0
  190. package/dist/esm/query-builder/update-result.js +1 -0
  191. package/dist/esm/query-builder/where-interface.js +1 -0
  192. package/dist/esm/query-compiler/compiled-query.js +1 -0
  193. package/dist/esm/query-compiler/default-query-compiler.js +1 -0
  194. package/dist/esm/query-compiler/query-compiler.js +1 -0
  195. package/dist/esm/query-creator.d.ts +1 -1
  196. package/dist/esm/query-creator.js +1 -0
  197. package/dist/esm/query-executor/default-query-executor.js +1 -0
  198. package/dist/esm/query-executor/noop-query-executor.js +1 -0
  199. package/dist/esm/query-executor/query-executor.js +1 -0
  200. package/dist/esm/raw-builder/raw-builder.js +1 -0
  201. package/dist/esm/schema/alter-table-builder.js +1 -0
  202. package/dist/esm/schema/column-definition-builder.js +1 -0
  203. package/dist/esm/schema/create-index-builder.js +1 -0
  204. package/dist/esm/schema/create-schema-builder.js +1 -0
  205. package/dist/esm/schema/create-table-builder.js +1 -0
  206. package/dist/esm/schema/create-view-builder.js +1 -0
  207. package/dist/esm/schema/drop-index-builder.js +1 -0
  208. package/dist/esm/schema/drop-schema-builder.js +1 -0
  209. package/dist/esm/schema/drop-table-builder.js +1 -0
  210. package/dist/esm/schema/drop-view-builder.js +1 -0
  211. package/dist/esm/schema/foreign-key-constraint-builder.js +1 -0
  212. package/dist/esm/schema/schema.js +1 -0
  213. package/dist/esm/util/assert.js +1 -0
  214. package/dist/esm/util/column-type.js +1 -0
  215. package/dist/esm/util/compilable.js +1 -0
  216. package/dist/esm/util/log.js +1 -0
  217. package/dist/esm/util/object-utils.d.ts +1 -1
  218. package/dist/esm/util/object-utils.js +7 -6
  219. package/dist/esm/util/performance-now.js +1 -0
  220. package/dist/esm/util/prevent-await.js +1 -0
  221. package/dist/esm/util/private-symbols.js +1 -0
  222. package/dist/esm/util/query-id.js +1 -0
  223. package/dist/esm/util/random-string.js +1 -0
  224. package/dist/esm/util/type-utils.js +1 -0
  225. package/package.json +3 -2
  226. package/.prettierignore +0 -1
  227. package/dist/cjs/util/dynamic-import.d.ts +0 -2
  228. package/dist/cjs/util/dynamic-import.js +0 -32
  229. package/dist/esm/util/dynamic-import.d.ts +0 -2
  230. package/dist/esm/util/dynamic-import.js +0 -27
@@ -1,13 +1,10 @@
1
- /// <reference types="node" />
2
- import * as stream from 'stream';
3
- import { ConnectionOptions } from 'tls';
4
1
  import { Driver } from '../../driver/driver.js';
5
2
  import { Kysely } from '../../kysely.js';
6
3
  import { QueryCompiler } from '../../query-compiler/query-compiler.js';
7
4
  import { Dialect } from '../dialect.js';
8
5
  import { DatabaseIntrospector } from '../database-introspector.js';
9
6
  import { DialectAdapter } from '../dialect-adapter.js';
10
- import { DatabaseConnection } from '../../driver/database-connection.js';
7
+ import { PostgresDialectConfig } from './postgres-dialect-config.js';
11
8
  /**
12
9
  * PostgreSQL dialect that uses the [pg](https://node-postgres.com/) library.
13
10
  *
@@ -42,102 +39,3 @@ export declare class PostgresDialect implements Dialect {
42
39
  */
43
40
  createIntrospector(db: Kysely<any>): DatabaseIntrospector;
44
41
  }
45
- /**
46
- * Config for the PostgreSQL dialect.
47
- *
48
- * This interface is equal to `pg` library's `Pool` config:
49
- *
50
- * https://node-postgres.com/api/pool
51
- * https://node-postgres.com/api/client
52
- */
53
- export interface PostgresDialectConfig {
54
- /**
55
- * defaults process.env.PGUSER || process.env.USER.
56
- */
57
- user?: string;
58
- /**
59
- * default process.env.PGDATABASE || process.env.USER
60
- */
61
- database?: string;
62
- /**
63
- * default process.env.PGPASSWORD
64
- */
65
- password?: string | (() => string | Promise<string>);
66
- /**
67
- * default process.env.PGPORT
68
- */
69
- port?: number;
70
- /**
71
- * default process.env.PGHOST
72
- */
73
- host?: string;
74
- /**
75
- * e.g. postgres:*user:password@host:5432/database
76
- */
77
- connectionString?: string;
78
- /**
79
- * passed directly to node.TLSSocket, supports all tls.connect options
80
- */
81
- ssl?: boolean | ConnectionOptions;
82
- /**
83
- * Number of milliseconds to wait before timing out when connecting a new client
84
- * by default this is 0 which means no timeout.
85
- */
86
- connectionTimeoutMillis?: number;
87
- /**
88
- * Maximum number of clients the pool should contain. by default this is set to 10.
89
- */
90
- max?: number;
91
- /**
92
- * Minimum number of clients the pool should contain
93
- */
94
- min?: number;
95
- /**
96
- * Number of milliseconds a client must sit idle in the pool and not be checked out
97
- * before it is disconnected from the backend and discarded.
98
- *
99
- * default is 10000 (10 seconds) - set to 0 to disable auto-disconnection of idle clients.
100
- */
101
- idleTimeoutMillis?: number;
102
- /**
103
- * Default behavior is the pool will keep clients open & connected to the backend
104
- * until idleTimeoutMillis expire for each client and node will maintain a ref
105
- * to the socket on the client, keeping the event loop alive until all clients are closed
106
- * after being idle or the pool is manually shutdown with `pool.end()`.
107
- *
108
- * Setting `allowExitOnIdle: true` in the config will allow the node event loop to exit
109
- * as soon as all clients in the pool are idle, even if their socket is still open
110
- * to the PostgreSQL server. This can be handy in scripts & tests
111
- * where you don't want to wait for your clients to go idle before your process exits.
112
- */
113
- allowExitOnIdle?: boolean;
114
- log?: (...messages: any[]) => void;
115
- /**
116
- * Number of milliseconds before a statement in query will time out, default is no timeout.
117
- */
118
- statement_timeout?: false | number;
119
- /**
120
- * Number of milliseconds before terminating any session with an open idle transaction.
121
- * Default is no timeout.
122
- */
123
- idle_in_transaction_session_timeout?: number;
124
- /**
125
- * Number of milliseconds before a query call will timeout, default is no timeout.
126
- */
127
- query_timeout?: number;
128
- /**
129
- * The name of the application that created this Client instance.
130
- */
131
- application_name?: string;
132
- /**
133
- * Called once for each created connection.
134
- *
135
- * This is a Kysely specific feature and does not come from the `pg` module.
136
- */
137
- onCreateConnection?: (connection: DatabaseConnection) => Promise<void>;
138
- keepAlive?: boolean;
139
- keepAliveInitialDelayMillis?: number;
140
- types?: any;
141
- stream?: stream.Duplex;
142
- parseInputDatesAsUTC?: boolean;
143
- }
@@ -1,3 +1,4 @@
1
+ /// <reference types="./postgres-dialect.d.ts" />
1
2
  import { PostgresDriver } from './postgres-driver.js';
2
3
  import { PostgresIntrospector } from './postgres-introspector.js';
3
4
  import { PostgresQueryCompiler } from './postgres-query-compiler.js';
@@ -1,6 +1,6 @@
1
1
  import { DatabaseConnection } from '../../driver/database-connection.js';
2
2
  import { Driver, TransactionSettings } from '../../driver/driver.js';
3
- import { PostgresDialectConfig } from './postgres-dialect.js';
3
+ import { PostgresDialectConfig } from './postgres-dialect-config.js';
4
4
  export declare class PostgresDriver implements Driver {
5
5
  #private;
6
6
  constructor(config: PostgresDialectConfig);
@@ -1,5 +1,6 @@
1
+ /// <reference types="./postgres-driver.d.ts" />
1
2
  import { CompiledQuery } from '../../query-compiler/compiled-query.js';
2
- import { importNamedFunction } from '../../util/dynamic-import.js';
3
+ import { isFunction } from '../../util/object-utils.js';
3
4
  const PRIVATE_RELEASE_METHOD = Symbol();
4
5
  export class PostgresDriver {
5
6
  #config;
@@ -62,7 +63,16 @@ export class PostgresDriver {
62
63
  }
63
64
  async function importPgPool() {
64
65
  try {
65
- return await importNamedFunction('pg', 'Pool');
66
+ // The imported module name must be a string literal to make
67
+ // some bundlers work. So don't move this code behind a helper
68
+ // for example.
69
+ const pgModule = await import('pg');
70
+ if (isFunction(pgModule.Pool)) {
71
+ return pgModule.Pool;
72
+ }
73
+ else {
74
+ return pgModule.default.Pool;
75
+ }
66
76
  }
67
77
  catch (error) {
68
78
  throw new Error('Postgres client not installed. Please run `npm install pg`');
@@ -1,3 +1,4 @@
1
+ /// <reference types="./postgres-introspector.d.ts" />
1
2
  import { MIGRATION_LOCK_TABLE, MIGRATION_TABLE, } from '../../migration/migrator.js';
2
3
  import { freeze } from '../../util/object-utils.js';
3
4
  export class PostgresIntrospector {
@@ -1,3 +1,4 @@
1
+ /// <reference types="./postgres-query-compiler.d.ts" />
1
2
  import { DefaultQueryCompiler } from '../../query-compiler/default-query-compiler.js';
2
3
  export class PostgresQueryCompiler extends DefaultQueryCompiler {
3
4
  getCurrentParameterPlaceholder() {
@@ -1,3 +1,4 @@
1
+ /// <reference types="./sqlite-adapter.d.ts" />
1
2
  export class SqliteAdapter {
2
3
  get supportsTransactionalDdl() {
3
4
  return false;
@@ -0,0 +1,43 @@
1
+ import { DatabaseConnection } from '../../driver/database-connection.js';
2
+ /**
3
+ * Config for the SQLite dialect.
4
+ *
5
+ * This interface is equal to `better-sqlite3` library's `Databse` class's constructor parameters.
6
+ *
7
+ * https://github.com/JoshuaWise/better-sqlite3/blob/master/docs/api.md#new-databasepath-options
8
+ */
9
+ export interface SqliteDialectConfig {
10
+ /**
11
+ * The database file path.
12
+ *
13
+ * This is passed as the first argument for the [Database](https://github.com/JoshuaWise/better-sqlite3/blob/master/docs/api.md#new-databasepath-options)
14
+ * class constructor.
15
+ */
16
+ databasePath: string;
17
+ /**
18
+ * Open the database connection in readonly mode (default: false)
19
+ */
20
+ readonly?: boolean;
21
+ /**
22
+ * If the database does not exist, an Error will be thrown instead of creating a new file.
23
+ * This option is ignored for in-memory, temporary, or readonly database connections
24
+ * (default: false)
25
+ */
26
+ fileMustExist?: boolean;
27
+ /**
28
+ * The number of milliseconds to wait when executing queries on a locked database,
29
+ * before throwing a SQLITE_BUSY error (default: 5000)
30
+ */
31
+ timeout?: number;
32
+ /**
33
+ * Provide a function that gets called with every SQL string executed by the database connection
34
+ * (default: null)
35
+ */
36
+ verbose?: (sql: string) => void;
37
+ /**
38
+ * Called once when the first query is executed.
39
+ *
40
+ * This is a Kysely specific feature and does not come from the `better-sqlite3` module.
41
+ */
42
+ onCreateConnection?: (connection: DatabaseConnection) => Promise<void>;
43
+ }
@@ -0,0 +1,2 @@
1
+ /// <reference types="./sqlite-dialect-config.d.ts" />
2
+ export {};
@@ -4,7 +4,7 @@ import { QueryCompiler } from '../../query-compiler/query-compiler.js';
4
4
  import { Dialect } from '../dialect.js';
5
5
  import { DatabaseIntrospector } from '../database-introspector.js';
6
6
  import { DialectAdapter } from '../dialect-adapter.js';
7
- import { DatabaseConnection } from '../../driver/database-connection.js';
7
+ import { SqliteDialectConfig } from './sqlite-dialect-config.js';
8
8
  /**
9
9
  * SQLite dialect that uses the [better-sqlite3](https://github.com/JoshuaWise/better-sqlite3) library.
10
10
  *
@@ -36,45 +36,3 @@ export declare class SqliteDialect implements Dialect {
36
36
  */
37
37
  createIntrospector(db: Kysely<any>): DatabaseIntrospector;
38
38
  }
39
- /**
40
- * Config for the SQLite dialect.
41
- *
42
- * This interface is equal to `better-sqlite3` library's `Databse` class's constructor parameters.
43
- *
44
- * https://github.com/JoshuaWise/better-sqlite3/blob/master/docs/api.md#new-databasepath-options
45
- */
46
- export interface SqliteDialectConfig {
47
- /**
48
- * The database file path.
49
- *
50
- * This is passed as the first argument for the [Database](https://github.com/JoshuaWise/better-sqlite3/blob/master/docs/api.md#new-databasepath-options)
51
- * class constructor.
52
- */
53
- databasePath: string;
54
- /**
55
- * Open the database connection in readonly mode (default: false)
56
- */
57
- readonly?: boolean;
58
- /**
59
- * If the database does not exist, an Error will be thrown instead of creating a new file.
60
- * This option is ignored for in-memory, temporary, or readonly database connections
61
- * (default: false)
62
- */
63
- fileMustExist?: boolean;
64
- /**
65
- * The number of milliseconds to wait when executing queries on a locked database,
66
- * before throwing a SQLITE_BUSY error (default: 5000)
67
- */
68
- timeout?: number;
69
- /**
70
- * Provide a function that gets called with every SQL string executed by the database connection
71
- * (default: null)
72
- */
73
- verbose?: (sql: string) => void;
74
- /**
75
- * Called once when the first query is executed.
76
- *
77
- * This is a Kysely specific feature and does not come from the `better-sqlite3` module.
78
- */
79
- onCreateConnection?: (connection: DatabaseConnection) => Promise<void>;
80
- }
@@ -1,3 +1,4 @@
1
+ /// <reference types="./sqlite-dialect.d.ts" />
1
2
  import { SqliteDriver } from './sqlite-driver.js';
2
3
  import { SqliteQueryCompiler } from './sqlite-query-compiler.js';
3
4
  import { SqliteIntrospector } from './sqlite-introspector.js';
@@ -1,6 +1,6 @@
1
1
  import { DatabaseConnection } from '../../driver/database-connection.js';
2
2
  import { Driver } from '../../driver/driver.js';
3
- import { SqliteDialectConfig } from './sqlite-dialect.js';
3
+ import { SqliteDialectConfig } from './sqlite-dialect-config.js';
4
4
  export declare class SqliteDriver implements Driver {
5
5
  #private;
6
6
  constructor(config: SqliteDialectConfig);
@@ -1,5 +1,5 @@
1
+ /// <reference types="./sqlite-driver.d.ts" />
1
2
  import { CompiledQuery } from '../../query-compiler/compiled-query.js';
2
- import { importFunction } from '../../util/dynamic-import.js';
3
3
  import { isBoolean, isFunction, isNumber } from '../../util/object-utils.js';
4
4
  export class SqliteDriver {
5
5
  #config;
@@ -59,7 +59,16 @@ export class SqliteDriver {
59
59
  }
60
60
  async function importBetterSqlite3Database() {
61
61
  try {
62
- return await importFunction('better-sqlite3');
62
+ // The imported module name must be a string literal to make
63
+ // some bundlers work. So don't move this code behind a helper
64
+ // for example.
65
+ const sqliteModule = await import('better-sqlite3');
66
+ if (isFunction(sqliteModule)) {
67
+ return sqliteModule;
68
+ }
69
+ else {
70
+ return sqliteModule.default;
71
+ }
63
72
  }
64
73
  catch (error) {
65
74
  throw new Error('SQLite client not installed. Please run `npm install better-sqlite3`');
@@ -1,3 +1,4 @@
1
+ /// <reference types="./sqlite-introspector.d.ts" />
1
2
  import { MIGRATION_LOCK_TABLE, MIGRATION_TABLE, } from '../../migration/migrator.js';
2
3
  export class SqliteIntrospector {
3
4
  #db;
@@ -1,3 +1,4 @@
1
+ /// <reference types="./sqlite-query-compiler.d.ts" />
1
2
  import { DefaultQueryCompiler } from '../../query-compiler/default-query-compiler.js';
2
3
  export class SqliteQueryCompiler extends DefaultQueryCompiler {
3
4
  getCurrentParameterPlaceholder() {
@@ -1 +1,2 @@
1
+ /// <reference types="./connection-provider.d.ts" />
1
2
  export {};
@@ -1 +1,2 @@
1
+ /// <reference types="./database-connection.d.ts" />
1
2
  export {};
@@ -1,3 +1,4 @@
1
+ /// <reference types="./default-connection-provider.d.ts" />
1
2
  export class DefaultConnectionProvider {
2
3
  #driver;
3
4
  constructor(driver) {
@@ -1,3 +1,4 @@
1
+ /// <reference types="./driver.d.ts" />
1
2
  export const TRANSACTION_ISOLATION_LEVELS = [
2
3
  'read uncommitted',
3
4
  'read committed',
@@ -1,3 +1,4 @@
1
+ /// <reference types="./runtime-driver.d.ts" />
1
2
  import { performanceNow } from '../util/performance-now.js';
2
3
  /**
3
4
  * A small wrapper around {@link Driver} that makes sure the driver is
@@ -1,3 +1,4 @@
1
+ /// <reference types="./single-connection-provider.d.ts" />
1
2
  export class SingleConnectionProvider {
2
3
  #connection;
3
4
  #runningPromise;
@@ -1,3 +1,4 @@
1
+ /// <reference types="./dynamic-reference-builder.d.ts" />
1
2
  import { isOperationNodeSource, } from '../operation-node/operation-node-source.js';
2
3
  import { parseStringReference } from '../parser/reference-parser.js';
3
4
  import { isObject, isString } from '../util/object-utils.js';
@@ -1,3 +1,4 @@
1
+ /// <reference types="./dynamic.d.ts" />
1
2
  import { DynamicReferenceBuilder } from './dynamic-reference-builder.js';
2
3
  export class DynamicModule {
3
4
  /**
@@ -1,3 +1,4 @@
1
+ /// <reference types="./index-nodeless.d.ts" />
1
2
  export * from './kysely.js';
2
3
  export * from './query-creator.js';
3
4
  export * from './query-builder/where-interface.js';
@@ -1,8 +1,11 @@
1
1
  export * from './index-nodeless.js';
2
2
  export * from './migration/file-migration-provider.js';
3
3
  export * from './dialect/sqlite/sqlite-dialect.js';
4
+ export * from './dialect/sqlite/sqlite-dialect-config.js';
4
5
  export * from './dialect/sqlite/sqlite-driver.js';
5
6
  export * from './dialect/mysql/mysql-dialect.js';
7
+ export * from './dialect/mysql/mysql-dialect-config.js';
6
8
  export * from './dialect/mysql/mysql-driver.js';
7
9
  export * from './dialect/postgres/postgres-driver.js';
10
+ export * from './dialect/postgres/postgres-dialect-config.js';
8
11
  export * from './dialect/postgres/postgres-dialect.js';
package/dist/esm/index.js CHANGED
@@ -1,8 +1,12 @@
1
+ /// <reference types="./index.d.ts" />
1
2
  export * from './index-nodeless.js';
2
3
  export * from './migration/file-migration-provider.js';
3
4
  export * from './dialect/sqlite/sqlite-dialect.js';
5
+ export * from './dialect/sqlite/sqlite-dialect-config.js';
4
6
  export * from './dialect/sqlite/sqlite-driver.js';
5
7
  export * from './dialect/mysql/mysql-dialect.js';
8
+ export * from './dialect/mysql/mysql-dialect-config.js';
6
9
  export * from './dialect/mysql/mysql-driver.js';
7
10
  export * from './dialect/postgres/postgres-driver.js';
11
+ export * from './dialect/postgres/postgres-dialect-config.js';
8
12
  export * from './dialect/postgres/postgres-dialect.js';
@@ -1,3 +1,4 @@
1
+ /// <reference types="./kysely.d.ts" />
1
2
  import { SchemaModule } from './schema/schema.js';
2
3
  import { DynamicModule } from './dynamic/dynamic.js';
3
4
  import { DefaultConnectionProvider } from './driver/default-connection-provider.js';
@@ -1,3 +1,4 @@
1
+ /// <reference types="./file-migration-provider.d.ts" />
1
2
  import { isFunction, isObject } from '../util/object-utils.js';
2
3
  /**
3
4
  * Reads all migrations from a folder.
@@ -1,3 +1,4 @@
1
+ /// <reference types="./migrator.d.ts" />
1
2
  import { freeze, getLast } from '../util/object-utils.js';
2
3
  import { PRIVATE_ADAPTER } from '../util/private-symbols.js';
3
4
  export const MIGRATION_TABLE = 'kysely_migration';
@@ -1,3 +1,4 @@
1
+ /// <reference types="./add-column-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  /**
3
4
  * @internal
@@ -1,3 +1,4 @@
1
+ /// <reference types="./add-constraint-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  /**
3
4
  * @internal
@@ -1,3 +1,4 @@
1
+ /// <reference types="./alias-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  import { IdentifierNode } from './identifier-node.js';
3
4
  /**
@@ -1,3 +1,4 @@
1
+ /// <reference types="./alter-column-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  import { ColumnNode } from './column-node.js';
3
4
  /**
@@ -1,3 +1,4 @@
1
+ /// <reference types="./alter-table-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  import { TableNode } from './table-node.js';
3
4
  /**
@@ -1,3 +1,4 @@
1
+ /// <reference types="./and-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  /**
3
4
  * @internal
@@ -1,3 +1,4 @@
1
+ /// <reference types="./check-constraint-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  import { IdentifierNode } from './identifier-node.js';
3
4
  /**
@@ -1,3 +1,4 @@
1
+ /// <reference types="./column-definition-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  import { ColumnNode } from './column-node.js';
3
4
  /**
@@ -1,3 +1,4 @@
1
+ /// <reference types="./column-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  import { IdentifierNode } from './identifier-node.js';
3
4
  /**
@@ -1,3 +1,4 @@
1
+ /// <reference types="./column-update-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  /**
3
4
  * @internal
@@ -1,3 +1,4 @@
1
+ /// <reference types="./common-table-expression-name-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  import { ColumnNode } from './column-node.js';
3
4
  import { TableNode } from './table-node.js';
@@ -1,3 +1,4 @@
1
+ /// <reference types="./common-table-expression-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  /**
3
4
  * @internal
@@ -1,5 +1,5 @@
1
- import { CheckConstraintNode } from "./check-constraint-node";
2
- import { ForeignKeyConstraintNode } from "./foreign-key-constraint-node";
3
- import { PrimaryKeyConstraintNode } from "./primary-constraint-node";
4
- import { UniqueConstraintNode } from "./unique-constraint-node";
1
+ import { CheckConstraintNode } from './check-constraint-node.js';
2
+ import { ForeignKeyConstraintNode } from './foreign-key-constraint-node.js';
3
+ import { PrimaryKeyConstraintNode } from './primary-constraint-node.js';
4
+ import { UniqueConstraintNode } from './unique-constraint-node.js';
5
5
  export declare type ConstraintNode = PrimaryKeyConstraintNode | UniqueConstraintNode | CheckConstraintNode | ForeignKeyConstraintNode;
@@ -1 +1,2 @@
1
+ /// <reference types="./constraint-node.d.ts" />
1
2
  export {};
@@ -1,3 +1,4 @@
1
+ /// <reference types="./create-index-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  import { IdentifierNode } from './identifier-node.js';
3
4
  /**
@@ -1,3 +1,4 @@
1
+ /// <reference types="./create-schema-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  import { IdentifierNode } from './identifier-node.js';
3
4
  /**
@@ -1,3 +1,4 @@
1
+ /// <reference types="./create-table-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  /**
3
4
  * @internal
@@ -1,3 +1,4 @@
1
+ /// <reference types="./create-view-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  import { IdentifierNode } from './identifier-node.js';
3
4
  /**
@@ -1,3 +1,4 @@
1
+ /// <reference types="./data-type-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  /**
3
4
  * @internal
@@ -1,3 +1,4 @@
1
+ /// <reference types="./default-value-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  /**
3
4
  * @internal
@@ -1,3 +1,4 @@
1
+ /// <reference types="./delete-query-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  import { FromNode } from './from-node.js';
3
4
  /**
@@ -1,3 +1,4 @@
1
+ /// <reference types="./drop-column-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  import { ColumnNode } from './column-node.js';
3
4
  /**
@@ -1,3 +1,4 @@
1
+ /// <reference types="./drop-constraint-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  import { IdentifierNode } from './identifier-node.js';
3
4
  /**
@@ -1,3 +1,4 @@
1
+ /// <reference types="./drop-index-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  import { IdentifierNode } from './identifier-node.js';
3
4
  /**
@@ -1,3 +1,4 @@
1
+ /// <reference types="./drop-schema-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  import { IdentifierNode } from './identifier-node.js';
3
4
  /**
@@ -1,3 +1,4 @@
1
+ /// <reference types="./drop-table-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  /**
3
4
  * @internal
@@ -1,3 +1,4 @@
1
+ /// <reference types="./drop-view-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  import { IdentifierNode } from './identifier-node.js';
3
4
  /**
@@ -1,3 +1,4 @@
1
+ /// <reference types="./filter-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  /**
3
4
  * @internal
@@ -1,3 +1,4 @@
1
+ /// <reference types="./foreign-key-constraint-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  import { IdentifierNode } from './identifier-node.js';
3
4
  import { ReferencesNode } from './references-node.js';
@@ -1,3 +1,4 @@
1
+ /// <reference types="./from-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  /**
3
4
  * @internal
@@ -1,3 +1,4 @@
1
+ /// <reference types="./generated-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  /**
3
4
  * @internal