eservices-back-core 2.1.4 → 2.1.6

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 (144) hide show
  1. package/dist/agents/agent.d.ts +6 -0
  2. package/dist/agents/agent.d.ts.map +1 -0
  3. package/dist/agents/agent.js +12 -0
  4. package/dist/agents/agent.js.map +1 -0
  5. package/dist/agents/text-search-agent.d.ts +34 -0
  6. package/dist/agents/text-search-agent.d.ts.map +1 -0
  7. package/dist/agents/text-search-agent.js +84 -0
  8. package/dist/agents/text-search-agent.js.map +1 -0
  9. package/dist/app.js +4 -1
  10. package/dist/app.js.map +1 -1
  11. package/dist/auth/auth-manager.d.ts +9 -0
  12. package/dist/auth/auth-manager.d.ts.map +1 -0
  13. package/dist/auth/auth-manager.js +9 -0
  14. package/dist/auth/auth-manager.js.map +1 -0
  15. package/dist/auth/reload-session-promisify.d.ts.map +1 -1
  16. package/dist/auth/reload-session-promisify.js +10 -1
  17. package/dist/auth/reload-session-promisify.js.map +1 -1
  18. package/dist/auth/use-auth.d.ts.map +1 -1
  19. package/dist/auth/use-auth.js +6 -0
  20. package/dist/auth/use-auth.js.map +1 -1
  21. package/dist/auth/wait-identity-client.d.ts +2 -0
  22. package/dist/auth/wait-identity-client.d.ts.map +1 -0
  23. package/dist/auth/wait-identity-client.js +6 -0
  24. package/dist/auth/wait-identity-client.js.map +1 -0
  25. package/dist/constants.d.ts +1 -0
  26. package/dist/constants.d.ts.map +1 -1
  27. package/dist/constants.js +2 -1
  28. package/dist/constants.js.map +1 -1
  29. package/dist/controller/close-api/actions-controller.d.ts +7 -0
  30. package/dist/controller/close-api/actions-controller.d.ts.map +1 -0
  31. package/dist/controller/close-api/actions-controller.js +75 -0
  32. package/dist/controller/close-api/actions-controller.js.map +1 -0
  33. package/dist/controller/close-api/communication-controller.d.ts +8 -0
  34. package/dist/controller/close-api/communication-controller.d.ts.map +1 -0
  35. package/dist/controller/close-api/communication-controller.js +89 -0
  36. package/dist/controller/close-api/communication-controller.js.map +1 -0
  37. package/dist/controller/close-api/history-controller.d.ts +5 -0
  38. package/dist/controller/close-api/history-controller.d.ts.map +1 -0
  39. package/dist/controller/close-api/history-controller.js +29 -0
  40. package/dist/controller/close-api/history-controller.js.map +1 -0
  41. package/dist/controller/close-api/rules-validator-controller.d.ts +5 -0
  42. package/dist/controller/close-api/rules-validator-controller.d.ts.map +1 -0
  43. package/dist/controller/close-api/rules-validator-controller.js +21 -0
  44. package/dist/controller/close-api/rules-validator-controller.js.map +1 -0
  45. package/dist/controller/close-api-controller.d.ts +8 -0
  46. package/dist/controller/close-api-controller.d.ts.map +1 -0
  47. package/dist/controller/close-api-controller.js +39 -0
  48. package/dist/controller/close-api-controller.js.map +1 -0
  49. package/dist/dtos/dto-list-options.d.ts +3 -0
  50. package/dist/dtos/dto-list-options.d.ts.map +1 -0
  51. package/dist/dtos/dto-list-options.js +17 -0
  52. package/dist/dtos/dto-list-options.js.map +1 -0
  53. package/dist/dtos/dto-list-setting.d.ts.map +1 -1
  54. package/dist/dtos/dto-list-setting.js +3 -1
  55. package/dist/dtos/dto-list-setting.js.map +1 -1
  56. package/dist/middleware/test-middleware.d.ts +8 -0
  57. package/dist/middleware/test-middleware.d.ts.map +1 -0
  58. package/dist/middleware/test-middleware.js +27 -0
  59. package/dist/middleware/test-middleware.js.map +1 -0
  60. package/dist/router/close/actions-route.d.ts +3 -0
  61. package/dist/router/close/actions-route.d.ts.map +1 -0
  62. package/dist/router/close/actions-route.js +13 -0
  63. package/dist/router/close/actions-route.js.map +1 -0
  64. package/dist/router/close/audit-router.d.ts +3 -0
  65. package/dist/router/close/audit-router.d.ts.map +1 -0
  66. package/dist/router/close/audit-router.js +11 -0
  67. package/dist/router/close/audit-router.js.map +1 -0
  68. package/dist/router/close/client-router.d.ts +3 -0
  69. package/dist/router/close/client-router.d.ts.map +1 -0
  70. package/dist/router/close/client-router.js +11 -0
  71. package/dist/router/close/client-router.js.map +1 -0
  72. package/dist/router/close/communication-router.d.ts +3 -0
  73. package/dist/router/close/communication-router.d.ts.map +1 -0
  74. package/dist/router/close/communication-router.js +14 -0
  75. package/dist/router/close/communication-router.js.map +1 -0
  76. package/dist/router/close/presentation-router.d.ts +3 -0
  77. package/dist/router/close/presentation-router.d.ts.map +1 -0
  78. package/dist/router/close/presentation-router.js +11 -0
  79. package/dist/router/close/presentation-router.js.map +1 -0
  80. package/dist/router/close/rules-validator-router.d.ts +3 -0
  81. package/dist/router/close/rules-validator-router.d.ts.map +1 -0
  82. package/dist/router/close/rules-validator-router.js +11 -0
  83. package/dist/router/close/rules-validator-router.js.map +1 -0
  84. package/dist/services/action-service.d.ts +2 -3
  85. package/dist/services/action-service.d.ts.map +1 -1
  86. package/dist/services/action-service.js +3 -3
  87. package/dist/services/action-service.js.map +1 -1
  88. package/dist/services/list-setting-service.d.ts +1 -0
  89. package/dist/services/list-setting-service.d.ts.map +1 -1
  90. package/dist/services/user-manager-service.d.ts +5 -0
  91. package/dist/services/user-manager-service.d.ts.map +1 -0
  92. package/dist/services/user-manager-service.js +24 -0
  93. package/dist/services/user-manager-service.js.map +1 -0
  94. package/dist/socket/configuration-read-socket.d.ts +2 -0
  95. package/dist/socket/configuration-read-socket.d.ts.map +1 -0
  96. package/dist/socket/configuration-read-socket.js +18 -0
  97. package/dist/socket/configuration-read-socket.js.map +1 -0
  98. package/dist/socket/entity-count-socket.d.ts +7 -0
  99. package/dist/socket/entity-count-socket.d.ts.map +1 -0
  100. package/dist/socket/entity-count-socket.js +40 -0
  101. package/dist/socket/entity-count-socket.js.map +1 -0
  102. package/dist/socket/entity-read-socket.d.ts +10 -0
  103. package/dist/socket/entity-read-socket.d.ts.map +1 -0
  104. package/dist/socket/entity-read-socket.js +57 -0
  105. package/dist/socket/entity-read-socket.js.map +1 -0
  106. package/dist/socket/events/tool_execute.d.ts.map +1 -1
  107. package/dist/socket/events/tool_execute.js +5 -2
  108. package/dist/socket/events/tool_execute.js.map +1 -1
  109. package/dist/socket/metadata-read-socket.d.ts +10 -0
  110. package/dist/socket/metadata-read-socket.d.ts.map +1 -0
  111. package/dist/socket/metadata-read-socket.js +63 -0
  112. package/dist/socket/metadata-read-socket.js.map +1 -0
  113. package/dist/store/Store.d.ts +60 -0
  114. package/dist/store/Store.d.ts.map +1 -0
  115. package/dist/store/Store.js +83 -0
  116. package/dist/store/Store.js.map +1 -0
  117. package/dist/store/actions.d.ts +26 -0
  118. package/dist/store/actions.d.ts.map +1 -0
  119. package/dist/store/actions.js +23 -0
  120. package/dist/store/actions.js.map +1 -0
  121. package/dist/store/index.d.ts +2 -0
  122. package/dist/store/index.d.ts.map +1 -0
  123. package/dist/store/index.js +10 -0
  124. package/dist/store/index.js.map +1 -0
  125. package/dist/store/reducer.d.ts +45 -0
  126. package/dist/store/reducer.d.ts.map +1 -0
  127. package/dist/store/reducer.js +27 -0
  128. package/dist/store/reducer.js.map +1 -0
  129. package/dist/types/value-hooks.d.ts +3 -1
  130. package/dist/types/value-hooks.d.ts.map +1 -1
  131. package/dist/utils/iterate-entity-value-with-hooks.js +15 -18
  132. package/dist/utils/iterate-entity-value-with-hooks.js.map +1 -1
  133. package/dist/utils/value-hooks.d.ts.map +1 -1
  134. package/dist/utils/value-hooks.js +40 -0
  135. package/dist/utils/value-hooks.js.map +1 -1
  136. package/package.json +1 -1
  137. package/dist/model/filter-config.d.ts +0 -69
  138. package/dist/model/filter-config.d.ts.map +0 -1
  139. package/dist/model/filter-config.js +0 -146
  140. package/dist/model/filter-config.js.map +0 -1
  141. package/dist/store/filters-store.d.ts +0 -7
  142. package/dist/store/filters-store.d.ts.map +0 -1
  143. package/dist/store/filters-store.js +0 -28
  144. package/dist/store/filters-store.js.map +0 -1
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const metadata_service_1 = __importDefault(require("../services/metadata-service"));
7
7
  const jenesius_vue_form_1 = require("jenesius-vue-form");
