kysely 0.27.3 → 0.27.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.
- package/CONTRIBUTING.md +1 -1
- package/README.md +7 -7
- package/dist/cjs/dialect/dialect-adapter-base.d.ts +2 -1
- package/dist/cjs/dialect/dialect-adapter-base.js +4 -1
- package/dist/cjs/dialect/dialect-adapter.d.ts +5 -0
- package/dist/cjs/dialect/mssql/mssql-adapter.d.ts +1 -5
- package/dist/cjs/dialect/mssql/mssql-adapter.js +2 -4
- package/dist/cjs/dialect/mssql/mssql-dialect-config.d.ts +46 -26
- package/dist/cjs/dialect/mssql/mssql-driver.d.ts +1 -0
- package/dist/cjs/dialect/mssql/mssql-driver.js +95 -36
- package/dist/cjs/dialect/postgres/postgres-introspector.js +1 -1
- package/dist/cjs/driver/database-connection.d.ts +3 -1
- package/dist/cjs/dynamic/dynamic-reference-builder.js +2 -2
- package/dist/cjs/dynamic/dynamic.d.ts +1 -1
- package/dist/cjs/dynamic/dynamic.js +1 -1
- package/dist/cjs/expression/expression-builder.d.ts +2 -2
- package/dist/cjs/expression/expression-builder.js +2 -3
- package/dist/cjs/expression/expression.js +2 -3
- package/dist/cjs/helpers/mssql.js +3 -4
- package/dist/cjs/helpers/mysql.d.ts +3 -3
- package/dist/cjs/helpers/mysql.js +6 -7
- package/dist/cjs/helpers/postgres.d.ts +4 -4
- package/dist/cjs/helpers/postgres.js +7 -8
- package/dist/cjs/helpers/sqlite.js +3 -4
- package/dist/cjs/index.d.ts +28 -21
- package/dist/cjs/index.js +28 -21
- package/dist/cjs/kysely.d.ts +1 -1
- package/dist/cjs/kysely.js +3 -3
- package/dist/cjs/operation-node/alter-column-node.d.ts +1 -1
- package/dist/cjs/operation-node/case-node.d.ts +1 -1
- package/dist/cjs/operation-node/column-definition-node.d.ts +1 -0
- package/dist/cjs/operation-node/data-type-node.d.ts +2 -2
- package/dist/cjs/operation-node/data-type-node.js +5 -3
- package/dist/cjs/operation-node/delete-query-node.d.ts +2 -0
- package/dist/cjs/operation-node/foreign-key-constraint-node.d.ts +4 -4
- package/dist/cjs/operation-node/having-node.d.ts +1 -1
- package/dist/cjs/operation-node/insert-query-node.d.ts +2 -0
- package/dist/cjs/operation-node/merge-query-node.d.ts +2 -0
- package/dist/cjs/operation-node/on-node.d.ts +1 -1
- package/dist/cjs/operation-node/operation-node-source.js +1 -2
- package/dist/cjs/operation-node/operation-node-transformer.d.ts +2 -0
- package/dist/cjs/operation-node/operation-node-transformer.js +12 -0
- package/dist/cjs/operation-node/operation-node-visitor.d.ts +2 -0
- package/dist/cjs/operation-node/operation-node-visitor.js +1 -0
- package/dist/cjs/operation-node/operation-node.d.ts +1 -1
- package/dist/cjs/operation-node/operator-node.d.ts +3 -3
- package/dist/cjs/operation-node/operator-node.js +8 -6
- package/dist/cjs/operation-node/output-node.d.ts +13 -0
- package/dist/cjs/operation-node/output-node.js +26 -0
- package/dist/cjs/operation-node/query-node.d.ts +11 -6
- package/dist/cjs/operation-node/query-node.js +9 -0
- package/dist/cjs/operation-node/select-query-node.d.ts +1 -0
- package/dist/cjs/operation-node/select-query-node.js +6 -0
- package/dist/cjs/operation-node/update-query-node.d.ts +2 -0
- package/dist/cjs/operation-node/where-node.d.ts +1 -1
- package/dist/cjs/parser/binary-operation-parser.js +5 -6
- package/dist/cjs/parser/data-type-parser.js +1 -2
- package/dist/cjs/parser/default-value-parser.js +1 -2
- package/dist/cjs/parser/expression-parser.js +3 -4
- package/dist/cjs/parser/fetch-parser.js +1 -2
- package/dist/cjs/parser/group-by-parser.js +1 -2
- package/dist/cjs/parser/identifier-parser.js +1 -2
- package/dist/cjs/parser/insert-values-parser.js +1 -2
- package/dist/cjs/parser/join-parser.js +1 -2
- package/dist/cjs/parser/merge-parser.js +2 -3
- package/dist/cjs/parser/on-commit-action-parse.js +1 -2
- package/dist/cjs/parser/on-modify-action-parser.js +1 -2
- package/dist/cjs/parser/order-by-parser.js +3 -4
- package/dist/cjs/parser/parse-utils.js +4 -5
- package/dist/cjs/parser/partition-by-parser.js +1 -2
- package/dist/cjs/parser/reference-parser.js +8 -9
- package/dist/cjs/parser/returning-parser.d.ts +4 -3
- package/dist/cjs/parser/select-parser.js +2 -3
- package/dist/cjs/parser/set-operation-parser.js +1 -2
- package/dist/cjs/parser/table-parser.js +4 -5
- package/dist/cjs/parser/top-parser.js +1 -2
- package/dist/cjs/parser/unary-operation-parser.js +3 -4
- package/dist/cjs/parser/update-set-parser.js +2 -3
- package/dist/cjs/parser/value-parser.js +4 -5
- package/dist/cjs/parser/with-parser.js +1 -2
- package/dist/cjs/plugin/camel-case/camel-case-plugin.d.ts +2 -2
- package/dist/cjs/plugin/camel-case/camel-case-plugin.js +2 -2
- package/dist/cjs/plugin/camel-case/camel-case.js +2 -3
- package/dist/cjs/plugin/parse-json-results/parse-json-results-plugin.d.ts +18 -0
- package/dist/cjs/plugin/parse-json-results/parse-json-results-plugin.js +19 -11
- package/dist/cjs/query-builder/delete-query-builder.d.ts +89 -5
- package/dist/cjs/query-builder/delete-query-builder.js +19 -5
- package/dist/cjs/query-builder/function-module.d.ts +5 -5
- package/dist/cjs/query-builder/function-module.js +1 -2
- package/dist/cjs/query-builder/insert-query-builder.d.ts +95 -10
- package/dist/cjs/query-builder/insert-query-builder.js +25 -10
- package/dist/cjs/query-builder/merge-query-builder.d.ts +167 -3
- package/dist/cjs/query-builder/merge-query-builder.js +30 -1
- package/dist/cjs/query-builder/no-result-error.js +2 -2
- package/dist/cjs/query-builder/on-conflict-builder.d.ts +2 -2
- package/dist/cjs/query-builder/output-interface.d.ts +95 -0
- package/dist/cjs/query-builder/output-interface.js +2 -0
- package/dist/cjs/query-builder/returning-interface.d.ts +2 -0
- package/dist/cjs/query-builder/select-query-builder.d.ts +76 -11
- package/dist/cjs/query-builder/select-query-builder.js +7 -2
- package/dist/cjs/query-builder/update-query-builder.d.ts +95 -10
- package/dist/cjs/query-builder/update-query-builder.js +21 -7
- package/dist/cjs/query-builder/update-result.d.ts +9 -0
- package/dist/cjs/query-builder/update-result.js +9 -0
- package/dist/cjs/query-builder/where-interface.d.ts +1 -1
- package/dist/cjs/query-compiler/default-query-compiler.d.ts +2 -0
- package/dist/cjs/query-compiler/default-query-compiler.js +25 -1
- package/dist/cjs/query-creator.d.ts +56 -3
- package/dist/cjs/query-creator.js +54 -1
- package/dist/cjs/raw-builder/raw-builder.js +1 -2
- package/dist/cjs/raw-builder/sql.d.ts +5 -5
- package/dist/cjs/schema/alter-column-builder.js +3 -0
- package/dist/cjs/schema/alter-table-add-index-builder.d.ts +1 -1
- package/dist/cjs/schema/alter-table-add-index-builder.js +1 -1
- package/dist/cjs/schema/alter-table-builder.js +1 -2
- package/dist/cjs/schema/column-definition-builder.d.ts +5 -0
- package/dist/cjs/schema/column-definition-builder.js +7 -0
- package/dist/cjs/util/assert.js +2 -3
- package/dist/cjs/util/compilable.js +1 -2
- package/dist/cjs/util/json-object-args.js +1 -2
- package/dist/cjs/util/log-once.js +1 -2
- package/dist/cjs/util/object-utils.js +38 -26
- package/dist/cjs/util/performance-now.js +1 -2
- package/dist/cjs/util/prevent-await.js +1 -2
- package/dist/cjs/util/query-id.js +1 -2
- package/dist/cjs/util/random-string.js +1 -2
- package/dist/cjs/util/require-all-props.js +1 -2
- package/dist/cjs/util/stack-trace-utils.js +1 -2
- package/dist/esm/dialect/dialect-adapter-base.d.ts +2 -1
- package/dist/esm/dialect/dialect-adapter-base.js +4 -1
- package/dist/esm/dialect/dialect-adapter.d.ts +5 -0
- package/dist/esm/dialect/mssql/mssql-adapter.d.ts +1 -5
- package/dist/esm/dialect/mssql/mssql-adapter.js +2 -4
- package/dist/esm/dialect/mssql/mssql-dialect-config.d.ts +46 -26
- package/dist/esm/dialect/mssql/mssql-driver.d.ts +1 -0
- package/dist/esm/dialect/mssql/mssql-driver.js +95 -36
- package/dist/esm/dialect/postgres/postgres-introspector.js +1 -1
- package/dist/esm/driver/database-connection.d.ts +3 -1
- package/dist/esm/dynamic/dynamic.d.ts +1 -1
- package/dist/esm/dynamic/dynamic.js +1 -1
- package/dist/esm/expression/expression-builder.d.ts +2 -2
- package/dist/esm/helpers/mysql.d.ts +3 -3
- package/dist/esm/helpers/mysql.js +3 -3
- package/dist/esm/helpers/postgres.d.ts +4 -4
- package/dist/esm/helpers/postgres.js +4 -4
- package/dist/esm/index.d.ts +28 -21
- package/dist/esm/index.js +28 -21
- package/dist/esm/kysely.d.ts +1 -1
- package/dist/esm/kysely.js +1 -1
- package/dist/esm/operation-node/alter-column-node.d.ts +1 -1
- package/dist/esm/operation-node/case-node.d.ts +1 -1
- package/dist/esm/operation-node/column-definition-node.d.ts +1 -0
- package/dist/esm/operation-node/data-type-node.d.ts +2 -2
- package/dist/esm/operation-node/data-type-node.js +3 -1
- package/dist/esm/operation-node/delete-query-node.d.ts +2 -0
- package/dist/esm/operation-node/foreign-key-constraint-node.d.ts +4 -4
- package/dist/esm/operation-node/having-node.d.ts +1 -1
- package/dist/esm/operation-node/insert-query-node.d.ts +2 -0
- package/dist/esm/operation-node/merge-query-node.d.ts +2 -0
- package/dist/esm/operation-node/on-node.d.ts +1 -1
- package/dist/esm/operation-node/operation-node-transformer.d.ts +2 -0
- package/dist/esm/operation-node/operation-node-transformer.js +12 -0
- package/dist/esm/operation-node/operation-node-visitor.d.ts +2 -0
- package/dist/esm/operation-node/operation-node-visitor.js +1 -0
- package/dist/esm/operation-node/operation-node.d.ts +1 -1
- package/dist/esm/operation-node/operator-node.d.ts +3 -3
- package/dist/esm/operation-node/operator-node.js +2 -0
- package/dist/esm/operation-node/output-node.d.ts +13 -0
- package/dist/esm/operation-node/output-node.js +24 -0
- package/dist/esm/operation-node/query-node.d.ts +11 -6
- package/dist/esm/operation-node/query-node.js +9 -0
- package/dist/esm/operation-node/select-query-node.d.ts +1 -0
- package/dist/esm/operation-node/select-query-node.js +6 -0
- package/dist/esm/operation-node/update-query-node.d.ts +2 -0
- package/dist/esm/operation-node/where-node.d.ts +1 -1
- package/dist/esm/parser/returning-parser.d.ts +4 -3
- package/dist/esm/plugin/camel-case/camel-case-plugin.d.ts +2 -2
- package/dist/esm/plugin/camel-case/camel-case-plugin.js +2 -2
- package/dist/esm/plugin/parse-json-results/parse-json-results-plugin.d.ts +18 -0
- package/dist/esm/plugin/parse-json-results/parse-json-results-plugin.js +19 -11
- package/dist/esm/query-builder/delete-query-builder.d.ts +89 -5
- package/dist/esm/query-builder/delete-query-builder.js +19 -5
- package/dist/esm/query-builder/function-module.d.ts +5 -5
- package/dist/esm/query-builder/insert-query-builder.d.ts +95 -10
- package/dist/esm/query-builder/insert-query-builder.js +25 -10
- package/dist/esm/query-builder/merge-query-builder.d.ts +167 -3
- package/dist/esm/query-builder/merge-query-builder.js +30 -1
- package/dist/esm/query-builder/on-conflict-builder.d.ts +2 -2
- package/dist/esm/query-builder/output-interface.d.ts +95 -0
- package/dist/esm/query-builder/output-interface.js +2 -0
- package/dist/esm/query-builder/returning-interface.d.ts +2 -0
- package/dist/esm/query-builder/select-query-builder.d.ts +76 -11
- package/dist/esm/query-builder/select-query-builder.js +6 -0
- package/dist/esm/query-builder/update-query-builder.d.ts +95 -10
- package/dist/esm/query-builder/update-query-builder.js +21 -7
- package/dist/esm/query-builder/update-result.d.ts +9 -0
- package/dist/esm/query-builder/update-result.js +9 -0
- package/dist/esm/query-builder/where-interface.d.ts +1 -1
- package/dist/esm/query-compiler/default-query-compiler.d.ts +2 -0
- package/dist/esm/query-compiler/default-query-compiler.js +25 -1
- package/dist/esm/query-creator.d.ts +56 -3
- package/dist/esm/query-creator.js +54 -1
- package/dist/esm/raw-builder/sql.d.ts +5 -5
- package/dist/esm/schema/alter-column-builder.js +3 -0
- package/dist/esm/schema/alter-table-add-index-builder.d.ts +1 -1
- package/dist/esm/schema/alter-table-add-index-builder.js +1 -1
- package/dist/esm/schema/alter-table-builder.js +1 -2
- package/dist/esm/schema/column-definition-builder.d.ts +5 -0
- package/dist/esm/schema/column-definition-builder.js +7 -0
- package/dist/esm/util/object-utils.js +18 -5
- package/package.json +7 -6
|
@@ -91,6 +91,7 @@ import { AddIndexNode } from './add-index-node.js';
|
|
|
91
91
|
import { CastNode } from './cast-node.js';
|
|
92
92
|
import { FetchNode } from './fetch-node.js';
|
|
93
93
|
import { TopNode } from './top-node.js';
|
|
94
|
+
import { OutputNode } from './output-node.js';
|
|
94
95
|
/**
|
|
95
96
|
* Transforms an operation node tree into another one.
|
|
96
97
|
*
|
|
@@ -211,6 +212,7 @@ export declare class OperationNodeTransformer {
|
|
|
211
212
|
protected transformCast(node: CastNode): CastNode;
|
|
212
213
|
protected transformFetch(node: FetchNode): FetchNode;
|
|
213
214
|
protected transformTop(node: TopNode): TopNode;
|
|
215
|
+
protected transformOutput(node: OutputNode): OutputNode;
|
|
214
216
|
protected transformDataType(node: DataTypeNode): DataTypeNode;
|
|
215
217
|
protected transformSelectAll(node: SelectAllNode): SelectAllNode;
|
|
216
218
|
protected transformIdentifier(node: IdentifierNode): IdentifierNode;
|
|
@@ -127,6 +127,7 @@ class OperationNodeTransformer {
|
|
|
127
127
|
CastNode: this.transformCast.bind(this),
|
|
128
128
|
FetchNode: this.transformFetch.bind(this),
|
|
129
129
|
TopNode: this.transformTop.bind(this),
|
|
130
|
+
OutputNode: this.transformOutput.bind(this),
|
|
130
131
|
});
|
|
131
132
|
transformNode(node) {
|
|
132
133
|
if (!node) {
|
|
@@ -268,6 +269,7 @@ class OperationNodeTransformer {
|
|
|
268
269
|
explain: this.transformNode(node.explain),
|
|
269
270
|
defaultValues: node.defaultValues,
|
|
270
271
|
top: this.transformNode(node.top),
|
|
272
|
+
output: this.transformNode(node.output),
|
|
271
273
|
});
|
|
272
274
|
}
|
|
273
275
|
transformValues(node) {
|
|
@@ -289,6 +291,7 @@ class OperationNodeTransformer {
|
|
|
289
291
|
limit: this.transformNode(node.limit),
|
|
290
292
|
explain: this.transformNode(node.explain),
|
|
291
293
|
top: this.transformNode(node.top),
|
|
294
|
+
output: this.transformNode(node.output),
|
|
292
295
|
});
|
|
293
296
|
}
|
|
294
297
|
transformReturning(node) {
|
|
@@ -329,6 +332,7 @@ class OperationNodeTransformer {
|
|
|
329
332
|
endModifiers: this.transformNodeList(node.endModifiers),
|
|
330
333
|
nullsNotDistinct: node.nullsNotDistinct,
|
|
331
334
|
identity: node.identity,
|
|
335
|
+
ifNotExists: node.ifNotExists,
|
|
332
336
|
});
|
|
333
337
|
}
|
|
334
338
|
transformAddColumn(node) {
|
|
@@ -383,6 +387,7 @@ class OperationNodeTransformer {
|
|
|
383
387
|
explain: this.transformNode(node.explain),
|
|
384
388
|
limit: this.transformNode(node.limit),
|
|
385
389
|
top: this.transformNode(node.top),
|
|
390
|
+
output: this.transformNode(node.output),
|
|
386
391
|
});
|
|
387
392
|
}
|
|
388
393
|
transformColumnUpdate(node) {
|
|
@@ -794,6 +799,7 @@ class OperationNodeTransformer {
|
|
|
794
799
|
whens: this.transformNodeList(node.whens),
|
|
795
800
|
with: this.transformNode(node.with),
|
|
796
801
|
top: this.transformNode(node.top),
|
|
802
|
+
output: this.transformNode(node.output),
|
|
797
803
|
});
|
|
798
804
|
}
|
|
799
805
|
transformMatched(node) {
|
|
@@ -834,6 +840,12 @@ class OperationNodeTransformer {
|
|
|
834
840
|
modifiers: node.modifiers,
|
|
835
841
|
});
|
|
836
842
|
}
|
|
843
|
+
transformOutput(node) {
|
|
844
|
+
return (0, require_all_props_js_1.requireAllProps)({
|
|
845
|
+
kind: 'OutputNode',
|
|
846
|
+
selections: this.transformNodeList(node.selections),
|
|
847
|
+
});
|
|
848
|
+
}
|
|
837
849
|
transformDataType(node) {
|
|
838
850
|
// An Object.freezed leaf node. No need to clone.
|
|
839
851
|
return node;
|
|
@@ -91,6 +91,7 @@ import { AddIndexNode } from './add-index-node.js';
|
|
|
91
91
|
import { CastNode } from './cast-node.js';
|
|
92
92
|
import { FetchNode } from './fetch-node.js';
|
|
93
93
|
import { TopNode } from './top-node.js';
|
|
94
|
+
import { OutputNode } from './output-node.js';
|
|
94
95
|
export declare abstract class OperationNodeVisitor {
|
|
95
96
|
#private;
|
|
96
97
|
protected readonly nodeStack: OperationNode[];
|
|
@@ -188,4 +189,5 @@ export declare abstract class OperationNodeVisitor {
|
|
|
188
189
|
protected abstract visitCast(node: CastNode): void;
|
|
189
190
|
protected abstract visitFetch(node: FetchNode): void;
|
|
190
191
|
protected abstract visitTop(node: TopNode): void;
|
|
192
|
+
protected abstract visitOutput(node: OutputNode): void;
|
|
191
193
|
}
|
|
@@ -100,6 +100,7 @@ class OperationNodeVisitor {
|
|
|
100
100
|
CastNode: this.visitCast.bind(this),
|
|
101
101
|
FetchNode: this.visitFetch.bind(this),
|
|
102
102
|
TopNode: this.visitTop.bind(this),
|
|
103
|
+
OutputNode: this.visitOutput.bind(this),
|
|
103
104
|
});
|
|
104
105
|
visitNode = (node) => {
|
|
105
106
|
this.nodeStack.push(node);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type OperationNodeKind = 'IdentifierNode' | 'SchemableIdentifierNode' | 'RawNode' | 'SelectQueryNode' | 'SelectionNode' | 'ReferenceNode' | 'ColumnNode' | 'TableNode' | 'AliasNode' | 'FromNode' | 'SelectAllNode' | 'AndNode' | 'OrNode' | 'ParensNode' | 'ValueNode' | 'ValueListNode' | 'PrimitiveValueListNode' | 'JoinNode' | 'OperatorNode' | 'WhereNode' | 'InsertQueryNode' | 'DeleteQueryNode' | 'ReturningNode' | 'CreateTableNode' | 'ColumnDefinitionNode' | 'AddColumnNode' | 'DropTableNode' | 'DataTypeNode' | 'OrderByNode' | 'OrderByItemNode' | 'GroupByNode' | 'GroupByItemNode' | 'UpdateQueryNode' | 'ColumnUpdateNode' | 'LimitNode' | 'OffsetNode' | 'OnConflictNode' | 'OnDuplicateKeyNode' | 'CreateIndexNode' | 'DropIndexNode' | 'ListNode' | 'ReferencesNode' | 'PrimaryKeyConstraintNode' | 'UniqueConstraintNode' | 'CheckConstraintNode' | 'ForeignKeyConstraintNode' | 'WithNode' | 'CommonTableExpressionNode' | 'HavingNode' | 'CreateSchemaNode' | 'DropSchemaNode' | 'AlterTableNode' | 'ModifyColumnNode' | 'DropColumnNode' | 'RenameColumnNode' | 'AlterColumnNode' | 'AddConstraintNode' | 'DropConstraintNode' | 'CreateViewNode' | 'DropViewNode' | 'GeneratedNode' | 'DefaultValueNode' | 'OnNode' | 'ValuesNode' | 'CommonTableExpressionNameNode' | 'SelectModifierNode' | 'CreateTypeNode' | 'DropTypeNode' | 'ExplainNode' | 'DefaultInsertValueNode' | 'AggregateFunctionNode' | 'OverNode' | 'PartitionByNode' | 'PartitionByItemNode' | 'SetOperationNode' | 'BinaryOperationNode' | 'UnaryOperationNode' | 'UsingNode' | 'FunctionNode' | 'CaseNode' | 'WhenNode' | 'JSONReferenceNode' | 'JSONPathNode' | 'JSONPathLegNode' | 'JSONOperatorChainNode' | 'TupleNode' | 'MergeQueryNode' | 'MatchedNode' | 'AddIndexNode' | 'CastNode' | 'FetchNode' | 'TopNode';
|
|
1
|
+
export type OperationNodeKind = 'IdentifierNode' | 'SchemableIdentifierNode' | 'RawNode' | 'SelectQueryNode' | 'SelectionNode' | 'ReferenceNode' | 'ColumnNode' | 'TableNode' | 'AliasNode' | 'FromNode' | 'SelectAllNode' | 'AndNode' | 'OrNode' | 'ParensNode' | 'ValueNode' | 'ValueListNode' | 'PrimitiveValueListNode' | 'JoinNode' | 'OperatorNode' | 'WhereNode' | 'InsertQueryNode' | 'DeleteQueryNode' | 'ReturningNode' | 'CreateTableNode' | 'ColumnDefinitionNode' | 'AddColumnNode' | 'DropTableNode' | 'DataTypeNode' | 'OrderByNode' | 'OrderByItemNode' | 'GroupByNode' | 'GroupByItemNode' | 'UpdateQueryNode' | 'ColumnUpdateNode' | 'LimitNode' | 'OffsetNode' | 'OnConflictNode' | 'OnDuplicateKeyNode' | 'CreateIndexNode' | 'DropIndexNode' | 'ListNode' | 'ReferencesNode' | 'PrimaryKeyConstraintNode' | 'UniqueConstraintNode' | 'CheckConstraintNode' | 'ForeignKeyConstraintNode' | 'WithNode' | 'CommonTableExpressionNode' | 'HavingNode' | 'CreateSchemaNode' | 'DropSchemaNode' | 'AlterTableNode' | 'ModifyColumnNode' | 'DropColumnNode' | 'RenameColumnNode' | 'AlterColumnNode' | 'AddConstraintNode' | 'DropConstraintNode' | 'CreateViewNode' | 'DropViewNode' | 'GeneratedNode' | 'DefaultValueNode' | 'OnNode' | 'ValuesNode' | 'CommonTableExpressionNameNode' | 'SelectModifierNode' | 'CreateTypeNode' | 'DropTypeNode' | 'ExplainNode' | 'DefaultInsertValueNode' | 'AggregateFunctionNode' | 'OverNode' | 'PartitionByNode' | 'PartitionByItemNode' | 'SetOperationNode' | 'BinaryOperationNode' | 'UnaryOperationNode' | 'UsingNode' | 'FunctionNode' | 'CaseNode' | 'WhenNode' | 'JSONReferenceNode' | 'JSONPathNode' | 'JSONPathLegNode' | 'JSONOperatorChainNode' | 'TupleNode' | 'MergeQueryNode' | 'MatchedNode' | 'AddIndexNode' | 'CastNode' | 'FetchNode' | 'TopNode' | 'OutputNode';
|
|
2
2
|
export interface OperationNode {
|
|
3
3
|
readonly kind: OperationNodeKind;
|
|
4
4
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { OperationNode } from './operation-node.js';
|
|
2
|
-
export declare const COMPARISON_OPERATORS: readonly ["=", "==", "!=", "<>", ">", ">=", "<", "<=", "in", "not in", "is", "is not", "like", "not like", "match", "ilike", "not ilike", "@>", "<@", "&&", "?", "?&", "!<", "!>", "<=>", "!~", "~", "~*", "!~*", "@@", "@@@", "!!", "<->", "regexp", "is distinct from", "is not distinct from"];
|
|
2
|
+
export declare const COMPARISON_OPERATORS: readonly ["=", "==", "!=", "<>", ">", ">=", "<", "<=", "in", "not in", "is", "is not", "like", "not like", "match", "ilike", "not ilike", "@>", "<@", "^@", "&&", "?", "?&", "?|", "!<", "!>", "<=>", "!~", "~", "~*", "!~*", "@@", "@@@", "!!", "<->", "regexp", "is distinct from", "is not distinct from"];
|
|
3
3
|
export declare const ARITHMETIC_OPERATORS: readonly ["+", "-", "*", "/", "%", "^", "&", "|", "#", "<<", ">>"];
|
|
4
4
|
export declare const JSON_OPERATORS: readonly ["->", "->>"];
|
|
5
|
-
export declare const BINARY_OPERATORS: readonly ["=", "==", "!=", "<>", ">", ">=", "<", "<=", "in", "not in", "is", "is not", "like", "not like", "match", "ilike", "not ilike", "@>", "<@", "&&", "?", "?&", "!<", "!>", "<=>", "!~", "~", "~*", "!~*", "@@", "@@@", "!!", "<->", "regexp", "is distinct from", "is not distinct from", "+", "-", "*", "/", "%", "^", "&", "|", "#", "<<", ">>", "&&", "||"];
|
|
5
|
+
export declare const BINARY_OPERATORS: readonly ["=", "==", "!=", "<>", ">", ">=", "<", "<=", "in", "not in", "is", "is not", "like", "not like", "match", "ilike", "not ilike", "@>", "<@", "^@", "&&", "?", "?&", "?|", "!<", "!>", "<=>", "!~", "~", "~*", "!~*", "@@", "@@@", "!!", "<->", "regexp", "is distinct from", "is not distinct from", "+", "-", "*", "/", "%", "^", "&", "|", "#", "<<", ">>", "&&", "||"];
|
|
6
6
|
export declare const UNARY_FILTER_OPERATORS: readonly ["exists", "not exists"];
|
|
7
7
|
export declare const UNARY_OPERATORS: readonly ["not", "-", "exists", "not exists"];
|
|
8
|
-
export declare const OPERATORS: readonly ["=", "==", "!=", "<>", ">", ">=", "<", "<=", "in", "not in", "is", "is not", "like", "not like", "match", "ilike", "not ilike", "@>", "<@", "&&", "?", "?&", "!<", "!>", "<=>", "!~", "~", "~*", "!~*", "@@", "@@@", "!!", "<->", "regexp", "is distinct from", "is not distinct from", "+", "-", "*", "/", "%", "^", "&", "|", "#", "<<", ">>", "&&", "||", "->", "->>", "not", "-", "exists", "not exists", "between", "between symmetric"];
|
|
8
|
+
export declare const OPERATORS: readonly ["=", "==", "!=", "<>", ">", ">=", "<", "<=", "in", "not in", "is", "is not", "like", "not like", "match", "ilike", "not ilike", "@>", "<@", "^@", "&&", "?", "?&", "?|", "!<", "!>", "<=>", "!~", "~", "~*", "!~*", "@@", "@@@", "!!", "<->", "regexp", "is distinct from", "is not distinct from", "+", "-", "*", "/", "%", "^", "&", "|", "#", "<<", ">>", "&&", "||", "->", "->>", "not", "-", "exists", "not exists", "between", "between symmetric"];
|
|
9
9
|
export type ComparisonOperator = (typeof COMPARISON_OPERATORS)[number];
|
|
10
10
|
export type ArithmeticOperator = (typeof ARITHMETIC_OPERATORS)[number];
|
|
11
11
|
export type JSONOperator = (typeof JSON_OPERATORS)[number];
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.OperatorNode = exports.OPERATORS = exports.UNARY_OPERATORS = exports.UNARY_FILTER_OPERATORS = exports.BINARY_OPERATORS = exports.JSON_OPERATORS = exports.ARITHMETIC_OPERATORS = exports.COMPARISON_OPERATORS = void 0;
|
|
4
|
+
exports.isOperator = isOperator;
|
|
5
|
+
exports.isBinaryOperator = isBinaryOperator;
|
|
6
|
+
exports.isComparisonOperator = isComparisonOperator;
|
|
7
|
+
exports.isArithmeticOperator = isArithmeticOperator;
|
|
8
|
+
exports.isJSONOperator = isJSONOperator;
|
|
4
9
|
const object_utils_js_1 = require("../util/object-utils.js");
|
|
5
10
|
exports.COMPARISON_OPERATORS = [
|
|
6
11
|
'=',
|
|
@@ -22,9 +27,11 @@ exports.COMPARISON_OPERATORS = [
|
|
|
22
27
|
'not ilike',
|
|
23
28
|
'@>',
|
|
24
29
|
'<@',
|
|
30
|
+
'^@',
|
|
25
31
|
'&&',
|
|
26
32
|
'?',
|
|
27
33
|
'?&',
|
|
34
|
+
'?|',
|
|
28
35
|
'!<',
|
|
29
36
|
'!>',
|
|
30
37
|
'<=>',
|
|
@@ -86,20 +93,15 @@ exports.OperatorNode = (0, object_utils_js_1.freeze)({
|
|
|
86
93
|
function isOperator(op) {
|
|
87
94
|
return (0, object_utils_js_1.isString)(op) && exports.OPERATORS.includes(op);
|
|
88
95
|
}
|
|
89
|
-
exports.isOperator = isOperator;
|
|
90
96
|
function isBinaryOperator(op) {
|
|
91
97
|
return (0, object_utils_js_1.isString)(op) && exports.BINARY_OPERATORS.includes(op);
|
|
92
98
|
}
|
|
93
|
-
exports.isBinaryOperator = isBinaryOperator;
|
|
94
99
|
function isComparisonOperator(op) {
|
|
95
100
|
return (0, object_utils_js_1.isString)(op) && exports.COMPARISON_OPERATORS.includes(op);
|
|
96
101
|
}
|
|
97
|
-
exports.isComparisonOperator = isComparisonOperator;
|
|
98
102
|
function isArithmeticOperator(op) {
|
|
99
103
|
return (0, object_utils_js_1.isString)(op) && exports.ARITHMETIC_OPERATORS.includes(op);
|
|
100
104
|
}
|
|
101
|
-
exports.isArithmeticOperator = isArithmeticOperator;
|
|
102
105
|
function isJSONOperator(op) {
|
|
103
106
|
return (0, object_utils_js_1.isString)(op) && exports.JSON_OPERATORS.includes(op);
|
|
104
107
|
}
|
|
105
|
-
exports.isJSONOperator = isJSONOperator;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { OperationNode } from './operation-node.js';
|
|
2
|
+
export interface OutputNode extends OperationNode {
|
|
3
|
+
readonly kind: 'OutputNode';
|
|
4
|
+
readonly selections: ReadonlyArray<OperationNode>;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* @internal
|
|
8
|
+
*/
|
|
9
|
+
export declare const OutputNode: Readonly<{
|
|
10
|
+
is(node: OperationNode): node is OutputNode;
|
|
11
|
+
create(selections: ReadonlyArray<OperationNode>): OutputNode;
|
|
12
|
+
cloneWithSelections(output: OutputNode, selections: ReadonlyArray<OperationNode>): OutputNode;
|
|
13
|
+
}>;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OutputNode = void 0;
|
|
4
|
+
const object_utils_js_1 = require("../util/object-utils.js");
|
|
5
|
+
/**
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
exports.OutputNode = (0, object_utils_js_1.freeze)({
|
|
9
|
+
is(node) {
|
|
10
|
+
return node.kind === 'OutputNode';
|
|
11
|
+
},
|
|
12
|
+
create(selections) {
|
|
13
|
+
return (0, object_utils_js_1.freeze)({
|
|
14
|
+
kind: 'OutputNode',
|
|
15
|
+
selections: (0, object_utils_js_1.freeze)(selections),
|
|
16
|
+
});
|
|
17
|
+
},
|
|
18
|
+
cloneWithSelections(output, selections) {
|
|
19
|
+
return (0, object_utils_js_1.freeze)({
|
|
20
|
+
...output,
|
|
21
|
+
selections: output.selections
|
|
22
|
+
? (0, object_utils_js_1.freeze)([...output.selections, ...selections])
|
|
23
|
+
: (0, object_utils_js_1.freeze)(selections),
|
|
24
|
+
});
|
|
25
|
+
},
|
|
26
|
+
});
|
|
@@ -12,6 +12,7 @@ import { ExplainFormat } from '../util/explainable.js';
|
|
|
12
12
|
import { Expression } from '../expression/expression.js';
|
|
13
13
|
import { MergeQueryNode } from './merge-query-node.js';
|
|
14
14
|
import { TopNode } from './top-node.js';
|
|
15
|
+
import { OutputNode } from './output-node.js';
|
|
15
16
|
export type QueryNode = SelectQueryNode | InsertQueryNode | UpdateQueryNode | DeleteQueryNode | MergeQueryNode;
|
|
16
17
|
type HasJoins = {
|
|
17
18
|
joins?: ReadonlyArray<JoinNode>;
|
|
@@ -28,17 +29,21 @@ type HasExplain = {
|
|
|
28
29
|
type HasTop = {
|
|
29
30
|
top?: TopNode;
|
|
30
31
|
};
|
|
32
|
+
type HasOutput = {
|
|
33
|
+
output?: OutputNode;
|
|
34
|
+
};
|
|
31
35
|
/**
|
|
32
36
|
* @internal
|
|
33
37
|
*/
|
|
34
38
|
export declare const QueryNode: Readonly<{
|
|
35
39
|
is(node: OperationNode): node is QueryNode;
|
|
36
40
|
cloneWithWhere<T extends HasWhere>(node: T, operation: OperationNode): T;
|
|
37
|
-
cloneWithJoin<
|
|
38
|
-
cloneWithReturning<
|
|
39
|
-
cloneWithoutReturning<
|
|
40
|
-
cloneWithoutWhere<
|
|
41
|
-
cloneWithExplain<
|
|
42
|
-
cloneWithTop<
|
|
41
|
+
cloneWithJoin<T extends HasJoins>(node: T, join: JoinNode): T;
|
|
42
|
+
cloneWithReturning<T extends HasReturning>(node: T, selections: ReadonlyArray<SelectionNode>): T;
|
|
43
|
+
cloneWithoutReturning<T extends HasReturning>(node: T): T;
|
|
44
|
+
cloneWithoutWhere<T extends HasWhere>(node: T): T;
|
|
45
|
+
cloneWithExplain<T extends HasExplain>(node: T, format: ExplainFormat | undefined, options: Expression<any> | undefined): T;
|
|
46
|
+
cloneWithTop<T extends HasTop>(node: T, top: TopNode): T;
|
|
47
|
+
cloneWithOutput<T extends HasOutput>(node: T, selections: ReadonlyArray<SelectionNode>): T;
|
|
43
48
|
}>;
|
|
44
49
|
export {};
|
|
@@ -10,6 +10,7 @@ const object_utils_js_1 = require("../util/object-utils.js");
|
|
|
10
10
|
const returning_node_js_1 = require("./returning-node.js");
|
|
11
11
|
const explain_node_js_1 = require("./explain-node.js");
|
|
12
12
|
const merge_query_node_js_1 = require("./merge-query-node.js");
|
|
13
|
+
const output_node_js_1 = require("./output-node.js");
|
|
13
14
|
/**
|
|
14
15
|
* @internal
|
|
15
16
|
*/
|
|
@@ -67,4 +68,12 @@ exports.QueryNode = (0, object_utils_js_1.freeze)({
|
|
|
67
68
|
top,
|
|
68
69
|
});
|
|
69
70
|
},
|
|
71
|
+
cloneWithOutput(node, selections) {
|
|
72
|
+
return (0, object_utils_js_1.freeze)({
|
|
73
|
+
...node,
|
|
74
|
+
output: node.output
|
|
75
|
+
? output_node_js_1.OutputNode.cloneWithSelections(node.output, selections)
|
|
76
|
+
: output_node_js_1.OutputNode.create(selections),
|
|
77
|
+
});
|
|
78
|
+
},
|
|
70
79
|
});
|
|
@@ -58,4 +58,5 @@ export declare const SelectQueryNode: Readonly<{
|
|
|
58
58
|
cloneWithoutLimit(select: SelectQueryNode): SelectQueryNode;
|
|
59
59
|
cloneWithoutOffset(select: SelectQueryNode): SelectQueryNode;
|
|
60
60
|
cloneWithoutOrderBy(select: SelectQueryNode): SelectQueryNode;
|
|
61
|
+
cloneWithoutGroupBy(select: SelectQueryNode): SelectQueryNode;
|
|
61
62
|
}>;
|
|
@@ -10,6 +10,7 @@ import { FromNode } from './from-node.js';
|
|
|
10
10
|
import { ExplainNode } from './explain-node.js';
|
|
11
11
|
import { LimitNode } from './limit-node.js';
|
|
12
12
|
import { TopNode } from './top-node.js';
|
|
13
|
+
import { OutputNode } from './output-node.js';
|
|
13
14
|
export type UpdateValuesNode = ValueListNode | PrimitiveValueListNode;
|
|
14
15
|
export interface UpdateQueryNode extends OperationNode {
|
|
15
16
|
readonly kind: 'UpdateQueryNode';
|
|
@@ -23,6 +24,7 @@ export interface UpdateQueryNode extends OperationNode {
|
|
|
23
24
|
readonly explain?: ExplainNode;
|
|
24
25
|
readonly limit?: LimitNode;
|
|
25
26
|
readonly top?: TopNode;
|
|
27
|
+
readonly output?: OutputNode;
|
|
26
28
|
}
|
|
27
29
|
/**
|
|
28
30
|
* @internal
|
|
@@ -9,5 +9,5 @@ export interface WhereNode extends OperationNode {
|
|
|
9
9
|
export declare const WhereNode: Readonly<{
|
|
10
10
|
is(node: OperationNode): node is WhereNode;
|
|
11
11
|
create(filter: OperationNode): WhereNode;
|
|
12
|
-
cloneWithOperation(whereNode: WhereNode, operator:
|
|
12
|
+
cloneWithOperation(whereNode: WhereNode, operator: "And" | "Or", operation: OperationNode): WhereNode;
|
|
13
13
|
}>;
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.parseValueBinaryOperationOrExpression = parseValueBinaryOperationOrExpression;
|
|
4
|
+
exports.parseValueBinaryOperation = parseValueBinaryOperation;
|
|
5
|
+
exports.parseReferentialBinaryOperation = parseReferentialBinaryOperation;
|
|
6
|
+
exports.parseFilterObject = parseFilterObject;
|
|
7
|
+
exports.parseFilterList = parseFilterList;
|
|
4
8
|
const binary_operation_node_js_1 = require("../operation-node/binary-operation-node.js");
|
|
5
9
|
const object_utils_js_1 = require("../util/object-utils.js");
|
|
6
10
|
const operation_node_source_js_1 = require("../operation-node/operation-node-source.js");
|
|
@@ -20,24 +24,20 @@ function parseValueBinaryOperationOrExpression(args) {
|
|
|
20
24
|
}
|
|
21
25
|
throw new Error(`invalid arguments: ${JSON.stringify(args)}`);
|
|
22
26
|
}
|
|
23
|
-
exports.parseValueBinaryOperationOrExpression = parseValueBinaryOperationOrExpression;
|
|
24
27
|
function parseValueBinaryOperation(left, operator, right) {
|
|
25
28
|
if (isIsOperator(operator) && needsIsOperator(right)) {
|
|
26
29
|
return binary_operation_node_js_1.BinaryOperationNode.create((0, reference_parser_js_1.parseReferenceExpression)(left), parseOperator(operator), value_node_js_1.ValueNode.createImmediate(right));
|
|
27
30
|
}
|
|
28
31
|
return binary_operation_node_js_1.BinaryOperationNode.create((0, reference_parser_js_1.parseReferenceExpression)(left), parseOperator(operator), (0, value_parser_js_1.parseValueExpressionOrList)(right));
|
|
29
32
|
}
|
|
30
|
-
exports.parseValueBinaryOperation = parseValueBinaryOperation;
|
|
31
33
|
function parseReferentialBinaryOperation(left, operator, right) {
|
|
32
34
|
return binary_operation_node_js_1.BinaryOperationNode.create((0, reference_parser_js_1.parseReferenceExpression)(left), parseOperator(operator), (0, reference_parser_js_1.parseReferenceExpression)(right));
|
|
33
35
|
}
|
|
34
|
-
exports.parseReferentialBinaryOperation = parseReferentialBinaryOperation;
|
|
35
36
|
function parseFilterObject(obj, combinator) {
|
|
36
37
|
return parseFilterList(Object.entries(obj)
|
|
37
38
|
.filter(([, v]) => !(0, object_utils_js_1.isUndefined)(v))
|
|
38
39
|
.map(([k, v]) => parseValueBinaryOperation(k, needsIsOperator(v) ? 'is' : '=', v)), combinator);
|
|
39
40
|
}
|
|
40
|
-
exports.parseFilterObject = parseFilterObject;
|
|
41
41
|
function parseFilterList(list, combinator, withParens = true) {
|
|
42
42
|
const combine = combinator === 'and' ? and_node_js_1.AndNode.create : or_node_js_1.OrNode.create;
|
|
43
43
|
if (list.length === 0) {
|
|
@@ -52,7 +52,6 @@ function parseFilterList(list, combinator, withParens = true) {
|
|
|
52
52
|
}
|
|
53
53
|
return node;
|
|
54
54
|
}
|
|
55
|
-
exports.parseFilterList = parseFilterList;
|
|
56
55
|
function isIsOperator(operator) {
|
|
57
56
|
return operator === 'is' || operator === 'is not';
|
|
58
57
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.parseDataTypeExpression =
|
|
3
|
+
exports.parseDataTypeExpression = parseDataTypeExpression;
|
|
4
4
|
const data_type_node_js_1 = require("../operation-node/data-type-node.js");
|
|
5
5
|
const operation_node_source_js_1 = require("../operation-node/operation-node-source.js");
|
|
6
6
|
function parseDataTypeExpression(dataType) {
|
|
@@ -12,4 +12,3 @@ function parseDataTypeExpression(dataType) {
|
|
|
12
12
|
}
|
|
13
13
|
throw new Error(`invalid column data type ${JSON.stringify(dataType)}`);
|
|
14
14
|
}
|
|
15
|
-
exports.parseDataTypeExpression = parseDataTypeExpression;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.parseDefaultValueExpression =
|
|
3
|
+
exports.parseDefaultValueExpression = parseDefaultValueExpression;
|
|
4
4
|
const operation_node_source_js_1 = require("../operation-node/operation-node-source.js");
|
|
5
5
|
const value_node_js_1 = require("../operation-node/value-node.js");
|
|
6
6
|
function parseDefaultValueExpression(value) {
|
|
@@ -8,4 +8,3 @@ function parseDefaultValueExpression(value) {
|
|
|
8
8
|
? value.toOperationNode()
|
|
9
9
|
: value_node_js_1.ValueNode.createImmediate(value);
|
|
10
10
|
}
|
|
11
|
-
exports.parseDefaultValueExpression = parseDefaultValueExpression;
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.parseExpression = parseExpression;
|
|
4
|
+
exports.parseAliasedExpression = parseAliasedExpression;
|
|
5
|
+
exports.isExpressionOrFactory = isExpressionOrFactory;
|
|
4
6
|
const expression_js_1 = require("../expression/expression.js");
|
|
5
7
|
const operation_node_source_js_1 = require("../operation-node/operation-node-source.js");
|
|
6
8
|
const expression_builder_js_1 = require("../expression/expression-builder.js");
|
|
@@ -14,7 +16,6 @@ function parseExpression(exp) {
|
|
|
14
16
|
}
|
|
15
17
|
throw new Error(`invalid expression: ${JSON.stringify(exp)}`);
|
|
16
18
|
}
|
|
17
|
-
exports.parseExpression = parseExpression;
|
|
18
19
|
function parseAliasedExpression(exp) {
|
|
19
20
|
if ((0, operation_node_source_js_1.isOperationNodeSource)(exp)) {
|
|
20
21
|
return exp.toOperationNode();
|
|
@@ -24,8 +25,6 @@ function parseAliasedExpression(exp) {
|
|
|
24
25
|
}
|
|
25
26
|
throw new Error(`invalid aliased expression: ${JSON.stringify(exp)}`);
|
|
26
27
|
}
|
|
27
|
-
exports.parseAliasedExpression = parseAliasedExpression;
|
|
28
28
|
function isExpressionOrFactory(obj) {
|
|
29
29
|
return (0, expression_js_1.isExpression)(obj) || (0, expression_js_1.isAliasedExpression)(obj) || (0, object_utils_js_1.isFunction)(obj);
|
|
30
30
|
}
|
|
31
|
-
exports.isExpressionOrFactory = isExpressionOrFactory;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.parseFetch =
|
|
3
|
+
exports.parseFetch = parseFetch;
|
|
4
4
|
const fetch_node_js_1 = require("../operation-node/fetch-node.js");
|
|
5
5
|
const object_utils_js_1 = require("../util/object-utils.js");
|
|
6
6
|
function parseFetch(rowCount, modifier) {
|
|
@@ -12,7 +12,6 @@ function parseFetch(rowCount, modifier) {
|
|
|
12
12
|
}
|
|
13
13
|
return fetch_node_js_1.FetchNode.create(rowCount, modifier);
|
|
14
14
|
}
|
|
15
|
-
exports.parseFetch = parseFetch;
|
|
16
15
|
function isFetchModifier(value) {
|
|
17
16
|
return value === 'only' || value === 'with ties';
|
|
18
17
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.parseGroupBy =
|
|
3
|
+
exports.parseGroupBy = parseGroupBy;
|
|
4
4
|
const group_by_item_node_js_1 = require("../operation-node/group-by-item-node.js");
|
|
5
5
|
const expression_builder_js_1 = require("../expression/expression-builder.js");
|
|
6
6
|
const object_utils_js_1 = require("../util/object-utils.js");
|
|
@@ -9,4 +9,3 @@ function parseGroupBy(groupBy) {
|
|
|
9
9
|
groupBy = (0, object_utils_js_1.isFunction)(groupBy) ? groupBy((0, expression_builder_js_1.expressionBuilder)()) : groupBy;
|
|
10
10
|
return (0, reference_parser_js_1.parseReferenceExpressionOrList)(groupBy).map(group_by_item_node_js_1.GroupByItemNode.create);
|
|
11
11
|
}
|
|
12
|
-
exports.parseGroupBy = parseGroupBy;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.parseSchemableIdentifier =
|
|
3
|
+
exports.parseSchemableIdentifier = parseSchemableIdentifier;
|
|
4
4
|
const schemable_identifier_node_js_1 = require("../operation-node/schemable-identifier-node.js");
|
|
5
5
|
function parseSchemableIdentifier(id) {
|
|
6
6
|
const SCHEMA_SEPARATOR = '.';
|
|
@@ -17,7 +17,6 @@ function parseSchemableIdentifier(id) {
|
|
|
17
17
|
return schemable_identifier_node_js_1.SchemableIdentifierNode.create(id);
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
|
-
exports.parseSchemableIdentifier = parseSchemableIdentifier;
|
|
21
20
|
function trim(str) {
|
|
22
21
|
return str.trim();
|
|
23
22
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.parseInsertExpression =
|
|
3
|
+
exports.parseInsertExpression = parseInsertExpression;
|
|
4
4
|
const column_node_js_1 = require("../operation-node/column-node.js");
|
|
5
5
|
const primitive_value_list_node_js_1 = require("../operation-node/primitive-value-list-node.js");
|
|
6
6
|
const value_list_node_js_1 = require("../operation-node/value-list-node.js");
|
|
@@ -17,7 +17,6 @@ function parseInsertExpression(arg) {
|
|
|
17
17
|
: (0, object_utils_js_1.freeze)([objectOrList]);
|
|
18
18
|
return parseInsertColumnsAndValues(list);
|
|
19
19
|
}
|
|
20
|
-
exports.parseInsertExpression = parseInsertExpression;
|
|
21
20
|
function parseInsertColumnsAndValues(rows) {
|
|
22
21
|
const columns = parseColumnNamesAndIndexes(rows);
|
|
23
22
|
return [
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.parseJoin =
|
|
3
|
+
exports.parseJoin = parseJoin;
|
|
4
4
|
const join_node_js_1 = require("../operation-node/join-node.js");
|
|
5
5
|
const table_parser_js_1 = require("./table-parser.js");
|
|
6
6
|
const binary_operation_parser_js_1 = require("./binary-operation-parser.js");
|
|
@@ -16,7 +16,6 @@ function parseJoin(joinType, args) {
|
|
|
16
16
|
throw new Error('not implemented');
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
|
-
exports.parseJoin = parseJoin;
|
|
20
19
|
function parseCallbackJoin(joinType, from, callback) {
|
|
21
20
|
return callback((0, parse_utils_js_1.createJoinBuilder)(joinType, from)).toOperationNode();
|
|
22
21
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.parseMergeWhen = parseMergeWhen;
|
|
4
|
+
exports.parseMergeThen = parseMergeThen;
|
|
4
5
|
const matched_node_js_1 = require("../operation-node/matched-node.js");
|
|
5
6
|
const operation_node_source_js_1 = require("../operation-node/operation-node-source.js");
|
|
6
7
|
const raw_node_js_1 = require("../operation-node/raw-node.js");
|
|
@@ -19,7 +20,6 @@ function parseMergeWhen(type, args, refRight) {
|
|
|
19
20
|
: []),
|
|
20
21
|
], 'and', false));
|
|
21
22
|
}
|
|
22
|
-
exports.parseMergeWhen = parseMergeWhen;
|
|
23
23
|
function parseMergeThen(result) {
|
|
24
24
|
if ((0, object_utils_js_1.isString)(result)) {
|
|
25
25
|
return raw_node_js_1.RawNode.create([result], []);
|
|
@@ -29,4 +29,3 @@ function parseMergeThen(result) {
|
|
|
29
29
|
}
|
|
30
30
|
return result;
|
|
31
31
|
}
|
|
32
|
-
exports.parseMergeThen = parseMergeThen;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.parseOnCommitAction =
|
|
3
|
+
exports.parseOnCommitAction = parseOnCommitAction;
|
|
4
4
|
const create_table_node_js_1 = require("../operation-node/create-table-node.js");
|
|
5
5
|
function parseOnCommitAction(action) {
|
|
6
6
|
if (create_table_node_js_1.ON_COMMIT_ACTIONS.includes(action)) {
|
|
@@ -8,4 +8,3 @@ function parseOnCommitAction(action) {
|
|
|
8
8
|
}
|
|
9
9
|
throw new Error(`invalid OnCommitAction ${action}`);
|
|
10
10
|
}
|
|
11
|
-
exports.parseOnCommitAction = parseOnCommitAction;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.parseOnModifyForeignAction =
|
|
3
|
+
exports.parseOnModifyForeignAction = parseOnModifyForeignAction;
|
|
4
4
|
const references_node_js_1 = require("../operation-node/references-node.js");
|
|
5
5
|
function parseOnModifyForeignAction(action) {
|
|
6
6
|
if (references_node_js_1.ON_MODIFY_FOREIGN_ACTIONS.includes(action)) {
|
|
@@ -8,4 +8,3 @@ function parseOnModifyForeignAction(action) {
|
|
|
8
8
|
}
|
|
9
9
|
throw new Error(`invalid OnModifyForeignAction ${action}`);
|
|
10
10
|
}
|
|
11
|
-
exports.parseOnModifyForeignAction = parseOnModifyForeignAction;
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.isOrderByDirection = isOrderByDirection;
|
|
4
|
+
exports.parseOrderBy = parseOrderBy;
|
|
5
|
+
exports.parseOrderByItem = parseOrderByItem;
|
|
4
6
|
const dynamic_reference_builder_js_1 = require("../dynamic/dynamic-reference-builder.js");
|
|
5
7
|
const order_by_item_node_js_1 = require("../operation-node/order-by-item-node.js");
|
|
6
8
|
const raw_node_js_1 = require("../operation-node/raw-node.js");
|
|
@@ -9,7 +11,6 @@ const reference_parser_js_1 = require("./reference-parser.js");
|
|
|
9
11
|
function isOrderByDirection(thing) {
|
|
10
12
|
return thing === 'asc' || thing === 'desc';
|
|
11
13
|
}
|
|
12
|
-
exports.isOrderByDirection = isOrderByDirection;
|
|
13
14
|
function parseOrderBy(args) {
|
|
14
15
|
if (args.length === 2) {
|
|
15
16
|
return [parseOrderByItem(args[0], args[1])];
|
|
@@ -23,7 +24,6 @@ function parseOrderBy(args) {
|
|
|
23
24
|
}
|
|
24
25
|
throw new Error(`Invalid number of arguments at order by! expected 1-2, received ${args.length}`);
|
|
25
26
|
}
|
|
26
|
-
exports.parseOrderBy = parseOrderBy;
|
|
27
27
|
function parseOrderByItem(ref, direction) {
|
|
28
28
|
const parsedRef = parseOrderByExpression(ref);
|
|
29
29
|
if (order_by_item_node_js_1.OrderByItemNode.is(parsedRef)) {
|
|
@@ -34,7 +34,6 @@ function parseOrderByItem(ref, direction) {
|
|
|
34
34
|
}
|
|
35
35
|
return order_by_item_node_js_1.OrderByItemNode.create(parsedRef, parseOrderByDirectionExpression(direction));
|
|
36
36
|
}
|
|
37
|
-
exports.parseOrderByItem = parseOrderByItem;
|
|
38
37
|
function parseOrderByExpression(expr) {
|
|
39
38
|
if ((0, expression_parser_js_1.isExpressionOrFactory)(expr)) {
|
|
40
39
|
return (0, expression_parser_js_1.parseExpression)(expr);
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.createSelectQueryBuilder = createSelectQueryBuilder;
|
|
4
|
+
exports.createQueryCreator = createQueryCreator;
|
|
5
|
+
exports.createJoinBuilder = createJoinBuilder;
|
|
6
|
+
exports.createOverBuilder = createOverBuilder;
|
|
4
7
|
const join_node_js_1 = require("../operation-node/join-node.js");
|
|
5
8
|
const over_node_js_1 = require("../operation-node/over-node.js");
|
|
6
9
|
const select_query_node_js_1 = require("../operation-node/select-query-node.js");
|
|
@@ -18,22 +21,18 @@ function createSelectQueryBuilder() {
|
|
|
18
21
|
queryNode: select_query_node_js_1.SelectQueryNode.createFrom((0, table_parser_js_1.parseTableExpressionOrList)([])),
|
|
19
22
|
});
|
|
20
23
|
}
|
|
21
|
-
exports.createSelectQueryBuilder = createSelectQueryBuilder;
|
|
22
24
|
function createQueryCreator() {
|
|
23
25
|
return new query_creator_js_1.QueryCreator({
|
|
24
26
|
executor: noop_query_executor_js_1.NOOP_QUERY_EXECUTOR,
|
|
25
27
|
});
|
|
26
28
|
}
|
|
27
|
-
exports.createQueryCreator = createQueryCreator;
|
|
28
29
|
function createJoinBuilder(joinType, table) {
|
|
29
30
|
return new join_builder_js_1.JoinBuilder({
|
|
30
31
|
joinNode: join_node_js_1.JoinNode.create(joinType, (0, table_parser_js_1.parseTableExpression)(table)),
|
|
31
32
|
});
|
|
32
33
|
}
|
|
33
|
-
exports.createJoinBuilder = createJoinBuilder;
|
|
34
34
|
function createOverBuilder() {
|
|
35
35
|
return new over_builder_js_1.OverBuilder({
|
|
36
36
|
overNode: over_node_js_1.OverNode.create(),
|
|
37
37
|
});
|
|
38
38
|
}
|
|
39
|
-
exports.createOverBuilder = createOverBuilder;
|