taon-type-sql 21.0.23 → 21.0.25
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/browser/package.json +1 -1
- package/browser-prod/package.json +1 -1
- package/lib/build-info._auto-generated_.d.ts +1 -1
- package/lib/build-info._auto-generated_.js +1 -1
- package/lib/package.json +1 -1
- package/lib-prod/build-info._auto-generated_.js +26 -14
- package/lib-prod/builder/column/basic-column.js +8 -10
- package/lib-prod/builder/column/boolean-column.js +8 -11
- package/lib-prod/builder/column/comparable-column.js +35 -38
- package/lib-prod/builder/column/date-column.js +8 -11
- package/lib-prod/builder/column/number-column.js +14 -17
- package/lib-prod/builder/column/query-column.js +15 -21
- package/lib-prod/builder/column/string-column.js +29 -32
- package/lib-prod/builder/column/value-column.js +20 -22
- package/lib-prod/builder/condition/query-column-condition.js +13 -19
- package/lib-prod/builder/condition/query-condition-chain.js +24 -31
- package/lib-prod/builder/condition/query-condition.js +2 -4
- package/lib-prod/builder/condition/query-join-condition.js +13 -19
- package/lib-prod/builder/helpers/generics-helper.js +2 -4
- package/lib-prod/builder/helpers/internal-types.js +1 -0
- package/lib-prod/builder/join/joined-tables-chain.js +9 -12
- package/lib-prod/builder/join/joined-tables.js +17 -20
- package/lib-prod/builder/other/query-ordering.js +13 -19
- package/lib-prod/builder/query/select-query.js +44 -50
- package/lib-prod/builder/query/table-condition-query.js +21 -26
- package/lib-prod/builder/query/table-query.js +49 -51
- package/lib-prod/builder/query-source.js +15 -16
- package/lib-prod/builder/query-table.js +18 -23
- package/lib-prod/client/mysql.js +4 -7
- package/lib-prod/client/pg.js +4 -7
- package/lib-prod/client/query-processor.js +64 -39
- package/lib-prod/converter/param-converter.js +24 -21
- package/lib-prod/converter/parameterized-converter.js +10 -13
- package/lib-prod/converter/query-converter.js +256 -244
- package/lib-prod/converter/result-converter.js +70 -62
- package/lib-prod/converter/sql-converter.js +3 -6
- package/lib-prod/converter/type-converter.js +32 -28
- package/lib-prod/converter/types.js +1 -0
- package/lib-prod/env/env.angular-node-app.js +66 -130
- package/lib-prod/env/env.docs-webapp.js +66 -130
- package/lib-prod/env/env.electron-app.js +66 -130
- package/lib-prod/env/env.mobile-app.js +66 -130
- package/lib-prod/env/env.npm-lib-and-cli-tool.js +66 -130
- package/lib-prod/env/env.vscode-plugin.js +66 -130
- package/lib-prod/env/index.js +6 -6
- package/lib-prod/index._auto-generated_.js +5 -0
- package/lib-prod/index.js +25 -46
- package/lib-prod/migrations/index.js +2 -1
- package/lib-prod/migrations/migrations_index._auto-generated_.js +3 -0
- package/lib-prod/package.json +1 -1
- package/package.json +1 -1
- package/websql/package.json +1 -1
- package/websql-prod/package.json +1 -1
package/browser/package.json
CHANGED
|
@@ -25,6 +25,6 @@ exports.CURRENT_PACKAGE_TAON_VERSION = 'v21';
|
|
|
25
25
|
/**
|
|
26
26
|
* Autogenerated by current cli tool. Use *tnp release* to bump version.
|
|
27
27
|
*/
|
|
28
|
-
exports.CURRENT_PACKAGE_VERSION = '21.0.
|
|
28
|
+
exports.CURRENT_PACKAGE_VERSION = '21.0.25';
|
|
29
29
|
// THIS FILE IS GENERATED - DO NOT MODIFY
|
|
30
30
|
//# sourceMappingURL=build-info._auto-generated_.js.map
|
package/lib/package.json
CHANGED
|
@@ -1,14 +1,26 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
1
|
+
// THIS FILE IS GENERATED - DO NOT MODIFY
|
|
2
|
+
/**
|
|
3
|
+
* Autogenerated by current cli tool
|
|
4
|
+
*/
|
|
5
|
+
export const BUILD_FRAMEWORK_CLI_NAME = 'tnp';
|
|
6
|
+
/**
|
|
7
|
+
* This value can be change in taon.jsonc (appId)
|
|
8
|
+
*/
|
|
9
|
+
export const APP_ID = 'com.domain.example.taon-type-sql';
|
|
10
|
+
/**
|
|
11
|
+
* Autogenerated by current cli tool
|
|
12
|
+
*/
|
|
13
|
+
export const BUILD_BASE_HREF = '';
|
|
14
|
+
/**
|
|
15
|
+
* This value can be change in taon.jsonc (overrideNpmName)
|
|
16
|
+
*/
|
|
17
|
+
export const PROJECT_NPM_NAME = 'taon-type-sql';
|
|
18
|
+
/**
|
|
19
|
+
* Taon version from you project taon.json
|
|
20
|
+
*/
|
|
21
|
+
export const CURRENT_PACKAGE_TAON_VERSION = 'v21';
|
|
22
|
+
/**
|
|
23
|
+
* Autogenerated by current cli tool. Use *tnp release* to bump version.
|
|
24
|
+
*/
|
|
25
|
+
export const CURRENT_PACKAGE_VERSION = '21.0.25';
|
|
26
|
+
// THIS FILE IS GENERATED - DO NOT MODIFY
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
import QueryColumn from "./query-column";
|
|
2
2
|
import NumberColumn from "./number-column";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
3
|
+
// This file is only needed because the QueryColumn can't implement its count method b. of circular dependencies
|
|
4
|
+
export default class BasicColumn extends QueryColumn {
|
|
5
|
+
constructor(table, name, modifiers = []) {
|
|
6
|
+
super(table, name, modifiers);
|
|
7
|
+
}
|
|
8
|
+
count() {
|
|
9
|
+
return new NumberColumn(this._table, this._name, this._modifiers.concat({ name: 'count' }));
|
|
10
|
+
}
|
|
10
11
|
}
|
|
11
|
-
export {
|
|
12
|
-
BasicColumn as default
|
|
13
|
-
};
|
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
import NumberColumn from "./number-column";
|
|
2
2
|
import ValueColumn from "./value-column";
|
|
3
|
-
class BooleanColumn extends ValueColumn {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
3
|
+
export default class BooleanColumn extends ValueColumn {
|
|
4
|
+
constructor(table, name, modifiers = []) {
|
|
5
|
+
super(table, name, modifiers);
|
|
6
|
+
this._type = 'boolean';
|
|
7
|
+
}
|
|
8
|
+
count() {
|
|
9
|
+
return new NumberColumn(this._table, this._name, this._modifiers.concat({ name: 'count' }));
|
|
10
|
+
}
|
|
11
11
|
}
|
|
12
|
-
export {
|
|
13
|
-
BooleanColumn as default
|
|
14
|
-
};
|
|
@@ -1,42 +1,39 @@
|
|
|
1
1
|
import QueryColumnCondition from "../condition/query-column-condition";
|
|
2
2
|
import ValueColumn from "./value-column";
|
|
3
3
|
class ComparableColumn extends ValueColumn {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
4
|
+
constructor(table, name, modifiers = []) {
|
|
5
|
+
super(table, name, modifiers);
|
|
6
|
+
}
|
|
7
|
+
lt(value) {
|
|
8
|
+
return new QueryColumnCondition(this, 'lt', value);
|
|
9
|
+
}
|
|
10
|
+
gt(value) {
|
|
11
|
+
return new QueryColumnCondition(this, 'gt', value);
|
|
12
|
+
}
|
|
13
|
+
lte(value) {
|
|
14
|
+
return new QueryColumnCondition(this, 'lte', value);
|
|
15
|
+
}
|
|
16
|
+
gte(value) {
|
|
17
|
+
return new QueryColumnCondition(this, 'gte', value);
|
|
18
|
+
}
|
|
19
|
+
in(values) {
|
|
20
|
+
return new QueryColumnCondition(this, 'in', ...values);
|
|
21
|
+
}
|
|
22
|
+
notIn(values) {
|
|
23
|
+
return new QueryColumnCondition(this, 'not-in', ...values);
|
|
24
|
+
}
|
|
25
|
+
between(value1, value2) {
|
|
26
|
+
return new QueryColumnCondition(this, 'between', value1, value2);
|
|
27
|
+
}
|
|
28
|
+
notBetween(value1, value2) {
|
|
29
|
+
return new QueryColumnCondition(this, 'not-between', value1, value2);
|
|
30
|
+
}
|
|
31
|
+
// min/max exists for text columns too, not just numeric and date
|
|
32
|
+
min() {
|
|
33
|
+
return new this.constructor(this._table, this._name, this._modifiers.concat({ name: 'min' }));
|
|
34
|
+
}
|
|
35
|
+
max() {
|
|
36
|
+
return new this.constructor(this._table, this._name, this._modifiers.concat({ name: 'max' }));
|
|
37
|
+
}
|
|
38
38
|
}
|
|
39
|
-
|
|
40
|
-
export {
|
|
41
|
-
comparable_column_default as default
|
|
42
|
-
};
|
|
39
|
+
export default ComparableColumn;
|
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
import ComparableColumn from "./comparable-column";
|
|
2
2
|
import NumberColumn from "./number-column";
|
|
3
|
-
class DateColumn extends ComparableColumn {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
3
|
+
export default class DateColumn extends ComparableColumn {
|
|
4
|
+
constructor(table, name, modifiers = []) {
|
|
5
|
+
super(table, name, modifiers);
|
|
6
|
+
this._type = 'date';
|
|
7
|
+
}
|
|
8
|
+
count() {
|
|
9
|
+
return new NumberColumn(this._table, this._name, this._modifiers.concat({ name: 'count' }));
|
|
10
|
+
}
|
|
11
11
|
}
|
|
12
|
-
export {
|
|
13
|
-
DateColumn as default
|
|
14
|
-
};
|
|
@@ -1,19 +1,16 @@
|
|
|
1
1
|
import ComparableColumn from "./comparable-column";
|
|
2
|
-
class NumberColumn extends ComparableColumn {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
2
|
+
export default class NumberColumn extends ComparableColumn {
|
|
3
|
+
constructor(table, name, modifiers = []) {
|
|
4
|
+
super(table, name, modifiers);
|
|
5
|
+
this._type = 'number';
|
|
6
|
+
}
|
|
7
|
+
count() {
|
|
8
|
+
return new NumberColumn(this._table, this._name, this._modifiers.concat({ name: 'count' }));
|
|
9
|
+
}
|
|
10
|
+
sum() {
|
|
11
|
+
return new NumberColumn(this._table, this._name, this._modifiers.concat({ name: 'sum' }));
|
|
12
|
+
}
|
|
13
|
+
avg() {
|
|
14
|
+
return new NumberColumn(this._table, this._name, this._modifiers.concat({ name: 'avg' }));
|
|
15
|
+
}
|
|
16
16
|
}
|
|
17
|
-
export {
|
|
18
|
-
NumberColumn as default
|
|
19
|
-
};
|
|
@@ -1,24 +1,18 @@
|
|
|
1
1
|
import QueryColumnCondition from "../condition/query-column-condition";
|
|
2
2
|
class QueryColumn {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
isNotNull() {
|
|
18
|
-
return new QueryColumnCondition(this, "is-not-null");
|
|
19
|
-
}
|
|
3
|
+
constructor(_table, _name, _modifiers = []) {
|
|
4
|
+
this._table = _table;
|
|
5
|
+
this._name = _name;
|
|
6
|
+
this._modifiers = _modifiers;
|
|
7
|
+
}
|
|
8
|
+
as(alias) {
|
|
9
|
+
return new this.constructor(this._table, this._name, this._modifiers.concat({ name: 'as', params: alias }));
|
|
10
|
+
}
|
|
11
|
+
isNull() {
|
|
12
|
+
return new QueryColumnCondition(this, 'is-null');
|
|
13
|
+
}
|
|
14
|
+
isNotNull() {
|
|
15
|
+
return new QueryColumnCondition(this, 'is-not-null');
|
|
16
|
+
}
|
|
20
17
|
}
|
|
21
|
-
|
|
22
|
-
export {
|
|
23
|
-
query_column_default as default
|
|
24
|
-
};
|
|
18
|
+
export default QueryColumn;
|
|
@@ -1,36 +1,33 @@
|
|
|
1
1
|
import ComparableColumn from "./comparable-column";
|
|
2
2
|
import NumberColumn from "./number-column";
|
|
3
3
|
import QueryColumnCondition from "../condition/query-column-condition";
|
|
4
|
-
class StringColumn extends ComparableColumn {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
4
|
+
export default class StringColumn extends ComparableColumn {
|
|
5
|
+
constructor(table, name, modifiers = []) {
|
|
6
|
+
super(table, name, modifiers);
|
|
7
|
+
this._type = 'string';
|
|
8
|
+
}
|
|
9
|
+
count() {
|
|
10
|
+
return new NumberColumn(this._table, this._name, this._modifiers.concat({ name: 'count' }));
|
|
11
|
+
}
|
|
12
|
+
lower() {
|
|
13
|
+
return new this.constructor(this._table, this._name, this._modifiers.concat({ name: 'lower' }));
|
|
14
|
+
}
|
|
15
|
+
upper() {
|
|
16
|
+
return new this.constructor(this._table, this._name, this._modifiers.concat({ name: 'upper' }));
|
|
17
|
+
}
|
|
18
|
+
contains(value) {
|
|
19
|
+
return this.like('%' + value + '%');
|
|
20
|
+
}
|
|
21
|
+
startsWith(value) {
|
|
22
|
+
return this.like(value + '%');
|
|
23
|
+
}
|
|
24
|
+
endsWith(value) {
|
|
25
|
+
return this.like('%' + value);
|
|
26
|
+
}
|
|
27
|
+
like(value) {
|
|
28
|
+
return new QueryColumnCondition(this, 'like', value);
|
|
29
|
+
}
|
|
30
|
+
notLike(value) {
|
|
31
|
+
return new QueryColumnCondition(this, 'not-like', value);
|
|
32
|
+
}
|
|
33
33
|
}
|
|
34
|
-
export {
|
|
35
|
-
StringColumn as default
|
|
36
|
-
};
|
|
@@ -3,27 +3,25 @@ import QueryOrdering from "../other/query-ordering";
|
|
|
3
3
|
import QueryColumn from "./query-column";
|
|
4
4
|
import QueryJoinCondition from "../condition/query-join-condition";
|
|
5
5
|
class ValueColumn extends QueryColumn {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
6
|
+
constructor(table, name, modifiers = []) {
|
|
7
|
+
super(table, name, modifiers);
|
|
8
|
+
}
|
|
9
|
+
asc() {
|
|
10
|
+
return new QueryOrdering(this, 'ASC');
|
|
11
|
+
}
|
|
12
|
+
desc() {
|
|
13
|
+
return new QueryOrdering(this, 'DESC');
|
|
14
|
+
}
|
|
15
|
+
eq(value) {
|
|
16
|
+
if (value instanceof QueryColumn) {
|
|
17
|
+
return new QueryJoinCondition(this, 'eq', value);
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
return new QueryColumnCondition(this, 'eq', value);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
ne(value) {
|
|
24
|
+
return new QueryColumnCondition(this, 'ne', value);
|
|
20
25
|
}
|
|
21
|
-
}
|
|
22
|
-
ne(value) {
|
|
23
|
-
return new QueryColumnCondition(this, "ne", value);
|
|
24
|
-
}
|
|
25
26
|
}
|
|
26
|
-
|
|
27
|
-
export {
|
|
28
|
-
value_column_default as default
|
|
29
|
-
};
|
|
27
|
+
export default ValueColumn;
|
|
@@ -1,22 +1,16 @@
|
|
|
1
1
|
import QueryCondition from "./query-condition";
|
|
2
2
|
import QueryConditionChain from "./query-condition-chain";
|
|
3
|
-
class QueryColumnCondition extends QueryCondition {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
or(condition) {
|
|
17
|
-
return new QueryConditionChain(this, condition, "or");
|
|
18
|
-
}
|
|
3
|
+
export default class QueryColumnCondition extends QueryCondition {
|
|
4
|
+
constructor(column, type, ...values) {
|
|
5
|
+
super();
|
|
6
|
+
this._column = column;
|
|
7
|
+
this._type = type;
|
|
8
|
+
this._values = values;
|
|
9
|
+
}
|
|
10
|
+
and(condition) {
|
|
11
|
+
return new QueryConditionChain(this, condition, 'and');
|
|
12
|
+
}
|
|
13
|
+
or(condition) {
|
|
14
|
+
return new QueryConditionChain(this, condition, 'or');
|
|
15
|
+
}
|
|
19
16
|
}
|
|
20
|
-
export {
|
|
21
|
-
QueryColumnCondition as default
|
|
22
|
-
};
|
|
@@ -1,33 +1,26 @@
|
|
|
1
1
|
import QueryCondition from "./query-condition";
|
|
2
|
-
class QueryConditionChain extends QueryCondition {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
}
|
|
27
|
-
or(condition) {
|
|
28
|
-
return new QueryConditionChain(this, condition, "or");
|
|
29
|
-
}
|
|
2
|
+
export default class QueryConditionChain extends QueryCondition {
|
|
3
|
+
constructor(sibling, child, chainType) {
|
|
4
|
+
super();
|
|
5
|
+
this._parenthesis = false;
|
|
6
|
+
this._negation = false;
|
|
7
|
+
this._sibling = sibling;
|
|
8
|
+
this._child = child;
|
|
9
|
+
this._chainType = chainType;
|
|
10
|
+
}
|
|
11
|
+
// TODO how to call this
|
|
12
|
+
$() {
|
|
13
|
+
this._parenthesis = true;
|
|
14
|
+
return this;
|
|
15
|
+
}
|
|
16
|
+
not() {
|
|
17
|
+
this._negation = true;
|
|
18
|
+
return this;
|
|
19
|
+
}
|
|
20
|
+
and(condition) {
|
|
21
|
+
return new QueryConditionChain(this, condition, 'and');
|
|
22
|
+
}
|
|
23
|
+
or(condition) {
|
|
24
|
+
return new QueryConditionChain(this, condition, 'or');
|
|
25
|
+
}
|
|
30
26
|
}
|
|
31
|
-
export {
|
|
32
|
-
QueryConditionChain as default
|
|
33
|
-
};
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
+
// TODO I had to copy-paste the method implementations to every child class to avoid circular dependencies
|
|
1
2
|
class QueryCondition {
|
|
2
3
|
}
|
|
3
|
-
|
|
4
|
-
export {
|
|
5
|
-
query_condition_default as default
|
|
6
|
-
};
|
|
4
|
+
export default QueryCondition;
|
|
@@ -1,22 +1,16 @@
|
|
|
1
1
|
import QueryCondition from "./query-condition";
|
|
2
2
|
import QueryConditionChain from "./query-condition-chain";
|
|
3
|
-
class QueryJoinCondition extends QueryCondition {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
or(condition) {
|
|
17
|
-
return new QueryConditionChain(this, condition, "or");
|
|
18
|
-
}
|
|
3
|
+
export default class QueryJoinCondition extends QueryCondition {
|
|
4
|
+
constructor(column, type, otherColumn) {
|
|
5
|
+
super();
|
|
6
|
+
this._column = column;
|
|
7
|
+
this._type = type;
|
|
8
|
+
this._otherColumn = otherColumn;
|
|
9
|
+
}
|
|
10
|
+
and(condition) {
|
|
11
|
+
return new QueryConditionChain(this, condition, 'and');
|
|
12
|
+
}
|
|
13
|
+
or(condition) {
|
|
14
|
+
return new QueryConditionChain(this, condition, 'or');
|
|
15
|
+
}
|
|
19
16
|
}
|
|
20
|
-
export {
|
|
21
|
-
QueryJoinCondition as default
|
|
22
|
-
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
import JoinedTables from "./joined-tables";
|
|
2
|
-
class JoinedTablesChain {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
2
|
+
export default class JoinedTablesChain {
|
|
3
|
+
constructor(_table, _modifier, _parent) {
|
|
4
|
+
this._table = _table;
|
|
5
|
+
this._modifier = _modifier;
|
|
6
|
+
this._parent = _parent;
|
|
7
|
+
}
|
|
8
|
+
on(condition) {
|
|
9
|
+
return new JoinedTables(condition, this);
|
|
10
|
+
}
|
|
11
11
|
}
|
|
12
|
-
export {
|
|
13
|
-
JoinedTablesChain as default
|
|
14
|
-
};
|
|
@@ -1,22 +1,19 @@
|
|
|
1
1
|
import JoinedTablesChain from "./joined-tables-chain";
|
|
2
|
-
class JoinedTables {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
2
|
+
export default class JoinedTables {
|
|
3
|
+
constructor(_condition, _parent) {
|
|
4
|
+
this._condition = _condition;
|
|
5
|
+
this._parent = _parent;
|
|
6
|
+
}
|
|
7
|
+
innerJoin(table) {
|
|
8
|
+
return new JoinedTablesChain(table, 'inner', this);
|
|
9
|
+
}
|
|
10
|
+
leftJoin(table) {
|
|
11
|
+
return new JoinedTablesChain(table, 'left', this);
|
|
12
|
+
}
|
|
13
|
+
rightJoin(table) {
|
|
14
|
+
return new JoinedTablesChain(table, 'right', this);
|
|
15
|
+
}
|
|
16
|
+
fullJoin(table) {
|
|
17
|
+
return new JoinedTablesChain(table, 'full', this);
|
|
18
|
+
}
|
|
19
19
|
}
|
|
20
|
-
export {
|
|
21
|
-
JoinedTables as default
|
|
22
|
-
};
|