@ts-awesome/orm 1.3.0-rc3 → 1.5.0-alpha.12
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/.gitlab-ci.yml +6 -2
- package/dist/base.d.ts +10 -5
- package/dist/base.js +27 -19
- package/dist/base.js.map +1 -1
- package/dist/builder.d.ts +1 -1
- package/dist/builder.js +71 -41
- package/dist/builder.js.map +1 -1
- package/dist/decorators.js +16 -18
- package/dist/decorators.js.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/interfaces.d.ts +35 -27
- package/dist/intermediate.d.ts +10 -2
- package/dist/operators.d.ts +1 -0
- package/dist/operators.js +7 -3
- package/dist/operators.js.map +1 -1
- package/dist/reader.js +2 -2
- package/dist/reader.js.map +1 -1
- package/dist/symbols.d.ts +5 -1
- package/dist/symbols.js +6 -2
- package/dist/symbols.js.map +1 -1
- package/dist/test-driver/compiler.js +1 -1
- package/dist/test-driver/compiler.js.map +1 -1
- package/dist/test-driver/driver.js +3 -14
- package/dist/test-driver/driver.js.map +1 -1
- package/dist/test-driver/executor.js +3 -3
- package/dist/test-driver/executor.js.map +1 -1
- package/dist/test-driver/index.js +5 -1
- package/dist/test-driver/index.js.map +1 -1
- package/dist/test-driver/interfaces.d.ts +3 -3
- package/dist/test-driver/transaction.js +10 -25
- package/dist/test-driver/transaction.js.map +1 -1
- package/dist/wrappers.d.ts +95 -1
- package/dist/wrappers.js +56 -4
- package/dist/wrappers.js.map +1 -1
- package/package.json +11 -11
- package/tests/builder.spec.js +596 -0
- package/tests/builder.spec.ts +56 -60
- package/tests/models.js +112 -0
- package/tests/reader.spec.js +128 -0
package/.gitlab-ci.yml
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
variables:
|
|
2
|
+
NODE_VERSION: 18
|
|
3
|
+
|
|
1
4
|
stages:
|
|
2
5
|
- build
|
|
3
6
|
- publish
|
|
@@ -7,7 +10,7 @@ before_script:
|
|
|
7
10
|
|
|
8
11
|
build:
|
|
9
12
|
stage: build
|
|
10
|
-
image: node
|
|
13
|
+
image: node:$NODE_VERSION
|
|
11
14
|
only:
|
|
12
15
|
- master
|
|
13
16
|
- develop
|
|
@@ -19,7 +22,7 @@ build:
|
|
|
19
22
|
|
|
20
23
|
publish:
|
|
21
24
|
stage: publish
|
|
22
|
-
image: node
|
|
25
|
+
image: node:$NODE_VERSION
|
|
23
26
|
only:
|
|
24
27
|
- tags
|
|
25
28
|
script:
|
|
@@ -27,6 +30,7 @@ publish:
|
|
|
27
30
|
- npm run build
|
|
28
31
|
- npm run test
|
|
29
32
|
- npm --no-git-tag-version version ${CI_COMMIT_TAG}
|
|
33
|
+
- echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" > .npmrc
|
|
30
34
|
- npm publish --access public
|
|
31
35
|
variables:
|
|
32
36
|
NPM_TOKEN: ${NPM_TOKEN}
|
package/dist/base.d.ts
CHANGED
|
@@ -1,12 +1,17 @@
|
|
|
1
|
-
import { IBuildableQuery, IBuildableQueryCompiler, IQueryData, IQueryDriver, IQueryExecutor, IQueryExecutorProvider, IsolationLevel, ITransaction, TableMetaProvider } from "./interfaces";
|
|
1
|
+
import { DbValueType, IBuildableQuery, IBuildableQueryCompiler, IQueryData, IQueryDriver, IQueryExecutor, IQueryExecutorProvider, IsolationLevel, ITransaction, TableMetaProvider, WithParams } from "./interfaces";
|
|
2
|
+
import { NamedParameter } from "./wrappers";
|
|
2
3
|
export declare abstract class BaseCompiler<TQuery> implements IBuildableQueryCompiler<TQuery> {
|
|
3
4
|
abstract compile(query: IBuildableQuery): TQuery;
|
|
4
5
|
}
|
|
5
6
|
export declare abstract class BaseExecutor<TQuery, R extends IQueryData = IQueryData> implements IQueryExecutor<TQuery, R> {
|
|
6
|
-
execute(query: TQuery): Promise<readonly R[]>;
|
|
7
|
-
execute(query: TQuery, scalar: true): Promise<number>;
|
|
8
|
-
execute<X extends TableMetaProvider>(query: TQuery, Model: X, sensitive?: boolean): Promise<readonly InstanceType<X>[]>;
|
|
9
|
-
protected abstract do(query: TQuery): Promise<readonly R[]>;
|
|
7
|
+
execute(query: TQuery & WithParams): Promise<readonly R[]>;
|
|
8
|
+
execute(query: TQuery & WithParams, scalar: true): Promise<number>;
|
|
9
|
+
execute<X extends TableMetaProvider>(query: TQuery & WithParams, Model: X, sensitive?: boolean): Promise<readonly InstanceType<X>[]>;
|
|
10
|
+
protected abstract do(query: TQuery & WithParams): Promise<readonly R[]>;
|
|
11
|
+
protected _namedParameters: Record<string, DbValueType>;
|
|
12
|
+
get namedParameters(): Readonly<Record<string, DbValueType>>;
|
|
13
|
+
setNamedParameter<T extends DbValueType>(param: NamedParameter<T>, value: T): void;
|
|
14
|
+
removeNamedParameter(param: NamedParameter<unknown>): void;
|
|
10
15
|
}
|
|
11
16
|
export declare abstract class BaseExecutorProvider<TQuery> implements IQueryExecutorProvider<TQuery> {
|
|
12
17
|
abstract getExecutor(): IQueryExecutor<TQuery>;
|
package/dist/base.js
CHANGED
|
@@ -5,15 +5,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
6
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
7
|
};
|
|
8
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
9
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
10
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
11
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
12
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
13
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
14
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
15
|
-
});
|
|
16
|
-
};
|
|
17
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
9
|
exports.BaseDriver = exports.BaseTransaction = exports.BaseExecutorProvider = exports.BaseExecutor = exports.BaseCompiler = void 0;
|
|
19
10
|
const inversify_1 = require("inversify");
|
|
@@ -21,37 +12,54 @@ const reader_1 = require("./reader");
|
|
|
21
12
|
let BaseCompiler = class BaseCompiler {
|
|
22
13
|
};
|
|
23
14
|
BaseCompiler = __decorate([
|
|
24
|
-
inversify_1.injectable()
|
|
15
|
+
(0, inversify_1.injectable)()
|
|
25
16
|
], BaseCompiler);
|
|
26
17
|
exports.BaseCompiler = BaseCompiler;
|
|
27
18
|
let BaseExecutor = class BaseExecutor {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
19
|
+
constructor() {
|
|
20
|
+
this._namedParameters = {};
|
|
21
|
+
}
|
|
22
|
+
async execute(query, Model, sensitive = false) {
|
|
23
|
+
query = {
|
|
24
|
+
...query,
|
|
25
|
+
params: {
|
|
26
|
+
...this._namedParameters,
|
|
27
|
+
...query.params,
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
const result = await this.do(query);
|
|
31
|
+
return (0, reader_1.reader)(result, Model, sensitive);
|
|
32
|
+
}
|
|
33
|
+
get namedParameters() {
|
|
34
|
+
return { ...this._namedParameters };
|
|
35
|
+
}
|
|
36
|
+
setNamedParameter(param, value) {
|
|
37
|
+
this._namedParameters[param.name] = value;
|
|
38
|
+
}
|
|
39
|
+
removeNamedParameter(param) {
|
|
40
|
+
delete this._namedParameters[param.name];
|
|
33
41
|
}
|
|
34
42
|
};
|
|
35
43
|
BaseExecutor = __decorate([
|
|
36
|
-
inversify_1.injectable()
|
|
44
|
+
(0, inversify_1.injectable)()
|
|
37
45
|
], BaseExecutor);
|
|
38
46
|
exports.BaseExecutor = BaseExecutor;
|
|
39
47
|
let BaseExecutorProvider = class BaseExecutorProvider {
|
|
40
48
|
};
|
|
41
49
|
BaseExecutorProvider = __decorate([
|
|
42
|
-
inversify_1.injectable()
|
|
50
|
+
(0, inversify_1.injectable)()
|
|
43
51
|
], BaseExecutorProvider);
|
|
44
52
|
exports.BaseExecutorProvider = BaseExecutorProvider;
|
|
45
53
|
let BaseTransaction = class BaseTransaction extends BaseExecutor {
|
|
46
54
|
};
|
|
47
55
|
BaseTransaction = __decorate([
|
|
48
|
-
inversify_1.injectable()
|
|
56
|
+
(0, inversify_1.injectable)()
|
|
49
57
|
], BaseTransaction);
|
|
50
58
|
exports.BaseTransaction = BaseTransaction;
|
|
51
59
|
let BaseDriver = class BaseDriver extends BaseExecutor {
|
|
52
60
|
};
|
|
53
61
|
BaseDriver = __decorate([
|
|
54
|
-
inversify_1.injectable()
|
|
62
|
+
(0, inversify_1.injectable)()
|
|
55
63
|
], BaseDriver);
|
|
56
64
|
exports.BaseDriver = BaseDriver;
|
|
57
65
|
//# sourceMappingURL=base.js.map
|
package/dist/base.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":";;;;;;;;;AASA,yCAAqC;AACrC,qCAAgC;AAIzB,IAAe,YAAY,GAA3B,MAAe,YAAY;CAEjC,CAAA;AAFqB,YAAY;IADjC,IAAA,sBAAU,GAAE;GACS,YAAY,CAEjC;AAFqB,oCAAY;AAK3B,IAAe,YAAY,GAA3B,MAAe,YAAY;IAA3B;QAkBK,qBAAgB,GAAgC,EAAE,CAAC;IAW/D,CAAC;IAzBQ,KAAK,CAAC,OAAO,CAAC,KAA0B,EAAE,KAAsB,EAAE,SAAS,GAAG,KAAK;QACxF,KAAK,GAAG;YACN,GAAG,KAAK;YACR,MAAM,EAAE;gBACN,GAAG,IAAI,CAAC,gBAAgB;gBACxB,GAAG,KAAK,CAAC,MAAM;aAChB;SACF,CAAA;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;QACpC,OAAO,IAAA,eAAM,EAAC,MAAM,EAAE,KAAY,EAAE,SAAS,CAAC,CAAC;IACjD,CAAC;IAMD,IAAW,eAAe;QACxB,OAAO,EAAC,GAAG,IAAI,CAAC,gBAAgB,EAAC,CAAC;IACpC,CAAC;IACM,iBAAiB,CAAwB,KAAwB,EAAE,KAAQ;QAChF,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IAC5C,CAAC;IACM,oBAAoB,CAAC,KAA8B;QACxD,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;CACF,CAAA;AA7BqB,YAAY;IADjC,IAAA,sBAAU,GAAE;GACS,YAAY,CA6BjC;AA7BqB,oCAAY;AAgC3B,IAAe,oBAAoB,GAAnC,MAAe,oBAAoB;CAEzC,CAAA;AAFqB,oBAAoB;IADzC,IAAA,sBAAU,GAAE;GACS,oBAAoB,CAEzC;AAFqB,oDAAoB;AAKnC,IAAe,eAAe,GAA9B,MAAe,eAAgF,SAAQ,YAAuB;CAKpI,CAAA;AALqB,eAAe;IADpC,IAAA,sBAAU,GAAE;GACS,eAAe,CAKpC;AALqB,0CAAe;AAQ9B,IAAe,UAAU,GAAzB,MAAe,UAA2E,SAAQ,YAAuB;CAG/H,CAAA;AAHqB,UAAU;IAD/B,IAAA,sBAAU,GAAE;GACS,UAAU,CAG/B;AAHqB,gCAAU"}
|
package/dist/builder.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { IBuildableDeleteQuery, IBuildableInsertQuery, IBuildableQuery, IBuildableSelectQuery, IBuildableUpdateQuery, IBuildableUpsertQuery, IDeleteBuilder, IFieldInfo, IIndexInfo, IInsertBuilder, IOperandable, ISelectBuilder, ITableInfo, ITableRef, IUpdateBuilder, IUpsertBuilder, TableMetaProvider } from './interfaces';
|
|
2
2
|
export interface IExpr {
|
|
3
3
|
_alias?: string;
|
|
4
4
|
_column?: string;
|
package/dist/builder.js
CHANGED
|
@@ -4,7 +4,36 @@ exports.Delete = exports.Update = exports.Upsert = exports.Insert = exports.Sele
|
|
|
4
4
|
const wrappers_1 = require("./wrappers");
|
|
5
5
|
const operators_1 = require("./operators");
|
|
6
6
|
const symbols_1 = require("./symbols");
|
|
7
|
-
function
|
|
7
|
+
function columnExpression(property, tableInfo, ignoreTableName, alias_) {
|
|
8
|
+
const info = tableInfo.fields.get(property);
|
|
9
|
+
if (!info) {
|
|
10
|
+
throw new Error(`Property ${property} should be decorated with @dbField`);
|
|
11
|
+
}
|
|
12
|
+
const { name = property, kind } = info;
|
|
13
|
+
if (typeof kind === 'string' || typeof kind === 'symbol') {
|
|
14
|
+
throw new Error(`@dbField kind specified by string or symbol is not support since 1.0.0`);
|
|
15
|
+
}
|
|
16
|
+
const tableName = alias_ !== null && alias_ !== void 0 ? alias_ : tableInfo.tableName;
|
|
17
|
+
const ref = new wrappers_1.ColumnWrapper({ name, table: ignoreTableName ? undefined : tableName });
|
|
18
|
+
if (typeof (kind === null || kind === void 0 ? void 0 : kind.readQuery) !== 'function') {
|
|
19
|
+
return ref;
|
|
20
|
+
}
|
|
21
|
+
return new wrappers_1.AliasWrapper(kind.readQuery(ref, proxy(tableInfo, ignoreTableName, alias_)), name);
|
|
22
|
+
}
|
|
23
|
+
function columnReference(property, tableInfo, ignoreTableName, alias) {
|
|
24
|
+
const info = tableInfo.fields.get(property);
|
|
25
|
+
if (!info) {
|
|
26
|
+
throw new Error(`Property ${property} should be decorated with @dbField`);
|
|
27
|
+
}
|
|
28
|
+
const { name = property, kind } = info;
|
|
29
|
+
if (typeof kind === 'string' || typeof kind === 'symbol') {
|
|
30
|
+
throw new Error(`@dbField kind specified by string or symbol is not support since 1.0.0`);
|
|
31
|
+
}
|
|
32
|
+
const tableName = alias !== null && alias !== void 0 ? alias : tableInfo.tableName;
|
|
33
|
+
return { _column: { name, table: ignoreTableName ? undefined : tableName } };
|
|
34
|
+
}
|
|
35
|
+
function proxy(meta, ignoreTableName, alias) {
|
|
36
|
+
const { tableName: originalTableName, fields, primaryKey } = meta;
|
|
8
37
|
return new Proxy({}, {
|
|
9
38
|
get(_, property) {
|
|
10
39
|
const tableName = alias !== null && alias !== void 0 ? alias : originalTableName;
|
|
@@ -13,20 +42,15 @@ function proxy({ tableName: originalTableName, fields, primaryKey }, ignoreTable
|
|
|
13
42
|
}
|
|
14
43
|
const { builder, relatedTo, name } = fields.get(property);
|
|
15
44
|
if (!relatedTo && !builder) {
|
|
16
|
-
|
|
17
|
-
if (ignoreTableName) {
|
|
18
|
-
ref.table = undefined;
|
|
19
|
-
}
|
|
20
|
-
return new wrappers_1.ColumnWrapper(ref);
|
|
45
|
+
return columnExpression(property, meta, ignoreTableName, alias);
|
|
21
46
|
}
|
|
22
47
|
if (!primaryKey) {
|
|
23
48
|
throw new Error('@dbManyField() should be used on table with single field PK');
|
|
24
49
|
}
|
|
25
50
|
if (builder) {
|
|
26
51
|
const pk = new wrappers_1.ColumnWrapper({ table: tableName, name: primaryKey });
|
|
27
|
-
const query = builder(pk);
|
|
28
|
-
|
|
29
|
-
return new wrappers_1.Operandable('SUBQUERY', [stripped]);
|
|
52
|
+
const query = builder(pk, proxy(meta, ignoreTableName, alias));
|
|
53
|
+
return new wrappers_1.Operandable('SUBQUERY', [strip(query)]);
|
|
30
54
|
}
|
|
31
55
|
return new wrappers_1.Operandable('SUBQUERY', [{
|
|
32
56
|
_type: 'SELECT',
|
|
@@ -49,34 +73,26 @@ function proxy({ tableName: originalTableName, fields, primaryKey }, ignoreTable
|
|
|
49
73
|
}
|
|
50
74
|
function treeOf(_, tableInfo, alias) {
|
|
51
75
|
validateModel(_, tableInfo);
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
.map(field => new wrappers_1.ColumnWrapper(resolveColumn(field, { tableName, fields: tableInfo.fields })).eq(_[field])));
|
|
76
|
+
return (0, operators_1.and)(...Object.keys(_)
|
|
77
|
+
.map(field => columnExpression(field, tableInfo, false, alias).eq(_[field])));
|
|
55
78
|
}
|
|
56
|
-
function
|
|
57
|
-
|
|
79
|
+
function columnExpressionsOf(_, tableInfo, alias) {
|
|
80
|
+
const { fields } = tableInfo;
|
|
81
|
+
for (const field of _) {
|
|
58
82
|
if (!fields.has(field) || fields.get(field).relatedTo || fields.get(field).builder) {
|
|
59
|
-
throw new Error(`Field '${field}' should be decorated with @dbField`);
|
|
83
|
+
throw new Error(`Field '${field.toString()}' should be decorated with @dbField`);
|
|
60
84
|
}
|
|
61
|
-
});
|
|
62
|
-
const tableName = alias !== null && alias !== void 0 ? alias : originaltableName;
|
|
63
|
-
return _.map(field => ({ _column: resolveColumn(field, { tableName, fields }) }));
|
|
64
|
-
}
|
|
65
|
-
function resolveColumn(property, { tableName, fields }) {
|
|
66
|
-
const info = fields.get(property);
|
|
67
|
-
if (!info) {
|
|
68
|
-
throw new Error(`Property ${property} should be decorated with @dbField`);
|
|
69
85
|
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
86
|
+
return _.map(field => columnExpression(field, tableInfo, false, alias));
|
|
87
|
+
}
|
|
88
|
+
function columnsOf(_, tableInfo, alias) {
|
|
89
|
+
const { fields } = tableInfo;
|
|
90
|
+
for (const field of _) {
|
|
91
|
+
if (!fields.has(field) || fields.get(field).relatedTo || fields.get(field).builder) {
|
|
92
|
+
throw new Error(`Field '${field.toString()}' should be decorated with @dbField`);
|
|
93
|
+
}
|
|
73
94
|
}
|
|
74
|
-
return
|
|
75
|
-
table: tableName,
|
|
76
|
-
name,
|
|
77
|
-
wrapper: kind === null || kind === void 0 ? void 0 : kind.readQuery,
|
|
78
|
-
// writer: kind?.writer,
|
|
79
|
-
};
|
|
95
|
+
return _.map(field => columnReference(field, tableInfo, false, alias));
|
|
80
96
|
}
|
|
81
97
|
function validateModel(_, tableInfo) {
|
|
82
98
|
validateFields(Object.keys(_), tableInfo);
|
|
@@ -105,19 +121,19 @@ function having(_) {
|
|
|
105
121
|
function columns(_) {
|
|
106
122
|
this._columns = typeof _ === 'function'
|
|
107
123
|
? _(proxy(this._table, false, this._alias))
|
|
108
|
-
:
|
|
124
|
+
: columnExpressionsOf(_, this._table, this._alias);
|
|
109
125
|
return this;
|
|
110
126
|
}
|
|
111
127
|
function orderBy(_) {
|
|
112
128
|
this._orderBy = typeof _ === 'function'
|
|
113
129
|
? _(proxy(this._table, false, this._alias))
|
|
114
|
-
: columnsOf(_, this._table);
|
|
130
|
+
: columnsOf(_, this._table, this._alias);
|
|
115
131
|
return this;
|
|
116
132
|
}
|
|
117
133
|
function groupBy(_) {
|
|
118
134
|
this._groupBy = typeof _ === 'function'
|
|
119
135
|
? _(proxy(this._table, false, this._alias))
|
|
120
|
-
: columnsOf(_, this._table);
|
|
136
|
+
: columnsOf(_, this._table, this._alias);
|
|
121
137
|
return this;
|
|
122
138
|
}
|
|
123
139
|
function values(_) {
|
|
@@ -133,16 +149,19 @@ function values(_) {
|
|
|
133
149
|
.filter(({ relatedTo, builder }) => relatedTo == null && builder == null)
|
|
134
150
|
.reduce((p, { getValue, kind, name }) => {
|
|
135
151
|
let value = getValue(_);
|
|
136
|
-
let wrapper = undefined;
|
|
137
152
|
if (kind) {
|
|
138
153
|
if (typeof kind === 'string' || typeof kind === 'symbol') {
|
|
139
154
|
throw new Error(`DbField specified by string or symbol is not support since 1.0.0`);
|
|
140
155
|
}
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
156
|
+
const { writer, writeQuery } = kind;
|
|
157
|
+
if (typeof writer === 'function') {
|
|
158
|
+
value = writer(value);
|
|
159
|
+
}
|
|
160
|
+
if (typeof writeQuery === 'function') {
|
|
161
|
+
value = writeQuery(new wrappers_1.UnnamedParameter(value), proxy(this._table, false, this._alias));
|
|
162
|
+
}
|
|
144
163
|
}
|
|
145
|
-
return
|
|
164
|
+
return { ...p, [name]: value };
|
|
146
165
|
}, {});
|
|
147
166
|
}
|
|
148
167
|
return this;
|
|
@@ -288,15 +307,26 @@ function fix(x) {
|
|
|
288
307
|
}
|
|
289
308
|
return x;
|
|
290
309
|
}
|
|
310
|
+
function strip(x) {
|
|
311
|
+
return Object.fromEntries(Object.entries(x).filter(([, value]) => typeof value !== 'function'));
|
|
312
|
+
}
|
|
291
313
|
function Select(_, distinct = false) {
|
|
292
314
|
function isAlias(x) {
|
|
293
315
|
return x && typeof x._alias === 'string';
|
|
294
316
|
}
|
|
317
|
+
const meta = readModelMeta(isAlias(_) ? _._operands[0] : _);
|
|
318
|
+
const keys = [...meta.fields.keys()];
|
|
319
|
+
const fields = keys
|
|
320
|
+
.filter(x => {
|
|
321
|
+
const info = meta.fields.get(x);
|
|
322
|
+
return info && !info.sensitive && !info.builder && !info.relatedTo;
|
|
323
|
+
});
|
|
295
324
|
return fix({
|
|
296
325
|
_type: 'SELECT',
|
|
297
|
-
_table:
|
|
326
|
+
_table: meta,
|
|
298
327
|
_alias: isAlias(_) ? _._alias : null,
|
|
299
328
|
_distinct: distinct,
|
|
329
|
+
_columns: columnExpressionsOf(fields, meta, isAlias(_) ? _._alias : undefined),
|
|
300
330
|
columns,
|
|
301
331
|
join,
|
|
302
332
|
joinLeft,
|
package/dist/builder.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"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"}
|
package/dist/decorators.js
CHANGED
|
@@ -1,15 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
|
3
|
-
var t = {};
|
|
4
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
5
|
-
t[p] = s[p];
|
|
6
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
7
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
8
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
9
|
-
t[p[i]] = s[p[i]];
|
|
10
|
-
}
|
|
11
|
-
return t;
|
|
12
|
-
};
|
|
13
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
3
|
exports.dbManyField = exports.dbFilterField = exports.dbField = exports.dbTable = void 0;
|
|
15
4
|
const symbols_1 = require("./symbols");
|
|
@@ -61,10 +50,14 @@ function dbField(...args) {
|
|
|
61
50
|
const tableInfo = ensureTableInfo(target.constructor);
|
|
62
51
|
const { fields } = tableInfo;
|
|
63
52
|
if (typeof fieldMeta !== 'string' && fieldMeta) {
|
|
64
|
-
const { name = key.toString(), primaryKey, kind
|
|
65
|
-
fields.set(key.toString(),
|
|
53
|
+
const { name = key.toString(), primaryKey, kind, ...rest } = fieldMeta;
|
|
54
|
+
fields.set(key.toString(), {
|
|
55
|
+
...rest,
|
|
56
|
+
name,
|
|
66
57
|
primaryKey,
|
|
67
|
-
kind,
|
|
58
|
+
kind,
|
|
59
|
+
getValue: x => x[key],
|
|
60
|
+
});
|
|
68
61
|
if (primaryKey) {
|
|
69
62
|
tableInfo.primaryKey = name;
|
|
70
63
|
}
|
|
@@ -76,7 +69,7 @@ function dbField(...args) {
|
|
|
76
69
|
});
|
|
77
70
|
}
|
|
78
71
|
const { model, nullable = false } = fields.get(key.toString());
|
|
79
|
-
model_reader_1.readable(model, nullable)(target, key);
|
|
72
|
+
(0, model_reader_1.readable)(model, nullable)(target, key);
|
|
80
73
|
}
|
|
81
74
|
}
|
|
82
75
|
exports.dbField = dbField;
|
|
@@ -92,11 +85,16 @@ function dbFilterField(fieldMeta) {
|
|
|
92
85
|
});
|
|
93
86
|
return;
|
|
94
87
|
}
|
|
95
|
-
const { valueField, keyField, table
|
|
96
|
-
fields.set(key.toString(),
|
|
88
|
+
const { valueField, keyField, table, ...rest } = fieldMeta;
|
|
89
|
+
fields.set(key.toString(), {
|
|
90
|
+
...rest,
|
|
91
|
+
name: valueField,
|
|
92
|
+
relatedTo: {
|
|
97
93
|
keyField,
|
|
98
94
|
tableName: table,
|
|
99
|
-
},
|
|
95
|
+
},
|
|
96
|
+
getValue: () => undefined,
|
|
97
|
+
});
|
|
100
98
|
};
|
|
101
99
|
}
|
|
102
100
|
exports.dbFilterField = dbFilterField;
|
package/dist/decorators.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../src/decorators.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../src/decorators.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,4CAA0B;AAC1B,2CAAyB;AACzB,+CAA6B;AAC7B,8CAA4B;AAC5B,qCAAkF;AAA1E,iGAAA,MAAM,OAAA;AAAE,iGAAA,MAAM,OAAA;AAAE,iGAAA,MAAM,OAAA;AAAE,iGAAA,MAAM,OAAA;AAAE,iGAAA,MAAM,OAAA;AAAS,mGAAA,QAAQ,OAAA;AAC/D,2CAAyB;AACzB,iDAA+B;AAE/B,wDAAgC;AAChC,kBAAe,iBAAO,CAAC"}
|
package/dist/interfaces.d.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { IExpression, IJoin, IOrderBy, IReference } from './intermediate';
|
|
2
|
-
import { Operandable } from "./wrappers";
|
|
3
|
-
export
|
|
4
|
-
export interface IDbField<T = any> {
|
|
5
|
-
readQuery?(
|
|
6
|
-
writeQuery?(
|
|
2
|
+
import { NamedParameter, Operandable } from "./wrappers";
|
|
3
|
+
export type DbValueType = string | number | boolean | Date | null | undefined;
|
|
4
|
+
export interface IDbField<T = any, X = any> {
|
|
5
|
+
readQuery?(reference: IOperandable, table: Queryable<X>): IOperandable;
|
|
6
|
+
writeQuery?(value: IOperandable, table: Queryable<X>): IOperandable;
|
|
7
7
|
reader?(raw: DbValueType): T;
|
|
8
8
|
writer?(value: T): DbValueType;
|
|
9
9
|
}
|
|
10
10
|
export interface SubQueryBuilder<T = number> {
|
|
11
|
-
(value: Operandable<T>): IBuildableSubSelectQuery;
|
|
11
|
+
(value: Operandable<T>, table: Queryable<T>): IBuildableSubSelectQuery;
|
|
12
12
|
}
|
|
13
13
|
declare type Class = new (...args: any) => any;
|
|
14
14
|
export interface IFieldInfo {
|
|
@@ -40,14 +40,14 @@ export interface ITableInfo {
|
|
|
40
40
|
fields: Map<string, IFieldInfo>;
|
|
41
41
|
indexes?: IIndexInfo<any>[];
|
|
42
42
|
}
|
|
43
|
-
export
|
|
44
|
-
export
|
|
43
|
+
export type TableMetaProvider<T = any> = new (...args: any) => T;
|
|
44
|
+
export type Queryable<T> = {
|
|
45
45
|
readonly [P in keyof T]: IOperandable<T[P]>;
|
|
46
46
|
};
|
|
47
|
-
export
|
|
47
|
+
export type Values<T> = {
|
|
48
48
|
[P in keyof T]?: IOperandable<T[P]> | T[P];
|
|
49
49
|
};
|
|
50
|
-
export
|
|
50
|
+
export type ColumnsList<T> = Column<T>[];
|
|
51
51
|
export interface IOperandable<T = any> {
|
|
52
52
|
eq(value: T | IOperandable<T>): boolean;
|
|
53
53
|
neq(value: T | IOperandable<T>): boolean;
|
|
@@ -59,7 +59,7 @@ export interface IOperandable<T = any> {
|
|
|
59
59
|
lte(value: T | IOperandable<T>): boolean;
|
|
60
60
|
between(min: T | IOperandable<T>, max: T | IOperandable<T>): boolean;
|
|
61
61
|
}
|
|
62
|
-
export
|
|
62
|
+
export type ElementType<T> = T extends any[] ? T[number] : T;
|
|
63
63
|
export interface IOperandable<T> {
|
|
64
64
|
in(value: T[] | Iterable<T> | IOperandable<T[]>): boolean;
|
|
65
65
|
has(value: ElementType<T> | IOperandable<ElementType<T>>): boolean;
|
|
@@ -79,15 +79,15 @@ export interface IOperandable<T = any> {
|
|
|
79
79
|
or(value: T | IOperandable<T>): IOperandable<T>;
|
|
80
80
|
xor(value: T | IOperandable<T>): IOperandable<T>;
|
|
81
81
|
}
|
|
82
|
-
export
|
|
83
|
-
export
|
|
84
|
-
export
|
|
85
|
-
export
|
|
86
|
-
export
|
|
87
|
-
export
|
|
88
|
-
export
|
|
89
|
-
export
|
|
90
|
-
export
|
|
82
|
+
export type WhereBuilder<T> = (model: Queryable<T>) => IOperandable<boolean> | boolean;
|
|
83
|
+
export type HavingBuilder<T> = (model: Queryable<T>) => IOperandable<boolean> | boolean;
|
|
84
|
+
export type ValuesBuilder<T> = (model: Queryable<T>) => Values<T>;
|
|
85
|
+
export type JoinBuilder<T, X> = (root: Queryable<T>, other: Queryable<X>) => IOperandable<boolean> | boolean;
|
|
86
|
+
export type OrderBuilder<T> = (x: Columns<T>) => (Column<T> | Order | IOperandable<any>)[];
|
|
87
|
+
export type GroupByBuilder<T> = (x: Columns<T>) => Column<T>[];
|
|
88
|
+
export type ColumnsBuilder<T> = (x: Queryable<T>) => (Column<T> | IOperandable<any>)[];
|
|
89
|
+
export type Column<T> = keyof T;
|
|
90
|
+
export type Columns<T> = {
|
|
91
91
|
readonly [P in keyof T]: Column<T>;
|
|
92
92
|
};
|
|
93
93
|
export interface Order {
|
|
@@ -98,10 +98,10 @@ export interface IBuildableWherePartial {
|
|
|
98
98
|
_where?: any[];
|
|
99
99
|
_limit?: number;
|
|
100
100
|
}
|
|
101
|
-
export interface IBuildableValuesPartial {
|
|
101
|
+
export interface IBuildableValuesPartial<T> {
|
|
102
102
|
_table: ITableInfo;
|
|
103
103
|
_alias?: string;
|
|
104
|
-
_values?:
|
|
104
|
+
_values?: Values<T>;
|
|
105
105
|
}
|
|
106
106
|
export interface IBuildableSelectQuery {
|
|
107
107
|
_type: 'SELECT';
|
|
@@ -157,7 +157,7 @@ export interface IBuildableDeleteQuery {
|
|
|
157
157
|
_where?: IExpression[];
|
|
158
158
|
_limit?: number;
|
|
159
159
|
}
|
|
160
|
-
export
|
|
160
|
+
export type IBuildableQuery = IBuildableSelectQuery | IBuildableInsertQuery | IBuildableUpsertQuery | IBuildableUpdateQuery | IBuildableDeleteQuery;
|
|
161
161
|
export interface IWhereHandler<T> {
|
|
162
162
|
where(builder: WhereBuilder<T>): this;
|
|
163
163
|
where(value: Partial<T>): this;
|
|
@@ -204,13 +204,21 @@ export interface IDeleteBuilder<T> extends IWhereHandler<T> {
|
|
|
204
204
|
export interface IBuildableQueryCompiler<T> {
|
|
205
205
|
compile(query: IBuildableQuery): T;
|
|
206
206
|
}
|
|
207
|
-
export
|
|
207
|
+
export type IQueryData = {
|
|
208
208
|
[key: string]: DbValueType;
|
|
209
209
|
};
|
|
210
|
+
export interface WithParams {
|
|
211
|
+
params?: {
|
|
212
|
+
[key: string]: DbValueType;
|
|
213
|
+
};
|
|
214
|
+
}
|
|
210
215
|
export interface IQueryExecutor<T, R = IQueryData> {
|
|
211
|
-
execute(query: T): Promise<ReadonlyArray<R>>;
|
|
212
|
-
execute(query: T, scalar: true): Promise<number>;
|
|
213
|
-
execute<X extends TableMetaProvider>(query: T, Model: X, sensitive?: boolean): Promise<ReadonlyArray<InstanceType<X>>>;
|
|
216
|
+
execute(query: T & WithParams): Promise<ReadonlyArray<R>>;
|
|
217
|
+
execute(query: T & WithParams, scalar: true): Promise<number>;
|
|
218
|
+
execute<X extends TableMetaProvider>(query: T & WithParams, Model: X, sensitive?: boolean): Promise<ReadonlyArray<InstanceType<X>>>;
|
|
219
|
+
readonly namedParameters: Readonly<Record<string, DbValueType>>;
|
|
220
|
+
setNamedParameter<T extends DbValueType>(param: NamedParameter<T>, value: T): void;
|
|
221
|
+
removeNamedParameter(param: NamedParameter<unknown>): void;
|
|
214
222
|
}
|
|
215
223
|
export declare const enum IsolationLevel {
|
|
216
224
|
Serializable = "SERIALIZABLE",
|