kysely 0.9.3 → 0.9.7

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 (66) hide show
  1. package/dist/cjs/dialect/mysql/mysql-dialect.d.ts +11 -0
  2. package/dist/cjs/dialect/mysql/mysql-dialect.js +7 -0
  3. package/dist/cjs/dialect/postgres/postgres-dialect.d.ts +13 -1
  4. package/dist/cjs/dialect/postgres/postgres-dialect.js +10 -0
  5. package/dist/cjs/dialect/postgres/postgres-driver.js +2 -2
  6. package/dist/cjs/dialect/postgres/postgres-query-compiler.js +1 -1
  7. package/dist/cjs/driver/runtime-driver.d.ts +3 -2
  8. package/dist/cjs/driver/runtime-driver.js +57 -4
  9. package/dist/cjs/index.d.ts +2 -1
  10. package/dist/cjs/kysely.d.ts +31 -9
  11. package/dist/cjs/kysely.js +25 -9
  12. package/dist/cjs/migration/migration.d.ts +32 -0
  13. package/dist/cjs/operation-node/operator-node.d.ts +1 -1
  14. package/dist/cjs/operation-node/operator-node.js +1 -0
  15. package/dist/cjs/parser/join-parser.d.ts +4 -4
  16. package/dist/cjs/plugin/camel-case/camel-case-plugin.js +5 -116
  17. package/dist/cjs/plugin/camel-case/camel-case-transformer.d.ts +8 -0
  18. package/dist/cjs/plugin/camel-case/camel-case-transformer.js +19 -0
  19. package/dist/cjs/plugin/camel-case/camel-case.d.ts +15 -0
  20. package/dist/cjs/plugin/camel-case/camel-case.js +109 -0
  21. package/dist/cjs/plugin/kysely-plugin.d.ts +1 -1
  22. package/dist/cjs/query-builder/query-builder.d.ts +35 -0
  23. package/dist/cjs/query-builder/query-builder.js +37 -0
  24. package/dist/cjs/query-executor/default-query-executor.d.ts +1 -0
  25. package/dist/cjs/query-executor/default-query-executor.js +6 -0
  26. package/dist/cjs/query-executor/noop-query-executor.d.ts +1 -0
  27. package/dist/cjs/query-executor/noop-query-executor.js +3 -0
  28. package/dist/cjs/query-executor/query-executor.d.ts +9 -4
  29. package/dist/cjs/util/log.d.ts +19 -0
  30. package/dist/cjs/util/log.js +37 -0
  31. package/dist/cjs/util/random-string.js +6 -3
  32. package/dist/cjs/util/type-utils.d.ts +4 -4
  33. package/dist/esm/dialect/mysql/mysql-dialect.d.ts +11 -0
  34. package/dist/esm/dialect/mysql/mysql-dialect.js +7 -0
  35. package/dist/esm/dialect/mysql/mysql-driver.js +1 -1
  36. package/dist/esm/dialect/postgres/postgres-dialect.d.ts +13 -1
  37. package/dist/esm/dialect/postgres/postgres-dialect.js +10 -0
  38. package/dist/esm/dialect/postgres/postgres-driver.js +2 -2
  39. package/dist/esm/dialect/postgres/postgres-query-compiler.js +1 -1
  40. package/dist/esm/driver/runtime-driver.d.ts +3 -2
  41. package/dist/esm/driver/runtime-driver.js +57 -4
  42. package/dist/esm/index.d.ts +2 -1
  43. package/dist/esm/kysely.d.ts +31 -9
  44. package/dist/esm/kysely.js +25 -9
  45. package/dist/esm/migration/migration.d.ts +32 -0
  46. package/dist/esm/operation-node/operator-node.d.ts +1 -1
  47. package/dist/esm/operation-node/operator-node.js +1 -0
  48. package/dist/esm/parser/join-parser.d.ts +4 -4
  49. package/dist/esm/plugin/camel-case/camel-case-plugin.js +4 -115
  50. package/dist/esm/plugin/camel-case/camel-case-transformer.d.ts +8 -0
  51. package/dist/esm/plugin/camel-case/camel-case-transformer.js +15 -0
  52. package/dist/esm/plugin/camel-case/camel-case.d.ts +15 -0
  53. package/dist/esm/plugin/camel-case/camel-case.js +104 -0
  54. package/dist/esm/plugin/kysely-plugin.d.ts +1 -1
  55. package/dist/esm/query-builder/query-builder.d.ts +35 -0
  56. package/dist/esm/query-builder/query-builder.js +37 -0
  57. package/dist/esm/query-executor/default-query-executor.d.ts +1 -0
  58. package/dist/esm/query-executor/default-query-executor.js +6 -0
  59. package/dist/esm/query-executor/noop-query-executor.d.ts +1 -0
  60. package/dist/esm/query-executor/noop-query-executor.js +3 -0
  61. package/dist/esm/query-executor/query-executor.d.ts +9 -4
  62. package/dist/esm/util/log.d.ts +19 -0
  63. package/dist/esm/util/log.js +33 -0
  64. package/dist/esm/util/random-string.js +6 -3
  65. package/dist/esm/util/type-utils.d.ts +4 -4
  66. package/package.json +4 -1
