@stamhoofd/sql 2.10.2 → 2.16.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 +1 -0
- package/dist/index.js.map +1 -1
- package/dist/src/SQL.d.ts +16 -43
- package/dist/src/SQL.d.ts.map +1 -1
- package/dist/src/SQL.js +10 -10
- package/dist/src/SQL.js.map +1 -1
- package/dist/src/SQLDelete.d.ts +15 -15
- package/dist/src/SQLDelete.d.ts.map +1 -1
- package/dist/src/SQLDelete.js +9 -10
- package/dist/src/SQLDelete.js.map +1 -1
- package/dist/src/SQLExpression.js +4 -5
- package/dist/src/SQLExpression.js.map +1 -1
- package/dist/src/SQLExpressions.d.ts +6 -0
- package/dist/src/SQLExpressions.d.ts.map +1 -1
- package/dist/src/SQLExpressions.js +41 -8
- package/dist/src/SQLExpressions.js.map +1 -1
- package/dist/src/SQLJoin.d.ts +16 -14
- package/dist/src/SQLJoin.d.ts.map +1 -1
- package/dist/src/SQLJoin.js +10 -9
- package/dist/src/SQLJoin.js.map +1 -1
- package/dist/src/SQLJsonExpressions.js +14 -0
- package/dist/src/SQLJsonExpressions.js.map +1 -1
- package/dist/src/SQLOrderBy.d.ts +5 -8
- package/dist/src/SQLOrderBy.d.ts.map +1 -1
- package/dist/src/SQLOrderBy.js +11 -9
- package/dist/src/SQLOrderBy.js.map +1 -1
- package/dist/src/SQLSelect.d.ts +32 -29
- package/dist/src/SQLSelect.d.ts.map +1 -1
- package/dist/src/SQLSelect.js +41 -20
- package/dist/src/SQLSelect.js.map +1 -1
- package/dist/src/SQLWhere.d.ts +11 -14
- package/dist/src/SQLWhere.d.ts.map +1 -1
- package/dist/src/SQLWhere.js +46 -28
- package/dist/src/SQLWhere.js.map +1 -1
- package/dist/src/filters/SQLFilter.d.ts +9 -2
- package/dist/src/filters/SQLFilter.d.ts.map +1 -1
- package/dist/src/filters/SQLFilter.js +34 -21
- package/dist/src/filters/SQLFilter.js.map +1 -1
- package/dist/src/filters/SQLSorter.js +1 -2
- package/dist/src/filters/SQLSorter.js.map +1 -1
- package/package.json +2 -2
- package/src/SQL.ts +25 -12
- package/src/SQLDelete.ts +3 -8
- package/src/SQLExpressions.ts +20 -0
- package/src/SQLJoin.ts +4 -5
- package/src/SQLOrderBy.ts +14 -12
- package/src/SQLSelect.ts +47 -24
- package/src/SQLWhere.ts +46 -33
- package/src/filters/SQLFilter.ts +42 -15
package/dist/src/SQLJoin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SQLJoin.js","sourceRoot":"","sources":["../../src/SQLJoin.ts"],"names":[],"mappings":";;;AAAA,mDAA8F;AAC9F,
|
|
1
|
+
{"version":3,"file":"SQLJoin.js","sourceRoot":"","sources":["../../src/SQLJoin.ts"],"names":[],"mappings":";;;AAAA,mDAA8F;AAC9F,yCAAiD;AAEjD,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,CAAA;IACvB,KAAK,CAAgB;IAErB,YAAY,IAAiB,EAAE,KAAoB;QAC/C,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,OAA0C;QAC7C,OAAO,IAAA,4BAAY,EAAC;YAChB,IAAI,CAAC,aAAa,EAAE;YACpB,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE;YACpB,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;YAC9B,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE;SACxB,EAAE,GAAG,CAAC,CAAA;IACX,CAAC;CACJ;AA3BD,0BA2BC"}
|
|
@@ -4,6 +4,7 @@ exports.SQLJsonOverlaps = exports.SQLJsonContains = exports.SQLJsonSearch = expo
|
|
|
4
4
|
const SQLExpression_1 = require("./SQLExpression");
|
|
5
5
|
const SQLExpressions_1 = require("./SQLExpressions");
|
|
6
6
|
class SQLJsonUnquote {
|
|
7
|
+
target;
|
|
7
8
|
constructor(target) {
|
|
8
9
|
this.target = target;
|
|
9
10
|
}
|
|
@@ -20,6 +21,8 @@ exports.SQLJsonUnquote = SQLJsonUnquote;
|
|
|
20
21
|
* Same as target->path, JSON_EXTRACT(target, path)
|
|
21
22
|
*/
|
|
22
23
|
class SQLJsonExtract {
|
|
24
|
+
target;
|
|
25
|
+
path;
|
|
23
26
|
constructor(target, path) {
|
|
24
27
|
this.target = target;
|
|
25
28
|
this.path = path;
|
|
@@ -36,6 +39,8 @@ class SQLJsonExtract {
|
|
|
36
39
|
}
|
|
37
40
|
exports.SQLJsonExtract = SQLJsonExtract;
|
|
38
41
|
class SQLJsonLength {
|
|
42
|
+
target;
|
|
43
|
+
path;
|
|
39
44
|
constructor(target, path) {
|
|
40
45
|
this.target = target;
|
|
41
46
|
this.path = path;
|
|
@@ -57,6 +62,10 @@ exports.SQLJsonLength = SQLJsonLength;
|
|
|
57
62
|
* JSON_SEARCH(json_doc, one_or_all, search_str[, escape_char[, path] ...])
|
|
58
63
|
*/
|
|
59
64
|
class SQLJsonSearch {
|
|
65
|
+
target;
|
|
66
|
+
oneOrAll;
|
|
67
|
+
searchStr;
|
|
68
|
+
path;
|
|
60
69
|
constructor(target, oneOrAll, searchStr, path = null) {
|
|
61
70
|
this.target = target;
|
|
62
71
|
this.oneOrAll = oneOrAll;
|
|
@@ -84,6 +93,9 @@ exports.SQLJsonSearch = SQLJsonSearch;
|
|
|
84
93
|
* JSON_CONTAINS(target, candidate[, path])
|
|
85
94
|
*/
|
|
86
95
|
class SQLJsonContains {
|
|
96
|
+
target;
|
|
97
|
+
candidate;
|
|
98
|
+
path;
|
|
87
99
|
constructor(target, candidate, path = null) {
|
|
88
100
|
this.target = target;
|
|
89
101
|
this.candidate = candidate;
|
|
@@ -108,6 +120,8 @@ exports.SQLJsonContains = SQLJsonContains;
|
|
|
108
120
|
* JSON_CONTAINS(json_doc1, json_doc2)
|
|
109
121
|
*/
|
|
110
122
|
class SQLJsonOverlaps {
|
|
123
|
+
jsonDoc1;
|
|
124
|
+
jsonDoc2;
|
|
111
125
|
constructor(jsonDoc1, jsonDoc2) {
|
|
112
126
|
this.jsonDoc1 = jsonDoc1;
|
|
113
127
|
this.jsonDoc2 = jsonDoc2;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SQLJsonExpressions.js","sourceRoot":"","sources":["../../src/SQLJsonExpressions.ts"],"names":[],"mappings":";;;AAAA,mDAA8F;AAC9F,qDAAgD;AAEhD,MAAa,cAAc;
|
|
1
|
+
{"version":3,"file":"SQLJsonExpressions.js","sourceRoot":"","sources":["../../src/SQLJsonExpressions.ts"],"names":[],"mappings":"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"}
|
package/dist/src/SQLOrderBy.d.ts
CHANGED
|
@@ -1,15 +1,12 @@
|
|
|
1
1
|
import { SQLExpression, SQLExpressionOptions, SQLQuery } from "./SQLExpression";
|
|
2
|
-
type
|
|
3
|
-
|
|
4
|
-
_orderBy: SQLOrderBy | null;
|
|
5
|
-
}>;
|
|
6
|
-
export declare function addOrderByHelpers<TBase extends Orderable>(Base: TBase): {
|
|
2
|
+
type Constructor<T = {}> = new (...args: any[]) => T;
|
|
3
|
+
export declare function Orderable<Sup extends Constructor<{}>>(Base: Sup): {
|
|
7
4
|
new (...args: any[]): {
|
|
8
|
-
orderBy(orderBy: SQLOrderBy): any;
|
|
9
|
-
orderBy(column: SQLExpression, direction?: SQLOrderByDirection): any;
|
|
10
5
|
_orderBy: SQLOrderBy | null;
|
|
6
|
+
orderBy<T>(this: T, orderBy: SQLOrderBy): T;
|
|
7
|
+
orderBy<T>(this: T, column: SQLExpression, direction?: SQLOrderByDirection): T;
|
|
11
8
|
};
|
|
12
|
-
} &
|
|
9
|
+
} & Sup;
|
|
13
10
|
export type SQLOrderByDirection = 'ASC' | 'DESC';
|
|
14
11
|
export declare class SQLOrderBy implements SQLExpression {
|
|
15
12
|
orderBy: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SQLOrderBy.d.ts","sourceRoot":"","sources":["../../src/SQLOrderBy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,QAAQ,EAAgB,MAAM,iBAAiB,CAAC;AAE9F,KAAK,
|
|
1
|
+
{"version":3,"file":"SQLOrderBy.d.ts","sourceRoot":"","sources":["../../src/SQLOrderBy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,QAAQ,EAAgB,MAAM,iBAAiB,CAAC;AAE9F,KAAK,WAAW,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;AAErD,wBAAgB,SAAS,CAAC,GAAG,SAAS,WAAW,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG;kBAFvB,GAAG,EAAE;kBAI5B,UAAU,GAAC,IAAI;gBAEjB,CAAC,QAAQ,CAAC,WAAW,UAAU,GAAG,CAAC;gBACnC,CAAC,QAAQ,CAAC,UAAU,aAAa,cAAc,mBAAmB,GAAI,CAAC;;QAkBtF;AAGD,MAAM,MAAM,mBAAmB,GAAG,KAAK,GAAG,MAAM,CAAC;AACjD,qBAAa,UAAW,YAAW,aAAa;IAC5C,OAAO,EAAE;QAAC,MAAM,EAAE,aAAa,CAAC;QAAC,SAAS,EAAE,mBAAmB,CAAA;KAAC,EAAE,CAAM;gBAE5D,GAAG,OAAO,EAAE;QAAC,MAAM,EAAE,aAAa,CAAC;QAAC,SAAS,EAAE,mBAAmB,CAAA;KAAC,EAAE;IAIjF,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE;IAIpC,GAAG,CAAC,OAAO,EAAE,UAAU;IAIvB,MAAM,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,SAAS,GAAG,QAAQ;CAkB/D"}
|
package/dist/src/SQLOrderBy.js
CHANGED
|
@@ -1,28 +1,30 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SQLOrderBy =
|
|
3
|
+
exports.SQLOrderBy = void 0;
|
|
4
|
+
exports.Orderable = Orderable;
|
|
4
5
|
const SQLExpression_1 = require("./SQLExpression");
|
|
5
|
-
function
|
|
6
|
+
function Orderable(Base) {
|
|
6
7
|
return class extends Base {
|
|
8
|
+
_orderBy = null;
|
|
7
9
|
orderBy(columnOrOrderBy, direction) {
|
|
8
10
|
let o = columnOrOrderBy;
|
|
9
11
|
if (!(columnOrOrderBy instanceof SQLOrderBy)) {
|
|
10
|
-
o = new SQLOrderBy({ column: columnOrOrderBy, direction: direction
|
|
12
|
+
o = new SQLOrderBy({ column: columnOrOrderBy, direction: direction ?? 'ASC' });
|
|
11
13
|
}
|
|
12
|
-
if
|
|
13
|
-
|
|
14
|
+
const me = this; // stupid typescript looses type information if we don't do the this: T dance
|
|
15
|
+
if (me._orderBy) {
|
|
16
|
+
me._orderBy.add(o);
|
|
14
17
|
}
|
|
15
18
|
else {
|
|
16
|
-
|
|
19
|
+
me._orderBy = o;
|
|
17
20
|
}
|
|
18
|
-
return
|
|
21
|
+
return me;
|
|
19
22
|
}
|
|
20
23
|
};
|
|
21
24
|
}
|
|
22
|
-
exports.addOrderByHelpers = addOrderByHelpers;
|
|
23
25
|
class SQLOrderBy {
|
|
26
|
+
orderBy = [];
|
|
24
27
|
constructor(...orderBy) {
|
|
25
|
-
this.orderBy = [];
|
|
26
28
|
this.orderBy = orderBy;
|
|
27
29
|
}
|
|
28
30
|
static combine(orderBy) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SQLOrderBy.js","sourceRoot":"","sources":["../../src/SQLOrderBy.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"SQLOrderBy.js","sourceRoot":"","sources":["../../src/SQLOrderBy.ts"],"names":[],"mappings":";;;AAIA,8BAuBC;AA3BD,mDAA8F;AAI9F,SAAgB,SAAS,CAA8B,IAAS;IAC5D,OAAO,KAAM,SAAQ,IAAI;QACrB,QAAQ,GAAoB,IAAI,CAAA;QAIhC,OAAO,CAAa,eAA8B,EAAE,SAA+B;YAC/E,IAAI,CAAC,GAAG,eAA6B,CAAA;YACrC,IAAI,CAAC,CAAC,eAAe,YAAY,UAAU,CAAC,EAAE,CAAC;gBAC3C,CAAC,GAAG,IAAI,UAAU,CAAC,EAAC,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,IAAI,KAAK,EAAC,CAAC,CAAA;YAChF,CAAC;YAED,MAAM,EAAE,GAAG,IAAW,CAAC,CAAC,6EAA6E;YAErG,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;gBACd,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;YACtB,CAAC;iBAAM,CAAC;gBACJ,EAAE,CAAC,QAAQ,GAAG,CAAC,CAAC;YACpB,CAAC;YAED,OAAO,EAAE,CAAC;QACd,CAAC;KACJ,CAAA;AACL,CAAC;AAID,MAAa,UAAU;IACnB,OAAO,GAA8D,EAAE,CAAC;IAExE,YAAY,GAAG,OAAkE;QAC7E,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IAC1B,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,OAAqB;QAChC,OAAO,IAAI,UAAU,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;IAC7D,CAAC;IAED,GAAG,CAAC,OAAmB;QACnB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACzC,CAAC;IAED,MAAM,CAAC,OAA0C;QAC7C,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,EAAE,CAAC;QACd,CAAC;QAED,OAAO,IAAA,4BAAY,EAAC;YAChB,WAAW;YACX,IAAA,4BAAY,EACR,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gBACjB,OAAO,IAAA,4BAAY,EAAC;oBAChB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;oBACxB,CAAC,CAAC,SAAS;iBACd,EAAE,GAAG,CAAC,CAAA;YACX,CAAC,CAAC,EACF,IAAI,CACP;SACJ,CAAC,CAAA;IACN,CAAC;CACJ;AAjCD,gCAiCC"}
|
package/dist/src/SQLSelect.d.ts
CHANGED
|
@@ -1,47 +1,50 @@
|
|
|
1
|
-
import { SQLExpression, SQLExpressionOptions, SQLQuery } from "./SQLExpression";
|
|
2
|
-
import { SQLOrderBy } from "./SQLOrderBy";
|
|
3
|
-
import { SQLWhere } from "./SQLWhere";
|
|
4
1
|
import { SQLResultNamespacedRow } from "@simonbackx/simple-database";
|
|
2
|
+
import { SQLExpression, SQLExpressionOptions, SQLQuery } from "./SQLExpression";
|
|
5
3
|
import { SQLJoin } from './SQLJoin';
|
|
6
|
-
declare class
|
|
4
|
+
declare class EmptyClass {
|
|
5
|
+
}
|
|
6
|
+
export declare function parseTable(tableOrExpressiongOrNamespace: SQLExpression | string, table?: string): SQLExpression;
|
|
7
|
+
declare const SQLSelect_base: {
|
|
8
|
+
new (...args: any[]): {
|
|
9
|
+
_where: import("./SQLWhere").SQLWhere | null;
|
|
10
|
+
parseWhere(...[whereOrColumn, signOrValue, value]: import("./SQLWhere").ParseWhereArguments): import("./SQLWhere").SQLWhere;
|
|
11
|
+
where<T_1>(this: T_1, ...args: import("./SQLWhere").ParseWhereArguments): T_1;
|
|
12
|
+
andWhere<T_1>(this: T_1, ...args: import("./SQLWhere").ParseWhereArguments): T_1;
|
|
13
|
+
orWhere<T_1>(this: T_1, ...args: import("./SQLWhere").ParseWhereArguments): T_1;
|
|
14
|
+
whereNot<T_1>(this: T_1, ...args: import("./SQLWhere").ParseWhereArguments): T_1;
|
|
15
|
+
andWhereNot<T_1>(this: T_1, ...args: import("./SQLWhere").ParseWhereArguments): T_1;
|
|
16
|
+
orWhereNot<T_1>(this: T_1, ...args: import("./SQLWhere").ParseWhereArguments): T_1;
|
|
17
|
+
};
|
|
18
|
+
} & {
|
|
19
|
+
new (...args: any[]): {
|
|
20
|
+
_orderBy: import("./SQLOrderBy").SQLOrderBy | null;
|
|
21
|
+
orderBy<T_1>(this: T_1, orderBy: import("./SQLOrderBy").SQLOrderBy): T_1;
|
|
22
|
+
orderBy<T_1>(this: T_1, column: SQLExpression, direction?: import("./SQLOrderBy").SQLOrderByDirection): T_1;
|
|
23
|
+
};
|
|
24
|
+
} & typeof EmptyClass;
|
|
25
|
+
export declare class SQLSelect<T = SQLResultNamespacedRow> extends SQLSelect_base implements SQLExpression {
|
|
7
26
|
_columns: SQLExpression[];
|
|
8
27
|
_from: SQLExpression;
|
|
9
28
|
_limit: number | null;
|
|
10
29
|
_offset: number | null;
|
|
11
|
-
_where: SQLWhere | null;
|
|
12
|
-
_orderBy: SQLOrderBy | null;
|
|
13
30
|
_groupBy: SQLExpression[];
|
|
14
31
|
_joins: (InstanceType<typeof SQLJoin>)[];
|
|
15
|
-
|
|
32
|
+
_transformer: ((row: SQLResultNamespacedRow) => T) | null;
|
|
33
|
+
constructor(...columns: (SQLExpression | string)[]);
|
|
34
|
+
constructor(transformer: ((row: SQLResultNamespacedRow) => T), ...columns: (SQLExpression | string)[]);
|
|
16
35
|
clone(): this;
|
|
17
|
-
from(table:
|
|
36
|
+
from(namespace: string, table: string): this;
|
|
37
|
+
from(table: string): this;
|
|
38
|
+
from(expression: SQLExpression): this;
|
|
18
39
|
join(join: InstanceType<typeof SQLJoin>): this;
|
|
19
40
|
groupBy(...columns: SQLExpression[]): this;
|
|
20
41
|
getSQL(options?: SQLExpressionOptions): SQLQuery;
|
|
21
42
|
limit(limit: number | null, offset?: number | null): this;
|
|
22
|
-
fetch(): Promise<
|
|
23
|
-
first(required: false): Promise<
|
|
24
|
-
first(required: true): Promise<
|
|
43
|
+
fetch(): Promise<T[]>;
|
|
44
|
+
first(required: false): Promise<T | null>;
|
|
45
|
+
first(required: true): Promise<T>;
|
|
25
46
|
count(): Promise<number>;
|
|
26
47
|
sum(expression: SQLExpression): Promise<number>;
|
|
27
48
|
}
|
|
28
|
-
export declare const SQLSelect: {
|
|
29
|
-
new (...args: any[]): {
|
|
30
|
-
orderBy(orderBy: SQLOrderBy): any;
|
|
31
|
-
orderBy(column: SQLExpression, direction?: import("./SQLOrderBy").SQLOrderByDirection | undefined): any;
|
|
32
|
-
_orderBy: SQLOrderBy | null;
|
|
33
|
-
};
|
|
34
|
-
} & {
|
|
35
|
-
new (...args: any[]): {
|
|
36
|
-
parseWhere(...[whereOrColumn, signOrValue, value]: import("./SQLWhere").ParseWhereArguments): SQLWhere;
|
|
37
|
-
where<T>(this: T, ...args: import("./SQLWhere").ParseWhereArguments): T;
|
|
38
|
-
andWhere(...args: import("./SQLWhere").ParseWhereArguments): any;
|
|
39
|
-
orWhere(...args: import("./SQLWhere").ParseWhereArguments): any;
|
|
40
|
-
whereNot(...args: import("./SQLWhere").ParseWhereArguments): any;
|
|
41
|
-
andWhereNot(...args: import("./SQLWhere").ParseWhereArguments): any;
|
|
42
|
-
orWhereNot(...args: import("./SQLWhere").ParseWhereArguments): any;
|
|
43
|
-
_where: SQLWhere | null;
|
|
44
|
-
};
|
|
45
|
-
} & typeof SelectBase;
|
|
46
49
|
export {};
|
|
47
50
|
//# sourceMappingURL=SQLSelect.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SQLSelect.d.ts","sourceRoot":"","sources":["../../src/SQLSelect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,QAAQ,EAAmC,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"SQLSelect.d.ts","sourceRoot":"","sources":["../../src/SQLSelect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,QAAQ,EAAmC,MAAM,iBAAiB,CAAC;AAEjH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,cAAM,UAAU;CAAG;AAEnB,wBAAgB,UAAU,CAAC,6BAA6B,EAAE,aAAa,GAAC,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,aAAa,CAQ7G;;;;;;;;;;;;;;;;;;;AAED,qBAAa,SAAS,CAAC,CAAC,GAAG,sBAAsB,CAAE,SAAQ,cAAiC,YAAW,aAAa;IAChH,QAAQ,EAAE,aAAa,EAAE,CAAA;IACzB,KAAK,EAAE,aAAa,CAAC;IAErB,MAAM,EAAE,MAAM,GAAC,IAAI,CAAQ;IAC3B,OAAO,EAAE,MAAM,GAAC,IAAI,CAAQ;IAC5B,QAAQ,EAAE,aAAa,EAAE,CAAM;IAC/B,MAAM,EAAE,CAAC,YAAY,CAAC,OAAO,OAAO,CAAC,CAAC,EAAE,CAAM;IAE9C,YAAY,EAAE,CAAC,CAAC,GAAG,EAAE,sBAAsB,KAAK,CAAC,CAAC,GAAC,IAAI,CAAQ;gBAEnD,GAAG,OAAO,EAAE,CAAC,aAAa,GAAC,MAAM,CAAC,EAAE;gBACpC,WAAW,EAAE,CAAC,CAAC,GAAG,EAAE,sBAAsB,KAAK,CAAC,CAAC,EAAC,GAAG,OAAO,EAAE,CAAC,aAAa,GAAC,MAAM,CAAC,EAAE;IAUlG,KAAK,IAAI,IAAI;IAMb,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAC5C,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IACzB,IAAI,CAAC,UAAU,EAAE,aAAa,GAAG,IAAI;IAOrC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,OAAO,OAAO,CAAC,GAAG,IAAI;IAK9C,OAAO,CAAC,GAAG,OAAO,EAAE,aAAa,EAAE,GAAG,IAAI;IAK1C,MAAM,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,QAAQ;IAkDhD,KAAK,CAAC,KAAK,EAAE,MAAM,GAAC,IAAI,EAAE,MAAM,GAAE,MAAM,GAAC,IAAW,GAAG,IAAI;IAMrD,KAAK,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC;IA+B3B,KAAK,CAAC,QAAQ,EAAE,KAAK,GAAG,OAAO,CAAC,CAAC,GAAC,IAAI,CAAC;IACvC,KAAK,CAAC,QAAQ,EAAE,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC;IAa3B,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IA+BxB,GAAG,CAAC,UAAU,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;CA8BxD"}
|
package/dist/src/SQLSelect.js
CHANGED
|
@@ -1,28 +1,47 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SQLSelect = void 0;
|
|
4
|
+
exports.parseTable = parseTable;
|
|
5
|
+
const simple_database_1 = require("@simonbackx/simple-database");
|
|
4
6
|
const SQLExpression_1 = require("./SQLExpression");
|
|
7
|
+
const SQLExpressions_1 = require("./SQLExpressions");
|
|
5
8
|
const SQLOrderBy_1 = require("./SQLOrderBy");
|
|
6
9
|
const SQLWhere_1 = require("./SQLWhere");
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
+
class EmptyClass {
|
|
11
|
+
}
|
|
12
|
+
function parseTable(tableOrExpressiongOrNamespace, table) {
|
|
13
|
+
if (table !== undefined && typeof tableOrExpressiongOrNamespace === 'string') {
|
|
14
|
+
return new SQLExpressions_1.SQLTableExpression(tableOrExpressiongOrNamespace, table);
|
|
15
|
+
}
|
|
16
|
+
else if (typeof tableOrExpressiongOrNamespace === 'string') {
|
|
17
|
+
return new SQLExpressions_1.SQLTableExpression(tableOrExpressiongOrNamespace);
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
return tableOrExpressiongOrNamespace;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
class SQLSelect extends (0, SQLWhere_1.Whereable)((0, SQLOrderBy_1.Orderable)(EmptyClass)) {
|
|
24
|
+
_columns;
|
|
25
|
+
_from;
|
|
26
|
+
_limit = null;
|
|
27
|
+
_offset = null;
|
|
28
|
+
_groupBy = [];
|
|
29
|
+
_joins = [];
|
|
30
|
+
_transformer = null;
|
|
10
31
|
constructor(...columns) {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
this.
|
|
16
|
-
this._joins = [];
|
|
17
|
-
this._columns = columns;
|
|
32
|
+
super();
|
|
33
|
+
if (typeof columns[0] === 'function') {
|
|
34
|
+
this._transformer = columns.shift();
|
|
35
|
+
}
|
|
36
|
+
this._columns = columns.map(c => typeof c === 'string' ? new SQLExpressions_1.SQLColumnExpression(c) : c);
|
|
18
37
|
}
|
|
19
38
|
clone() {
|
|
20
|
-
const c = new
|
|
39
|
+
const c = new SQLSelect(...this._columns);
|
|
21
40
|
Object.assign(c, this);
|
|
22
41
|
return c;
|
|
23
42
|
}
|
|
24
|
-
from(table) {
|
|
25
|
-
this._from = table;
|
|
43
|
+
from(tableOrExpressiongOrNamespace, table) {
|
|
44
|
+
this._from = parseTable(tableOrExpressiongOrNamespace, table);
|
|
26
45
|
return this;
|
|
27
46
|
}
|
|
28
47
|
join(join) {
|
|
@@ -34,12 +53,11 @@ class SelectBase {
|
|
|
34
53
|
return this;
|
|
35
54
|
}
|
|
36
55
|
getSQL(options) {
|
|
37
|
-
var _a, _b;
|
|
38
56
|
const query = [
|
|
39
57
|
'SELECT'
|
|
40
58
|
];
|
|
41
|
-
options = options
|
|
42
|
-
options.defaultNamespace =
|
|
59
|
+
options = options ?? {};
|
|
60
|
+
options.defaultNamespace = this._from.namespace ?? this._from.table ?? undefined;
|
|
43
61
|
const columns = this._columns.map(c => c.getSQL(options));
|
|
44
62
|
query.push((0, SQLExpression_1.joinSQLQuery)(columns, ', '));
|
|
45
63
|
query.push('FROM');
|
|
@@ -70,9 +88,9 @@ class SelectBase {
|
|
|
70
88
|
return this;
|
|
71
89
|
}
|
|
72
90
|
async fetch() {
|
|
73
|
-
var _a;
|
|
74
91
|
const { query, params } = (0, SQLExpression_1.normalizeSQLQuery)(this.getSQL());
|
|
75
|
-
|
|
92
|
+
// when debugging: log all queries
|
|
93
|
+
//console.log(query, params);
|
|
76
94
|
const [rows] = await simple_database_1.Database.select(query, params, { nestTables: true });
|
|
77
95
|
// Now map aggregated queries to the correct namespace
|
|
78
96
|
for (const row of rows) {
|
|
@@ -85,12 +103,15 @@ class SelectBase {
|
|
|
85
103
|
}
|
|
86
104
|
const namespace = splitted[0];
|
|
87
105
|
const name = splitted[1];
|
|
88
|
-
row[namespace] =
|
|
106
|
+
row[namespace] = row[namespace] ?? {};
|
|
89
107
|
row[namespace][name] = row[''][column];
|
|
90
108
|
}
|
|
91
109
|
delete row[''];
|
|
92
110
|
}
|
|
93
111
|
}
|
|
112
|
+
if (this._transformer) {
|
|
113
|
+
return rows.map(this._transformer);
|
|
114
|
+
}
|
|
94
115
|
return rows;
|
|
95
116
|
}
|
|
96
117
|
async first(required = true) {
|
|
@@ -154,5 +175,5 @@ class SelectBase {
|
|
|
154
175
|
return 0;
|
|
155
176
|
}
|
|
156
177
|
}
|
|
157
|
-
exports.SQLSelect =
|
|
178
|
+
exports.SQLSelect = SQLSelect;
|
|
158
179
|
//# sourceMappingURL=SQLSelect.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SQLSelect.js","sourceRoot":"","sources":["../../src/SQLSelect.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"SQLSelect.js","sourceRoot":"","sources":["../../src/SQLSelect.ts"],"names":[],"mappings":"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"}
|
package/dist/src/SQLWhere.d.ts
CHANGED
|
@@ -1,31 +1,28 @@
|
|
|
1
1
|
import { SQLExpression, SQLExpressionOptions, SQLQuery } from "./SQLExpression";
|
|
2
2
|
import { SQLDynamicExpression } from "./SQLExpressions";
|
|
3
|
-
type
|
|
4
|
-
type Whereable = GConstructor<{
|
|
5
|
-
_where: SQLWhere | null;
|
|
6
|
-
}>;
|
|
3
|
+
type Constructor<T = {}> = new (...args: any[]) => T;
|
|
7
4
|
export type ParseWhereArguments = [
|
|
8
5
|
where: SQLWhere
|
|
9
6
|
] | [
|
|
10
|
-
whereOrColumn: SQLExpression,
|
|
7
|
+
whereOrColumn: SQLExpression | string,
|
|
11
8
|
sign: SQLWhereSign,
|
|
12
9
|
value: SQLDynamicExpression
|
|
13
10
|
] | [
|
|
14
|
-
whereOrColumn: SQLExpression,
|
|
11
|
+
whereOrColumn: SQLExpression | string,
|
|
15
12
|
value: SQLDynamicExpression
|
|
16
13
|
];
|
|
17
|
-
export declare function
|
|
14
|
+
export declare function Whereable<Sup extends Constructor<{}>>(Base: Sup): {
|
|
18
15
|
new (...args: any[]): {
|
|
16
|
+
_where: SQLWhere | null;
|
|
19
17
|
parseWhere(...[whereOrColumn, signOrValue, value]: ParseWhereArguments): SQLWhere;
|
|
20
18
|
where<T>(this: T, ...args: ParseWhereArguments): T;
|
|
21
|
-
andWhere(...args: ParseWhereArguments):
|
|
22
|
-
orWhere(...args: ParseWhereArguments):
|
|
23
|
-
whereNot(...args: ParseWhereArguments):
|
|
24
|
-
andWhereNot(...args: ParseWhereArguments):
|
|
25
|
-
orWhereNot(...args: ParseWhereArguments):
|
|
26
|
-
_where: SQLWhere | null;
|
|
19
|
+
andWhere<T>(this: T, ...args: ParseWhereArguments): T;
|
|
20
|
+
orWhere<T>(this: T, ...args: ParseWhereArguments): T;
|
|
21
|
+
whereNot<T>(this: T, ...args: ParseWhereArguments): T;
|
|
22
|
+
andWhereNot<T>(this: T, ...args: ParseWhereArguments): T;
|
|
23
|
+
orWhereNot<T>(this: T, ...args: ParseWhereArguments): T;
|
|
27
24
|
};
|
|
28
|
-
} &
|
|
25
|
+
} & Sup;
|
|
29
26
|
export declare abstract class SQLWhere implements SQLExpression {
|
|
30
27
|
and(...where: SQLWhere[]): SQLWhere;
|
|
31
28
|
or(...where: SQLWhere[]): SQLWhere;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SQLWhere.d.ts","sourceRoot":"","sources":["../../src/SQLWhere.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,QAAQ,EAAmC,MAAM,iBAAiB,CAAC;AACjH,OAAO,
|
|
1
|
+
{"version":3,"file":"SQLWhere.d.ts","sourceRoot":"","sources":["../../src/SQLWhere.ts"],"names":[],"mappings":"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"}
|
package/dist/src/SQLWhere.js
CHANGED
|
@@ -1,64 +1,74 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SQLWhereNot = exports.SQLWhereOr = exports.SQLWhereAnd = exports.SQLWhereExists = exports.SQLWhereLike = exports.SQLWhereEqual = exports.SQLWhereSign = exports.SQLWhere =
|
|
3
|
+
exports.SQLWhereNot = exports.SQLWhereOr = exports.SQLWhereAnd = exports.SQLWhereExists = exports.SQLWhereLike = exports.SQLWhereEqual = exports.SQLWhereSign = exports.SQLWhere = void 0;
|
|
4
|
+
exports.Whereable = Whereable;
|
|
4
5
|
const SQLExpression_1 = require("./SQLExpression");
|
|
5
6
|
const SQLExpressions_1 = require("./SQLExpressions");
|
|
6
|
-
function
|
|
7
|
+
function assertWhereable(o) {
|
|
8
|
+
return o;
|
|
9
|
+
}
|
|
10
|
+
function Whereable(Base) {
|
|
7
11
|
return class extends Base {
|
|
12
|
+
_where = null;
|
|
8
13
|
parseWhere(...[whereOrColumn, signOrValue, value]) {
|
|
9
14
|
if (signOrValue === undefined) {
|
|
10
15
|
return whereOrColumn;
|
|
11
16
|
}
|
|
12
17
|
if (value !== undefined) {
|
|
13
|
-
return new SQLWhereEqual(whereOrColumn, signOrValue, (0, SQLExpressions_1.readDynamicSQLExpression)(value));
|
|
18
|
+
return new SQLWhereEqual(typeof whereOrColumn === 'string' ? new SQLExpressions_1.SQLColumnExpression(whereOrColumn) : whereOrColumn, signOrValue, (0, SQLExpressions_1.readDynamicSQLExpression)(value));
|
|
14
19
|
}
|
|
15
|
-
return new SQLWhereEqual(whereOrColumn, SQLWhereSign.Equal, (0, SQLExpressions_1.readDynamicSQLExpression)(signOrValue));
|
|
20
|
+
return new SQLWhereEqual(typeof whereOrColumn === 'string' ? new SQLExpressions_1.SQLColumnExpression(whereOrColumn) : whereOrColumn, SQLWhereSign.Equal, (0, SQLExpressions_1.readDynamicSQLExpression)(signOrValue));
|
|
16
21
|
}
|
|
17
22
|
where(...args) {
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
23
|
+
const me = assertWhereable(this);
|
|
24
|
+
const w = me.parseWhere(...args);
|
|
25
|
+
if (!me._where) {
|
|
26
|
+
me._where = w;
|
|
27
|
+
return me;
|
|
22
28
|
}
|
|
23
|
-
|
|
24
|
-
return
|
|
29
|
+
me._where = me._where.and(w);
|
|
30
|
+
return me;
|
|
25
31
|
}
|
|
26
32
|
andWhere(...args) {
|
|
27
|
-
|
|
33
|
+
const me = assertWhereable(this);
|
|
34
|
+
return me.where(...args);
|
|
28
35
|
}
|
|
29
36
|
orWhere(...args) {
|
|
30
|
-
const
|
|
31
|
-
|
|
32
|
-
|
|
37
|
+
const me = assertWhereable(this);
|
|
38
|
+
const w = me.parseWhere(...args);
|
|
39
|
+
if (!me._where) {
|
|
40
|
+
me._where = w;
|
|
33
41
|
return this;
|
|
34
42
|
}
|
|
35
|
-
|
|
43
|
+
me._where = me._where.or(w);
|
|
36
44
|
return this;
|
|
37
45
|
}
|
|
38
46
|
whereNot(...args) {
|
|
39
|
-
const
|
|
40
|
-
|
|
41
|
-
|
|
47
|
+
const me = assertWhereable(this);
|
|
48
|
+
const w = new SQLWhereNot(me.parseWhere(...args));
|
|
49
|
+
if (!me._where) {
|
|
50
|
+
me._where = w;
|
|
42
51
|
return this;
|
|
43
52
|
}
|
|
44
|
-
|
|
53
|
+
me._where = me._where.and(w);
|
|
45
54
|
return this;
|
|
46
55
|
}
|
|
47
56
|
andWhereNot(...args) {
|
|
48
|
-
|
|
57
|
+
const me = assertWhereable(this);
|
|
58
|
+
return me.whereNot(...args);
|
|
49
59
|
}
|
|
50
60
|
orWhereNot(...args) {
|
|
51
|
-
const
|
|
52
|
-
|
|
53
|
-
|
|
61
|
+
const me = assertWhereable(this);
|
|
62
|
+
const w = new SQLWhereNot(me.parseWhere(...args));
|
|
63
|
+
if (!me._where) {
|
|
64
|
+
me._where = w;
|
|
54
65
|
return this;
|
|
55
66
|
}
|
|
56
|
-
|
|
67
|
+
me._where = me._where.or(w);
|
|
57
68
|
return this;
|
|
58
69
|
}
|
|
59
70
|
};
|
|
60
71
|
}
|
|
61
|
-
exports.addWhereHelpers = addWhereHelpers;
|
|
62
72
|
class SQLWhere {
|
|
63
73
|
and(...where) {
|
|
64
74
|
return new SQLWhereAnd([this, ...where]);
|
|
@@ -81,9 +91,11 @@ var SQLWhereSign;
|
|
|
81
91
|
SQLWhereSign["NotEqual"] = "!=";
|
|
82
92
|
})(SQLWhereSign || (exports.SQLWhereSign = SQLWhereSign = {}));
|
|
83
93
|
class SQLWhereEqual extends SQLWhere {
|
|
94
|
+
column;
|
|
95
|
+
sign = SQLWhereSign.Equal;
|
|
96
|
+
value;
|
|
84
97
|
constructor(column, signOrValue, value) {
|
|
85
98
|
super();
|
|
86
|
-
this.sign = SQLWhereSign.Equal;
|
|
87
99
|
this.column = column;
|
|
88
100
|
if (value !== undefined) {
|
|
89
101
|
this.value = value;
|
|
@@ -158,9 +170,11 @@ class SQLWhereEqual extends SQLWhere {
|
|
|
158
170
|
}
|
|
159
171
|
exports.SQLWhereEqual = SQLWhereEqual;
|
|
160
172
|
class SQLWhereLike extends SQLWhere {
|
|
173
|
+
column;
|
|
174
|
+
notLike = false;
|
|
175
|
+
value;
|
|
161
176
|
constructor(column, value) {
|
|
162
177
|
super();
|
|
163
|
-
this.notLike = false;
|
|
164
178
|
this.column = column;
|
|
165
179
|
this.value = value;
|
|
166
180
|
}
|
|
@@ -193,9 +207,10 @@ class SQLWhereLike extends SQLWhere {
|
|
|
193
207
|
}
|
|
194
208
|
exports.SQLWhereLike = SQLWhereLike;
|
|
195
209
|
class SQLWhereExists extends SQLWhere {
|
|
210
|
+
subquery;
|
|
211
|
+
notExists = false;
|
|
196
212
|
constructor(subquery) {
|
|
197
213
|
super();
|
|
198
|
-
this.notExists = false;
|
|
199
214
|
this.subquery = subquery;
|
|
200
215
|
}
|
|
201
216
|
clone() {
|
|
@@ -224,6 +239,7 @@ class SQLWhereExists extends SQLWhere {
|
|
|
224
239
|
}
|
|
225
240
|
exports.SQLWhereExists = SQLWhereExists;
|
|
226
241
|
class SQLWhereAnd extends SQLWhere {
|
|
242
|
+
children;
|
|
227
243
|
constructor(children) {
|
|
228
244
|
super();
|
|
229
245
|
this.children = children;
|
|
@@ -239,6 +255,7 @@ class SQLWhereAnd extends SQLWhere {
|
|
|
239
255
|
}
|
|
240
256
|
exports.SQLWhereAnd = SQLWhereAnd;
|
|
241
257
|
class SQLWhereOr extends SQLWhere {
|
|
258
|
+
children;
|
|
242
259
|
constructor(children) {
|
|
243
260
|
super();
|
|
244
261
|
this.children = children;
|
|
@@ -254,6 +271,7 @@ class SQLWhereOr extends SQLWhere {
|
|
|
254
271
|
}
|
|
255
272
|
exports.SQLWhereOr = SQLWhereOr;
|
|
256
273
|
class SQLWhereNot extends SQLWhere {
|
|
274
|
+
a;
|
|
257
275
|
constructor(a) {
|
|
258
276
|
super();
|
|
259
277
|
this.a = a;
|