eservices-back-core 2.0.34 → 2.0.36

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.
Files changed (47) hide show
  1. package/dist/Server.d.ts +0 -2
  2. package/dist/Server.d.ts.map +1 -1
  3. package/dist/Server.js.map +1 -1
  4. package/dist/auth/use-auth.d.ts +1 -2
  5. package/dist/auth/use-auth.d.ts.map +1 -1
  6. package/dist/middleware/auth-middleware.d.ts +1 -1
  7. package/dist/model/Filter.d.ts +135 -0
  8. package/dist/model/Filter.d.ts.map +1 -0
  9. package/dist/model/Filter.js +236 -0
  10. package/dist/model/Filter.js.map +1 -0
  11. package/dist/model/filter-config.d.ts +69 -0
  12. package/dist/model/filter-config.d.ts.map +1 -0
  13. package/dist/model/filter-config.js +146 -0
  14. package/dist/model/filter-config.js.map +1 -0
  15. package/dist/services/list-setting-service.d.ts +5 -3
  16. package/dist/services/list-setting-service.d.ts.map +1 -1
  17. package/dist/services/list-setting-service.js +111 -101
  18. package/dist/services/list-setting-service.js.map +1 -1
  19. package/dist/socket/events/entity_read.d.ts +8 -0
  20. package/dist/socket/events/entity_read.d.ts.map +1 -1
  21. package/dist/socket/events/entity_read.js +20 -0
  22. package/dist/socket/events/entity_read.js.map +1 -1
  23. package/dist/store/custom-filters-store.d.ts +7 -0
  24. package/dist/store/custom-filters-store.d.ts.map +1 -0
  25. package/dist/store/custom-filters-store.js +29 -0
  26. package/dist/store/custom-filters-store.js.map +1 -0
  27. package/dist/store/filters-store.d.ts +7 -0
  28. package/dist/store/filters-store.d.ts.map +1 -0
  29. package/dist/store/filters-store.js +28 -0
  30. package/dist/store/filters-store.js.map +1 -0
  31. package/dist/templates/error.html +4 -3
  32. package/dist/utils/Filter.d.ts +1 -0
  33. package/dist/utils/Filter.d.ts.map +1 -1
  34. package/dist/utils/Filter.js +1 -0
  35. package/dist/utils/Filter.js.map +1 -1
  36. package/dist/utils/get-extend-customer-filters.d.ts +1 -0
  37. package/dist/utils/get-extend-customer-filters.d.ts.map +1 -1
  38. package/dist/utils/get-extend-customer-filters.js +2 -1
  39. package/dist/utils/get-extend-customer-filters.js.map +1 -1
  40. package/dist/utils/get-required-attribute-values.d.ts +11 -0
  41. package/dist/utils/get-required-attribute-values.d.ts.map +1 -0
  42. package/dist/utils/get-required-attribute-values.js +46 -0
  43. package/dist/utils/get-required-attribute-values.js.map +1 -0
  44. package/dist/utils/use-config.d.ts.map +1 -1
  45. package/dist/utils/use-config.js +42 -17
  46. package/dist/utils/use-config.js.map +1 -1
  47. package/package.json +3 -2
package/dist/Server.d.ts CHANGED
@@ -1,6 +1,4 @@
1
1
  /// <reference types="node" />
2
- /// <reference types="node/http" />
3
- /// <reference types="got/dist/source/core/utils/timed-out" />
4
2
  import { Express, Router } from "express";
5
3
  import { Server as HTTPServer } from 'http';
6
4
  import CoreSocketServer from "./socket/core-socket-server";
