@stamhoofd/sql 2.83.5 → 2.84.0
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/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -1
- package/dist/src/QueryableModel.d.ts +1 -0
- package/dist/src/QueryableModel.d.ts.map +1 -1
- package/dist/src/QueryableModel.js +20 -2
- package/dist/src/QueryableModel.js.map +1 -1
- package/dist/src/SQL.d.ts +9 -16
- package/dist/src/SQL.d.ts.map +1 -1
- package/dist/src/SQL.js +16 -13
- package/dist/src/SQL.js.map +1 -1
- package/dist/src/SQLDelete.d.ts +2 -2
- package/dist/src/SQLDelete.d.ts.map +1 -1
- package/dist/src/SQLDelete.js +13 -3
- package/dist/src/SQLDelete.js.map +1 -1
- package/dist/src/SQLExpression.d.ts +3 -0
- package/dist/src/SQLExpression.d.ts.map +1 -1
- package/dist/src/SQLExpression.js.map +1 -1
- package/dist/src/SQLExpressions.d.ts +17 -6
- package/dist/src/SQLExpressions.d.ts.map +1 -1
- package/dist/src/SQLExpressions.js +20 -12
- package/dist/src/SQLExpressions.js.map +1 -1
- package/dist/src/SQLJoin.d.ts +3 -3
- package/dist/src/SQLJoin.d.ts.map +1 -1
- package/dist/src/SQLJoin.js +5 -1
- package/dist/src/SQLJoin.js.map +1 -1
- package/dist/src/SQLJsonExpressions.d.ts +22 -0
- package/dist/src/SQLJsonExpressions.d.ts.map +1 -1
- package/dist/src/SQLJsonExpressions.js +56 -4
- package/dist/src/SQLJsonExpressions.js.map +1 -1
- package/dist/src/SQLSelect.d.ts +10 -4
- package/dist/src/SQLSelect.d.ts.map +1 -1
- package/dist/src/SQLSelect.js +25 -11
- package/dist/src/SQLSelect.js.map +1 -1
- package/dist/src/SQLWhere.d.ts +29 -1
- package/dist/src/SQLWhere.d.ts.map +1 -1
- package/dist/src/SQLWhere.js +181 -12
- package/dist/src/SQLWhere.js.map +1 -1
- package/dist/src/filters/SQLFilter.d.ts +1 -0
- package/dist/src/filters/SQLFilter.d.ts.map +1 -1
- package/dist/src/filters/SQLFilter.js +8 -0
- package/dist/src/filters/SQLFilter.js.map +1 -1
- package/dist/src/filters/modern/SQLModernFilter.d.ts +73 -0
- package/dist/src/filters/modern/SQLModernFilter.d.ts.map +1 -0
- package/dist/src/filters/modern/SQLModernFilter.js +200 -0
- package/dist/src/filters/modern/SQLModernFilter.js.map +1 -0
- package/dist/src/filters/modern/compilers/contains.d.ts +4 -0
- package/dist/src/filters/modern/compilers/contains.d.ts.map +1 -0
- package/dist/src/filters/modern/compilers/contains.js +28 -0
- package/dist/src/filters/modern/compilers/contains.js.map +1 -0
- package/dist/src/filters/modern/compilers/equals.d.ts +4 -0
- package/dist/src/filters/modern/compilers/equals.d.ts.map +1 -0
- package/dist/src/filters/modern/compilers/equals.js +46 -0
- package/dist/src/filters/modern/compilers/equals.js.map +1 -0
- package/dist/src/filters/modern/compilers/greater.d.ts +4 -0
- package/dist/src/filters/modern/compilers/greater.d.ts.map +1 -0
- package/dist/src/filters/modern/compilers/greater.js +17 -0
- package/dist/src/filters/modern/compilers/greater.js.map +1 -0
- package/dist/src/filters/modern/compilers/in.d.ts +4 -0
- package/dist/src/filters/modern/compilers/in.d.ts.map +1 -0
- package/dist/src/filters/modern/compilers/in.js +50 -0
- package/dist/src/filters/modern/compilers/in.js.map +1 -0
- package/dist/src/filters/modern/compilers/index.d.ts +5 -0
- package/dist/src/filters/modern/compilers/index.d.ts.map +1 -0
- package/dist/src/filters/modern/compilers/index.js +8 -0
- package/dist/src/filters/modern/compilers/index.js.map +1 -0
- package/dist/src/filters/modern/compilers/less.d.ts +4 -0
- package/dist/src/filters/modern/compilers/less.d.ts.map +1 -0
- package/dist/src/filters/modern/compilers/less.js +17 -0
- package/dist/src/filters/modern/compilers/less.js.map +1 -0
- package/dist/src/filters/modern/helpers/isJSONColumn.d.ts +4 -0
- package/dist/src/filters/modern/helpers/isJSONColumn.d.ts.map +1 -0
- package/dist/src/filters/modern/helpers/isJSONColumn.js +16 -0
- package/dist/src/filters/modern/helpers/isJSONColumn.js.map +1 -0
- package/dist/src/filters/modern/helpers/normalizeCompareValue.d.ts +9 -0
- package/dist/src/filters/modern/helpers/normalizeCompareValue.d.ts.map +1 -0
- package/dist/src/filters/modern/helpers/normalizeCompareValue.js +82 -0
- package/dist/src/filters/modern/helpers/normalizeCompareValue.js.map +1 -0
- package/dist/tests/filters/$and.test.d.ts +2 -0
- package/dist/tests/filters/$and.test.d.ts.map +1 -0
- package/dist/tests/filters/$and.test.js +185 -0
- package/dist/tests/filters/$and.test.js.map +1 -0
- package/dist/tests/filters/$contains.test.d.ts +2 -0
- package/dist/tests/filters/$contains.test.d.ts.map +1 -0
- package/dist/tests/filters/$contains.test.js +701 -0
- package/dist/tests/filters/$contains.test.js.map +1 -0
- package/dist/tests/filters/$eq.test.d.ts +2 -0
- package/dist/tests/filters/$eq.test.d.ts.map +1 -0
- package/dist/tests/filters/$eq.test.js +986 -0
- package/dist/tests/filters/$eq.test.js.map +1 -0
- package/dist/tests/filters/$gt.test.d.ts +2 -0
- package/dist/tests/filters/$gt.test.d.ts.map +1 -0
- package/dist/tests/filters/$gt.test.js +463 -0
- package/dist/tests/filters/$gt.test.js.map +1 -0
- package/dist/tests/filters/$gte.test.d.ts +2 -0
- package/dist/tests/filters/$gte.test.d.ts.map +1 -0
- package/dist/tests/filters/$gte.test.js +433 -0
- package/dist/tests/filters/$gte.test.js.map +1 -0
- package/dist/tests/filters/$in.test.d.ts +2 -0
- package/dist/tests/filters/$in.test.d.ts.map +1 -0
- package/dist/tests/filters/$in.test.js +590 -0
- package/dist/tests/filters/$in.test.js.map +1 -0
- package/dist/tests/filters/$lt.test.d.ts +2 -0
- package/dist/tests/filters/$lt.test.d.ts.map +1 -0
- package/dist/tests/filters/$lt.test.js +433 -0
- package/dist/tests/filters/$lt.test.js.map +1 -0
- package/dist/tests/filters/$lte.test.d.ts +2 -0
- package/dist/tests/filters/$lte.test.d.ts.map +1 -0
- package/dist/tests/filters/$lte.test.js +472 -0
- package/dist/tests/filters/$lte.test.js.map +1 -0
- package/dist/tests/filters/$neq.test.d.ts +2 -0
- package/dist/tests/filters/$neq.test.d.ts.map +1 -0
- package/dist/tests/filters/$neq.test.js +32 -0
- package/dist/tests/filters/$neq.test.js.map +1 -0
- package/dist/tests/filters/$not.test.d.ts +2 -0
- package/dist/tests/filters/$not.test.d.ts.map +1 -0
- package/dist/tests/filters/$not.test.js +50 -0
- package/dist/tests/filters/$not.test.js.map +1 -0
- package/dist/tests/filters/$or.test.d.ts +2 -0
- package/dist/tests/filters/$or.test.d.ts.map +1 -0
- package/dist/tests/filters/$or.test.js +185 -0
- package/dist/tests/filters/$or.test.js.map +1 -0
- package/dist/tests/filters/dot-syntax.test.d.ts +2 -0
- package/dist/tests/filters/dot-syntax.test.d.ts.map +1 -0
- package/dist/tests/filters/dot-syntax.test.js +210 -0
- package/dist/tests/filters/dot-syntax.test.js.map +1 -0
- package/dist/tests/filters/exists.test.d.ts +2 -0
- package/dist/tests/filters/exists.test.d.ts.map +1 -0
- package/dist/tests/filters/exists.test.js +106 -0
- package/dist/tests/filters/exists.test.js.map +1 -0
- package/dist/tests/filters/joined-relations.test.d.ts +2 -0
- package/dist/tests/filters/joined-relations.test.d.ts.map +1 -0
- package/dist/tests/filters/joined-relations.test.js +167 -0
- package/dist/tests/filters/joined-relations.test.js.map +1 -0
- package/dist/tests/filters/special-cases.test.d.ts +2 -0
- package/dist/tests/filters/special-cases.test.d.ts.map +1 -0
- package/dist/tests/filters/special-cases.test.js +114 -0
- package/dist/tests/filters/special-cases.test.js.map +1 -0
- package/dist/tests/filters/wildcard.test.d.ts +2 -0
- package/dist/tests/filters/wildcard.test.d.ts.map +1 -0
- package/dist/tests/filters/wildcard.test.js +67 -0
- package/dist/tests/filters/wildcard.test.js.map +1 -0
- package/dist/tests/jest.global.setup.d.ts +3 -0
- package/dist/tests/jest.global.setup.d.ts.map +1 -0
- package/dist/tests/jest.global.setup.js +7 -0
- package/dist/tests/jest.global.setup.js.map +1 -0
- package/dist/tests/jest.setup.d.ts +2 -0
- package/dist/tests/jest.setup.d.ts.map +1 -0
- package/dist/tests/jest.setup.js +5 -0
- package/dist/tests/jest.setup.js.map +1 -0
- package/dist/tests/utils/index.d.ts +57 -0
- package/dist/tests/utils/index.d.ts.map +1 -0
- package/dist/tests/utils/index.js +206 -0
- package/dist/tests/utils/index.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -3
- package/src/QueryableModel.ts +22 -2
- package/src/SQL.ts +21 -30
- package/src/SQLDelete.ts +26 -15
- package/src/SQLExpression.ts +4 -0
- package/src/SQLExpressions.ts +23 -14
- package/src/SQLJoin.ts +8 -4
- package/src/SQLJsonExpressions.ts +65 -4
- package/src/SQLSelect.ts +31 -15
- package/src/SQLWhere.ts +208 -13
- package/src/filters/SQLFilter.ts +8 -0
- package/src/filters/modern/SQLModernFilter.ts +256 -0
- package/src/filters/modern/compilers/contains.ts +43 -0
- package/src/filters/modern/compilers/equals.ts +72 -0
- package/src/filters/modern/compilers/greater.ts +20 -0
- package/src/filters/modern/compilers/in.ts +62 -0
- package/src/filters/modern/compilers/index.ts +4 -0
- package/src/filters/modern/compilers/less.ts +19 -0
- package/src/filters/modern/helpers/isJSONColumn.ts +13 -0
- package/src/filters/modern/helpers/normalizeCompareValue.ts +95 -0
package/dist/index.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ export * from './src/SQLJsonExpressions';
|
|
|
5
5
|
export * from './src/SQLWhere';
|
|
6
6
|
export * from './src/SQLSelect';
|
|
7
7
|
export * from './src/filters/SQLFilter';
|
|
8
|
+
export { createColumnFilter, createWildcardColumnFilter, createExistsFilter, createJoinedRelationFilter, SQLModernValueType, compileToModernSQLFilter, baseModernSQLFilterCompilers, SQLModernFilterDefinitions } from './src/filters/modern/SQLModernFilter';
|
|
8
9
|
export * from './src/filters/SQLSorter';
|
|
9
10
|
export * from './src/SQLOrderBy';
|
|
10
11
|
export * from './src/SQLInsert';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAC9P,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.baseModernSQLFilterCompilers = exports.compileToModernSQLFilter = exports.SQLModernValueType = exports.createJoinedRelationFilter = exports.createExistsFilter = exports.createWildcardColumnFilter = exports.createColumnFilter = void 0;
|
|
3
4
|
const tslib_1 = require("tslib");
|
|
4
5
|
tslib_1.__exportStar(require("./src/SQL"), exports);
|
|
5
6
|
tslib_1.__exportStar(require("./src/SQLExpression"), exports);
|
|
@@ -8,6 +9,14 @@ tslib_1.__exportStar(require("./src/SQLJsonExpressions"), exports);
|
|
|
8
9
|
tslib_1.__exportStar(require("./src/SQLWhere"), exports);
|
|
9
10
|
tslib_1.__exportStar(require("./src/SQLSelect"), exports);
|
|
10
11
|
tslib_1.__exportStar(require("./src/filters/SQLFilter"), exports);
|
|
12
|
+
var SQLModernFilter_1 = require("./src/filters/modern/SQLModernFilter");
|
|
13
|
+
Object.defineProperty(exports, "createColumnFilter", { enumerable: true, get: function () { return SQLModernFilter_1.createColumnFilter; } });
|
|
14
|
+
Object.defineProperty(exports, "createWildcardColumnFilter", { enumerable: true, get: function () { return SQLModernFilter_1.createWildcardColumnFilter; } });
|
|
15
|
+
Object.defineProperty(exports, "createExistsFilter", { enumerable: true, get: function () { return SQLModernFilter_1.createExistsFilter; } });
|
|
16
|
+
Object.defineProperty(exports, "createJoinedRelationFilter", { enumerable: true, get: function () { return SQLModernFilter_1.createJoinedRelationFilter; } });
|
|
17
|
+
Object.defineProperty(exports, "SQLModernValueType", { enumerable: true, get: function () { return SQLModernFilter_1.SQLModernValueType; } });
|
|
18
|
+
Object.defineProperty(exports, "compileToModernSQLFilter", { enumerable: true, get: function () { return SQLModernFilter_1.compileToModernSQLFilter; } });
|
|
19
|
+
Object.defineProperty(exports, "baseModernSQLFilterCompilers", { enumerable: true, get: function () { return SQLModernFilter_1.baseModernSQLFilterCompilers; } });
|
|
11
20
|
tslib_1.__exportStar(require("./src/filters/SQLSorter"), exports);
|
|
12
21
|
tslib_1.__exportStar(require("./src/SQLOrderBy"), exports);
|
|
13
22
|
tslib_1.__exportStar(require("./src/SQLInsert"), exports);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;AAAA,oDAA0B;AAC1B,8DAAoC;AACpC,+DAAqC;AACrC,mEAAyC;AACzC,yDAA+B;AAC/B,0DAAgC;AAChC,kEAAwC;AACxC,wEAA8P;AAArP,qHAAA,kBAAkB,OAAA;AAAE,6HAAA,0BAA0B,OAAA;AAAE,qHAAA,kBAAkB,OAAA;AAAE,6HAAA,0BAA0B,OAAA;AAAE,qHAAA,kBAAkB,OAAA;AAAE,2HAAA,wBAAwB,OAAA;AAAE,+HAAA,4BAA4B,OAAA;AACnL,kEAAwC;AACxC,2DAAiC;AACjC,0DAAgC;AAChC,+DAAqC"}
|
|
@@ -9,5 +9,6 @@ export declare class QueryableModel extends Model {
|
|
|
9
9
|
static update(): SQLUpdate;
|
|
10
10
|
static insert(): SQLInsert;
|
|
11
11
|
refresh(): Promise<void>;
|
|
12
|
+
static refreshAll<T extends typeof QueryableModel>(this: T, list: InstanceType<T>[]): Promise<void>;
|
|
12
13
|
}
|
|
13
14
|
//# sourceMappingURL=QueryableModel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryableModel.d.ts","sourceRoot":"","sources":["../../src/QueryableModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAA0B,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,qBAAa,cAAe,SAAQ,KAAK;IACrC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,OAAO,KAAK,EAAE,IAAI,EAAE,CAAC,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAe1E,MAAM,CAAC,MAAM,IAAI,SAAS;IAI1B,MAAM,CAAC,MAAM,IAAI,SAAS;IAI1B,MAAM,CAAC,MAAM,IAAI,SAAS;IAIpB,OAAO;
|
|
1
|
+
{"version":3,"file":"QueryableModel.d.ts","sourceRoot":"","sources":["../../src/QueryableModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAA0B,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,qBAAa,cAAe,SAAQ,KAAK;IACrC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,OAAO,KAAK,EAAE,IAAI,EAAE,CAAC,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAe1E,MAAM,CAAC,MAAM,IAAI,SAAS;IAI1B,MAAM,CAAC,MAAM,IAAI,SAAS;IAI1B,MAAM,CAAC,MAAM,IAAI,SAAS;IAIpB,OAAO;WAWA,UAAU,CAAC,CAAC,SAAS,OAAO,cAAc,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE;CAsB5F"}
|
|
@@ -31,8 +31,26 @@ class QueryableModel extends simple_database_1.Model {
|
|
|
31
31
|
throw new Error('Cannot refresh a model that has unsaved changes');
|
|
32
32
|
}
|
|
33
33
|
const me = await this.static.select().where(this.static.primary.name, this.getPrimaryKey()).first(true);
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
this.copyFrom(me);
|
|
35
|
+
}
|
|
36
|
+
static async refreshAll(list) {
|
|
37
|
+
// Cut up in batches of max 100
|
|
38
|
+
const batchSize = 100;
|
|
39
|
+
for (let i = 0; i < list.length; i += batchSize) {
|
|
40
|
+
const batch = list.slice(i, i + batchSize);
|
|
41
|
+
const ids = list.map(item => item.getPrimaryKey()).filter(id => id !== null);
|
|
42
|
+
if (ids.length === 0) {
|
|
43
|
+
continue;
|
|
44
|
+
}
|
|
45
|
+
const refreshed = await this.getByIDs(...ids);
|
|
46
|
+
for (const item of batch) {
|
|
47
|
+
const refreshedItem = refreshed.find(r => r.getPrimaryKey() === item.getPrimaryKey());
|
|
48
|
+
if (refreshedItem) {
|
|
49
|
+
for (const column of this.columns.values()) {
|
|
50
|
+
item[column.name] = refreshedItem[column.name];
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
36
54
|
}
|
|
37
55
|
}
|
|
38
56
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryableModel.js","sourceRoot":"","sources":["../../src/QueryableModel.ts"],"names":[],"mappings":";;;AAAA,iEAA4E;AAC5E,2CAAwC;AACxC,+BAA4B;AAK5B,MAAa,cAAe,SAAQ,uBAAK;IACrC,MAAM,CAAC,MAAM;QACT,MAAM,WAAW,GAAG,CAAC,GAA2B,EAAmB,EAAE;YACjE,MAAM,CAAC,GAAI,IAAU,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAQ,CAAgC,CAAC;YAErF,IAAI,CAAC,CAAC,EAAE,CAAC;gBACL,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC/C,CAAC;YAED,OAAO,CAAC,CAAC;QACb,CAAC,CAAC;QAEF,MAAM,MAAM,GAAG,IAAI,qBAAS,CAAC,WAAW,EAAE,SAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC1D,OAAO,MAAM,CAAC,IAAI,CAAC,SAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,CAAC,MAAM;QACT,OAAO,SAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,SAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,CAAC,MAAM;QACT,OAAO,SAAG,CAAC,MAAM,CAAC,SAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,CAAC,MAAM;QACT,OAAO,SAAG,CAAC,MAAM,CAAC,SAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,OAAO;QACT,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,4BAA4B,EAAE,CAAC;QAEnE,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACvE,CAAC;QAED,MAAM,EAAE,GAAG,MAAO,IAAI,CAAC,MAAgC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"QueryableModel.js","sourceRoot":"","sources":["../../src/QueryableModel.ts"],"names":[],"mappings":"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"}
|
package/dist/src/SQL.d.ts
CHANGED
|
@@ -4,19 +4,20 @@ import { SQLExpression } from './SQLExpression';
|
|
|
4
4
|
import { SQLAssignment, SQLColumnExpression, SQLColumnExpressionParams, SQLIf, SQLScalarValue, SQLTableExpression, SQLWildcardSelectExpression } from './SQLExpressions';
|
|
5
5
|
import { SQLInsert } from './SQLInsert';
|
|
6
6
|
import { SQLJoin } from './SQLJoin';
|
|
7
|
-
import { SQLJsonExtract, SQLJsonLength, SQLJsonUnquote, SQLLpad } from './SQLJsonExpressions';
|
|
8
|
-
import { SQLSelect } from './SQLSelect';
|
|
7
|
+
import { SQLJsonExtract, SQLJsonKeys, SQLJsonLength, SQLJsonUnquote, SQLLpad } from './SQLJsonExpressions';
|
|
8
|
+
import { parseTable, SQLSelect } from './SQLSelect';
|
|
9
9
|
import { SQLUpdate } from './SQLUpdate';
|
|
10
10
|
import { ParseWhereArguments, SQLWhere } from './SQLWhere';
|
|
11
11
|
declare class StaticSQL {
|
|
12
12
|
wildcard(namespace?: string): SQLWildcardSelectExpression;
|
|
13
13
|
column(...args: SQLColumnExpressionParams): SQLColumnExpression;
|
|
14
|
+
parentColumn(column: string): SQLColumnExpression;
|
|
14
15
|
jsonValue(column: SQLExpression, path: string, asScalar?: boolean): SQLJsonExtract;
|
|
16
|
+
jsonKeys(column: SQLExpression): SQLJsonKeys;
|
|
15
17
|
lpad(column: SQLExpression, length: number, value: string): SQLLpad;
|
|
16
18
|
jsonUnquotedValue(column: SQLExpression, path: string): SQLJsonUnquote;
|
|
17
19
|
jsonLength(column: SQLExpression, path?: string): SQLJsonLength;
|
|
18
|
-
table(
|
|
19
|
-
table(table: string): SQLTableExpression;
|
|
20
|
+
table(table: string, asNamespace?: string): SQLTableExpression;
|
|
20
21
|
select(...columns: (SQLExpression | string)[]): InstanceType<typeof SQLSelect<SQLResultNamespacedRow>>;
|
|
21
22
|
insert(tableName: SQLTableExpression | string): InstanceType<typeof SQLInsert>;
|
|
22
23
|
update(tableName: SQLTableExpression | string): InstanceType<typeof SQLUpdate>;
|
|
@@ -24,18 +25,10 @@ declare class StaticSQL {
|
|
|
24
25
|
where(...args: ParseWhereArguments): SQLWhere;
|
|
25
26
|
whereNot(...args: ParseWhereArguments): SQLWhere;
|
|
26
27
|
delete(): InstanceType<typeof SQLDelete>;
|
|
27
|
-
leftJoin(
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
rightJoin(table: string): SQLJoin;
|
|
32
|
-
rightJoin(expression: SQLExpression): SQLJoin;
|
|
33
|
-
innerJoin(namespace: string, table: string): SQLJoin;
|
|
34
|
-
innerJoin(table: string): SQLJoin;
|
|
35
|
-
innerJoin(expression: SQLExpression): SQLJoin;
|
|
36
|
-
join(namespace: string, table: string): SQLJoin;
|
|
37
|
-
join(table: string): SQLJoin;
|
|
38
|
-
join(expression: SQLExpression): SQLJoin;
|
|
28
|
+
leftJoin(...args: Parameters<typeof parseTable>): SQLJoin;
|
|
29
|
+
rightJoin(...args: Parameters<typeof parseTable>): SQLJoin;
|
|
30
|
+
innerJoin(...args: Parameters<typeof parseTable>): SQLJoin;
|
|
31
|
+
join(...args: Parameters<typeof parseTable>): SQLJoin;
|
|
39
32
|
if(...args: ConstructorParameters<typeof SQLIf>): SQLIf;
|
|
40
33
|
}
|
|
41
34
|
export declare const SQL: StaticSQL;
|
package/dist/src/SQL.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SQL.d.ts","sourceRoot":"","sources":["../../src/SQL.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAmB,aAAa,
|
|
1
|
+
{"version":3,"file":"SQL.d.ts","sourceRoot":"","sources":["../../src/SQL.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAmB,aAAa,EAAsB,MAAM,iBAAiB,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,KAAK,EAA+C,cAAc,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AACtN,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,OAAO,EAAe,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC3G,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAiB,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE1E,cAAM,SAAS;IACX,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM;IAI3B,MAAM,CAAC,GAAG,IAAI,EAAE,yBAAyB,GAAG,mBAAmB;IAI/D,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB;IAIjD,SAAS,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,UAAQ,GAAG,cAAc;IAIhF,QAAQ,CAAC,MAAM,EAAE,aAAa,GAAG,WAAW;IAI5C,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAInE,iBAAiB,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc;IAItE,UAAU,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,aAAa;IAI/D,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,kBAAkB;IAI9D,MAAM,CAAC,GAAG,OAAO,EAAE,CAAC,aAAa,GAAG,MAAM,CAAC,EAAE,GAAG,YAAY,CAAC,OAAO,SAAS,CAAC,sBAAsB,CAAC,CAAC;IAOtG,MAAM,CAAC,SAAS,EAAE,kBAAkB,GAAG,MAAM,GAAG,YAAY,CAAC,OAAO,SAAS,CAAC;IAI9E,MAAM,CAAC,SAAS,EAAE,kBAAkB,GAAG,MAAM,GAAG,YAAY,CAAC,OAAO,SAAS,CAAC;IAI9E,UAAU,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,cAAc,GAAG,aAAa;IAI7F,KAAK,CAAC,GAAG,IAAI,EAAE,mBAAmB,GAAG,QAAQ;IAI7C,QAAQ,CAAC,GAAG,IAAI,EAAE,mBAAmB,GAAG,QAAQ;IAIhD,MAAM,IAAI,YAAY,CAAC,OAAO,SAAS,CAAC;IAIxC,QAAQ,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,GAAG,OAAO;IAIzD,SAAS,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,GAAG,OAAO;IAI1D,SAAS,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,GAAG,OAAO;IAI1D,IAAI,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,GAAG,OAAO;IAIrD,EAAE,CAAC,GAAG,IAAI,EAAE,qBAAqB,CAAC,OAAO,KAAK,CAAC,GAAG,KAAK;CAG1D;AAED,eAAO,MAAM,GAAG,WAAkB,CAAC"}
|
package/dist/src/SQL.js
CHANGED
|
@@ -17,9 +17,15 @@ class StaticSQL {
|
|
|
17
17
|
column(...args) {
|
|
18
18
|
return new SQLExpressions_1.SQLColumnExpression(...args);
|
|
19
19
|
}
|
|
20
|
+
parentColumn(column) {
|
|
21
|
+
return new SQLExpressions_1.SQLColumnExpression(SQLExpressions_1.SQLParentNamespace, column);
|
|
22
|
+
}
|
|
20
23
|
jsonValue(column, path, asScalar = false) {
|
|
21
24
|
return new SQLJsonExpressions_1.SQLJsonExtract(column, asScalar ? new SQLExpressions_1.SQLScalar(path) : new SQLExpressions_1.SQLSafeValue(path));
|
|
22
25
|
}
|
|
26
|
+
jsonKeys(column) {
|
|
27
|
+
return new SQLJsonExpressions_1.SQLJsonKeys(column);
|
|
28
|
+
}
|
|
23
29
|
lpad(column, length, value) {
|
|
24
30
|
return new SQLJsonExpressions_1.SQLLpad(column, new SQLExpressions_1.SQLSafeValue(length), new SQLExpressions_1.SQLSafeValue(value));
|
|
25
31
|
}
|
|
@@ -29,11 +35,8 @@ class StaticSQL {
|
|
|
29
35
|
jsonLength(column, path) {
|
|
30
36
|
return new SQLJsonExpressions_1.SQLJsonLength(column, path ? new SQLExpressions_1.SQLSafeValue(path) : undefined);
|
|
31
37
|
}
|
|
32
|
-
table(
|
|
33
|
-
|
|
34
|
-
return new SQLExpressions_1.SQLTableExpression(namespaceOrTable);
|
|
35
|
-
}
|
|
36
|
-
return new SQLExpressions_1.SQLTableExpression(namespaceOrTable, table);
|
|
38
|
+
table(table, asNamespace) {
|
|
39
|
+
return new SQLExpressions_1.SQLTableExpression(table, asNamespace);
|
|
37
40
|
}
|
|
38
41
|
select(...columns) {
|
|
39
42
|
if (columns.length === 0) {
|
|
@@ -59,17 +62,17 @@ class StaticSQL {
|
|
|
59
62
|
delete() {
|
|
60
63
|
return new SQLDelete_1.SQLDelete();
|
|
61
64
|
}
|
|
62
|
-
leftJoin(
|
|
63
|
-
return new SQLJoin_1.SQLJoin(SQLJoin_1.SQLJoinType.Left, (0, SQLSelect_1.parseTable)(
|
|
65
|
+
leftJoin(...args) {
|
|
66
|
+
return new SQLJoin_1.SQLJoin(SQLJoin_1.SQLJoinType.Left, (0, SQLSelect_1.parseTable)(...args));
|
|
64
67
|
}
|
|
65
|
-
rightJoin(
|
|
66
|
-
return new SQLJoin_1.SQLJoin(SQLJoin_1.SQLJoinType.Right, (0, SQLSelect_1.parseTable)(
|
|
68
|
+
rightJoin(...args) {
|
|
69
|
+
return new SQLJoin_1.SQLJoin(SQLJoin_1.SQLJoinType.Right, (0, SQLSelect_1.parseTable)(...args));
|
|
67
70
|
}
|
|
68
|
-
innerJoin(
|
|
69
|
-
return new SQLJoin_1.SQLJoin(SQLJoin_1.SQLJoinType.Inner, (0, SQLSelect_1.parseTable)(
|
|
71
|
+
innerJoin(...args) {
|
|
72
|
+
return new SQLJoin_1.SQLJoin(SQLJoin_1.SQLJoinType.Inner, (0, SQLSelect_1.parseTable)(...args));
|
|
70
73
|
}
|
|
71
|
-
join(
|
|
72
|
-
return new SQLJoin_1.SQLJoin(SQLJoin_1.SQLJoinType.Inner, (0, SQLSelect_1.parseTable)(
|
|
74
|
+
join(...args) {
|
|
75
|
+
return new SQLJoin_1.SQLJoin(SQLJoin_1.SQLJoinType.Inner, (0, SQLSelect_1.parseTable)(...args));
|
|
73
76
|
}
|
|
74
77
|
if(...args) {
|
|
75
78
|
return new SQLExpressions_1.SQLIf(...args);
|
package/dist/src/SQL.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SQL.js","sourceRoot":"","sources":["../../src/SQL.ts"],"names":[],"mappings":";;;AACA,2CAAwC;AACxC,
|
|
1
|
+
{"version":3,"file":"SQL.js","sourceRoot":"","sources":["../../src/SQL.ts"],"names":[],"mappings":"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"}
|
package/dist/src/SQLDelete.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { SQLExpression, SQLExpressionOptions, SQLQuery } from
|
|
1
|
+
import { SQLExpression, SQLExpressionOptions, SQLQuery } from './SQLExpression';
|
|
2
2
|
import { SQLJoin } from './SQLJoin';
|
|
3
|
-
import { SQLWhere } from
|
|
3
|
+
import { SQLWhere } from './SQLWhere';
|
|
4
4
|
declare class EmptyClass {
|
|
5
5
|
}
|
|
6
6
|
declare const SQLDelete_base: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SQLDelete.d.ts","sourceRoot":"","sources":["../../src/SQLDelete.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,QAAQ,EAAmC,MAAM,iBAAiB,CAAC;AACjH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAa,MAAM,YAAY,CAAC;AAEjD,cAAM,UAAU;CAAG;;;;;;;;;;;;;AACnB,qBAAa,SAAU,SAAQ,cAAsB,YAAW,aAAa;IACzE,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,CAAC,YAAY,CAAC,OAAO,OAAO,CAAC,CAAC,EAAE,CAAM;IAE9C,KAAK,IAAI,IAAI;IAMb,IAAI,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAKhC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,OAAO,OAAO,CAAC,GAAG,IAAI;IAK9C,MAAM,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,QAAQ;
|
|
1
|
+
{"version":3,"file":"SQLDelete.d.ts","sourceRoot":"","sources":["../../src/SQLDelete.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,QAAQ,EAAmC,MAAM,iBAAiB,CAAC;AACjH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAa,MAAM,YAAY,CAAC;AAEjD,cAAM,UAAU;CAAG;;;;;;;;;;;;;AACnB,qBAAa,SAAU,SAAQ,cAAsB,YAAW,aAAa;IACzE,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,CAAC,YAAY,CAAC,OAAO,OAAO,CAAC,CAAC,EAAE,CAAM;IAE9C,KAAK,IAAI,IAAI;IAMb,IAAI,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAKhC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,OAAO,OAAO,CAAC,GAAG,IAAI;IAK9C,MAAM,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,QAAQ;IA+B1C,MAAM,IAAI,OAAO,CAAC;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;IAY3C,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,KAAK,GAAG,EAAE,UAAU,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;CAGpH"}
|
package/dist/src/SQLDelete.js
CHANGED
|
@@ -24,20 +24,30 @@ class SQLDelete extends (0, SQLWhere_1.Whereable)(EmptyClass) {
|
|
|
24
24
|
}
|
|
25
25
|
getSQL(options) {
|
|
26
26
|
const query = [
|
|
27
|
-
'DELETE'
|
|
27
|
+
'DELETE',
|
|
28
28
|
];
|
|
29
29
|
options = options ?? {};
|
|
30
30
|
options.defaultNamespace = this._from.namespace ?? this._from.table ?? undefined;
|
|
31
31
|
query.push('FROM');
|
|
32
32
|
query.push(this._from.getSQL(options));
|
|
33
33
|
query.push(...this._joins.map(j => j.getSQL(options)));
|
|
34
|
+
// Where
|
|
34
35
|
if (this._where) {
|
|
35
|
-
|
|
36
|
-
|
|
36
|
+
const always = this._where.isAlways;
|
|
37
|
+
if (always === false) {
|
|
38
|
+
throw new Error('Cannot use SQLDelete with a where that is not always true');
|
|
39
|
+
}
|
|
40
|
+
else if (always === null) {
|
|
41
|
+
query.push('WHERE');
|
|
42
|
+
query.push(this._where.getSQL(options));
|
|
43
|
+
}
|
|
37
44
|
}
|
|
38
45
|
return (0, SQLExpression_1.joinSQLQuery)(query, ' ');
|
|
39
46
|
}
|
|
40
47
|
async delete() {
|
|
48
|
+
if (this._where && this._where.isAlways === false) {
|
|
49
|
+
return { affectedRows: 0 };
|
|
50
|
+
}
|
|
41
51
|
const { query, params } = (0, SQLExpression_1.normalizeSQLQuery)(this.getSQL());
|
|
42
52
|
console.log(query, params);
|
|
43
53
|
const [rows] = await simple_database_1.Database.delete(query, params);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SQLDelete.js","sourceRoot":"","sources":["../../src/SQLDelete.ts"],"names":[],"mappings":";;;AAAA,iEAAuD;AACvD,mDAAiH;AAEjH,yCAAiD;AAEjD,MAAM,UAAU;CAAG;AACnB,MAAa,SAAU,SAAQ,IAAA,oBAAS,EAAC,UAAU,CAAC;IAChD,KAAK,CAAgB;IACrB,MAAM,GAAqC,EAAE,CAAC;IAE9C,KAAK;QACD,MAAM,CAAC,GAAG,IAAI,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"SQLDelete.js","sourceRoot":"","sources":["../../src/SQLDelete.ts"],"names":[],"mappings":";;;AAAA,iEAAuD;AACvD,mDAAiH;AAEjH,yCAAiD;AAEjD,MAAM,UAAU;CAAG;AACnB,MAAa,SAAU,SAAQ,IAAA,oBAAS,EAAC,UAAU,CAAC;IAChD,KAAK,CAAgB;IACrB,MAAM,GAAqC,EAAE,CAAC;IAE9C,KAAK;QACD,MAAM,CAAC,GAAG,IAAI,SAAS,EAAE,CAAC;QAC1B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QACvB,OAAO,CAAQ,CAAC;IACpB,CAAC;IAED,IAAI,CAAC,KAAoB;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,IAAkC;QACnC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,OAA8B;QACjC,MAAM,KAAK,GAAe;YACtB,QAAQ;SACX,CAAC;QAEF,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;QACxB,OAAO,CAAC,gBAAgB,GAAI,IAAI,CAAC,KAAa,CAAC,SAAS,IAAK,IAAI,CAAC,KAAa,CAAC,KAAK,IAAI,SAAS,CAAC;QAEnG,KAAK,CAAC,IAAI,CACN,MAAM,CACT,CAAC;QAEF,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QAEvC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAEvD,QAAQ;QACR,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;YACpC,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;YACjF,CAAC;iBACI,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACvB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACpB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;YAC5C,CAAC;QACL,CAAC;QAED,OAAO,IAAA,4BAAY,EAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,MAAM;QACR,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;YAChD,OAAO,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;QAC/B,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAA,iCAAiB,EAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAE3D,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,0BAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,WAAqD,EAAE,UAAgC;QAC9F,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACvD,CAAC;CACJ;AAlED,8BAkEC"}
|
|
@@ -12,5 +12,8 @@ export declare function normalizeSQLQuery(q: SQLQuery): NormalizedSQLQuery;
|
|
|
12
12
|
export interface SQLExpression {
|
|
13
13
|
getSQL(options?: SQLExpressionOptions): SQLQuery;
|
|
14
14
|
}
|
|
15
|
+
export interface SQLNamedExpression extends SQLExpression {
|
|
16
|
+
getName(): string;
|
|
17
|
+
}
|
|
15
18
|
export declare function isSQLExpression(obj: unknown): obj is SQLExpression;
|
|
16
19
|
//# sourceMappingURL=SQLExpression.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SQLExpression.d.ts","sourceRoot":"","sources":["../../src/SQLExpression.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,oBAAoB,GAAG;IAC/B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,GAAG,EAAE,CAAA;CAAE,CAAC;AAClE,MAAM,MAAM,QAAQ,GAAG,kBAAkB,GAAG,MAAM,CAAC;AAEnD,wBAAgB,YAAY,CAAC,OAAO,EAAE,CAAC,QAAQ,GAAG,SAAS,GAAG,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,kBAAkB,CAM7G;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,QAAQ,GAAG,kBAAkB,CAKjE;AAED,MAAM,WAAW,aAAa;IAC1B,MAAM,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,QAAQ,CAAC;CACpD;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,aAAa,CAElE"}
|
|
1
|
+
{"version":3,"file":"SQLExpression.d.ts","sourceRoot":"","sources":["../../src/SQLExpression.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,oBAAoB,GAAG;IAC/B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,GAAG,EAAE,CAAA;CAAE,CAAC;AAClE,MAAM,MAAM,QAAQ,GAAG,kBAAkB,GAAG,MAAM,CAAC;AAEnD,wBAAgB,YAAY,CAAC,OAAO,EAAE,CAAC,QAAQ,GAAG,SAAS,GAAG,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,kBAAkB,CAM7G;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,QAAQ,GAAG,kBAAkB,CAKjE;AAED,MAAM,WAAW,aAAa;IAC1B,MAAM,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,QAAQ,CAAC;CACpD;AAED,MAAM,WAAW,kBAAmB,SAAQ,aAAa;IACrD,OAAO,IAAI,MAAM,CAAC;CACrB;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,aAAa,CAElE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SQLExpression.js","sourceRoot":"","sources":["../../src/SQLExpression.ts"],"names":[],"mappings":";;AAQA,oCAMC;AAED,8CAKC;
|
|
1
|
+
{"version":3,"file":"SQLExpression.js","sourceRoot":"","sources":["../../src/SQLExpression.ts"],"names":[],"mappings":";;AAQA,oCAMC;AAED,8CAKC;AAUD,0CAEC;AAzBD,SAAgB,YAAY,CAAC,OAAwC,EAAE,SAAkB;IACrF,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;IAC7D,OAAO;QACH,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC;QACnF,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC;KACvE,CAAC;AACN,CAAC;AAED,SAAgB,iBAAiB,CAAC,CAAW;IACzC,OAAO;QACH,KAAK,EAAE,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK;QAC1C,MAAM,EAAE,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM;KAChD,CAAC;AACN,CAAC;AAUD,SAAgB,eAAe,CAAC,GAAY;IACxC,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,CAAC,CAAE,GAAW,CAAC,MAAM,IAAI,OAAQ,GAAW,CAAC,MAAM,KAAK,UAAU,CAAC;AACzH,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SQLExpression, SQLExpressionOptions, SQLQuery } from './SQLExpression';
|
|
1
|
+
import { SQLExpression, SQLExpressionOptions, SQLNamedExpression, SQLQuery } from './SQLExpression';
|
|
2
2
|
import { ParseWhereArguments } from './SQLWhere';
|
|
3
3
|
export type SQLScalarValue = string | number | boolean | Date;
|
|
4
4
|
export type SQLDynamicExpression = SQLScalarValue | SQLScalarValue[] | null | SQLExpression;
|
|
@@ -86,11 +86,14 @@ export declare class SQLCast implements SQLExpression {
|
|
|
86
86
|
constructor(value: SQLExpression, as?: string);
|
|
87
87
|
getSQL(options?: SQLExpressionOptions): SQLQuery;
|
|
88
88
|
}
|
|
89
|
-
|
|
89
|
+
declare class SQLCastedJson implements SQLExpression {
|
|
90
90
|
value: null | true | false;
|
|
91
91
|
constructor(value: null | true | false);
|
|
92
92
|
getSQL(options?: SQLExpressionOptions): SQLQuery;
|
|
93
93
|
}
|
|
94
|
+
export declare const SQLJSONNull: SQLCastedJson;
|
|
95
|
+
export declare const SQLJSONTrue: SQLCastedJson;
|
|
96
|
+
export declare const SQLJSONFalse: SQLCastedJson;
|
|
94
97
|
export declare class SQLNull implements SQLExpression {
|
|
95
98
|
getSQL(options?: SQLExpressionOptions): SQLQuery;
|
|
96
99
|
}
|
|
@@ -139,12 +142,19 @@ export declare class SQLColumnExpression implements SQLExpression {
|
|
|
139
142
|
constructor(...args: SQLColumnExpressionParams);
|
|
140
143
|
getSQL(options?: SQLExpressionOptions): SQLQuery;
|
|
141
144
|
}
|
|
142
|
-
export declare class SQLTableExpression implements
|
|
143
|
-
|
|
145
|
+
export declare class SQLTableExpression implements SQLNamedExpression {
|
|
146
|
+
/**
|
|
147
|
+
* By default the table name will be used as the namespace by MySQL.
|
|
148
|
+
*/
|
|
149
|
+
asNamespace?: string;
|
|
150
|
+
/**
|
|
151
|
+
* For now this is just a string, but thearetically it could be a subquery.
|
|
152
|
+
* We don't support that yet, as those queries are not optimized for performance.
|
|
153
|
+
*/
|
|
144
154
|
table: string;
|
|
145
|
-
constructor(
|
|
146
|
-
constructor(table: string);
|
|
155
|
+
constructor(table: string, asNamespace?: string);
|
|
147
156
|
getSQL(options?: SQLExpressionOptions): SQLQuery;
|
|
157
|
+
getName(): string;
|
|
148
158
|
}
|
|
149
159
|
export declare class SQLIf implements SQLExpression {
|
|
150
160
|
_if: SQLExpression;
|
|
@@ -155,4 +165,5 @@ export declare class SQLIf implements SQLExpression {
|
|
|
155
165
|
else(_else: SQLDynamicExpression): SQLIf;
|
|
156
166
|
getSQL(options?: SQLExpressionOptions): SQLQuery;
|
|
157
167
|
}
|
|
168
|
+
export {};
|
|
158
169
|
//# sourceMappingURL=SQLExpressions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SQLExpressions.d.ts","sourceRoot":"","sources":["../../src/SQLExpressions.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,aAAa,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"SQLExpressions.d.ts","sourceRoot":"","sources":["../../src/SQLExpressions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SQLIf = exports.SQLTableExpression = exports.SQLColumnExpression = exports.SQLParentNamespace = exports.SQLDefaultNamespace = exports.SQLNamespaceExpression = exports.SQLWildcardSelectExpression = exports.SQLArray = exports.SQLSafeValue = exports.SQLScalar = exports.SQLNow = exports.SQLNull = exports.
|
|
3
|
+
exports.SQLIf = exports.SQLTableExpression = exports.SQLColumnExpression = exports.SQLParentNamespace = exports.SQLDefaultNamespace = exports.SQLNamespaceExpression = exports.SQLWildcardSelectExpression = exports.SQLArray = exports.SQLSafeValue = exports.SQLScalar = exports.SQLNow = exports.SQLNull = exports.SQLJSONFalse = exports.SQLJSONTrue = exports.SQLJSONNull = exports.SQLCast = exports.SQLAge = exports.SQLConcat = exports.SQLAlias = exports.SQLAssignment = exports.SQLSelectAs = exports.SQLMin = exports.SQLSum = exports.SQLCalculation = exports.SQLGreatest = exports.SQLMinusSign = exports.SQLMultiplicationSign = exports.SQLPlusSign = exports.SQLLower = exports.SQLCount = exports.SQLCharLength = exports.SQLDistinct = void 0;
|
|
4
4
|
exports.scalarToSQLExpression = scalarToSQLExpression;
|
|
5
5
|
exports.readDynamicSQLExpression = readDynamicSQLExpression;
|
|
6
6
|
const simple_database_1 = require("@simonbackx/simple-database");
|
|
@@ -237,7 +237,7 @@ class SQLCast {
|
|
|
237
237
|
}
|
|
238
238
|
}
|
|
239
239
|
exports.SQLCast = SQLCast;
|
|
240
|
-
class
|
|
240
|
+
class SQLCastedJson {
|
|
241
241
|
value;
|
|
242
242
|
constructor(value) {
|
|
243
243
|
this.value = value;
|
|
@@ -246,7 +246,9 @@ class SQLJSONValue {
|
|
|
246
246
|
return "CAST('" + JSON.stringify(this.value) + "' AS JSON)";
|
|
247
247
|
}
|
|
248
248
|
}
|
|
249
|
-
exports.
|
|
249
|
+
exports.SQLJSONNull = new SQLCastedJson(null);
|
|
250
|
+
exports.SQLJSONTrue = new SQLCastedJson(true);
|
|
251
|
+
exports.SQLJSONFalse = new SQLCastedJson(false);
|
|
250
252
|
class SQLNull {
|
|
251
253
|
getSQL(options) {
|
|
252
254
|
return 'NULL';
|
|
@@ -362,21 +364,27 @@ class SQLColumnExpression {
|
|
|
362
364
|
}
|
|
363
365
|
exports.SQLColumnExpression = SQLColumnExpression;
|
|
364
366
|
class SQLTableExpression {
|
|
365
|
-
|
|
367
|
+
/**
|
|
368
|
+
* By default the table name will be used as the namespace by MySQL.
|
|
369
|
+
*/
|
|
370
|
+
asNamespace;
|
|
371
|
+
/**
|
|
372
|
+
* For now this is just a string, but thearetically it could be a subquery.
|
|
373
|
+
* We don't support that yet, as those queries are not optimized for performance.
|
|
374
|
+
*/
|
|
366
375
|
table;
|
|
367
|
-
constructor(
|
|
368
|
-
|
|
369
|
-
this.table = namespaceOrTable;
|
|
370
|
-
return;
|
|
371
|
-
}
|
|
372
|
-
this.namespace = namespaceOrTable;
|
|
376
|
+
constructor(table, asNamespace) {
|
|
377
|
+
this.asNamespace = asNamespace;
|
|
373
378
|
this.table = table;
|
|
374
379
|
}
|
|
375
380
|
getSQL(options) {
|
|
376
|
-
if (!this.
|
|
381
|
+
if (!this.asNamespace) {
|
|
377
382
|
return simple_database_1.Database.escapeId(this.table);
|
|
378
383
|
}
|
|
379
|
-
return simple_database_1.Database.escapeId(this.table) + ' ' + simple_database_1.Database.escapeId(this.
|
|
384
|
+
return simple_database_1.Database.escapeId(this.table) + ' ' + simple_database_1.Database.escapeId(this.asNamespace);
|
|
385
|
+
}
|
|
386
|
+
getName() {
|
|
387
|
+
return this.asNamespace ?? this.table;
|
|
380
388
|
}
|
|
381
389
|
}
|
|
382
390
|
exports.SQLTableExpression = SQLTableExpression;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SQLExpressions.js","sourceRoot":"","sources":["../../src/SQLExpressions.ts"],"names":[],"mappings":";;;AAOA,sDAMC;AAED,4DAaC;AA5BD,iEAAuD;AACvD,
|
|
1
|
+
{"version":3,"file":"SQLExpressions.js","sourceRoot":"","sources":["../../src/SQLExpressions.ts"],"names":[],"mappings":";;;AAOA,sDAMC;AAED,4DAaC;AA5BD,iEAAuD;AACvD,mDAAkH;AAClH,yCAAgE;AAKhE,SAAgB,qBAAqB,CAAC,CAAwB;IAC1D,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QACb,OAAO,IAAI,OAAO,EAAE,CAAC;IACzB,CAAC;IAED,OAAO,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC;AAED,SAAgB,wBAAwB,CAAC,CAAuB;IAC5D,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACnB,OAAO,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IACD,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QACb,OAAO,IAAI,OAAO,EAAE,CAAC;IACzB,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,EAAE,CAAC;QAChD,OAAO,CAAC,CAAC;IACb,CAAC;IAED,OAAO,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC;AAED,MAAa,WAAW;IACpB,UAAU,CAAgB;IAE1B,YAAY,UAAyB;QACjC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IAED,MAAM,CAAC,OAA8B;QACjC,OAAO,IAAA,4BAAY,EAAC;YAChB,UAAU;YACV,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC;SAClC,CAAC,CAAC;IACP,CAAC;CACJ;AAbD,kCAaC;AAED,MAAa,aAAa;IACtB,UAAU,CAAgB;IAE1B,YAAY,UAAyB;QACjC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IAED,MAAM,CAAC,OAA8B;QACjC,OAAO,IAAA,4BAAY,EAAC;YAChB,cAAc;YACd,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC;YAC/B,GAAG;SACN,CAAC,CAAC;IACP,CAAC;CACJ;AAdD,sCAcC;AAED,MAAa,QAAQ;IACjB,UAAU,CAAuB;IAEjC,YAAY,aAAmC,IAAI;QAC/C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IAED,MAAM,CAAC,OAA8B;QACjC,OAAO,IAAA,4BAAY,EAAC;YAChB,QAAQ;YACR,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG;YACvD,GAAG;SACN,CAAC,CAAC;IACP,CAAC;CACJ;AAdD,4BAcC;AAED,MAAa,QAAQ;IACjB,UAAU,CAAgB;IAE1B,YAAY,UAAyB;QACjC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IAED,MAAM,CAAC,OAA8B;QACjC,OAAO,IAAA,4BAAY,EAAC;YAChB,QAAQ;YACR,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC;YAC/B,GAAG;SACN,CAAC,CAAC;IACP,CAAC;CACJ;AAdD,4BAcC;AAED,MAAa,WAAW;IACpB,MAAM;QACF,OAAO,GAAG,CAAC;IACf,CAAC;CACJ;AAJD,kCAIC;AAED,MAAa,qBAAqB;IAC9B,MAAM;QACF,OAAO,GAAG,CAAC;IACf,CAAC;CACJ;AAJD,sDAIC;AAED,MAAa,YAAY;IACrB,MAAM;QACF,OAAO,GAAG,CAAC;IACf,CAAC;CACJ;AAJD,oCAIC;AAED,MAAa,WAAW;IACpB,WAAW,CAAyB;IAEpC,YAAY,GAAG,WAAmC;QAC9C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACnC,CAAC;IAED,MAAM,CAAC,OAA8B;QACjC,OAAO,IAAA,4BAAY,EAAC;YAChB,WAAW;YACX,IAAA,4BAAY,EAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC;YAC1F,GAAG;SACN,CAAC,CAAC;IACP,CAAC;CACJ;AAdD,kCAcC;AAED,MAAa,cAAc;IACvB,WAAW,CAAkB;IAE7B,YAAY,GAAG,WAA4B;QACvC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACnC,CAAC;IAED,MAAM,CAAC,OAA8B;QACjC,OAAO,IAAA,4BAAY,EAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC3E,CAAC;CACJ;AAVD,wCAUC;AAED,MAAa,MAAM;IACf,UAAU,CAAgB;IAE1B,YAAY,UAAyB;QACjC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IAED,MAAM,CAAC,OAA8B;QACjC,OAAO,IAAA,4BAAY,EAAC;YAChB,MAAM;YACN,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC;YAC/B,GAAG;SACN,CAAC,CAAC;IACP,CAAC;CACJ;AAdD,wBAcC;AAED,MAAa,MAAM;IACf,UAAU,CAAgB;IAE1B,YAAY,UAAyB;QACjC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IAED,MAAM,CAAC,OAA8B;QACjC,OAAO,IAAA,4BAAY,EAAC;YAChB,MAAM;YACN,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC;YAC/B,GAAG;SACN,CAAC,CAAC;IACP,CAAC;CACJ;AAdD,wBAcC;AAED,MAAa,WAAW;IACpB,UAAU,CAAgB;IAC1B,EAAE,CAAW;IAEb,YAAY,UAAyB,EAAE,EAAY;QAC/C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACjB,CAAC;IAED,MAAM,CAAC,OAA8B;QACjC,OAAO,IAAA,4BAAY,EAAC;YAChB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC;YAC/B,MAAM;YACN,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC;SAC1B,CAAC,CAAC;IACP,CAAC;CACJ;AAhBD,kCAgBC;AAED,MAAa,aAAa;IACtB,GAAG,CAAgB;IACnB,KAAK,CAAgB;IAErB,YAAY,GAAkB,EAAE,KAAoB;QAChD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,MAAM,CAAC,OAA8B;QACjC,OAAO,IAAA,4BAAY,EAAC;YAChB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC;YACxB,KAAK;YACL,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;SAC7B,CAAC,CAAC;IACP,CAAC;CACJ;AAhBD,sCAgBC;AAED,MAAa,QAAQ;IACjB,IAAI,CAAS;IAEb,YAAY,IAAY;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,OAA8B;QACjC,OAAO,0BAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;CACJ;AAVD,4BAUC;AAED,MAAa,SAAS;IAClB,WAAW,CAAkB;IAE7B,YAAY,GAAG,WAA4B;QACvC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACnC,CAAC;IAED,MAAM,CAAC,OAA8B;QACjC,OAAO,IAAA,4BAAY,EAAC;YAChB,SAAS;YACT,IAAA,4BAAY,EAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC;YAChE,GAAG;SACN,CAAC,CAAC;IACP,CAAC;CACJ;AAdD,8BAcC;AAED,MAAa,MAAM;IACf,UAAU,CAAgB;IAE1B,YAAY,UAAyB;QACjC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IAED,MAAM,CAAC,OAA8B;QACjC,OAAO,IAAA,4BAAY,EAAC;YAChB,sBAAsB;YACtB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC;YAC/B,cAAc;SACjB,CAAC,CAAC;IACP,CAAC;CACJ;AAdD,wBAcC;AAED,MAAa,OAAO;IAChB,KAAK,CAAgB;IACrB,EAAE,GAAG,MAAM,CAAC;IAEZ,YAAY,KAAoB,EAAE,EAAE,GAAG,MAAM;QACzC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACjB,CAAC;IAED,MAAM,CAAC,OAA8B;QACjC,OAAO,IAAA,4BAAY,EAAC;YAChB,QAAQ;YACR,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;YAC1B,MAAM;YACN,IAAI,CAAC,EAAE;YACP,GAAG;SACN,CAAC,CAAC;IACP,CAAC;CACJ;AAlBD,0BAkBC;AAED,MAAM,aAAa;IACf,KAAK,CAAsB;IAE3B,YAAY,KAA0B;QAClC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,MAAM,CAAC,OAA8B;QACjC,OAAO,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC;IAChE,CAAC;CACJ;AACY,QAAA,WAAW,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC;AACtC,QAAA,WAAW,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC;AACtC,QAAA,YAAY,GAAG,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC;AAErD,MAAa,OAAO;IAChB,MAAM,CAAC,OAA8B;QACjC,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAJD,0BAIC;AAED,MAAa,MAAM;IACf,MAAM,CAAC,OAA8B;QACjC,OAAO,OAAO,CAAC;IACnB,CAAC;CACJ;AAJD,wBAIC;AAED,MAAa,SAAS;IAClB,KAAK,CAAiB;IAEtB,YAAY,KAAqB;QAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,MAAM,CAAC,OAA8B;QACjC,OAAO;YACH,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;SACvB,CAAC;IACN,CAAC;CACJ;AAbD,8BAaC;AAED,MAAa,YAAY;IACrB,KAAK,CAAkB;IAEvB,YAAY,KAAsB;QAC9B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,MAAM,CAAC,OAA8B;QACjC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;CACJ;AAVD,oCAUC;AAED,MAAa,QAAQ;IACjB,KAAK,CAAmB;IAExB,YAAY,KAAuB;QAC/B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,MAAM,CAAC,OAA8B;QACjC,OAAO;YACH,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;SACvB,CAAC;IACN,CAAC;CACJ;AAbD,4BAaC;AAED,MAAa,2BAA2B;IACpC,SAAS,CAAU;IAEnB,YAAY,SAAkB;QAC1B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,OAA8B;QACjC,OAAO,0BAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,IAAI,OAAO,EAAE,gBAAgB,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IACvF,CAAC;CACJ;AAVD,kEAUC;AAED,MAAa,sBAAsB;IAC/B,SAAS,CAAS;IAElB,YAAY,SAAiB;QACzB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,OAA8B;QACjC,OAAO,0BAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC;CACJ;AAVD,wDAUC;AAEY,QAAA,mBAAmB,GAAkB;IAC9C,MAAM,CAAC,OAA8B;QACjC,IAAI,CAAC,OAAO,EAAE,gBAAgB,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACrD,CAAC;QACD,OAAO,0BAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACvD,CAAC;CACJ,CAAC;AAEF;;GAEG;AACU,QAAA,kBAAkB,GAAkB;IAC7C,MAAM,CAAC,OAA8B;QACjC,IAAI,CAAC,OAAO,EAAE,eAAe,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,0BAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACtD,CAAC;CACJ,CAAC;AASF,MAAa,mBAAmB;IAC5B,SAAS,CAAgB;IACzB,MAAM,CAAS;IAEf,YAAY,GAAG,IAA+B;QAC1C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpB,IAAI,CAAC,SAAS,GAAG,2BAAmB,CAAC;YACrC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACtB,OAAO;QACX,CAAC;QAED,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;QAEjC,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;YAChC,IAAI,CAAC,SAAS,GAAG,IAAI,sBAAsB,CAAC,SAAS,CAAC,CAAC;QAC3D,CAAC;aACI,CAAC;YACF,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC/B,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,OAA8B;QACjC,OAAO,IAAA,4BAAY,EAAC;YAChB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC;YAC9B,GAAG;YACH,0BAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;SACjC,CAAC,CAAC;IACP,CAAC;CACJ;AA7BD,kDA6BC;AAED,MAAa,kBAAkB;IAC3B;;OAEG;IACH,WAAW,CAAU;IAErB;;;OAGG;IACH,KAAK,CAAS;IAEd,YAAY,KAAa,EAAE,WAAoB;QAC3C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,MAAM,CAAC,OAA8B;QACjC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACpB,OAAO,0BAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,0BAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,0BAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACrF,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,CAAC;IAC1C,CAAC;CACJ;AA3BD,gDA2BC;AAED,MAAa,KAAK;IACd,GAAG,CAAgB;IACnB,KAAK,GAAkB,IAAI,OAAO,EAAE,CAAC;IACrC,KAAK,GAAkB,IAAI,OAAO,EAAE,CAAC;IAErC,YAAY,GAAG,IAAyB;QACpC,IAAI,CAAC,GAAG,GAAG,IAAI,wBAAa,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,CAAC,IAA0B;QAC3B,IAAI,CAAC,KAAK,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,KAA2B;QAC5B,IAAI,CAAC,KAAK,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,OAA8B;QACjC,OAAO,IAAA,4BAAY,EAAC;YAChB,KAAK;YACL,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC;YACxB,GAAG;YACH,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;YAC1B,GAAG;YACH,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;YAC1B,GAAG;SACN,CAAC,CAAC;IACP,CAAC;CACJ;AA9BD,sBA8BC"}
|
package/dist/src/SQLJoin.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SQLExpression, SQLExpressionOptions, SQLQuery } from './SQLExpression';
|
|
1
|
+
import { SQLExpression, SQLExpressionOptions, SQLNamedExpression, SQLQuery } from './SQLExpression';
|
|
2
2
|
export declare enum SQLJoinType {
|
|
3
3
|
Left = "Left",
|
|
4
4
|
Right = "Right",
|
|
@@ -21,8 +21,8 @@ declare const SQLJoin_base: {
|
|
|
21
21
|
} & typeof EmptyClass;
|
|
22
22
|
export declare class SQLJoin extends SQLJoin_base implements SQLExpression {
|
|
23
23
|
type: SQLJoinType;
|
|
24
|
-
table:
|
|
25
|
-
constructor(type: SQLJoinType, table:
|
|
24
|
+
table: SQLNamedExpression;
|
|
25
|
+
constructor(type: SQLJoinType, table: SQLNamedExpression);
|
|
26
26
|
private getJoinPrefix;
|
|
27
27
|
getSQL(options?: SQLExpressionOptions): SQLQuery;
|
|
28
28
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SQLJoin.d.ts","sourceRoot":"","sources":["../../src/SQLJoin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,QAAQ,EAAgB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"SQLJoin.d.ts","sourceRoot":"","sources":["../../src/SQLJoin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,QAAQ,EAAgB,MAAM,iBAAiB,CAAC;AAGlH,oBAAY,WAAW;IACnB,IAAI,SAAS;IACb,KAAK,UAAU;IACf,KAAK,UAAU;IACf,KAAK,UAAU;CAClB;AAED,cAAM,UAAU;CAAG;;;;;;;;;;;;;AACnB,qBAAa,OAAQ,SAAQ,YAAsB,YAAW,aAAa;IACvE,IAAI,cAAoB;IACxB,KAAK,EAAE,kBAAkB,CAAC;gBAEd,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,kBAAkB;IAMxD,OAAO,CAAC,aAAa;IASrB,MAAM,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,QAAQ;CAYnD"}
|
package/dist/src/SQLJoin.js
CHANGED
|
@@ -33,7 +33,11 @@ class SQLJoin extends (0, SQLWhere_1.Whereable)(EmptyClass) {
|
|
|
33
33
|
this.getJoinPrefix(),
|
|
34
34
|
this.table?.getSQL(options),
|
|
35
35
|
this._where ? 'ON' : undefined,
|
|
36
|
-
this._where?.getSQL(
|
|
36
|
+
this._where?.getSQL({
|
|
37
|
+
...options,
|
|
38
|
+
parentNamespace: options?.defaultNamespace,
|
|
39
|
+
defaultNamespace: this.table.getName(),
|
|
40
|
+
}),
|
|
37
41
|
], ' ');
|
|
38
42
|
}
|
|
39
43
|
}
|
package/dist/src/SQLJoin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SQLJoin.js","sourceRoot":"","sources":["../../src/SQLJoin.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"SQLJoin.js","sourceRoot":"","sources":["../../src/SQLJoin.ts"],"names":[],"mappings":";;;AAAA,mDAAkH;AAClH,yCAAuC;AAEvC,IAAY,WAKX;AALD,WAAY,WAAW;IACnB,4BAAa,CAAA;IACb,8BAAe,CAAA;IACf,8BAAe,CAAA;IACf,8BAAe,CAAA;AACnB,CAAC,EALW,WAAW,2BAAX,WAAW,QAKtB;AAED,MAAM,UAAU;CAAG;AACnB,MAAa,OAAQ,SAAQ,IAAA,oBAAS,EAAC,UAAU,CAAC;IAC9C,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;IACxB,KAAK,CAAqB;IAE1B,YAAY,IAAiB,EAAE,KAAyB;QACpD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAEO,aAAa;QACjB,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAChB,KAAK,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,WAAW,CAAC;YAC1C,KAAK,WAAW,CAAC,KAAK,CAAC,CAAC,OAAO,YAAY,CAAC;YAC5C,KAAK,WAAW,CAAC,KAAK,CAAC,CAAC,OAAO,MAAM,CAAC;YACtC,KAAK,WAAW,CAAC,KAAK,CAAC,CAAC,OAAO,YAAY,CAAC;QAChD,CAAC;IACL,CAAC;IAED,MAAM,CAAC,OAA8B;QACjC,OAAO,IAAA,4BAAY,EAAC;YAChB,IAAI,CAAC,aAAa,EAAE;YACpB,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;YAC9B,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;gBAChB,GAAG,OAAO;gBACV,eAAe,EAAE,OAAO,EAAE,gBAAgB;gBAC1C,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;aACzC,CAAC;SACL,EAAE,GAAG,CAAC,CAAC;IACZ,CAAC;CACJ;AA/BD,0BA+BC"}
|
|
@@ -7,6 +7,14 @@ export declare class SQLJsonUnquote implements SQLExpression {
|
|
|
7
7
|
constructor(target: SQLExpression);
|
|
8
8
|
getSQL(options?: SQLExpressionOptions): SQLQuery;
|
|
9
9
|
}
|
|
10
|
+
export type SQLJsonValueType = 'FLOAT' | 'DOUBLE' | 'DECIMAL' | 'SIGNED' | 'UNSIGNED' | 'DATE' | 'TIME' | 'DATETIME' | 'YEAR' | 'CHAR' | 'JSON';
|
|
11
|
+
export declare class SQLJsonValue implements SQLExpression {
|
|
12
|
+
target: SQLExpression;
|
|
13
|
+
path: SQLExpression;
|
|
14
|
+
type?: SQLJsonValueType;
|
|
15
|
+
constructor(target: SQLExpression, type?: SQLJsonValueType, path?: SQLExpression);
|
|
16
|
+
getSQL(options?: SQLExpressionOptions): SQLQuery;
|
|
17
|
+
}
|
|
10
18
|
/**
|
|
11
19
|
* Same as target->path, JSON_EXTRACT(target, path)
|
|
12
20
|
*/
|
|
@@ -15,6 +23,20 @@ export declare class SQLJsonExtract implements SQLExpression {
|
|
|
15
23
|
path: SQLExpression;
|
|
16
24
|
constructor(target: SQLExpression, path: SQLExpression);
|
|
17
25
|
getSQL(options?: SQLExpressionOptions): SQLQuery;
|
|
26
|
+
/**
|
|
27
|
+
* NOTE: this has to be combined with asScalar = true! Never let user input in a query without passing it as a parameter.
|
|
28
|
+
*
|
|
29
|
+
* E.g. SQL.jsonValue(SQL.column('settings'), `$.value.prices[*].bundleDiscounts.${SQLJsonExtract.escapePathComponent(key)}`, true) (note that last true!)
|
|
30
|
+
*/
|
|
31
|
+
static escapePathComponent(str: string): string;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Same as target->path, JSON_EXTRACT(target, path)
|
|
35
|
+
*/
|
|
36
|
+
export declare class SQLJsonKeys implements SQLExpression {
|
|
37
|
+
target: SQLExpression;
|
|
38
|
+
constructor(target: SQLExpression);
|
|
39
|
+
getSQL(options?: SQLExpressionOptions): SQLQuery;
|
|
18
40
|
}
|
|
19
41
|
export declare class SQLJsonLength implements SQLExpression {
|
|
20
42
|
target: SQLExpression;
|