@stamhoofd/sql 2.63.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 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;
@@ -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":"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"}
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
  }
@@ -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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"}
@@ -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.63.0",
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": "0dd71a1869c5931dcf844dea1ecd2167819dc5c6"
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
  }
@@ -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
+ }