@@ -1 +1 @@
1
- {"version":3,"file":"Server.d.ts","sourceRoot":"","sources":["../src/Server.ts"],"names":[],"mappings":";;;AAAA,OAAgB,EAAC,OAAO,EAAE,MAAM,EAAC,MAAM,SAAS,CAAC;AACjD,OAAa,EAAC,MAAM,IAAI,UAAU,EAAC,MAAM,MAAM,CAAC;AAQhD,OAAO,gBAAgB,MAAM,6BAA6B,CAAC;AAE3D,OAAO,EAAC,yBAAyB,EAAE,aAAa,EAAE,UAAU,EAAC,MAAM,qBAAqB,CAAC;AAQzF,MAAM,CAAC,OAAO,OAAO,MAAM;IAC1B;;OAEG;IACH,aAAa,CAAC,EAAE,yBAAyB,CAAC;IAC1C;;OAEG;IACH,UAAU,EAAE,MAAM,CAAA;IAClB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAA;IACnB;;OAEG;IACH,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAA;IAEvB;;OAEG;IACH,MAAM,EAAE,aAAa,CAAA;IAErB;;OAEG;IACH,GAAG,EAAE,OAAO,CAAC;IAEb;;OAEG;IACH,UAAU,EAAE,UAAU,CAAA;IAEtB;;OAEG;IACH,IAAI,EAAE,UAAU,CAAC;IAEjB;;OAEG;IACH,MAAM,EAAE,gBAAgB,CAAA;IAExB,IAAI,SAAS,WAEZ;IAED,MAAM,KAAK,IAAI,WAEd;IACD,MAAM,KAAK,KAAK,YAKf;IACD;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;IAEf,MAAM,CAAC,SAAS,IAAI,MAAM;gBAGd,MAAM,EAAE,aAAa;IAiB3B,GAAG;YAoBK,eAAe;CAgB7B;AAED,wBAAsB,YAAY,CAAC,MAAM,EAAE,aAAa,mBAwBvD;AAID,MAAM,MAAM,MAAM,GAAG,MAAM,CAAA"}
1
+ {"version":3,"file":"Server.d.ts","sourceRoot":"","sources":["../src/Server.ts"],"names":[],"mappings":";AAAA,OAAgB,EAAC,OAAO,EAAE,MAAM,EAAC,MAAM,SAAS,CAAC;AACjD,OAAa,EAAC,MAAM,IAAI,UAAU,EAAC,MAAM,MAAM,CAAC;AAQhD,OAAO,gBAAgB,MAAM,6BAA6B,CAAC;AAE3D,OAAO,EAAC,yBAAyB,EAAE,aAAa,EAAE,UAAU,EAAC,MAAM,qBAAqB,CAAC;AAQzF,MAAM,CAAC,OAAO,OAAO,MAAM;IAC1B;;OAEG;IACH,aAAa,CAAC,EAAE,yBAAyB,CAAC;IAC1C;;OAEG;IACH,UAAU,EAAE,MAAM,CAAA;IAClB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAA;IACnB;;OAEG;IACH,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAA;IAEvB;;OAEG;IACH,MAAM,EAAE,aAAa,CAAA;IAErB;;OAEG;IACH,GAAG,EAAE,OAAO,CAAC;IAEb;;OAEG;IACH,UAAU,EAAE,UAAU,CAAA;IAEtB;;OAEG;IACH,IAAI,EAAE,UAAU,CAAC;IAEjB;;OAEG;IACH,MAAM,EAAE,gBAAgB,CAAA;IAExB,IAAI,SAAS,WAEZ;IAED,MAAM,KAAK,IAAI,WAEd;IACD,MAAM,KAAK,KAAK,YAKf;IACD;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;IAEf,MAAM,CAAC,SAAS,IAAI,MAAM;gBAGd,MAAM,EAAE,aAAa;IAiB3B,GAAG;YAoBK,eAAe;CAgB7B;AAED,wBAAsB,YAAY,CAAC,MAAM,EAAE,aAAa,mBAwBvD;AAID,MAAM,MAAM,MAAM,GAAG,MAAM,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Server.js","sourceRoot":"","sources":["../src/Server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Server.js","sourceRoot":"","sources":["../src/Server.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- import { Client } from 'openid-client';
2
1
  import { Request } from "express";
3
2
  import { IAuthOptions } from "../types/auth-type";
4
3
  import { getAuthStateFormRequest } from "./get-auth-state-form-request";
@@ -7,7 +6,7 @@ import { getAuthStateFormRequest } from "./get-auth-state-form-request";
7
6
  * также для WS.
8
7
  */
9
8
  export default function useAuth(options: IAuthOptions): {
10
- client: Client;
9
+ client: import("openid-client").BaseClient;
11
10
  useAuthMiddleware: () => import("express-serve-static-core").Router;
12
11
  useWSAuthMiddleware: (req: Request) => Promise<void>;
13
12
  silentLogout: (req: Request) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"use-auth.d.ts","sourceRoot":"","sources":["../../src/auth/use-auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,MAAM,EAA2B,MAAM,eAAe,CAAC;AAC3E,OAAgB,EAAC,OAAO,EAAC,MAAM,SAAS,CAAC;AAGzC,OAAO,EAAmB,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAUlE,OAAO,EAAC,uBAAuB,EAAC,MAAM,+BAA+B,CAAC;AActE;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,OAAO,EAAE,YAAY;;;+BA0JZ,OAAO;wBAqDpB,OAAO;;;;;EAuBlC;AA8DD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,UAIlD;AAID;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,UAExD;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,OAAO,UAE1D"}
1
+ {"version":3,"file":"use-auth.d.ts","sourceRoot":"","sources":["../../src/auth/use-auth.ts"],"names":[],"mappings":"AACA,OAAgB,EAAC,OAAO,EAAC,MAAM,SAAS,CAAC;AAGzC,OAAO,EAAmB,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAUlE,OAAO,EAAC,uBAAuB,EAAC,MAAM,+BAA+B,CAAC;AActE;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,OAAO,EAAE,YAAY;;;+BA0JZ,OAAO;wBAqDpB,OAAO;;;;;EAuBlC;AA8DD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,UAIlD;AAID;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,UAExD;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,OAAO,UAE1D"}
@@ -2,7 +2,7 @@
2
2
  /// <reference types="express" />
3
3
  import { IAuthOptions } from "../types/auth-type";
4
4
  export declare function authModule(): {
5
- client: import("openid-client").Client;
5
+ client: import("openid-client").BaseClient;
6
6
  useAuthMiddleware: () => import("express-serve-static-core").Router;
7
7
  useWSAuthMiddleware: (req: import("express").Request<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>) => Promise<void>;
8
8
  silentLogout: (req: import("express").Request<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>) => void;
@@ -0,0 +1,135 @@
1
+ import { IFilterEnum, IFilterNumber, IFilterString } from "../utils/Filter";
2
+ /**
3
+ * @description Класс предназначенный для работы с фильтрами. Предоставляет одиночные static методы
4
+ * при помощи, которых можно самостоятельно создать фильтр или полноценный механизм задачи фильтра
5
+ * через объект(Более краткий и удобный) через new.
6
+ *
7
+ * @example Using array declaration
8
+ * const filter = new Filter([
9
+ * ["eq", ["Name", "Jack"] ],
10
+ * ["eq", ["Age", "@age"] ]
11
+ * ]);
12
+ * const data = { age: 25 }
13
+ * const strFilter = filter.generate(data);
14
+ *
15
+ * @example Using array declaration
16
+ * const filter = new Filter([
17
+ * "or",
18
+ * [
19
+ * ["in", ["Status", ["A", "D"] ] ],
20
+ * ["in", ["Type", "$userType" ] ]
21
+ * ]
22
+ * ])
23
+ * const data = {
24
+ * userType: ["User", "Person"]
25
+ * }
26
+ * const strFilter = filter.generate(data)
27
+ *
28
+ * @example With Object
29
+ * const filter = new Filter({
30
+ * operation: "and",
31
+ * arguments: [
32
+ * {
33
+ * operation: "eq", arguments: ["StatusCode", "A"]
34
+ * },
35
+ * {
36
+ * operation: "eq", arguments: ["TypeCode", "New"]
37
+ * }
38
+ * ]
39
+ * })
40
+ * @example Use static eq function
41
+ * const strFilter = Filter.eq("StatusCode", "A");
42
+ *
43
+ * @example With String
44
+ * const filter = new Filter([
45
+ * "Status eq 'A'",
46
+ * "Type eq 'Person'"
47
+ * ])
48
+ */
49
+ export default class Filter {
50
+ /**
51
+ * @description Набор доступных операций. Устанавливается напрямую программистом.
52
+ */
53
+ static readonly AVAILABLE_OPERATION: string[];
54
+ static readonly ARGUMENT_SYMBOL = "$";
55
+ private readonly compileFn;
56
+ /**
57
+ * @description Массив обзятальных полей (без ARGUMENT_SYMBOL в начале!), который заправшиваются в конфигурации фильтра.
58
+ */
59
+ readonly requiredArguments: string[];
60
+ private addRequiredArgument;
61
+ constructor(value: unknown);
62
+ /**
63
+ * @description Функция генерирует фильтр и возвращает строковое значение.
64
+ * @param data {object} Объект данных(Значения аргументов), которые будут использоватьс для полной генерации фильтра
65
+ */
66
+ generate(data?: IArgumentsData): string;
67
+ /**
68
+ * @description Базовая функция компиляции элемента оъекта. Она разбирается в каком формате описан элемент и вызывается
69
+ * compileExpressionByType.
70
+ * @private
71
+ */
72
+ private compileItem;
73
+ /**
74
+ * @description В зависимости от operation, выбирается нужная функция компиляции объекта.
75
+ * @param {string} operation Строкове значение операции.
76
+ * @param attributes Набор аргументов
77
+ * @private
78
+ */
79
+ private compileExpressionByType;
80
+ private compileArray;
81
+ private compileEqual;
82
+ private compileInclude;
83
+ /**
84
+ * @description Проверяет переданное значение. Если это строка и начинается с @ вернёт true.
85
+ */
86
+ private isRequiredCalculatedArgument;
87
+ private checkForRequiredCalculatedArgument;
88
+ /**
89
+ * @description Проверка на валдиность фильтрованного выражения.
90
+ */
91
+ private isValidObjectExpression;
92
+ /**
93
+ * @description Для замены значения используется данная функция
94
+ * @param {string} argumentName
95
+ * @param availableArgumentData
96
+ * @private
97
+ */
98
+ private treatArgument;
99
+ /**
100
+ * @description Not Equal(!==).
101
+ * @param operandName
102
+ * @param operandValue
103
+ */
104
+ static notEq(operandName: string, operandValue: IFilterString | IFilterNumber): string;
105
+ /**
106
+ * @description Equal(===)
107
+ * @param operandName
108
+ * @param operandValue
109
+ */
110
+ static eq(operandName: string, operandValue: IFilterString | IFilterNumber | IFilterEnum): string;
111
+ /**
112
+ * @description Include.
113
+ * @param operandName
114
+ * @param operandValue
115
+ */
116
+ static in(operandName: string, operandValue: IFilterEnum): string;
117
+ private static combine;
118
+ static and(...expressions: string[]): string;
119
+ static or(...expressions: string[]): string;
120
+ static notIn(operandName: string, operandValue: unknown): string;
121
+ /**
122
+ * @description Универсальная функция для обёртки элемента.
123
+ * @param {string} value строкове значение, которое необходимо обернуть
124
+ * @param wrapSymbolStart Начальный символ обёртки
125
+ * @param wrapSymbolEnd Конечный символ обёртки
126
+ * @example just wrap with round brackets
127
+ * Filter.wrap('name'); // '(name)'
128
+ * @example just wrap with provided symbols
129
+ * Filter.wrap('name', '*', '*'); // '*name*'
130
+ */
131
+ static wrap(value: string, wrapSymbolStart?: string, wrapSymbolEnd?: string): string;
132
+ }
133
+ type IArgumentsData = Record<string, any>;
134
+ export {};
135
+ //# sourceMappingURL=Filter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Filter.d.ts","sourceRoot":"","sources":["../../src/model/Filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAE,aAAa,EAAE,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAM1E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,MAAM,CAAC,OAAO,OAAO,MAAM;IACvB;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,mBAAmB,WAAyC;IAC5E,MAAM,CAAC,QAAQ,CAAC,eAAe,OAAO;IAEtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA2B;IAErD;;OAEG;IACH,QAAQ,CAAC,iBAAiB,EAAE,MAAM,EAAE,CAAM;IAC1C,OAAO,CAAC,mBAAmB;gBAKf,KAAK,EAAE,OAAO;IAI1B;;;OAGG;IACI,QAAQ,CAAC,IAAI,GAAE,cAAmB;IAIzC;;;;OAIG;IACH,OAAO,CAAC,WAAW;IAcnB;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB;IAa/B,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,cAAc;IAKtB;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAIpC,OAAO,CAAC,kCAAkC;IAK1C;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAK/B;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAMrB;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,GAAG,aAAa;IAI7E;;;;OAIG;IACH,MAAM,CAAC,EAAE,CAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,GAAG,aAAa,GAAG,WAAW;IAKzF;;;;OAIG;IACH,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW;IAOxD,OAAO,CAAC,MAAM,CAAC,OAAO;IAUtB,MAAM,CAAC,GAAG,CAAC,GAAG,WAAW,EAAE,MAAM,EAAE;IAGnC,MAAM,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,MAAM,EAAE;IAGlC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO;IAKvD;;;;;;;;;OASG;IACH,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,eAAe,GAAE,MAAY,EAAE,aAAa,GAAE,MAAY;CAcxF;AAaD,KAAK,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA"}
@@ -0,0 +1,236 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ function wrapString(str) {
4
+ return typeof str === 'string' ? `'${str}'` : `${str}`;
5
+ }
6
+ /**
7
+ * @description Класс предназначенный для работы с фильтрами. Предоставляет одиночные static методы
8
+ * при помощи, которых можно самостоятельно создать фильтр или полноценный механизм задачи фильтра
9
+ * через объект(Более краткий и удобный) через new.
10
+ *
11
+ * @example Using array declaration
12
+ * const filter = new Filter([
13
+ * ["eq", ["Name", "Jack"] ],
14
+ * ["eq", ["Age", "@age"] ]
15
+ * ]);
16
+ * const data = { age: 25 }
17
+ * const strFilter = filter.generate(data);
18
+ *
19
+ * @example Using array declaration
20
+ * const filter = new Filter([
21
+ * "or",
22
+ * [
23
+ * ["in", ["Status", ["A", "D"] ] ],
24
+ * ["in", ["Type", "$userType" ] ]
25
+ * ]
26
+ * ])
27
+ * const data = {
28
+ * userType: ["User", "Person"]
29
+ * }
30
+ * const strFilter = filter.generate(data)
31
+ *
32
+ * @example With Object
33
+ * const filter = new Filter({
34
+ * operation: "and",
35
+ * arguments: [
36
+ * {
37
+ * operation: "eq", arguments: ["StatusCode", "A"]
38
+ * },
39
+ * {
40
+ * operation: "eq", arguments: ["TypeCode", "New"]
41
+ * }
42
+ * ]
43
+ * })
44
+ * @example Use static eq function
45
+ * const strFilter = Filter.eq("StatusCode", "A");
46
+ *
47
+ * @example With String
48
+ * const filter = new Filter([
49
+ * "Status eq 'A'",
50
+ * "Type eq 'Person'"
51
+ * ])
52
+ */
53
+ class Filter {
54
+ addRequiredArgument(name) {
55
+ this.requiredArguments.push(name);
56
+ }
57
+ constructor(value) {
58
+ this.compileFn = null;
59
+ /**
60
+ * @description Массив обзятальных полей (без ARGUMENT_SYMBOL в начале!), который заправшиваются в конфигурации фильтра.
61
+ */
62
+ this.requiredArguments = [];
63
+ this.compileFn = this.compileItem(value);
64
+ }
65
+ /**
66
+ * @description Функция генерирует фильтр и возвращает строковое значение.
67
+ * @param data {object} Объект данных(Значения аргументов), которые будут использоватьс для полной генерации фильтра
68
+ */
69
+ generate(data = {}) {
70
+ return this.compileFn(data);
71
+ }
72
+ /**
73
+ * @description Базовая функция компиляции элемента оъекта. Она разбирается в каком формате описан элемент и вызывается
74
+ * compileExpressionByType.
75
+ * @private
76
+ */
77
+ compileItem(item) {
78
+ if (Array.isArray(item)) {
79
+ return (Filter.AVAILABLE_OPERATION.includes(item[0]))
80
+ ? this.compileExpressionByType(item[0], item[1])
81
+ : this.compileExpressionByType('and', item);
82
+ }
83
+ else if (typeof item === 'string') {
84
+ return () => item;
85
+ }
86
+ else if (this.isValidObjectExpression(item))
87
+ return this.compileExpressionByType(item.operation, item.arguments);
88
+ else {
89
+ throw new Error(`Unknown filter item ${JSON.stringify(item)}`);
90
+ }
91
+ }
92
+ /**
93
+ * @description В зависимости от operation, выбирается нужная функция компиляции объекта.
94
+ * @param {string} operation Строкове значение операции.
95
+ * @param attributes Набор аргументов
96
+ * @private
97
+ */
98
+ compileExpressionByType(operation, attributes) {
99
+ switch (operation) {
100
+ case 'and':
101
+ case 'or': {
102
+ if (!Array.isArray(attributes))
103
+ throw new Error(`Filter Config: with "and" should be provided array data.`);
104
+ return this.compileArray(operation, attributes);
105
+ }
106
+ case 'eq': return this.compileEqual(attributes[0], attributes[1]);
107
+ case 'in': return this.compileInclude(attributes[0], attributes[1]);
108
+ default: throw new Error(`filter-config: Unknown operation '${operation}'`);
109
+ }
110
+ }
111
+ compileArray(combineType, data) {
112
+ const arrayCompileItems = data.map(item => this.compileItem(item));
113
+ return (compileValues) => Filter.combine(combineType, arrayCompileItems.map(fn => fn(compileValues)));
114
+ }
115
+ compileEqual(field, value) {
116
+ this.checkForRequiredCalculatedArgument(value);
117
+ return (data) => Filter.eq(field, this.treatArgument(value, data));
118
+ }
119
+ compileInclude(field, value) {
120
+ this.checkForRequiredCalculatedArgument(value);
121
+ return (data) => Filter.in(field, this.treatArgument(value, data));
122
+ }
123
+ /**
124
+ * @description Проверяет переданное значение. Если это строка и начинается с @ вернёт true.
125
+ */
126
+ isRequiredCalculatedArgument(argumentName) {
127
+ return (typeof argumentName === 'string' && argumentName.startsWith(Filter.ARGUMENT_SYMBOL));
128
+ }
129
+ checkForRequiredCalculatedArgument(argumentName) {
130
+ if (!this.isRequiredCalculatedArgument(argumentName))
131
+ return;
132
+ this.addRequiredArgument(argumentName.slice(1));
133
+ }
134
+ /**
135
+ * @description Проверка на валдиность фильтрованного выражения.
136
+ */
137
+ isValidObjectExpression(expression) {
138
+ if (!(typeof expression === 'object' && expression !== null))
139
+ return false;
140
+ return Filter.AVAILABLE_OPERATION.includes(expression.operation);
141
+ }
142
+ /**
143
+ * @description Для замены значения используется данная функция
144
+ * @param {string} argumentName
145
+ * @param availableArgumentData
146
+ * @private
147
+ */
148
+ treatArgument(argumentName, availableArgumentData) {
149
+ if (!this.isRequiredCalculatedArgument(argumentName))
150
+ return argumentName;
151
+ return availableArgumentData[argumentName.slice(1)];
152
+ }
153
+ /**
154
+ * @description Not Equal(!==).
155
+ * @param operandName
156
+ * @param operandValue
157
+ */
158
+ static notEq(operandName, operandValue) {
159
+ return `@${operandName} nq ${wrapString(operandValue)}`;
160
+ }
161
+ /**
162
+ * @description Equal(===)
163
+ * @param operandName
164
+ * @param operandValue
165
+ */
166
+ static eq(operandName, operandValue) {
167
+ if (Array.isArray(operandValue))
168
+ return Filter.in(operandName, operandValue);
169
+ return `@${operandName} eq ${wrapString(operandValue)}`;
170
+ }
171
+ /**
172
+ * @description Include.
173
+ * @param operandName
174
+ * @param operandValue
175
+ */
176
+ static in(operandName, operandValue) {
177
+ if (!Array.isArray(operandValue))
178
+ throw new Error(`Filter: Value for in must be array. But provided ${operandValue}.`);
179
+ const parsedValues = operandValue.map(wrapString).join(', ');
180
+ return `@${operandName} in (${parsedValues})`;
181
+ }
182
+ static combine(type, expressions) {
183
+ return expressions
184
+ .filter(item => {
185
+ if (typeof item !== 'string')
186
+ return false;
187
+ if (item.trim().length === 0)
188
+ return false;
189
+ return item;
190
+ })
191
+ .map(x => Filter.wrap(x))
192
+ .join(' ' + type + ' ');
193
+ }
194
+ static and(...expressions) {
195
+ return Filter.combine('and', expressions);
196
+ }
197
+ static or(...expressions) {
198
+ return Filter.combine('or', expressions);
199
+ }
200
+ static notIn(operandName, operandValue) {
201
+ if (!Array.isArray(operandValue) || operandValue.length === 0)
202
+ return '';
203
+ return Filter.and(...operandValue.map(value => Filter.notEq(operandName, value)));
204
+ }
205
+ /**
206
+ * @description Универсальная функция для обёртки элемента.
207
+ * @param {string} value строкове значение, которое необходимо обернуть
208
+ * @param wrapSymbolStart Начальный символ обёртки
209
+ * @param wrapSymbolEnd Конечный символ обёртки
210
+ * @example just wrap with round brackets
211
+ * Filter.wrap('name'); // '(name)'
212
+ * @example just wrap with provided symbols
213
+ * Filter.wrap('name', '*', '*'); // '*name*'
214
+ */
215
+ static wrap(value, wrapSymbolStart = '(', wrapSymbolEnd = ')') {
216
+ /*
217
+ Не верно!
218
+ -->
219
+ if (value.startsWith(wrapSymbolStart) && value.endsWith(wrapSymbolEnd)) return value;
220
+ <--
221
+ Контр пример value = "(expr1) and (expr2)". В таком случае, мы не обернём выражение, однако
222
+ это не обходимо, если дальше идёт or и вместо
223
+ (() and ()) or ()
224
+ Мы получим
225
+ () and () or ()
226
+ */
227
+ return [wrapSymbolStart, value, wrapSymbolEnd].join(' ');
228
+ }
229
+ }
230
+ /**
231
+ * @description Набор доступных операций. Устанавливается напрямую программистом.
232
+ */
233
+ Filter.AVAILABLE_OPERATION = ['and', 'or', 'eq', 'nq', 'in', 'nin'];
234
+ Filter.ARGUMENT_SYMBOL = '$';
235
+ exports.default = Filter;
236
+ //# sourceMappingURL=Filter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Filter.js","sourceRoot":"","sources":["../../src/model/Filter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,69 @@
1
+ import { IFilterEnum, IFilterNumber, IFilterString } from "../utils/Filter";
2
+ /**
3
+ * @description Класс предназначенный для работы с фильтрами. Предоставляет одиночные static методы
4
+ * при помощи, которых можно самостоятельно создать фильтр или полноценный механизм задачи фильтра
5
+ * через объект(Более краткий и удобный) через new.
6
+ *
7
+ * @example
8
+ * const filter = new Filter([
9
+ * ["eq", ["Name", "Jack"] ],
10
+ * ["eq", ["Age", "@age"] ]
11
+ * ]);
12
+ * const data = { age: 25 }
13
+ * const strFilter = filter.generate(data);
14
+ *
15
+ * @example
16
+ * const filter = new Filter([
17
+ * "or",
18
+ * [
19
+ * ["in", ["Status", ["A", "D"] ] ],
20
+ * ["in", ["Type", "$userType" ] ]
21
+ * ]
22
+ * ])
23
+ * const data = {
24
+ * userType: ["User", "Person"]
25
+ * }
26
+ * const strFilter = filter.generate(data)
27
+ */
28
+ export default class Filter {
29
+ static readonly AVAILABLE_OPERATION: string[];
30
+ private readonly compileFn;
31
+ get valid(): boolean;
32
+ /**
33
+ * @description Массив обзятальных полей, еоторый заправшиваются в конфигурации фильтра.
34
+ */
35
+ readonly requiredArguments: string[];
36
+ private addRequiredArgument;
37
+ constructor(value: unknown);
38
+ generate(data?: ICompileData): string;
39
+ private compileItem;
40
+ private compileExpressionByType;
41
+ private compileArray;
42
+ private compileEqual;
43
+ private compileInclude;
44
+ private isRequiredValue;
45
+ private isValidObjectExpression;
46
+ private checkForRequiredValue;
47
+ private convertValue;
48
+ /**
49
+ * @description Not Equal(!==).
50
+ * @param name
51
+ * @param values
52
+ */
53
+ static notEq(name: string, values: IFilterString | IFilterNumber): string;
54
+ /**
55
+ * @description Equal(===)
56
+ * @param name
57
+ * @param values
58
+ */
59
+ static eq(name: string, values: IFilterString | IFilterNumber | IFilterEnum): string;
60
+ /**
61
+ * @description Include.
62
+ * @param name
63
+ * @param values
64
+ */
65
+ static in(name: string, values: IFilterEnum): string;
66
+ }
67
+ type ICompileData = Record<string, any>;
68
+ export {};
69
+ //# sourceMappingURL=filter-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-config.d.ts","sourceRoot":"","sources":["../../src/model/filter-config.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAE,aAAa,EAAE,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAM1E;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,CAAC,OAAO,OAAO,MAAM;IACvB,MAAM,CAAC,QAAQ,CAAC,mBAAmB,WAAkC;IAErE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA2B;IACrD,IAAI,KAAK,YAER;IAED;;OAEG;IAEH,QAAQ,CAAC,iBAAiB,EAAE,MAAM,EAAE,CAAM;IAC1C,OAAO,CAAC,mBAAmB;gBAKf,KAAK,EAAE,OAAO;IAOnB,QAAQ,CAAC,IAAI,GAAE,YAAiB;IAIvC,OAAO,CAAC,WAAW;IAenB,OAAO,CAAC,uBAAuB;IAa/B,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,uBAAuB;IAI/B,OAAO,CAAC,qBAAqB;IAK7B,OAAO,CAAC,YAAY;IAKpB;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,aAAa;IAIhE;;;;OAIG;IACH,MAAM,CAAC,EAAE,CAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,aAAa,GAAG,WAAW;IAK5E;;;;OAIG;IACH,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW;CAI9C;AAaD,KAAK,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA"}