kysely 0.7.2 → 0.7.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. package/README.md +9 -5
  2. package/dist/cjs/dialect/dialect-adapter.d.ts +11 -9
  3. package/dist/cjs/index.d.ts +2 -1
  4. package/dist/cjs/index.js +2 -1
  5. package/dist/cjs/kysely.d.ts +2 -2
  6. package/dist/cjs/kysely.js +9 -7
  7. package/dist/cjs/operation-node/create-table-node.d.ts +2 -1
  8. package/dist/cjs/operation-node/create-table-node.js +1 -5
  9. package/dist/cjs/operation-node/foreign-key-constraint-node.d.ts +12 -1
  10. package/dist/cjs/operation-node/foreign-key-constraint-node.js +6 -0
  11. package/dist/cjs/operation-node/join-node.d.ts +1 -0
  12. package/dist/cjs/operation-node/join-node.js +8 -0
  13. package/dist/cjs/operation-node/operation-node-transformer.js +3 -0
  14. package/dist/cjs/operation-node/references-node.d.ts +5 -3
  15. package/dist/cjs/operation-node/references-node.js +6 -0
  16. package/dist/cjs/operation-node/table-node.js +2 -2
  17. package/dist/cjs/parser/data-type-parser.d.ts +5 -0
  18. package/dist/cjs/parser/data-type-parser.js +11 -0
  19. package/dist/cjs/parser/default-value-parser.d.ts +6 -0
  20. package/dist/cjs/parser/default-value-parser.js +11 -0
  21. package/dist/cjs/parser/filter-parser.d.ts +2 -2
  22. package/dist/cjs/parser/filter-parser.js +34 -36
  23. package/dist/cjs/parser/join-parser.d.ts +1 -1
  24. package/dist/cjs/parser/join-parser.js +9 -11
  25. package/dist/cjs/parser/parse-context.d.ts +33 -6
  26. package/dist/cjs/parser/parse-context.js +40 -33
  27. package/dist/cjs/parser/reference-parser.d.ts +2 -2
  28. package/dist/cjs/parser/reference-parser.js +16 -12
  29. package/dist/cjs/parser/select-parser.d.ts +1 -2
  30. package/dist/cjs/parser/select-parser.js +4 -5
  31. package/dist/cjs/parser/table-parser.js +11 -6
  32. package/dist/cjs/parser/update-set-parser.js +1 -1
  33. package/dist/cjs/parser/value-parser.js +1 -1
  34. package/dist/cjs/query-builder/{sub-query-builder.d.ts → expression-builder.d.ts} +6 -6
  35. package/dist/cjs/query-builder/{sub-query-builder.js → expression-builder.js} +6 -10
  36. package/dist/cjs/query-builder/join-builder.d.ts +2 -2
  37. package/dist/cjs/query-builder/join-builder.js +8 -12
  38. package/dist/cjs/query-builder/query-builder.d.ts +2 -2
  39. package/dist/cjs/query-builder/query-builder.js +34 -36
  40. package/dist/cjs/query-builder/type-utils.d.ts +5 -5
  41. package/dist/cjs/query-compiler/default-query-compiler.js +13 -1
  42. package/dist/cjs/query-creator.d.ts +2 -2
  43. package/dist/cjs/query-creator.js +8 -12
  44. package/dist/cjs/schema/alter-table-builder.d.ts +26 -8
  45. package/dist/cjs/schema/alter-table-builder.js +75 -7
  46. package/dist/cjs/schema/column-definition-builder.d.ts +10 -4
  47. package/dist/cjs/schema/column-definition-builder.js +11 -6
  48. package/dist/cjs/schema/create-index-builder.d.ts +5 -5
  49. package/dist/cjs/schema/create-index-builder.js +19 -28
  50. package/dist/cjs/schema/create-schema-builder.d.ts +5 -5
  51. package/dist/cjs/schema/create-schema-builder.js +9 -13
  52. package/dist/cjs/schema/create-table-builder.d.ts +22 -10
  53. package/dist/cjs/schema/create-table-builder.js +41 -34
  54. package/dist/cjs/schema/drop-index-builder.d.ts +5 -5
  55. package/dist/cjs/schema/drop-index-builder.js +11 -16
  56. package/dist/cjs/schema/drop-schema-builder.d.ts +5 -5
  57. package/dist/cjs/schema/drop-schema-builder.js +9 -13
  58. package/dist/cjs/schema/drop-table-builder.d.ts +5 -5
  59. package/dist/cjs/schema/drop-table-builder.js +9 -13
  60. package/dist/cjs/schema/foreign-key-constraint-builder.d.ts +14 -0
  61. package/dist/cjs/schema/foreign-key-constraint-builder.js +26 -0
  62. package/dist/esm/dialect/dialect-adapter.d.ts +11 -9
  63. package/dist/esm/index.d.ts +2 -1
  64. package/dist/esm/index.js +2 -1
  65. package/dist/esm/kysely.d.ts +2 -2
  66. package/dist/esm/kysely.js +9 -7
  67. package/dist/esm/operation-node/create-table-node.d.ts +2 -1
  68. package/dist/esm/operation-node/create-table-node.js +1 -5
  69. package/dist/esm/operation-node/foreign-key-constraint-node.d.ts +12 -1
  70. package/dist/esm/operation-node/foreign-key-constraint-node.js +6 -0
  71. package/dist/esm/operation-node/join-node.d.ts +1 -0
  72. package/dist/esm/operation-node/join-node.js +8 -0
  73. package/dist/esm/operation-node/operation-node-transformer.js +3 -0
  74. package/dist/esm/operation-node/references-node.d.ts +5 -3
  75. package/dist/esm/operation-node/references-node.js +6 -0
  76. package/dist/esm/operation-node/table-node.js +2 -2
  77. package/dist/esm/parser/data-type-parser.d.ts +5 -0
  78. package/dist/esm/parser/data-type-parser.js +7 -0
  79. package/dist/esm/parser/default-value-parser.d.ts +6 -0
  80. package/dist/esm/parser/default-value-parser.js +7 -0
  81. package/dist/esm/parser/filter-parser.d.ts +2 -2
  82. package/dist/esm/parser/filter-parser.js +31 -33
  83. package/dist/esm/parser/join-parser.d.ts +1 -1
  84. package/dist/esm/parser/join-parser.js +7 -9
  85. package/dist/esm/parser/parse-context.d.ts +33 -6
  86. package/dist/esm/parser/parse-context.js +38 -31
  87. package/dist/esm/parser/reference-parser.d.ts +2 -2
  88. package/dist/esm/parser/reference-parser.js +16 -12
  89. package/dist/esm/parser/select-parser.d.ts +1 -2
  90. package/dist/esm/parser/select-parser.js +3 -3
  91. package/dist/esm/parser/table-parser.js +11 -6
  92. package/dist/esm/parser/update-set-parser.js +1 -1
  93. package/dist/esm/parser/value-parser.js +1 -1
  94. package/dist/esm/query-builder/{sub-query-builder.d.ts → expression-builder.d.ts} +6 -6
  95. package/dist/esm/query-builder/{sub-query-builder.js → expression-builder.js} +4 -8
  96. package/dist/esm/query-builder/join-builder.d.ts +2 -2
  97. package/dist/esm/query-builder/join-builder.js +9 -13
  98. package/dist/esm/query-builder/query-builder.d.ts +2 -2
  99. package/dist/esm/query-builder/query-builder.js +37 -39
  100. package/dist/esm/query-builder/type-utils.d.ts +5 -5
  101. package/dist/esm/query-compiler/default-query-compiler.js +14 -2
  102. package/dist/esm/query-creator.d.ts +2 -2
  103. package/dist/esm/query-creator.js +8 -12
  104. package/dist/esm/schema/alter-table-builder.d.ts +26 -8
  105. package/dist/esm/schema/alter-table-builder.js +73 -6
  106. package/dist/esm/schema/column-definition-builder.d.ts +10 -4
  107. package/dist/esm/schema/column-definition-builder.js +12 -7
  108. package/dist/esm/schema/create-index-builder.d.ts +5 -5
  109. package/dist/esm/schema/create-index-builder.js +19 -28
  110. package/dist/esm/schema/create-schema-builder.d.ts +5 -5
  111. package/dist/esm/schema/create-schema-builder.js +9 -13
  112. package/dist/esm/schema/create-table-builder.d.ts +22 -10
  113. package/dist/esm/schema/create-table-builder.js +41 -34
  114. package/dist/esm/schema/drop-index-builder.d.ts +5 -5
  115. package/dist/esm/schema/drop-index-builder.js +11 -16
  116. package/dist/esm/schema/drop-schema-builder.d.ts +5 -5
  117. package/dist/esm/schema/drop-schema-builder.js +9 -13
  118. package/dist/esm/schema/drop-table-builder.d.ts +5 -5
  119. package/dist/esm/schema/drop-table-builder.js +9 -13
  120. package/dist/esm/schema/foreign-key-constraint-builder.d.ts +14 -0
  121. package/dist/esm/schema/foreign-key-constraint-builder.js +22 -0
  122. package/package.json +1 -1