8
+ const constants_1 = require("../constants");
8
9
  class ValueHooks {
9
10
  static exec(name, params = {}) {
10
11
  return store[name](params);
@@ -36,6 +37,45 @@ const store = {
36
37
  return;
37
38
  jenesius_vue_form_1.utils.deletePropByName(entityValues, options.fieldName);
38
39
  };
40
+ },
41
+ /**
42
+ * @description Сравнение двух объектов и установление дополнительного поля, в котором хранится состояние объекта.
43
+ * @param options
44
+ */
45
+ 'search-reference-changes': (options) => {
46
+ const SEARCH_OPERATION_CODE = 'M';
47
+ /**
48
+ * Возвращает объект с изменёнными полями.
49
+ * @param sourceObject исходные объект
50
+ * @param targetObject объект с которым сравниваем. В основном это Target из sourceObject
51
+ * @param ignoredFields Поля, которые необходимо игнорировать при поиске изменения.
52
+ */
53
+ function getChanges(sourceObject, targetObject, ignoredFields) {
54
+ const changes = {};
55
+ Object.keys(sourceObject).forEach(key => {
56
+ if (ignoredFields.includes(key))
57
+ return;
58
+ const sourceValue = sourceObject[key];
59
+ const targetValue = targetObject[key];
60
+ if (sourceValue !== targetValue)
61
+ changes[key] = targetValue;
62
+ });
63
+ return changes;
64
+ }
65
+ function isValidObject(data) {
66
+ return Object.prototype.hasOwnProperty.call(data, 'OperationCode')
67
+ && Object.prototype.hasOwnProperty.call(data, 'Target')
68
+ && !!data.Target;
69
+ }
70
+ return (entityValues, params) => {
71
+ if (params.type !== 'entity')
72
+ return;
73
+ if (typeof entityValues !== 'object' || entityValues === null)
74
+ return;
75
+ if (isValidObject(entityValues) && entityValues.OperationCode === SEARCH_OPERATION_CODE) {
76
+ entityValues[constants_1.FIELD_NAME_REFERENCE_CHANGES] = getChanges(entityValues, entityValues.Target, [] || options.ignoredFields);
77
+ }
78
+ };
39
79
  }
40
80
  };
