namirasoft-core 1.4.47 → 1.4.48

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.
@@ -10,7 +10,7 @@ export declare class FilterItem {
10
10
  static encode(filters: FilterItem[] | null): string;
11
11
  static decode(value: string): FilterItem[] | null;
12
12
  static stringify(filters: FilterItem[] | null): string;
13
- static parse(items: string | null): FilterItem[];
13
+ static parse(item: string | null): FilterItem[];
14
14
  constructor(table: BaseMetaTable, column: BaseMetaColumn, not: boolean, operator: FilterItemOperator, ...values: string[]);
15
15
  getCommand(): string;
16
16
  isAllColumns(): boolean;
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FilterItem = void 0;
4
+ const BaseMetaColumn_1 = require("./BaseMetaColumn");
5
+ const BaseMetaTable_1 = require("./BaseMetaTable");
4
6
  const EncodingOperation_1 = require("./EncodingOperation");
5
7
  const ErrorOperation_1 = require("./ErrorOperation");
6
8
  const FilterItemOperator_1 = require("./FilterItemOperator");
@@ -14,23 +16,42 @@ class FilterItem {
14
16
  return this.parse(encoded);
15
17
  }
16
18
  static stringify(filters) {
17
- return JSON.stringify(filters);
19
+ if (filters)
20
+ return filters.map(x => x.getCommand()).join(";");
21
+ return "";
18
22
  }
19
- static parse(items) {
20
- var _a, _b, _c, _d, _e, _f;
21
- if (!items)
22
- return [];
23
- let ans = JSON.parse(items);
24
- for (let i = 0; i < ans.length; i++) {
25
- let item = ans[i];
26
- if (!((_a = item.table) === null || _a === void 0 ? void 0 : _a.name))
27
- ErrorOperation_1.ErrorOperation.throwHTTP(400, `Invalid value '${(_b = item.table) === null || _b === void 0 ? void 0 : _b.name}' for FilterItem.table.name.`);
28
- if (!((_c = item.column) === null || _c === void 0 ? void 0 : _c.name))
29
- ErrorOperation_1.ErrorOperation.throwHTTP(400, `Invalid value '${(_d = item.table) === null || _d === void 0 ? void 0 : _d.name}' for FilterItem.table.name.`);
30
- if (item.not != false && item.not != true)
31
- ErrorOperation_1.ErrorOperation.throwHTTP(400, `Invalid value '${item.not}' for FilterItem.not, Only true and false are allowed.`);
32
- let operator = FilterItemOperator_1.FilterItemOperator.getByName((_f = (_e = item.operator) === null || _e === void 0 ? void 0 : _e.name) !== null && _f !== void 0 ? _f : "");
33
- ans[i] = new FilterItem(item.table, item.column, item.not, operator, ...item.values);
23
+ static parse(item) {
24
+ let ans = [];
25
+ if (item) {
26
+ let index = 0;
27
+ let items = item.split(/(?<!\\);/);
28
+ let thereIsMore = () => {
29
+ return index < items.length;
30
+ };
31
+ let next = (name) => {
32
+ if (thereIsMore())
33
+ return items[index++];
34
+ throw ErrorOperation_1.ErrorOperation.getHTTP(400, `Next value is required for '${name}'. Must be separated by ;`);
35
+ };
36
+ while (thereIsMore()) {
37
+ let value_table = next("Table");
38
+ let table = new BaseMetaTable_1.BaseMetaTable(null, value_table, value_table);
39
+ let value_column = next("Column");
40
+ let column = new BaseMetaColumn_1.BaseMetaColumn(table, value_column, value_column, "", false);
41
+ let value_not = next("Not");
42
+ let not = value_not != "0";
43
+ if (value_not != "0" && value_not != "1")
44
+ ErrorOperation_1.ErrorOperation.throwHTTP(400, `Invalid value '${value_not}' for FilterItem.not, Only 0 and 1 are allowed.`);
45
+ let value_operator = next("Operator");
46
+ let operator = FilterItemOperator_1.FilterItemOperator.getByName(value_operator);
47
+ let values = [];
48
+ for (let j = 0; j < operator.count; j++) {
49
+ let value_value = next("Value Number " + (j + 1));
50
+ let value = value_value.replace(/\\;/gm, ";");
51
+ values.push(value);
52
+ }
53
+ ans.push(new FilterItem(table, column, not, operator, ...values));
54
+ }
34
55
  }
35
56
  return ans;
36
57
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FilterItem.js","sourceRoot":"","sources":["../src/FilterItem.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FilterItem.js","sourceRoot":"","sources":["../src/FilterItem.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ export declare class SortItem {
7
7
  static encode(sorts: SortItem[] | null): string;
8
8
  static decode(value: string): SortItem[] | null;
9
9
  static stringify(sorts: SortItem[] | null): string;
10
- static parse(items: string | null): SortItem[];
10
+ static parse(item: string | null): SortItem[];
11
11
  constructor(table: BaseMetaTable, column: BaseMetaColumn, ascending: boolean);
12
12
  getCommand(): string;
13
13
  toString(): string;
package/dist/SortItem.js CHANGED
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SortItem = void 0;
4
+ const BaseMetaColumn_1 = require("./BaseMetaColumn");
5
+ const BaseMetaTable_1 = require("./BaseMetaTable");
4
6
  const EncodingOperation_1 = require("./EncodingOperation");
5
7
  const ErrorOperation_1 = require("./ErrorOperation");
6
8
  class SortItem {
@@ -13,22 +15,34 @@ class SortItem {
13
15
  return this.parse(encoded);
14
16
  }
15
17
  static stringify(sorts) {
16
- return JSON.stringify(sorts);
18
+ if (sorts)
19
+ return sorts.map(x => x.getCommand()).join(";");
20
+ return "";
17
21
  }
18
- static parse(items) {
19
- var _a, _b, _c, _d;
20
- if (!items)
21
- return [];
22
- let ans = JSON.parse(items);
23
- for (let i = 0; i < ans.length; i++) {
24
- let item = ans[i];
25
- if (!((_a = item.table) === null || _a === void 0 ? void 0 : _a.name))
26
- ErrorOperation_1.ErrorOperation.throwHTTP(400, `Invalid value '${(_b = item.table) === null || _b === void 0 ? void 0 : _b.name}' for FilterItem.table.name.`);
27
- if (!((_c = item.column) === null || _c === void 0 ? void 0 : _c.name))
28
- ErrorOperation_1.ErrorOperation.throwHTTP(400, `Invalid value '${(_d = item.table) === null || _d === void 0 ? void 0 : _d.name}' for FilterItem.table.name.`);
29
- if (item.ascending != false && item.ascending != true)
30
- ErrorOperation_1.ErrorOperation.throwHTTP(400, `Invalid value '${item.ascending}' for FilterItem.ascending, Only true and false are allowed.`);
31
- ans[i] = new SortItem(item.table, item.column, item.ascending);
22
+ static parse(item) {
23
+ let ans = [];
24
+ if (item) {
25
+ let index = 0;
26
+ let items = item.split(/(?<!\\);/);
27
+ let thereIsMore = () => {
28
+ return index < items.length;
29
+ };
30
+ let next = (name) => {
31
+ if (thereIsMore())
32
+ return items[index++];
33
+ throw ErrorOperation_1.ErrorOperation.getHTTP(400, `Next value is required for '${name}'. Must be separated by ;`);
34
+ };
35
+ while (thereIsMore()) {
36
+ let value_table = next("Table");
37
+ let table = new BaseMetaTable_1.BaseMetaTable(null, value_table, value_table);
38
+ let value_column = next("Column");
39
+ let column = new BaseMetaColumn_1.BaseMetaColumn(table, value_column, value_column, "", false);
40
+ let value_asc = next("Asending").toLowerCase();
41
+ let asc = value_asc === "asc";
42
+ if (value_asc != "asc" && value_asc != "desc")
43
+ ErrorOperation_1.ErrorOperation.throwHTTP(400, `Invalid value '${value_asc}' for SortItem.Asending, Only 'Asc' and 'Desc' are allowed.`);
44
+ ans.push(new SortItem(table, column, asc));
45
+ }
32
46
  }
33
47
  return ans;
34
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SortItem.js","sourceRoot":"","sources":["../src/SortItem.ts"],"names":[],"mappings":";;;AAEA,2DAAwD;AACxD,qDAAkD;AAElD,MAAa,QAAQ;IAKV,MAAM,CAAC,MAAM,CAAC,KAAwB;QAEzC,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAClC,OAAO,qCAAiB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC;IACM,MAAM,CAAC,MAAM,CAAC,KAAa;QAE9B,IAAI,OAAO,GAAG,qCAAiB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IACM,MAAM,CAAC,SAAS,CAAC,KAAwB;QAE5C,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IACM,MAAM,CAAC,KAAK,CAAC,KAAoB;;QAEpC,IAAI,CAAC,KAAK;YACN,OAAO,EAAE,CAAC;QACd,IAAI,GAAG,GAAe,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EACnC,CAAC;YACG,IAAI,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YAClB,IAAI,CAAC,CAAC,MAAA,IAAI,CAAC,KAAK,0CAAE,IAAI,CAAC;gBACnB,+BAAc,CAAC,SAAS,CAAC,GAAG,EAAE,kBAAkB,MAAA,IAAI,CAAC,KAAK,0CAAE,IAAI,8BAA8B,CAAC,CAAC;YACpG,IAAI,CAAC,CAAC,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,CAAC;gBACpB,+BAAc,CAAC,SAAS,CAAC,GAAG,EAAE,kBAAkB,MAAA,IAAI,CAAC,KAAK,0CAAE,IAAI,8BAA8B,CAAC,CAAC;YACpG,IAAI,IAAI,CAAC,SAAS,IAAI,KAAK,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI;gBACjD,+BAAc,CAAC,SAAS,CAAC,GAAG,EAAE,kBAAkB,IAAI,CAAC,SAAS,8DAA8D,CAAC,CAAC;YAClI,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACnE,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IACD,YAAY,KAAoB,EAAE,MAAsB,EAAE,SAAkB;QAExE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IACD,UAAU;QAEN,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1F,CAAC;IACD,QAAQ;QAEJ,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI;YACf,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;;YAE1B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI;YAChB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;;YAE3B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,IAAI,CAAC,SAAS;YACd,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;;YAEtB,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3B,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxC,CAAC;CACJ;AAhED,4BAgEC"}
1
+ {"version":3,"file":"SortItem.js","sourceRoot":"","sources":["../src/SortItem.ts"],"names":[],"mappings":";;;AAAA,qDAAkD;AAClD,mDAAgD;AAChD,2DAAwD;AACxD,qDAAkD;AAElD,MAAa,QAAQ;IAKV,MAAM,CAAC,MAAM,CAAC,KAAwB;QAEzC,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAClC,OAAO,qCAAiB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC;IACM,MAAM,CAAC,MAAM,CAAC,KAAa;QAE9B,IAAI,OAAO,GAAG,qCAAiB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IACM,MAAM,CAAC,SAAS,CAAC,KAAwB;QAE5C,IAAI,KAAK;YACL,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpD,OAAO,EAAE,CAAC;IACd,CAAC;IACM,MAAM,CAAC,KAAK,CAAC,IAAmB;QAEnC,IAAI,GAAG,GAAe,EAAE,CAAC;QACzB,IAAI,IAAI,EACR,CAAC;YACG,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACnC,IAAI,WAAW,GAAG,GAAY,EAAE;gBAE5B,OAAO,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;YAChC,CAAC,CAAC;YACF,IAAI,IAAI,GAAG,CAAC,IAAY,EAAU,EAAE;gBAEhC,IAAI,WAAW,EAAE;oBACb,OAAO,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC1B,MAAM,+BAAc,CAAC,OAAO,CAAC,GAAG,EAAE,+BAA+B,IAAI,2BAA2B,CAAC,CAAC;YACtG,CAAC,CAAC;YACF,OAAO,WAAW,EAAE,EACpB,CAAC;gBACG,IAAI,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;gBAChC,IAAI,KAAK,GAAG,IAAI,6BAAa,CAAC,IAAI,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;gBAE9D,IAAI,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAClC,IAAI,MAAM,GAAG,IAAI,+BAAc,CAAC,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,CAAC,CAAA;gBAE7E,IAAI,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;gBAC/C,IAAI,GAAG,GAAG,SAAS,KAAK,KAAK,CAAA;gBAC7B,IAAI,SAAS,IAAI,KAAK,IAAI,SAAS,IAAI,MAAM;oBACzC,+BAAc,CAAC,SAAS,CAAC,GAAG,EAAE,kBAAkB,SAAS,6DAA6D,CAAC,CAAC;gBAE5H,GAAG,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;YAC/C,CAAC;QACL,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IACD,YAAY,KAAoB,EAAE,MAAsB,EAAE,SAAkB;QAExE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IACD,UAAU;QAEN,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1F,CAAC;IACD,QAAQ;QAEJ,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI;YACf,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;;YAE1B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI;YAChB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;;YAE3B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,IAAI,CAAC,SAAS;YACd,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;;YAEtB,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3B,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxC,CAAC;CACJ;AAnFD,4BAmFC"}
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "framework": "npm",
9
9
  "application": "package",
10
10
  "private": false,
11
- "version": "1.4.47",
11
+ "version": "1.4.48",
12
12
  "author": "Amir Abolhasani",
13
13
  "license": "MIT",
14
14
  "main": "./dist/index.js",
@@ -17,7 +17,7 @@
17
17
  "build": ""
18
18
  },
19
19
  "dependencies": {
20
- "@types/node": "^22.13.1",
20
+ "@types/node": "^22.13.0",
21
21
  "axios": "^1.7.9",
22
22
  "buffer": "^6.0.3",
23
23
  "moment": "^2.30.1",
package/src/FilterItem.ts CHANGED
@@ -23,24 +23,53 @@ export class FilterItem
23
23
  }
24
24
  public static stringify(filters: FilterItem[] | null): string
25
25
  {
26
- return JSON.stringify(filters);
26
+ if (filters)
27
+ return filters.map(x => x.getCommand()).join(";");
28
+ return "";
27
29
  }
28
- public static parse(items: string | null): FilterItem[]
30
+ public static parse(item: string | null): FilterItem[]
29
31
  {
30
- if (!items)
31
- return [];
32
- let ans: FilterItem[] = JSON.parse(items);
33
- for (let i = 0; i < ans.length; i++)
32
+ let ans: FilterItem[] = [];
33
+ if (item)
34
34
  {
35
- let item = ans[i];
36
- if (!(item.table?.name))
37
- ErrorOperation.throwHTTP(400, `Invalid value '${item.table?.name}' for FilterItem.table.name.`);
38
- if (!(item.column?.name))
39
- ErrorOperation.throwHTTP(400, `Invalid value '${item.table?.name}' for FilterItem.table.name.`);
40
- if (item.not != false && item.not != true)
41
- ErrorOperation.throwHTTP(400, `Invalid value '${item.not}' for FilterItem.not, Only true and false are allowed.`);
42
- let operator = FilterItemOperator.getByName(item.operator?.name ?? "");
43
- ans[i] = new FilterItem(item.table, item.column, item.not, operator, ...item.values);
35
+ let index = 0;
36
+ let items = item.split(/(?<!\\);/);
37
+ let thereIsMore = (): boolean =>
38
+ {
39
+ return index < items.length;
40
+ };
41
+ let next = (name: string): string =>
42
+ {
43
+ if (thereIsMore())
44
+ return items[index++];
45
+ throw ErrorOperation.getHTTP(400, `Next value is required for '${name}'. Must be separated by ;`);
46
+ };
47
+ while (thereIsMore())
48
+ {
49
+ let value_table = next("Table");
50
+ let table = new BaseMetaTable(null, value_table, value_table);
51
+
52
+ let value_column = next("Column");
53
+ let column = new BaseMetaColumn(table, value_column, value_column, "", false)
54
+
55
+ let value_not = next("Not");
56
+ let not = value_not != "0"
57
+ if (value_not != "0" && value_not != "1")
58
+ ErrorOperation.throwHTTP(400, `Invalid value '${value_not}' for FilterItem.not, Only 0 and 1 are allowed.`);
59
+
60
+ let value_operator = next("Operator");
61
+ let operator = FilterItemOperator.getByName(value_operator);
62
+
63
+ let values: string[] = [];
64
+ for (let j = 0; j < operator.count; j++)
65
+ {
66
+ let value_value = next("Value Number " + (j + 1));
67
+ let value = value_value.replace(/\\;/gm, ";");
68
+ values.push(value);
69
+ }
70
+
71
+ ans.push(new FilterItem(table, column, not, operator, ...values));
72
+ }
44
73
  }
45
74
  return ans;
46
75
  }
package/src/SortItem.ts CHANGED
@@ -20,23 +20,42 @@ export class SortItem
20
20
  }
21
21
  public static stringify(sorts: SortItem[] | null): string
22
22
  {
23
- return JSON.stringify(sorts);
23
+ if (sorts)
24
+ return sorts.map(x => x.getCommand()).join(";");
25
+ return "";
24
26
  }
25
- public static parse(items: string | null): SortItem[]
27
+ public static parse(item: string | null): SortItem[]
26
28
  {
27
- if (!items)
28
- return [];
29
- let ans: SortItem[] = JSON.parse(items);
30
- for (let i = 0; i < ans.length; i++)
29
+ let ans: SortItem[] = [];
30
+ if (item)
31
31
  {
32
- let item = ans[i];
33
- if (!(item.table?.name))
34
- ErrorOperation.throwHTTP(400, `Invalid value '${item.table?.name}' for FilterItem.table.name.`);
35
- if (!(item.column?.name))
36
- ErrorOperation.throwHTTP(400, `Invalid value '${item.table?.name}' for FilterItem.table.name.`);
37
- if (item.ascending != false && item.ascending != true)
38
- ErrorOperation.throwHTTP(400, `Invalid value '${item.ascending}' for FilterItem.ascending, Only true and false are allowed.`);
39
- ans[i] = new SortItem(item.table, item.column, item.ascending);
32
+ let index = 0;
33
+ let items = item.split(/(?<!\\);/);
34
+ let thereIsMore = (): boolean =>
35
+ {
36
+ return index < items.length;
37
+ };
38
+ let next = (name: string): string =>
39
+ {
40
+ if (thereIsMore())
41
+ return items[index++];
42
+ throw ErrorOperation.getHTTP(400, `Next value is required for '${name}'. Must be separated by ;`);
43
+ };
44
+ while (thereIsMore())
45
+ {
46
+ let value_table = next("Table");
47
+ let table = new BaseMetaTable(null, value_table, value_table);
48
+
49
+ let value_column = next("Column");
50
+ let column = new BaseMetaColumn(table, value_column, value_column, "", false)
51
+
52
+ let value_asc = next("Asending").toLowerCase();
53
+ let asc = value_asc === "asc"
54
+ if (value_asc != "asc" && value_asc != "desc")
55
+ ErrorOperation.throwHTTP(400, `Invalid value '${value_asc}' for SortItem.Asending, Only 'Asc' and 'Desc' are allowed.`);
56
+
57
+ ans.push(new SortItem(table, column, asc));
58
+ }
40
59
  }
41
60
  return ans;
42
61
  }