@stamhoofd/sql 2.62.0 → 2.64.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/src/SQL.d.ts +2 -0
- package/dist/src/SQL.d.ts.map +1 -1
- package/dist/src/SQL.js +4 -0
- package/dist/src/SQL.js.map +1 -1
- package/dist/src/SQLExpressions.d.ts +10 -0
- package/dist/src/SQLExpressions.d.ts.map +1 -1
- package/dist/src/SQLExpressions.js +29 -1
- package/dist/src/SQLExpressions.js.map +1 -1
- package/dist/src/SQLInsert.d.ts +3 -3
- package/dist/src/SQLInsert.d.ts.map +1 -1
- package/dist/src/SQLInsert.js +3 -3
- package/dist/src/SQLInsert.js.map +1 -1
- package/dist/src/SQLUpdate.d.ts +29 -0
- package/dist/src/SQLUpdate.d.ts.map +1 -0
- package/dist/src/SQLUpdate.js +55 -0
- package/dist/src/SQLUpdate.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/src/SQL.ts +5 -0
- package/src/SQLExpressions.ts +34 -0
- package/src/SQLInsert.ts +40 -42
- package/src/SQLUpdate.ts +67 -0
package/dist/src/SQL.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ import { SQLJsonExtract, SQLJsonLength, SQLJsonUnquote } from './SQLJsonExpressi
|
|
|
7
7
|
import { SQLSelect } from './SQLSelect';
|
|
8
8
|
import { ParseWhereArguments, SQLWhere } from './SQLWhere';
|
|
9
9
|
import { SQLInsert } from './SQLInsert';
|
|
10
|
+
import { SQLUpdate } from './SQLUpdate';
|
|
10
11
|
declare class StaticSQL {
|
|
11
12
|
wildcard(namespace?: string): SQLWildcardSelectExpression;
|
|
12
13
|
column(namespace: string, column: string): SQLColumnExpression;
|
|
@@ -18,6 +19,7 @@ declare class StaticSQL {
|
|
|
18
19
|
table(table: string): SQLTableExpression;
|
|
19
20
|
select(...columns: (SQLExpression | string)[]): InstanceType<typeof SQLSelect<SQLResultNamespacedRow>>;
|
|
20
21
|
insert(tableName: SQLTableExpression | string): InstanceType<typeof SQLInsert>;
|
|
22
|
+
update(tableName: SQLTableExpression | string): InstanceType<typeof SQLUpdate>;
|
|
21
23
|
assignment(key: SQLExpression | string, value: SQLExpression | SQLScalarValue): SQLAssignment;
|
|
22
24
|
where(...args: ParseWhereArguments): SQLWhere;
|
|
23
25
|
whereNot(...args: ParseWhereArguments): SQLWhere;
|
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,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAA2B,cAAc,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAChK,OAAO,EAAE,OAAO,EAAe,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACrF,OAAO,EAAc,SAAS,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAiB,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,cAAM,SAAS;IACX,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM;IAI3B,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,mBAAmB;IAC9D,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB;IAQ3C,SAAS,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc;IAI9D,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,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,kBAAkB;IAC3D,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,kBAAkB;IAQxC,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,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,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IACnD,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAChC,QAAQ,CAAC,UAAU,EAAE,aAAa,GAAG,OAAO;IAK5C,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IACpD,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IACjC,SAAS,CAAC,UAAU,EAAE,aAAa,GAAG,OAAO;IAK7C,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IACpD,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IACjC,SAAS,CAAC,UAAU,EAAE,aAAa,GAAG,OAAO;IAK7C,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAC/C,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAC5B,IAAI,CAAC,UAAU,EAAE,aAAa,GAAG,OAAO;CAI3C;AAED,eAAO,MAAM,GAAG,WAAkB,CAAC"}
|
|
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,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAA2B,cAAc,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAChK,OAAO,EAAE,OAAO,EAAe,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACrF,OAAO,EAAc,SAAS,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAiB,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,cAAM,SAAS;IACX,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM;IAI3B,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,mBAAmB;IAC9D,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB;IAQ3C,SAAS,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc;IAI9D,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,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,kBAAkB;IAC3D,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,kBAAkB;IAQxC,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,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IACnD,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAChC,QAAQ,CAAC,UAAU,EAAE,aAAa,GAAG,OAAO;IAK5C,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IACpD,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IACjC,SAAS,CAAC,UAAU,EAAE,aAAa,GAAG,OAAO;IAK7C,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IACpD,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IACjC,SAAS,CAAC,UAAU,EAAE,aAAa,GAAG,OAAO;IAK7C,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAC/C,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAC5B,IAAI,CAAC,UAAU,EAAE,aAAa,GAAG,OAAO;CAI3C;AAED,eAAO,MAAM,GAAG,WAAkB,CAAC"}
|
package/dist/src/SQL.js
CHANGED
|
@@ -9,6 +9,7 @@ const SQLJsonExpressions_1 = require("./SQLJsonExpressions");
|
|
|
9
9
|
const SQLSelect_1 = require("./SQLSelect");
|
|
10
10
|
const SQLWhere_1 = require("./SQLWhere");
|
|
11
11
|
const SQLInsert_1 = require("./SQLInsert");
|
|
12
|
+
const SQLUpdate_1 = require("./SQLUpdate");
|
|
12
13
|
class StaticSQL {
|
|
13
14
|
wildcard(namespace) {
|
|
14
15
|
return new SQLExpressions_1.SQLWildcardSelectExpression(namespace);
|
|
@@ -43,6 +44,9 @@ class StaticSQL {
|
|
|
43
44
|
insert(tableName) {
|
|
44
45
|
return new SQLInsert_1.SQLInsert(tableName);
|
|
45
46
|
}
|
|
47
|
+
update(tableName) {
|
|
48
|
+
return new SQLUpdate_1.SQLUpdate(tableName);
|
|
49
|
+
}
|
|
46
50
|
assignment(key, value) {
|
|
47
51
|
return new SQLExpressions_1.SQLAssignment(typeof key === 'string' ? new SQLExpressions_1.SQLColumnExpression(key) : key, (0, SQLExpression_1.isSQLExpression)(value) ? value : new SQLExpressions_1.SQLScalar(value));
|
|
48
52
|
}
|
package/dist/src/SQL.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SQL.js","sourceRoot":"","sources":["../../src/SQL.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SQL.js","sourceRoot":"","sources":["../../src/SQL.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,6 +27,11 @@ export declare class SQLMultiplicationSign implements SQLExpression {
|
|
|
27
27
|
export declare class SQLMinusSign implements SQLExpression {
|
|
28
28
|
getSQL(): SQLQuery;
|
|
29
29
|
}
|
|
30
|
+
export declare class SQLGreatest implements SQLExpression {
|
|
31
|
+
expressions: SQLDynamicExpression[];
|
|
32
|
+
constructor(...expressions: SQLDynamicExpression[]);
|
|
33
|
+
getSQL(options?: SQLExpressionOptions): SQLQuery;
|
|
34
|
+
}
|
|
30
35
|
export declare class SQLCalculation implements SQLExpression {
|
|
31
36
|
expressions: SQLExpression[];
|
|
32
37
|
constructor(...expressions: SQLExpression[]);
|
|
@@ -37,6 +42,11 @@ export declare class SQLSum implements SQLExpression {
|
|
|
37
42
|
constructor(expression: SQLExpression);
|
|
38
43
|
getSQL(options?: SQLExpressionOptions): SQLQuery;
|
|
39
44
|
}
|
|
45
|
+
export declare class SQLMin implements SQLExpression {
|
|
46
|
+
expression: SQLExpression;
|
|
47
|
+
constructor(expression: SQLExpression);
|
|
48
|
+
getSQL(options?: SQLExpressionOptions): SQLQuery;
|
|
49
|
+
}
|
|
40
50
|
export declare class SQLSelectAs implements SQLExpression {
|
|
41
51
|
expression: SQLExpression;
|
|
42
52
|
as: SQLAlias;
|
|
@@ -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;AAE9F,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;AAC9D,MAAM,MAAM,oBAAoB,GAAG,cAAc,GAAG,cAAc,EAAE,GAAG,IAAI,GAAG,aAAa,CAAC;AAE5F,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,cAAc,GAAG,IAAI,GAAG,aAAa,CAM7E;AAED,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,oBAAoB,GAAG,aAAa,CAa/E;
|
|
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.SQLTableExpression = exports.SQLColumnExpression = exports.SQLWildcardSelectExpression = exports.SQLArray = exports.SQLSafeValue = exports.SQLScalar = exports.SQLNow = exports.SQLNull = exports.SQLJSONValue = exports.SQLCast = exports.SQLAge = exports.SQLConcat = exports.SQLAlias = exports.SQLAssignment = exports.SQLSelectAs = exports.SQLSum = exports.SQLCalculation = exports.SQLMinusSign = exports.SQLMultiplicationSign = exports.SQLPlusSign = exports.SQLLower = exports.SQLCount = exports.SQLDistinct = void 0;
|
|
3
|
+
exports.SQLTableExpression = exports.SQLColumnExpression = exports.SQLWildcardSelectExpression = exports.SQLArray = exports.SQLSafeValue = exports.SQLScalar = exports.SQLNow = exports.SQLNull = exports.SQLJSONValue = 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.SQLDistinct = void 0;
|
|
4
4
|
exports.scalarToSQLExpression = scalarToSQLExpression;
|
|
5
5
|
exports.readDynamicSQLExpression = readDynamicSQLExpression;
|
|
6
6
|
const simple_database_1 = require("@simonbackx/simple-database");
|
|
@@ -82,6 +82,20 @@ class SQLMinusSign {
|
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
84
|
exports.SQLMinusSign = SQLMinusSign;
|
|
85
|
+
class SQLGreatest {
|
|
86
|
+
expressions;
|
|
87
|
+
constructor(...expressions) {
|
|
88
|
+
this.expressions = expressions;
|
|
89
|
+
}
|
|
90
|
+
getSQL(options) {
|
|
91
|
+
return (0, SQLExpression_1.joinSQLQuery)([
|
|
92
|
+
'GREATEST(',
|
|
93
|
+
(0, SQLExpression_1.joinSQLQuery)(this.expressions.map(e => readDynamicSQLExpression(e).getSQL(options)), ', '),
|
|
94
|
+
')',
|
|
95
|
+
]);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
exports.SQLGreatest = SQLGreatest;
|
|
85
99
|
class SQLCalculation {
|
|
86
100
|
expressions;
|
|
87
101
|
constructor(...expressions) {
|
|
@@ -106,6 +120,20 @@ class SQLSum {
|
|
|
106
120
|
}
|
|
107
121
|
}
|
|
108
122
|
exports.SQLSum = SQLSum;
|
|
123
|
+
class SQLMin {
|
|
124
|
+
expression;
|
|
125
|
+
constructor(expression) {
|
|
126
|
+
this.expression = expression;
|
|
127
|
+
}
|
|
128
|
+
getSQL(options) {
|
|
129
|
+
return (0, SQLExpression_1.joinSQLQuery)([
|
|
130
|
+
'MIN(',
|
|
131
|
+
this.expression.getSQL(options),
|
|
132
|
+
')',
|
|
133
|
+
]);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
exports.SQLMin = SQLMin;
|
|
109
137
|
class SQLSelectAs {
|
|
110
138
|
expression;
|
|
111
139
|
as;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SQLExpressions.js","sourceRoot":"","sources":["../../src/SQLExpressions.ts"],"names":[],"mappings":";;;AAMA,sDAMC;AAED,4DAaC;AA3BD,iEAAuD;AACvD,mDAA8F;AAK9F,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;
|
|
1
|
+
{"version":3,"file":"SQLExpressions.js","sourceRoot":"","sources":["../../src/SQLExpressions.ts"],"names":[],"mappings":"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"}
|
package/dist/src/SQLInsert.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { SQLExpression, SQLExpressionOptions, SQLQuery } from
|
|
2
|
-
import { SQLAlias, SQLAssignment, SQLScalarValue, SQLTableExpression } from
|
|
1
|
+
import { SQLExpression, SQLExpressionOptions, SQLQuery } from './SQLExpression';
|
|
2
|
+
import { SQLAlias, SQLAssignment, SQLScalarValue, SQLTableExpression } from './SQLExpressions';
|
|
3
3
|
export declare class SQLInsert implements SQLExpression {
|
|
4
4
|
_columns: SQLExpression[];
|
|
5
5
|
_values: SQLExpression[][];
|
|
@@ -9,7 +9,7 @@ export declare class SQLInsert implements SQLExpression {
|
|
|
9
9
|
constructor(tableName: SQLTableExpression | string);
|
|
10
10
|
clone(): this;
|
|
11
11
|
columns(...columns: (SQLExpression | string)[]): this;
|
|
12
|
-
values(...values: (SQLExpression | SQLScalarValue)[][]): this;
|
|
12
|
+
values(...values: (SQLExpression | SQLScalarValue | null)[][]): this;
|
|
13
13
|
as(alias: string): this;
|
|
14
14
|
onDuplicateKeyUpdate(...assignments: SQLAssignment[]): this;
|
|
15
15
|
getSQL(options?: SQLExpressionOptions): SQLQuery;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SQLInsert.d.ts","sourceRoot":"","sources":["../../src/SQLInsert.ts"],"names":[],"mappings":"AACA,OAAO,EAAoD,aAAa,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAClI,OAAO,EAAyB,QAAQ,EAAE,aAAa,EAAuB,cAAc,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3I,qBAAa,SAAU,YAAW,aAAa;IAC3C,QAAQ,EAAE,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"SQLInsert.d.ts","sourceRoot":"","sources":["../../src/SQLInsert.ts"],"names":[],"mappings":"AACA,OAAO,EAAoD,aAAa,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAClI,OAAO,EAAyB,QAAQ,EAAE,aAAa,EAAuB,cAAc,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3I,qBAAa,SAAU,YAAW,aAAa;IAC3C,QAAQ,EAAE,aAAa,EAAE,CAAM;IAC/B,OAAO,EAAE,aAAa,EAAE,EAAE,CAAM;IAChC,GAAG,EAAE,QAAQ,GAAG,IAAI,CAAQ;IAC5B,KAAK,EAAE,kBAAkB,CAAC;IAC1B,qBAAqB,EAAE,aAAa,EAAE,GAAG,IAAI,CAAQ;gBAEzC,SAAS,EAAE,kBAAkB,GAAG,MAAM;IAIlD,KAAK,IAAI,IAAI;IAMb,OAAO,CAAC,GAAG,OAAO,EAAE,CAAC,aAAa,GAAG,MAAM,CAAC,EAAE,GAAG,IAAI;IAKrD,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC,aAAa,GAAG,cAAc,GAAG,IAAI,CAAC,EAAE,EAAE,GAAG,IAAI;IAYpE,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKvB,oBAAoB,CAAC,GAAG,WAAW,EAAE,aAAa,EAAE,GAAG,IAAI;IAK3D,MAAM,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,QAAQ;IAoD1C,MAAM,IAAI,OAAO,CAAC;QAAE,QAAQ,EAAE,GAAG,CAAC;QAAA,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;CAMlE"}
|
package/dist/src/SQLInsert.js
CHANGED
|
@@ -23,7 +23,7 @@ class SQLInsert {
|
|
|
23
23
|
return this;
|
|
24
24
|
}
|
|
25
25
|
values(...values) {
|
|
26
|
-
this._values = values.map(v => {
|
|
26
|
+
this._values = values.map((v) => {
|
|
27
27
|
if (v.length !== this._columns.length) {
|
|
28
28
|
throw new Error('Invalid number of values. Expected ' + this._columns.length + ' but got ' + v.length);
|
|
29
29
|
}
|
|
@@ -50,13 +50,13 @@ class SQLInsert {
|
|
|
50
50
|
query.push((0, SQLExpression_1.joinSQLQuery)([
|
|
51
51
|
'(',
|
|
52
52
|
(0, SQLExpression_1.joinSQLQuery)(columns, ', '),
|
|
53
|
-
')'
|
|
53
|
+
')',
|
|
54
54
|
]));
|
|
55
55
|
query.push('VALUES');
|
|
56
56
|
query.push((0, SQLExpression_1.joinSQLQuery)(this._values.map(values => (0, SQLExpression_1.joinSQLQuery)([
|
|
57
57
|
'(',
|
|
58
58
|
(0, SQLExpression_1.joinSQLQuery)(values.map(v => v.getSQL(options)), ', '),
|
|
59
|
-
')'
|
|
59
|
+
')',
|
|
60
60
|
])), ', '));
|
|
61
61
|
if (this._as !== null) {
|
|
62
62
|
query.push('AS', this._as.getSQL(options));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SQLInsert.js","sourceRoot":"","sources":["../../src/SQLInsert.ts"],"names":[],"mappings":";;;AAAA,iEAAuD;AACvD,mDAAkI;AAClI,qDAA2I;AAE3I,MAAa,SAAS;IAClB,QAAQ,GAAoB,EAAE,
|
|
1
|
+
{"version":3,"file":"SQLInsert.js","sourceRoot":"","sources":["../../src/SQLInsert.ts"],"names":[],"mappings":";;;AAAA,iEAAuD;AACvD,mDAAkI;AAClI,qDAA2I;AAE3I,MAAa,SAAS;IAClB,QAAQ,GAAoB,EAAE,CAAC;IAC/B,OAAO,GAAsB,EAAE,CAAC;IAChC,GAAG,GAAoB,IAAI,CAAC;IAC5B,KAAK,CAAqB;IAC1B,qBAAqB,GAA2B,IAAI,CAAC;IAErD,YAAY,SAAsC;QAC9C,IAAI,CAAC,KAAK,GAAG,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,mCAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/F,CAAC;IAED,KAAK;QACD,MAAM,CAAC,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QACvB,OAAO,CAAQ,CAAC;IACpB,CAAC;IAED,OAAO,CAAC,GAAG,OAAmC;QAC1C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,oCAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAQ,CAAC;QAChG,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,GAAG,MAAmD;QACzD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC5B,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACpC,MAAM,IAAI,KAAK,CAAC,qCAAqC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;YAC3G,CAAC;YAED,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,+BAAe,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAA,sCAAqB,EAAC,CAAC,CAAC,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,EAAE,CAAC,KAAa;QACZ,IAAI,CAAC,GAAG,GAAG,IAAI,yBAAQ,CAAC,KAAK,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oBAAoB,CAAC,GAAG,WAA4B;QAChD,IAAI,CAAC,qBAAqB,GAAG,WAAW,CAAC;QACzC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,OAA8B;QACjC,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;QACxB,OAAO,CAAC,gBAAgB,GAAI,IAAI,CAAC,KAAa,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,SAAS,CAAC;QAE5F,MAAM,KAAK,GAAe;YACtB,aAAa;YACb,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;SAC7B,CAAC;QAEF,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QAC1D,KAAK,CAAC,IAAI,CACN,IAAA,4BAAY,EAAC;YACT,GAAG;YACH,IAAA,4BAAY,EAAC,OAAO,EAAE,IAAI,CAAC;YAC3B,GAAG;SACN,CAAC,CACL,CAAC;QAEF,KAAK,CAAC,IAAI,CACN,QAAQ,CACX,CAAC;QAEF,KAAK,CAAC,IAAI,CACN,IAAA,4BAAY,EACR,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CACtB,IAAA,4BAAY,EAAC;YACT,GAAG;YACH,IAAA,4BAAY,EAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC;YACtD,GAAG;SACN,CAAC,CACL,EACD,IAAI,CACP,CACJ,CAAC;QAEF,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;YACpB,KAAK,CAAC,IAAI,CACN,IAAI,EACJ,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAC3B,CAAC;QACN,CAAC;QAED,IAAI,IAAI,CAAC,qBAAqB,KAAK,IAAI,EAAE,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YACtC,KAAK,CAAC,IAAI,CACN,IAAA,4BAAY,EAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,CAC7E,CAAC;QACN,CAAC;QAED,OAAO,IAAA,4BAAY,EAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,MAAM;QACR,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAA,iCAAiB,EAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC3B,MAAM,MAAM,GAAG,MAAM,0BAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACpD,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;CACJ;AAtGD,8BAsGC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { SQLExpression, SQLExpressionOptions, SQLQuery } from './SQLExpression';
|
|
2
|
+
import { SQLAssignment, SQLDynamicExpression, SQLTableExpression } from './SQLExpressions';
|
|
3
|
+
declare class EmptyClass {
|
|
4
|
+
}
|
|
5
|
+
declare const SQLUpdate_base: {
|
|
6
|
+
new (...args: any[]): {
|
|
7
|
+
_where: import("./SQLWhere").SQLWhere | null;
|
|
8
|
+
readonly __where: import("./SQLWhere").SQLWhere;
|
|
9
|
+
where<T>(this: T, ...args: import("./SQLWhere").ParseWhereArguments): T;
|
|
10
|
+
andWhere<T>(this: T, ...args: import("./SQLWhere").ParseWhereArguments): T;
|
|
11
|
+
orWhere<T>(this: T, ...args: import("./SQLWhere").ParseWhereArguments): T;
|
|
12
|
+
whereNot<T>(this: T, ...args: import("./SQLWhere").ParseWhereArguments): T;
|
|
13
|
+
andWhereNot<T>(this: T, ...args: import("./SQLWhere").ParseWhereArguments): T;
|
|
14
|
+
orWhereNot<T>(this: T, ...args: import("./SQLWhere").ParseWhereArguments): T;
|
|
15
|
+
};
|
|
16
|
+
} & typeof EmptyClass;
|
|
17
|
+
export declare class SQLUpdate extends SQLUpdate_base implements SQLExpression {
|
|
18
|
+
_table: SQLTableExpression;
|
|
19
|
+
_set: SQLAssignment[] | null;
|
|
20
|
+
constructor(tableName: SQLTableExpression | string);
|
|
21
|
+
clone(): this;
|
|
22
|
+
set(whereOrColumn: SQLExpression | string, value: SQLDynamicExpression): this;
|
|
23
|
+
getSQL(options?: SQLExpressionOptions): SQLQuery;
|
|
24
|
+
update(): Promise<{
|
|
25
|
+
changedRows: number;
|
|
26
|
+
}>;
|
|
27
|
+
}
|
|
28
|
+
export {};
|
|
29
|
+
//# sourceMappingURL=SQLUpdate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SQLUpdate.d.ts","sourceRoot":"","sources":["../../src/SQLUpdate.ts"],"names":[],"mappings":"AACA,OAAO,EAAmC,aAAa,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACjH,OAAO,EAA4B,aAAa,EAAuB,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAG1I,cAAM,UAAU;CAAG;;;;;;;;;;;;;AAEnB,qBAAa,SAAU,SAAQ,cAAsB,YAAW,aAAa;IACzE,MAAM,EAAE,kBAAkB,CAAC;IAC3B,IAAI,EAAE,aAAa,EAAE,GAAG,IAAI,CAAQ;gBAExB,SAAS,EAAE,kBAAkB,GAAG,MAAM;IAKlD,KAAK,IAAI,IAAI;IAMb,GAAG,CAAC,aAAa,EAAE,aAAa,GAAG,MAAM,EAAE,KAAK,EAAE,oBAAoB,GAAG,IAAI;IAS7E,MAAM,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,QAAQ;IA6B1C,MAAM,IAAI,OAAO,CAAC;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CAMnD"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SQLUpdate = void 0;
|
|
4
|
+
const simple_database_1 = require("@simonbackx/simple-database");
|
|
5
|
+
const SQLExpression_1 = require("./SQLExpression");
|
|
6
|
+
const SQLExpressions_1 = require("./SQLExpressions");
|
|
7
|
+
const SQLWhere_1 = require("./SQLWhere");
|
|
8
|
+
class EmptyClass {
|
|
9
|
+
}
|
|
10
|
+
class SQLUpdate extends (0, SQLWhere_1.Whereable)(EmptyClass) {
|
|
11
|
+
_table;
|
|
12
|
+
_set = null;
|
|
13
|
+
constructor(tableName) {
|
|
14
|
+
super();
|
|
15
|
+
this._table = typeof tableName === 'string' ? new SQLExpressions_1.SQLTableExpression(tableName) : tableName;
|
|
16
|
+
}
|
|
17
|
+
clone() {
|
|
18
|
+
const c = new SQLUpdate(this._table);
|
|
19
|
+
Object.assign(c, this);
|
|
20
|
+
return c;
|
|
21
|
+
}
|
|
22
|
+
set(whereOrColumn, value) {
|
|
23
|
+
if (!this._set) {
|
|
24
|
+
this._set = [];
|
|
25
|
+
}
|
|
26
|
+
this._set.push(new SQLExpressions_1.SQLAssignment(typeof whereOrColumn === 'string' ? new SQLExpressions_1.SQLColumnExpression(whereOrColumn) : whereOrColumn, (0, SQLExpressions_1.readDynamicSQLExpression)(value)));
|
|
27
|
+
return this;
|
|
28
|
+
}
|
|
29
|
+
getSQL(options) {
|
|
30
|
+
if (!this._set) {
|
|
31
|
+
throw new Error('No assignments provided');
|
|
32
|
+
}
|
|
33
|
+
options = options ?? {};
|
|
34
|
+
options.defaultNamespace = this._table.namespace ?? (this._table).table ?? undefined;
|
|
35
|
+
const query = [
|
|
36
|
+
'UPDATE ',
|
|
37
|
+
this._table.getSQL(options),
|
|
38
|
+
];
|
|
39
|
+
query.push('SET');
|
|
40
|
+
query.push((0, SQLExpression_1.joinSQLQuery)(this._set.map(a => a.getSQL(options)), ', '));
|
|
41
|
+
if (this._where) {
|
|
42
|
+
query.push('WHERE');
|
|
43
|
+
query.push(this._where.getSQL(options));
|
|
44
|
+
}
|
|
45
|
+
return (0, SQLExpression_1.joinSQLQuery)(query, ' ');
|
|
46
|
+
}
|
|
47
|
+
async update() {
|
|
48
|
+
const { query, params } = (0, SQLExpression_1.normalizeSQLQuery)(this.getSQL());
|
|
49
|
+
console.log(query, params);
|
|
50
|
+
const result = await simple_database_1.Database.update(query, params);
|
|
51
|
+
return result[0];
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
exports.SQLUpdate = SQLUpdate;
|
|
55
|
+
//# sourceMappingURL=SQLUpdate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SQLUpdate.js","sourceRoot":"","sources":["../../src/SQLUpdate.ts"],"names":[],"mappings":";;;AAAA,iEAAuD;AACvD,mDAAiH;AACjH,qDAA0I;AAC1I,yCAAuC;AAEvC,MAAM,UAAU;CAAG;AAEnB,MAAa,SAAU,SAAQ,IAAA,oBAAS,EAAC,UAAU,CAAC;IAChD,MAAM,CAAqB;IAC3B,IAAI,GAA2B,IAAI,CAAC;IAEpC,YAAY,SAAsC;QAC9C,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,mCAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAChG,CAAC;IAED,KAAK;QACD,MAAM,CAAC,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QACvB,OAAO,CAAQ,CAAC;IACpB,CAAC;IAED,GAAG,CAAC,aAAqC,EAAE,KAA2B;QAClE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACnB,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,8BAAa,CAAC,OAAO,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,oCAAmB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,IAAA,yCAAwB,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC/J,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,OAA8B;QACjC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC/C,CAAC;QAED,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;QACxB,OAAO,CAAC,gBAAgB,GAAI,IAAI,CAAC,MAAc,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,IAAI,SAAS,CAAC;QAE9F,MAAM,KAAK,GAAe;YACtB,SAAS;YACT,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;SAC9B,CAAC;QAEF,KAAK,CAAC,IAAI,CACN,KAAK,CACR,CAAC;QAEF,KAAK,CAAC,IAAI,CACN,IAAA,4BAAY,EAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,CAC5D,CAAC;QAEF,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACpB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO,IAAA,4BAAY,EAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,MAAM;QACR,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAA,iCAAiB,EAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC3B,MAAM,MAAM,GAAG,MAAM,0BAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACpD,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;CACJ;AA3DD,8BA2DC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["../src/sql.ts","../src/sqldelete.ts","../src/sqlexpression.ts","../src/sqlexpressions.ts","../src/sqlinsert.ts","../src/sqljoin.ts","../src/sqljsonexpressions.ts","../src/sqlorderby.ts","../src/sqlselect.ts","../src/sqlwhere.ts","../src/filters/sqlfilter.ts","../src/filters/sqlsorter.ts","../index.ts","../../../../environment.d.ts","../../../../jest-extended.d.ts","../../../stamhoofd.d.ts"],"version":"5.6.2"}
|
|
1
|
+
{"root":["../src/sql.ts","../src/sqldelete.ts","../src/sqlexpression.ts","../src/sqlexpressions.ts","../src/sqlinsert.ts","../src/sqljoin.ts","../src/sqljsonexpressions.ts","../src/sqlorderby.ts","../src/sqlselect.ts","../src/sqlupdate.ts","../src/sqlwhere.ts","../src/filters/sqlfilter.ts","../src/filters/sqlsorter.ts","../index.ts","../../../../environment.d.ts","../../../../jest-extended.d.ts","../../../stamhoofd.d.ts"],"version":"5.6.2"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stamhoofd/sql",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.64.0",
|
|
4
4
|
"main": "./dist/index.js",
|
|
5
5
|
"types": "./dist/index.d.ts",
|
|
6
6
|
"license": "UNLICENCED",
|
|
@@ -15,5 +15,5 @@
|
|
|
15
15
|
"publishConfig": {
|
|
16
16
|
"access": "public"
|
|
17
17
|
},
|
|
18
|
-
"gitHead": "
|
|
18
|
+
"gitHead": "80eebbb0b4fb84ac979041c3f8c7762863622367"
|
|
19
19
|
}
|
package/src/SQL.ts
CHANGED
|
@@ -7,6 +7,7 @@ import { SQLJsonExtract, SQLJsonLength, SQLJsonUnquote } from './SQLJsonExpressi
|
|
|
7
7
|
import { parseTable, SQLSelect } from './SQLSelect';
|
|
8
8
|
import { ParseWhereArguments, SQLEmptyWhere, SQLWhere } from './SQLWhere';
|
|
9
9
|
import { SQLInsert } from './SQLInsert';
|
|
10
|
+
import { SQLUpdate } from './SQLUpdate';
|
|
10
11
|
|
|
11
12
|
class StaticSQL {
|
|
12
13
|
wildcard(namespace?: string) {
|
|
@@ -54,6 +55,10 @@ class StaticSQL {
|
|
|
54
55
|
return new SQLInsert(tableName);
|
|
55
56
|
}
|
|
56
57
|
|
|
58
|
+
update(tableName: SQLTableExpression | string): InstanceType<typeof SQLUpdate> {
|
|
59
|
+
return new SQLUpdate(tableName);
|
|
60
|
+
}
|
|
61
|
+
|
|
57
62
|
assignment(key: SQLExpression | string, value: SQLExpression | SQLScalarValue): SQLAssignment {
|
|
58
63
|
return new SQLAssignment(typeof key === 'string' ? new SQLColumnExpression(key) : key, isSQLExpression(value) ? value : new SQLScalar(value));
|
|
59
64
|
}
|
package/src/SQLExpressions.ts
CHANGED
|
@@ -26,6 +26,7 @@ export function readDynamicSQLExpression(s: SQLDynamicExpression): SQLExpression
|
|
|
26
26
|
|
|
27
27
|
return new SQLScalar(s);
|
|
28
28
|
}
|
|
29
|
+
|
|
29
30
|
export class SQLDistinct implements SQLExpression {
|
|
30
31
|
expression: SQLExpression;
|
|
31
32
|
|
|
@@ -90,6 +91,22 @@ export class SQLMinusSign implements SQLExpression {
|
|
|
90
91
|
}
|
|
91
92
|
}
|
|
92
93
|
|
|
94
|
+
export class SQLGreatest implements SQLExpression {
|
|
95
|
+
expressions: SQLDynamicExpression[];
|
|
96
|
+
|
|
97
|
+
constructor(...expressions: SQLDynamicExpression[]) {
|
|
98
|
+
this.expressions = expressions;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
getSQL(options?: SQLExpressionOptions): SQLQuery {
|
|
102
|
+
return joinSQLQuery([
|
|
103
|
+
'GREATEST(',
|
|
104
|
+
joinSQLQuery(this.expressions.map(e => readDynamicSQLExpression(e).getSQL(options)), ', '),
|
|
105
|
+
')',
|
|
106
|
+
]);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
|
|
93
110
|
export class SQLCalculation implements SQLExpression {
|
|
94
111
|
expressions: SQLExpression[];
|
|
95
112
|
|
|
@@ -117,6 +134,23 @@ export class SQLSum implements SQLExpression {
|
|
|
117
134
|
]);
|
|
118
135
|
}
|
|
119
136
|
}
|
|
137
|
+
|
|
138
|
+
export class SQLMin implements SQLExpression {
|
|
139
|
+
expression: SQLExpression;
|
|
140
|
+
|
|
141
|
+
constructor(expression: SQLExpression) {
|
|
142
|
+
this.expression = expression;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
getSQL(options?: SQLExpressionOptions): SQLQuery {
|
|
146
|
+
return joinSQLQuery([
|
|
147
|
+
'MIN(',
|
|
148
|
+
this.expression.getSQL(options),
|
|
149
|
+
')',
|
|
150
|
+
]);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
|
|
120
154
|
export class SQLSelectAs implements SQLExpression {
|
|
121
155
|
expression: SQLExpression;
|
|
122
156
|
as: SQLAlias;
|
package/src/SQLInsert.ts
CHANGED
|
@@ -1,36 +1,36 @@
|
|
|
1
|
-
import { Database } from
|
|
2
|
-
import { isSQLExpression, joinSQLQuery, normalizeSQLQuery, SQLExpression, SQLExpressionOptions, SQLQuery } from
|
|
3
|
-
import { scalarToSQLExpression, SQLAlias, SQLAssignment, SQLColumnExpression, SQLScalarValue, SQLTableExpression } from
|
|
1
|
+
import { Database } from '@simonbackx/simple-database';
|
|
2
|
+
import { isSQLExpression, joinSQLQuery, normalizeSQLQuery, SQLExpression, SQLExpressionOptions, SQLQuery } from './SQLExpression';
|
|
3
|
+
import { scalarToSQLExpression, SQLAlias, SQLAssignment, SQLColumnExpression, SQLScalarValue, SQLTableExpression } from './SQLExpressions';
|
|
4
4
|
|
|
5
5
|
export class SQLInsert implements SQLExpression {
|
|
6
|
-
_columns: SQLExpression[] = []
|
|
7
|
-
_values: SQLExpression[][] = []
|
|
8
|
-
_as: SQLAlias|null = null
|
|
6
|
+
_columns: SQLExpression[] = [];
|
|
7
|
+
_values: SQLExpression[][] = [];
|
|
8
|
+
_as: SQLAlias | null = null;
|
|
9
9
|
_into: SQLTableExpression;
|
|
10
|
-
_onDuplicateKeyUpdate: SQLAssignment[]|null = null
|
|
10
|
+
_onDuplicateKeyUpdate: SQLAssignment[] | null = null;
|
|
11
11
|
|
|
12
|
-
constructor(tableName: SQLTableExpression|string) {
|
|
12
|
+
constructor(tableName: SQLTableExpression | string) {
|
|
13
13
|
this._into = typeof tableName === 'string' ? new SQLTableExpression(tableName) : tableName;
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
clone(): this {
|
|
17
|
-
const c = new SQLInsert(this._into)
|
|
17
|
+
const c = new SQLInsert(this._into);
|
|
18
18
|
Object.assign(c, this);
|
|
19
19
|
return c as any;
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
columns(...columns: (SQLExpression|string)[]): this {
|
|
23
|
-
this._columns = columns.map(c => typeof c === 'string' ? new SQLColumnExpression(c) : c
|
|
22
|
+
columns(...columns: (SQLExpression | string)[]): this {
|
|
23
|
+
this._columns = columns.map(c => typeof c === 'string' ? new SQLColumnExpression(c) : c) as any;
|
|
24
24
|
return this;
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
values(...values: (SQLExpression|SQLScalarValue)[][]): this {
|
|
28
|
-
this._values = values.map(v => {
|
|
27
|
+
values(...values: (SQLExpression | SQLScalarValue | null)[][]): this {
|
|
28
|
+
this._values = values.map((v) => {
|
|
29
29
|
if (v.length !== this._columns.length) {
|
|
30
|
-
throw new Error('Invalid number of values. Expected ' + this._columns.length + ' but got ' + v.length)
|
|
30
|
+
throw new Error('Invalid number of values. Expected ' + this._columns.length + ' but got ' + v.length);
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
-
return v.map(c => isSQLExpression(c) ? c : scalarToSQLExpression(c))
|
|
33
|
+
return v.map(c => isSQLExpression(c) ? c : scalarToSQLExpression(c));
|
|
34
34
|
});
|
|
35
35
|
|
|
36
36
|
return this;
|
|
@@ -45,65 +45,63 @@ export class SQLInsert implements SQLExpression {
|
|
|
45
45
|
this._onDuplicateKeyUpdate = assignments;
|
|
46
46
|
return this;
|
|
47
47
|
}
|
|
48
|
-
|
|
48
|
+
|
|
49
49
|
getSQL(options?: SQLExpressionOptions): SQLQuery {
|
|
50
|
-
options = options ?? {}
|
|
50
|
+
options = options ?? {};
|
|
51
51
|
options.defaultNamespace = (this._into as any).namespace ?? (this._into).table ?? undefined;
|
|
52
52
|
|
|
53
53
|
const query: SQLQuery[] = [
|
|
54
54
|
'INSERT INTO',
|
|
55
55
|
this._into.getSQL(options),
|
|
56
|
-
]
|
|
56
|
+
];
|
|
57
57
|
|
|
58
|
-
const columns = this._columns.map(c => c.getSQL(options))
|
|
58
|
+
const columns = this._columns.map(c => c.getSQL(options));
|
|
59
59
|
query.push(
|
|
60
60
|
joinSQLQuery([
|
|
61
61
|
'(',
|
|
62
62
|
joinSQLQuery(columns, ', '),
|
|
63
|
-
')'
|
|
64
|
-
])
|
|
65
|
-
)
|
|
63
|
+
')',
|
|
64
|
+
]),
|
|
65
|
+
);
|
|
66
66
|
|
|
67
67
|
query.push(
|
|
68
|
-
'VALUES'
|
|
69
|
-
)
|
|
68
|
+
'VALUES',
|
|
69
|
+
);
|
|
70
70
|
|
|
71
71
|
query.push(
|
|
72
72
|
joinSQLQuery(
|
|
73
|
-
this._values.map(values =>
|
|
73
|
+
this._values.map(values =>
|
|
74
74
|
joinSQLQuery([
|
|
75
75
|
'(',
|
|
76
76
|
joinSQLQuery(values.map(v => v.getSQL(options)), ', '),
|
|
77
|
-
')'
|
|
78
|
-
])
|
|
77
|
+
')',
|
|
78
|
+
]),
|
|
79
79
|
),
|
|
80
|
-
', '
|
|
81
|
-
)
|
|
82
|
-
)
|
|
80
|
+
', ',
|
|
81
|
+
),
|
|
82
|
+
);
|
|
83
83
|
|
|
84
84
|
if (this._as !== null) {
|
|
85
85
|
query.push(
|
|
86
|
-
'AS',
|
|
87
|
-
this._as.getSQL(options)
|
|
88
|
-
)
|
|
86
|
+
'AS',
|
|
87
|
+
this._as.getSQL(options),
|
|
88
|
+
);
|
|
89
89
|
}
|
|
90
90
|
|
|
91
91
|
if (this._onDuplicateKeyUpdate !== null) {
|
|
92
|
-
query.push('ON DUPLICATE KEY UPDATE')
|
|
92
|
+
query.push('ON DUPLICATE KEY UPDATE');
|
|
93
93
|
query.push(
|
|
94
|
-
joinSQLQuery(this._onDuplicateKeyUpdate.map(a => a.getSQL(options)), ', ')
|
|
95
|
-
)
|
|
94
|
+
joinSQLQuery(this._onDuplicateKeyUpdate.map(a => a.getSQL(options)), ', '),
|
|
95
|
+
);
|
|
96
96
|
}
|
|
97
|
-
|
|
97
|
+
|
|
98
98
|
return joinSQLQuery(query, ' ');
|
|
99
99
|
}
|
|
100
|
-
|
|
101
|
-
async insert(): Promise<{insertId: any;affectedRows: number
|
|
102
|
-
const {query, params} = normalizeSQLQuery(this.getSQL())
|
|
100
|
+
|
|
101
|
+
async insert(): Promise<{ insertId: any;affectedRows: number }> {
|
|
102
|
+
const { query, params } = normalizeSQLQuery(this.getSQL());
|
|
103
103
|
console.log(query, params);
|
|
104
104
|
const result = await Database.insert(query, params);
|
|
105
105
|
return result[0];
|
|
106
106
|
}
|
|
107
|
-
|
|
108
|
-
|
|
109
107
|
}
|
package/src/SQLUpdate.ts
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { Database } from '@simonbackx/simple-database';
|
|
2
|
+
import { joinSQLQuery, normalizeSQLQuery, SQLExpression, SQLExpressionOptions, SQLQuery } from './SQLExpression';
|
|
3
|
+
import { readDynamicSQLExpression, SQLAssignment, SQLColumnExpression, SQLDynamicExpression, SQLTableExpression } from './SQLExpressions';
|
|
4
|
+
import { Whereable } from './SQLWhere';
|
|
5
|
+
|
|
6
|
+
class EmptyClass {}
|
|
7
|
+
|
|
8
|
+
export class SQLUpdate extends Whereable(EmptyClass) implements SQLExpression {
|
|
9
|
+
_table: SQLTableExpression;
|
|
10
|
+
_set: SQLAssignment[] | null = null;
|
|
11
|
+
|
|
12
|
+
constructor(tableName: SQLTableExpression | string) {
|
|
13
|
+
super();
|
|
14
|
+
this._table = typeof tableName === 'string' ? new SQLTableExpression(tableName) : tableName;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
clone(): this {
|
|
18
|
+
const c = new SQLUpdate(this._table);
|
|
19
|
+
Object.assign(c, this);
|
|
20
|
+
return c as any;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
set(whereOrColumn: SQLExpression | string, value: SQLDynamicExpression): this {
|
|
24
|
+
if (!this._set) {
|
|
25
|
+
this._set = [];
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
this._set.push(new SQLAssignment(typeof whereOrColumn === 'string' ? new SQLColumnExpression(whereOrColumn) : whereOrColumn, readDynamicSQLExpression(value)));
|
|
29
|
+
return this;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
getSQL(options?: SQLExpressionOptions): SQLQuery {
|
|
33
|
+
if (!this._set) {
|
|
34
|
+
throw new Error('No assignments provided');
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
options = options ?? {};
|
|
38
|
+
options.defaultNamespace = (this._table as any).namespace ?? (this._table).table ?? undefined;
|
|
39
|
+
|
|
40
|
+
const query: SQLQuery[] = [
|
|
41
|
+
'UPDATE ',
|
|
42
|
+
this._table.getSQL(options),
|
|
43
|
+
];
|
|
44
|
+
|
|
45
|
+
query.push(
|
|
46
|
+
'SET',
|
|
47
|
+
);
|
|
48
|
+
|
|
49
|
+
query.push(
|
|
50
|
+
joinSQLQuery(this._set.map(a => a.getSQL(options)), ', '),
|
|
51
|
+
);
|
|
52
|
+
|
|
53
|
+
if (this._where) {
|
|
54
|
+
query.push('WHERE');
|
|
55
|
+
query.push(this._where.getSQL(options));
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
return joinSQLQuery(query, ' ');
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
async update(): Promise<{ changedRows: number }> {
|
|
62
|
+
const { query, params } = normalizeSQLQuery(this.getSQL());
|
|
63
|
+
console.log(query, params);
|
|
64
|
+
const result = await Database.update(query, params);
|
|
65
|
+
return result[0];
|
|
66
|
+
}
|
|
67
|
+
}
|