41
81
  //# sourceMappingURL=value-hooks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"value-hooks.js","sourceRoot":"","sources":["../../src/utils/value-hooks.ts"],"names":[],"mappings":";;;;;AACA,oFAA2D;AAC3D,yDAAwC;AAIxC,MAAqB,UAAU;IAE3B,MAAM,CAAC,IAAI,CAAC,IAAwB,EAAE,SAAkB,EAAE;QACtD,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAA;IAC9B,CAAC;CACJ;AALD,6BAKC;AAED,MAAM,KAAK,GAAiD;IACxD,eAAe,EAAE,CAAC,OAAO,EAAE,EAAE;QACzB,OAAO,CAAC,UAAmB,EAAE,MAAwB,EAAE,EAAE;YACrD,MAAM,EAAC,UAAU,EAAE,SAAS,EAAC,GAAG,MAAM,CAAC;YACvC,IAAI,OAAO,SAAS,KAAK,QAAQ;gBAAE,OAAO;YAC1C,MAAM,aAAa,GAAG,0BAAe,CAAC,mBAAmB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YACjF,IAAI,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,QAAQ,MAAK,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG;gBACrG,OAAO,UAAU,GAAG,GAAG,CAAC;QAChC,CAAC,CAAA;IACL,CAAC;IACD,oBAAoB,EAAE,CAAC,OAAO,EAAE,EAAE;QAC9B,OAAO,CAAC,YAAqB,EAAE,MAAwB,EAAE,EAAE;YACvD,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,UAAU,KAAK,OAAO,CAAC,MAAM;gBAAE,OAAO;YACnF,yBAAK,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,yBAAK,CAAC,iBAAiB,CAAC,YAAY,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;YACjH,yBAAK,CAAC,gBAAgB,CAAC,YAAY,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QAC5D,CAAC,CAAA;IACL,CAAC;IACD,cAAc,EAAE,CAAC,OAAO,EAAE,EAAE;QACxB,OAAO,CAAC,YAAqB,EAAE,MAAwB,EAAE,EAAE;YACvD,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,UAAU,KAAK,OAAO,CAAC,MAAM;gBAAE,OAAO;YACnF,yBAAK,CAAC,gBAAgB,CAAC,YAAY,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QAC5D,CAAC,CAAA;IACL,CAAC;CACJ,CAAA"}