@@ -0,0 +1,19 @@
1
+ import { ArrayItemType } from './type-utils.js';
2
+ export declare const LOG_LEVELS: readonly ["query", "error"];
3
+ export declare type LogLevel = ArrayItemType<typeof LOG_LEVELS>;
4
+ export declare class Log {
5
+ #private;
6
+ constructor(levels: ReadonlyArray<LogLevel>);
7
+ query(getEvent: () => QueryLogEvent): void;
8
+ error(getEvent: () => ErrorLogEvent): void;
9
+ }
10
+ export declare type LogEvent = QueryLogEvent | ErrorLogEvent;
11
+ export interface QueryLogEvent {
12
+ readonly level: 'query';
13
+ readonly sql: string;
14
+ readonly queryDurationMillis: number;
15
+ }
16
+ export interface ErrorLogEvent {
17
+ readonly level: 'error';
18
+ readonly error: unknown;
19
+ }
@@ -0,0 +1,33 @@
1
+ import { freeze } from './object-utils.js';
2
+ export const LOG_LEVELS = ['query', 'error'];
3
+ export class Log {
4
+ #levels;
5
+ constructor(levels) {
6
+ this.#levels = freeze({
7
+ query: levels.includes('query'),
8
+ error: levels.includes('error'),
9
+ });
10
+ }
11
+ query(getEvent) {
12
+ if (this.#levels.query) {
13
+ this.#defaultQuery(getEvent());
14
+ }
15
+ }
16
+ error(getEvent) {
17
+ if (this.#levels.error) {
18
+ this.#defaultError(getEvent());
19
+ }
20
+ }
21
+ #defaultQuery(event) {
22
+ console.log(`kysely:query: ${event.sql}`);
23
+ console.log(`kysely:query: duration: ${event.queryDurationMillis.toFixed(1)}ms`);
24
+ }
25
+ #defaultError(event) {
26
+ if (event.error instanceof Error) {
27
+ console.error(`kysely:error: ${event.error.stack ?? event.error.message}`);
28
+ }
29
+ else {
30
+ console.error(`kysely:error: ${event}`);
31
+ }
32
+ }
33
+ }
@@ -1,8 +1,11 @@
1
1
  const CHARS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
2
2
  export function randomString(length) {
3
- let chars = new Array(length);
3
+ let chars = '';
4
4
  for (let i = 0; i < length; ++i) {
5
- chars[i] = CHARS[Math.floor(Math.random() * CHARS.length)];
5
+ chars += randomChar();
6
6
  }
7
- return chars.join('');
7
+ return chars;
8
+ }
9
+ function randomChar() {
10
+ return CHARS[Math.floor(Math.random() * CHARS.length)];
8
11
  }
@@ -136,19 +136,19 @@ export declare type RawBuilderFactory<DB, TB extends keyof DB> = (qb: Expression
136
136
  export declare type AliasedRawBuilderFactory<DB, TB extends keyof DB> = (qb: ExpressionBuilder<DB, TB>) => AnyAliasedRawBuilder;
137
137
  export interface InsertResultTypeTag {
138
138
  /** @internal */
139
- __isInsertResultTypeTag__: true;
139
+ readonly __isInsertResultTypeTag__: true;
140
140
  }
141
141
  export interface DeleteResultTypeTag {
142
142
  /** @internal */
143
- __isDeleteResultTypeTag__: true;
143
+ readonly __isDeleteResultTypeTag__: true;
144
144
  }
145
145
  export interface UpdateResultTypeTag {
146
146
  /** @internal */
147
- __isUpdateResultTypeTag__: true;
147
+ readonly __isUpdateResultTypeTag__: true;
148
148
  }
149
149
  export interface GeneratedPlaceholder {
150
150
  /** @internal */
151
- __isGeneratedPlaceholder__: true;
151
+ readonly __isGeneratedPlaceholder__: true;
152
152
  }
153
153
  export declare type ManyResultRowType<O> = O extends InsertResultTypeTag ? number | undefined : O extends DeleteResultTypeTag ? number : O extends UpdateResultTypeTag ? number : O;
154
154
  export declare type SingleResultRowType<O> = O extends InsertResultTypeTag ? number | undefined : O extends DeleteResultTypeTag ? number : O extends UpdateResultTypeTag ? number : O | undefined;
package/package.json CHANGED
@@ -1,11 +1,14 @@
1
1
  {
2
2
  "name": "kysely",
3
- "version": "0.9.3",
3
+ "version": "0.9.7",
4
4
  "description": "Type safe SQL query builder",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "git://github.com/koskimas/kysely.git"
8
8
  },
9
+ "engines": {
10
+ "node": ">=16.0.0"
11
+ },
9
12
  "main": "dist/cjs/index.js",
10
13
  "module": "dist/esm/index.js",
11
14
  "exports": {