@@ -1,14 +1,11 @@
1
1
  import { DropIndexNode } from '../operation-node/drop-index-node.js';
2
2
  import { preventAwait } from '../util/prevent-await.js';
3
3
  import { parseTable } from '../parser/table-parser.js';
4
+ import { freeze } from '../util/object-utils.js';
4
5
  export class DropIndexBuilder {
5
- #queryId;
6
- #dropIndexNode;
7
- #executor;
8
- constructor(args) {
9
- this.#queryId = args.queryId;
10
- this.#dropIndexNode = args.dropIndexNode;
11
- this.#executor = args.executor;
6
+ #props;
7
+ constructor(props) {
8
+ this.#props = freeze(props);
12
9
  }
13
10
  /**
14
11
  * Specifies the table the index was created for. This is not needed
@@ -16,30 +13,28 @@ export class DropIndexBuilder {
16
13
  */
17
14
  on(table) {
18
15
  return new DropIndexBuilder({
19
- queryId: this.#queryId,
20
- executor: this.#executor,
21
- dropIndexNode: DropIndexNode.cloneWith(this.#dropIndexNode, {
16
+ ...this.#props,
17
+ dropIndexNode: DropIndexNode.cloneWith(this.#props.dropIndexNode, {
22
18
  table: parseTable(table),
23
19
  }),
24
20
  });
25
21
  }
26
22
  ifExists() {
27
23
  return new DropIndexBuilder({
28
- queryId: this.#queryId,
29
- executor: this.#executor,
30
- dropIndexNode: DropIndexNode.cloneWith(this.#dropIndexNode, {
24
+ ...this.#props,
25
+ dropIndexNode: DropIndexNode.cloneWith(this.#props.dropIndexNode, {
31
26
  modifier: 'IfExists',
32
27
  }),
33
28
  });
34
29
  }
35
30
  toOperationNode() {
36
- return this.#executor.transformQuery(this.#dropIndexNode, this.#queryId);
31
+ return this.#props.executor.transformQuery(this.#props.dropIndexNode, this.#props.queryId);
37
32
  }
38
33
  compile() {
39
- return this.#executor.compileQuery(this.toOperationNode(), this.#queryId);
34
+ return this.#props.executor.compileQuery(this.toOperationNode(), this.#props.queryId);
40
35
  }
41
36
  async execute() {
42
- await this.#executor.executeQuery(this.compile(), this.#queryId);
37
+ await this.#props.executor.executeQuery(this.compile(), this.#props.queryId);
43
38
  }
44
39
  }
45
40
  preventAwait(DropIndexBuilder, "don't await DropIndexBuilder instances directly. To execute the query you need to call `execute`");
@@ -6,14 +6,14 @@ import { QueryExecutor } from '../query-executor/query-executor.js';
6
6
  import { QueryId } from '../util/query-id.js';
7
7
  export declare class DropSchemaBuilder implements OperationNodeSource, Compilable {
8
8
  #private;
9
- constructor(args: DropSchemaBuilderConstructorArgs);
9
+ constructor(props: DropSchemaBuilderProps);
10
10
  ifExists(): DropSchemaBuilder;
11
11
  toOperationNode(): DropSchemaNode;
12
12
  compile(): CompiledQuery;
13
13
  execute(): Promise<void>;
14
14
  }
15
- export interface DropSchemaBuilderConstructorArgs {
16
- queryId: QueryId;
17
- dropSchemaNode: DropSchemaNode;
18
- executor: QueryExecutor;
15
+ export interface DropSchemaBuilderProps {
16
+ readonly queryId: QueryId;
17
+ readonly executor: QueryExecutor;
18
+ readonly dropSchemaNode: DropSchemaNode;
19
19
  }
@@ -1,29 +1,25 @@
1
1
  import { DropSchemaNode } from '../operation-node/drop-schema-node.js';
2
2
  import { preventAwait } from '../util/prevent-await.js';
3
+ import { freeze } from '../util/object-utils.js';
3
4
  export class DropSchemaBuilder {
4
- #queryId;
5
- #dropSchemaNode;
6
- #executor;
7
- constructor(args) {
8
- this.#queryId = args.queryId;
9
- this.#dropSchemaNode = args.dropSchemaNode;
10
- this.#executor = args.executor;
5
+ #props;
6
+ constructor(props) {
7
+ this.#props = freeze(props);
11
8
  }
12
9
  ifExists() {
13
10
  return new DropSchemaBuilder({
14
- queryId: this.#queryId,
15
- executor: this.#executor,
16
- dropSchemaNode: DropSchemaNode.cloneWithModifier(this.#dropSchemaNode, 'IfExists'),
11
+ ...this.#props,
12
+ dropSchemaNode: DropSchemaNode.cloneWithModifier(this.#props.dropSchemaNode, 'IfExists'),
17
13
  });
18
14
  }
19
15
  toOperationNode() {
20
- return this.#executor.transformQuery(this.#dropSchemaNode, this.#queryId);
16
+ return this.#props.executor.transformQuery(this.#props.dropSchemaNode, this.#props.queryId);
21
17
  }
22
18
  compile() {
23
- return this.#executor.compileQuery(this.toOperationNode(), this.#queryId);
19
+ return this.#props.executor.compileQuery(this.toOperationNode(), this.#props.queryId);
24
20
  }
25
21
  async execute() {
26
- await this.#executor.executeQuery(this.compile(), this.#queryId);
22
+ await this.#props.executor.executeQuery(this.compile(), this.#props.queryId);
27
23
  }
28
24
  }
29
25
  preventAwait(DropSchemaBuilder, "don't await DropSchemaBuilder instances directly. To execute the query you need to call `execute`");
@@ -6,14 +6,14 @@ import { QueryExecutor } from '../query-executor/query-executor.js';
6
6
  import { QueryId } from '../util/query-id.js';
7
7
  export declare class DropTableBuilder implements OperationNodeSource, Compilable {
8
8
  #private;
9
- constructor(args: DropTableBuilderConstructorArgs);
9
+ constructor(props: DropTableBuilderProps);
10
10
  ifExists(): DropTableBuilder;
11
11
  toOperationNode(): DropTableNode;
12
12
  compile(): CompiledQuery;
13
13
  execute(): Promise<void>;
14
14
  }
15
- export interface DropTableBuilderConstructorArgs {
16
- queryId: QueryId;
17
- dropTableNode: DropTableNode;
18
- executor: QueryExecutor;
15
+ export interface DropTableBuilderProps {
16
+ readonly queryId: QueryId;
17
+ readonly executor: QueryExecutor;
18
+ readonly dropTableNode: DropTableNode;
19
19
  }
@@ -1,29 +1,25 @@
1
1
  import { DropTableNode } from '../operation-node/drop-table-node.js';
2
2
  import { preventAwait } from '../util/prevent-await.js';
3
+ import { freeze } from '../util/object-utils.js';
3
4
  export class DropTableBuilder {
4
- #queryId;
5
- #dropTableNode;
6
- #executor;
7
- constructor(args) {
8
- this.#queryId = args.queryId;
9
- this.#dropTableNode = args.dropTableNode;
10
- this.#executor = args.executor;
5
+ #props;
6
+ constructor(props) {
7
+ this.#props = freeze(props);
11
8
  }
12
9
  ifExists() {
13
10
  return new DropTableBuilder({
14
- queryId: this.#queryId,
15
- executor: this.#executor,
16
- dropTableNode: DropTableNode.cloneWithModifier(this.#dropTableNode, 'IfExists'),
11
+ ...this.#props,
12
+ dropTableNode: DropTableNode.cloneWithModifier(this.#props.dropTableNode, 'IfExists'),
17
13
  });
18
14
  }
19
15
  toOperationNode() {
20
- return this.#executor.transformQuery(this.#dropTableNode, this.#queryId);
16
+ return this.#props.executor.transformQuery(this.#props.dropTableNode, this.#props.queryId);
21
17
  }
22
18
  compile() {
23
- return this.#executor.compileQuery(this.toOperationNode(), this.#queryId);
19
+ return this.#props.executor.compileQuery(this.toOperationNode(), this.#props.queryId);
24
20
  }
25
21
  async execute() {
26
- await this.#executor.executeQuery(this.compile(), this.#queryId);
22
+ await this.#props.executor.executeQuery(this.compile(), this.#props.queryId);
27
23
  }
28
24
  }
29
25
  preventAwait(DropTableBuilder, "don't await DropTableBuilder instances directly. To execute the query you need to call `execute`");
@@ -0,0 +1,14 @@
1
+ import { ForeignKeyConstraintNode } from '../operation-node/foreign-key-constraint-node.js';
2
+ import { OperationNodeSource } from '../operation-node/operation-node-source.js';
3
+ import { OnModifyForeignAction } from '../operation-node/references-node.js';
4
+ export interface ForeignKeyConstraintBuilderInterface<R> {
5
+ onDelete(onDelete: OnModifyForeignAction): R;
6
+ onUpdate(onUpdate: OnModifyForeignAction): R;
7
+ }
8
+ export declare class ForeignKeyConstraintBuilder implements ForeignKeyConstraintBuilderInterface<ForeignKeyConstraintBuilder>, OperationNodeSource {
9
+ #private;
10
+ constructor(node: ForeignKeyConstraintNode);
11
+ onDelete(onDelete: OnModifyForeignAction): ForeignKeyConstraintBuilder;
12
+ onUpdate(onUpdate: OnModifyForeignAction): ForeignKeyConstraintBuilder;
13
+ toOperationNode(): ForeignKeyConstraintNode;
14
+ }
@@ -0,0 +1,22 @@
1
+ import { ForeignKeyConstraintNode } from '../operation-node/foreign-key-constraint-node.js';
2
+ import { preventAwait } from '../util/prevent-await.js';
3
+ export class ForeignKeyConstraintBuilder {
4
+ #node;
5
+ constructor(node) {
6
+ this.#node = node;
7
+ }
8
+ onDelete(onDelete) {
9
+ return new ForeignKeyConstraintBuilder(ForeignKeyConstraintNode.cloneWith(this.#node, {
10
+ onDelete,
11
+ }));
12
+ }
13
+ onUpdate(onUpdate) {
14
+ return new ForeignKeyConstraintBuilder(ForeignKeyConstraintNode.cloneWith(this.#node, {
15
+ onUpdate,
16
+ }));
17
+ }
18
+ toOperationNode() {
19
+ return this.#node;
20
+ }
21
+ }
22
+ preventAwait(ForeignKeyConstraintBuilder, "don't await ForeignKeyConstraintBuilder instances directly.");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kysely",
3
- "version": "0.7.2",
3
+ "version": "0.7.6",
4
4
  "description": "Type safe SQL query builder",
5
5
  "repository": {
6
6
  "type": "git",