1
+ {"version":3,"file":"value-hooks.js","sourceRoot":"","sources":["../../src/utils/value-hooks.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eservices-back-core",
3
- "version": "2.1.4",
3
+ "version": "2.1.6",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -1,69 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,146 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const use_logger_1 = require("../logger/use-logger");
4
- function wrapString(str) {
5
- return typeof str === 'string' ? `'${str}'` : `${str}`;
6
- }
7
- /**
8
- * @description Класс предназначенный для работы с фильтрами. Предоставляет одиночные static методы
9
- * при помощи, которых можно самостоятельно создать фильтр или полноценный механизм задачи фильтра
10
- * через объект(Более краткий и удобный) через new.
11
- *
12
- * @example
13
- * const filter = new Filter([
14
- * ["eq", ["Name", "Jack"] ],
15
- * ["eq", ["Age", "@age"] ]
16
- * ]);
17
- * const data = { age: 25 }
18
- * const strFilter = filter.generate(data);
19
- *
20
- * @example
21
- * const filter = new Filter([
22
- * "or",
23
- * [
24
- * ["in", ["Status", ["A", "D"] ] ],
25
- * ["in", ["Type", "$userType" ] ]
26
- * ]
27
- * ])
28
- * const data = {
29
- * userType: ["User", "Person"]
30
- * }
31
- * const strFilter = filter.generate(data)
32
- */
33
- class Filter {
34
- get valid() {
35
- return !!this.compileFn;
36
- }
37
- addRequiredArgument(name) {
38
- this.requiredArguments.push(name);
39
- }
40
- constructor(value) {
41
- this.compileFn = null;
42
- /**
43
- * @description Массив обзятальных полей, еоторый заправшиваются в конфигурации фильтра.
44
- */
45
- this.requiredArguments = [];
46
- try {
47
- this.compileFn = this.compileItem(value);
48
- }
49
- catch (e) {
50
- use_logger_1.Logger.error(e);
51
- }
52
- }
53
- generate(data = {}) {
54
- return this.compileFn(data);
55
- }
56
- compileItem(item) {
57
- if (Array.isArray(item)) {
58
- return (Filter.AVAILABLE_OPERATION.includes(item[0]))
59
- ? this.compileExpressionByType(item[0], item[1])
60
- : this.compileExpressionByType('and', item);
61
- }
62
- else if (typeof item === 'string') {
63
- return () => item;
64
- }
65
- else if (this.isValidObjectExpression(item))
66
- return this.compileExpressionByType(item.operation, item.arguments);
67
- else {
68
- throw new Error(`Unknown filter item ${JSON.stringify(item)}`);
69
- }
70
- }
71
- compileExpressionByType(type, data) {
72
- switch (type) {
73
- case 'and':
74
- case 'or': {
75
- if (!Array.isArray(data))
76
- throw new Error(`Filter Config: with "and" should be provided array data.`);
77
- return this.compileArray(type, data);
78
- }
79
- case 'eq': return this.compileEqual(data[0], data[1]);
80
- case 'in': return this.compileInclude(data[0], data[1]);
81
- default: throw new Error(`filter-config: Unknown operation '${type}'`);
82
- }
83
- }
84
- compileArray(type, data) {
85
- const arrayCompileItems = data.map(item => this.compileItem(item));
86
- return (compileValues) => '( ' + arrayCompileItems.map(fn => fn(compileValues)).join(` ${type} `) + ' )';
87
- }
88
- compileEqual(field, value) {
89
- this.checkForRequiredValue(value);
90
- return (compileValues) => Filter.eq(field, this.convertValue(value, compileValues));
91
- }
92
- compileInclude(field, value) {
93
- this.checkForRequiredValue(value);
94
- return (compileValues) => Filter.in(field, this.convertValue(value, compileValues));
95
- }
96
- isRequiredValue(value) {
97
- if (typeof value !== 'string')
98
- return false;
99
- return value.startsWith('@');
100
- }
101
- isValidObjectExpression(data) {
102
- if (!(typeof data === 'object' && data !== null))
103
- return false;
104
- return Filter.AVAILABLE_OPERATION.includes(data.operation);
105
- }
106
- checkForRequiredValue(value) {
107
- if (!this.isRequiredValue(value))
108
- return;
109
- this.addRequiredArgument(value);
110
- }
111
- convertValue(value, compileValues) {
112
- if (typeof value !== 'string')
113
- return value;
114
- return compileValues[value] || value;
115
- }
116
- /**
117
- * @description Not Equal(!==).
118
- * @param name
119
- * @param values
120
- */
121
- static notEq(name, values) {
122
- return `@${name} nq ${wrapString(values)}`;
123
- }
124
- /**
125
- * @description Equal(===)
126
- * @param name
127
- * @param values
128
- */
129
- static eq(name, values) {
130
- if (Array.isArray(values))
131
- return Filter.in(name, values);
132
- return `@${name} eq ${wrapString(values)}`;
133
- }
134
- /**
135
- * @description Include.
136
- * @param name
137
- * @param values
138
- */
139
- static in(name, values) {
140
- const parsedValues = values.map(wrapString).join(', ');
141
- return `@${name} in (${parsedValues})`;
142
- }
143
- }
144
- Filter.AVAILABLE_OPERATION = ['and', 'or', 'eq', 'nq', 'in'];
145
- exports.default = Filter;
146
- //# sourceMappingURL=filter-config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"filter-config.js","sourceRoot":"","sources":["../../src/model/filter-config.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- import FilterConfig from "../model/filter-config";
2
- declare const _default: {
3
- get: (name: string) => FilterConfig;
4
- init: (data: Record<string, any>) => void;
5
- };
6
- export default _default;
7
- //# sourceMappingURL=filters-store.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"filters-store.d.ts","sourceRoot":"","sources":["../../src/store/filters-store.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,wBAAwB,CAAC;;gBAK3B,MAAM;iBAGL,OAAO,MAAM,EAAE,GAAG,CAAC;;AAN3C,wBAoBI"}
@@ -1,28 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const filter_config_1 = __importDefault(require("../model/filter-config"));
7
- exports.default = (function FiltersStore() {
8
- const state = {};
9
- function get(name) {
10
- return state[name];
11
- }
12
- function init(data) {
13
- Object.keys(data)
14
- .forEach(name => {
15
- try {
16
- state[name] = new filter_config_1.default(data[name]);
17
- }
18
- catch (e) {
19
- console.log(e);
20
- }
21
- });
22
- }
23
- return {
24
- get,
25
- init
26
- };
27
- })();
28
- //# sourceMappingURL=filters-store.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"filters-store.js","sourceRoot":"","sources":["../../src/store/filters-store.ts"],"names":[],"mappings":";;;;;AAAA,2EAAkD;AAElD,kBAAe,CAAC,SAAS,YAAY;IACjC,MAAM,KAAK,GAAiC,EAAE,CAAA;IAE9C,SAAS,GAAG,CAAC,IAAY;QACrB,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IACD,SAAS,IAAI,CAAC,IAAyB;QACnC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;aAChB,OAAO,CAAC,IAAI,CAAC,EAAE;YACZ,IAAI,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,uBAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;YAC9C,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;YAClB,CAAC;QACL,CAAC,CAAC,CAAA;IACN,CAAC;IACD,OAAO;QACH,GAAG;QACH,IAAI;KACP,CAAA;AACL,CAAC,CAAC,EAAE,CAAA"}