@dcupl/common 1.0.0-beta.3 → 1.0.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.
Files changed (79) hide show
  1. package/dist/lib-cjs/computeSuggestions.d.ts +1 -1
  2. package/dist/lib-cjs/computeSuggestions.js +4 -6
  3. package/dist/lib-cjs/computeSuggestions.js.map +1 -1
  4. package/dist/lib-cjs/getFacets.d.ts +1 -1
  5. package/dist/lib-cjs/getFacets.js +4 -4
  6. package/dist/lib-cjs/getFacets.js.map +1 -1
  7. package/dist/lib-cjs/helper.js +6 -1
  8. package/dist/lib-cjs/helper.js.map +1 -1
  9. package/dist/lib-cjs/index.d.ts +1 -3
  10. package/dist/lib-cjs/index.js +1 -3
  11. package/dist/lib-cjs/index.js.map +1 -1
  12. package/dist/lib-cjs/query-builder.js +3 -5
  13. package/dist/lib-cjs/query-builder.js.map +1 -1
  14. package/dist/lib-cjs/query.helper.d.ts +5 -0
  15. package/dist/lib-cjs/query.helper.js +149 -0
  16. package/dist/lib-cjs/query.helper.js.map +1 -0
  17. package/dist/lib-cjs/queryData.js +12 -5
  18. package/dist/lib-cjs/queryData.js.map +1 -1
  19. package/dist/lib-cjs/types/aggregation.types.js +0 -3
  20. package/dist/lib-cjs/types/aggregation.types.js.map +1 -1
  21. package/dist/lib-cjs/types/data.types.d.ts +1 -1
  22. package/dist/lib-cjs/types/facets.types.d.ts +1 -2
  23. package/dist/lib-cjs/types/filter.types.d.ts +0 -31
  24. package/dist/lib-cjs/types/filter.types.js +0 -2
  25. package/dist/lib-cjs/types/filter.types.js.map +1 -1
  26. package/dist/lib-cjs/types/list.types.d.ts +1 -2
  27. package/dist/lib-cjs/types/query.types.d.ts +4 -9
  28. package/dist/lib-cjs/types/query.types.js.map +1 -1
  29. package/dist/lib-cjs/types/suggestion.types.d.ts +2 -3
  30. package/dist/lib-esm/computeSuggestions.d.ts +1 -1
  31. package/dist/lib-esm/computeSuggestions.js +2 -4
  32. package/dist/lib-esm/computeSuggestions.js.map +1 -1
  33. package/dist/lib-esm/getFacets.d.ts +1 -1
  34. package/dist/lib-esm/getFacets.js +4 -4
  35. package/dist/lib-esm/getFacets.js.map +1 -1
  36. package/dist/lib-esm/helper.js +6 -1
  37. package/dist/lib-esm/helper.js.map +1 -1
  38. package/dist/lib-esm/index.d.ts +1 -3
  39. package/dist/lib-esm/index.js +1 -3
  40. package/dist/lib-esm/index.js.map +1 -1
  41. package/dist/lib-esm/query-builder.js +3 -5
  42. package/dist/lib-esm/query-builder.js.map +1 -1
  43. package/dist/lib-esm/query.helper.d.ts +5 -0
  44. package/dist/lib-esm/query.helper.js +142 -0
  45. package/dist/lib-esm/query.helper.js.map +1 -0
  46. package/dist/lib-esm/queryData.js +13 -6
  47. package/dist/lib-esm/queryData.js.map +1 -1
  48. package/dist/lib-esm/types/aggregation.types.js +0 -3
  49. package/dist/lib-esm/types/aggregation.types.js.map +1 -1
  50. package/dist/lib-esm/types/data.types.d.ts +1 -1
  51. package/dist/lib-esm/types/facets.types.d.ts +1 -2
  52. package/dist/lib-esm/types/filter.types.d.ts +0 -31
  53. package/dist/lib-esm/types/filter.types.js +1 -1
  54. package/dist/lib-esm/types/filter.types.js.map +1 -1
  55. package/dist/lib-esm/types/list.types.d.ts +1 -2
  56. package/dist/lib-esm/types/query.types.d.ts +4 -9
  57. package/dist/lib-esm/types/query.types.js.map +1 -1
  58. package/dist/lib-esm/types/suggestion.types.d.ts +2 -3
  59. package/dist/tsconfig-cjs.tsbuildinfo +1 -1
  60. package/dist/tsconfig.tsbuildinfo +1 -1
  61. package/package.json +1 -1
  62. package/dist/lib-cjs/getConstraints.d.ts +0 -7
  63. package/dist/lib-cjs/getConstraints.js +0 -110
  64. package/dist/lib-cjs/getConstraints.js.map +0 -1
  65. package/dist/lib-cjs/getFacetEntries.d.ts +0 -2
  66. package/dist/lib-cjs/getFacetEntries.js +0 -128
  67. package/dist/lib-cjs/getFacetEntries.js.map +0 -1
  68. package/dist/lib-cjs/getFilteredData.d.ts +0 -6
  69. package/dist/lib-cjs/getFilteredData.js +0 -449
  70. package/dist/lib-cjs/getFilteredData.js.map +0 -1
  71. package/dist/lib-esm/getConstraints.d.ts +0 -7
  72. package/dist/lib-esm/getConstraints.js +0 -101
  73. package/dist/lib-esm/getConstraints.js.map +0 -1
  74. package/dist/lib-esm/getFacetEntries.d.ts +0 -2
  75. package/dist/lib-esm/getFacetEntries.js +0 -124
  76. package/dist/lib-esm/getFacetEntries.js.map +0 -1
  77. package/dist/lib-esm/getFilteredData.d.ts +0 -6
  78. package/dist/lib-esm/getFilteredData.js +0 -441
  79. package/dist/lib-esm/getFilteredData.js.map +0 -1
@@ -1,124 +0,0 @@
1
- var __read = (this && this.__read) || function (o, n) {
2
- var m = typeof Symbol === "function" && o[Symbol.iterator];
3
- if (!m) return o;
4
- var i = m.call(o), r, ar = [], e;
5
- try {
6
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
7
- }
8
- catch (error) { e = { error: error }; }
9
- finally {
10
- try {
11
- if (r && !r.done && (m = i["return"])) m.call(i);
12
- }
13
- finally { if (e) throw e.error; }
14
- }
15
- return ar;
16
- };
17
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
18
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
19
- if (ar || !(i in from)) {
20
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
21
- ar[i] = from[i];
22
- }
23
- }
24
- return to.concat(ar || Array.prototype.slice.call(from));
25
- };
26
- var __values = (this && this.__values) || function(o) {
27
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
28
- if (m) return m.call(o);
29
- if (o && typeof o.length === "number") return {
30
- next: function () {
31
- if (o && i >= o.length) o = void 0;
32
- return { value: o && o[i++], done: !o };
33
- }
34
- };
35
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
36
- };
37
- import { getFilteredData } from './getFilteredData';
38
- import { getFilterEntryId } from './helper';
39
- export function getFacetEntries(modelData, remoteModelData, options, constraints, attributeKey, indexMap) {
40
- var e_1, _a, e_2, _b;
41
- var filterItemEntries = [];
42
- var constraintsExceptSameFilterKey = constraints.filter(function (c) { return c.filterKey !== attributeKey; });
43
- var currentFilteredData = getFilteredData(modelData, constraintsExceptSameFilterKey, false);
44
- var remoteModelDataKeys = remoteModelData ? __spreadArray([], __read(remoteModelData === null || remoteModelData === void 0 ? void 0 : remoteModelData.keys()), false) : [];
45
- var validFacetKeys = new Set(remoteModelDataKeys);
46
- if (!options.excludeUnresolved) {
47
- try {
48
- for (var _c = __values(indexMap.keys()), _d = _c.next(); !_d.done; _d = _c.next()) {
49
- var key = _d.value;
50
- validFacetKeys.add(key);
51
- }
52
- }
53
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
54
- finally {
55
- try {
56
- if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
57
- }
58
- finally { if (e_1) throw e_1.error; }
59
- }
60
- }
61
- if (options.excludeUndefineds) {
62
- validFacetKeys.delete(undefined);
63
- }
64
- else {
65
- validFacetKeys.add(undefined);
66
- }
67
- var _loop_1 = function (validFacetKey) {
68
- var e_3, _g;
69
- var result = new Map();
70
- var indexedValueKeys = indexMap.get(validFacetKey) || [];
71
- try {
72
- for (var indexedValueKeys_1 = (e_3 = void 0, __values(indexedValueKeys)), indexedValueKeys_1_1 = indexedValueKeys_1.next(); !indexedValueKeys_1_1.done; indexedValueKeys_1_1 = indexedValueKeys_1.next()) {
73
- var key = indexedValueKeys_1_1.value;
74
- var value = currentFilteredData.get(key);
75
- if (value) {
76
- result.set(key, value);
77
- if (!(options === null || options === void 0 ? void 0 : options.calculateFacets)) {
78
- break;
79
- }
80
- }
81
- }
82
- }
83
- catch (e_3_1) { e_3 = { error: e_3_1 }; }
84
- finally {
85
- try {
86
- if (indexedValueKeys_1_1 && !indexedValueKeys_1_1.done && (_g = indexedValueKeys_1.return)) _g.call(indexedValueKeys_1);
87
- }
88
- finally { if (e_3) throw e_3.error; }
89
- }
90
- var facetEntry = {
91
- key: String(validFacetKey),
92
- value: validFacetKey,
93
- selected: !!constraints.find(function (constraint) { return constraint.uid === getFilterEntryId(attributeKey, String(validFacetKey)); }),
94
- enabled: result.size > 0,
95
- size: result.size,
96
- entry: remoteModelData.get(validFacetKey),
97
- resultKeys: Array.from(result.keys()),
98
- };
99
- if ((options === null || options === void 0 ? void 0 : options.excludeZeros) && facetEntry.size === 0) {
100
- return "continue";
101
- }
102
- if ((options === null || options === void 0 ? void 0 : options.count) && filterItemEntries.length === (options === null || options === void 0 ? void 0 : options.count)) {
103
- return { value: filterItemEntries };
104
- }
105
- filterItemEntries.push(facetEntry);
106
- };
107
- try {
108
- for (var _e = __values(validFacetKeys.values()), _f = _e.next(); !_f.done; _f = _e.next()) {
109
- var validFacetKey = _f.value;
110
- var state_1 = _loop_1(validFacetKey);
111
- if (typeof state_1 === "object")
112
- return state_1.value;
113
- }
114
- }
115
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
116
- finally {
117
- try {
118
- if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
119
- }
120
- finally { if (e_2) throw e_2.error; }
121
- }
122
- return filterItemEntries;
123
- }
124
- //# sourceMappingURL=getFacetEntries.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getFacetEntries.js","sourceRoot":"","sources":["../../src/getFacetEntries.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- import { ListItem, FilterConstraint, TextConstraint, NumberConstraint, DateConstraint, ReferenceConstraint } from './types';
2
- export declare function getFilteredData<ListType extends ListItem = ListItem>(initialData: Map<string, ListType>, constraints: FilterConstraint[], earlyReturn: boolean): Map<string, ListType>;
3
- export declare const isValidNumberConstraint: (itemValue: number, constraint: NumberConstraint) => boolean;
4
- export declare const isValidDateConstraint: (itemValue: Date, constraint: DateConstraint) => boolean;
5
- export declare const isValidReferenceConstraint: (itemValue: ListItem, constraint: ReferenceConstraint) => boolean;
6
- export declare const isValidTextConstraint: (itemValue: string, constraint: TextConstraint) => boolean;
@@ -1,441 +0,0 @@
1
- var __values = (this && this.__values) || function(o) {
2
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
3
- if (m) return m.call(o);
4
- if (o && typeof o.length === "number") return {
5
- next: function () {
6
- if (o && i >= o.length) o = void 0;
7
- return { value: o && o[i++], done: !o };
8
- }
9
- };
10
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
11
- };
12
- import { NumberOperators, } from './types';
13
- import { groupBy } from './helper';
14
- import { isAfter, isBefore, isEqual, isValid } from 'date-fns';
15
- export function getFilteredData(initialData, constraints, earlyReturn) {
16
- var e_1, _a, e_2, _b;
17
- var filteredData = new Map();
18
- var currentDataset = new Map(initialData);
19
- if (constraints.length === 0) {
20
- return currentDataset;
21
- }
22
- var constraintsGroupedByFilterKey = groupBy(constraints, 'filterKey');
23
- var filterKeys = Object.keys(constraintsGroupedByFilterKey);
24
- try {
25
- for (var filterKeys_1 = __values(filterKeys), filterKeys_1_1 = filterKeys_1.next(); !filterKeys_1_1.done; filterKeys_1_1 = filterKeys_1.next()) {
26
- var filterKey = filterKeys_1_1.value;
27
- filteredData.clear();
28
- var constraintGroup = constraintsGroupedByFilterKey[filterKey];
29
- if (!constraintGroup) {
30
- continue;
31
- }
32
- var _loop_1 = function (constraint) {
33
- var e_3, _c, e_4, _d, e_5, _e, e_6, _f, e_7, _g;
34
- try {
35
- for (var _h = (e_3 = void 0, __values(currentDataset.values())), _j = _h.next(); !_j.done; _j = _h.next()) {
36
- var dataEntry = _j.value;
37
- var itemValue = dataEntry[constraint.attributeKey];
38
- if (constraint.type === 'referenceConstraint') {
39
- if (Array.isArray(itemValue)) {
40
- try {
41
- for (var itemValue_1 = (e_4 = void 0, __values(itemValue)), itemValue_1_1 = itemValue_1.next(); !itemValue_1_1.done; itemValue_1_1 = itemValue_1.next()) {
42
- var arrayItemValue = itemValue_1_1.value;
43
- if (isValidReferenceConstraint(arrayItemValue, constraint)) {
44
- filteredData.set(dataEntry.key, dataEntry);
45
- if (earlyReturn) {
46
- return { value: filteredData };
47
- }
48
- }
49
- }
50
- }
51
- catch (e_4_1) { e_4 = { error: e_4_1 }; }
52
- finally {
53
- try {
54
- if (itemValue_1_1 && !itemValue_1_1.done && (_d = itemValue_1.return)) _d.call(itemValue_1);
55
- }
56
- finally { if (e_4) throw e_4.error; }
57
- }
58
- }
59
- else {
60
- if (isValidReferenceConstraint(itemValue, constraint)) {
61
- filteredData.set(dataEntry.key, dataEntry);
62
- if (earlyReturn) {
63
- return { value: filteredData };
64
- }
65
- }
66
- }
67
- }
68
- if (constraint.type === 'booleanConstraint') {
69
- if (Array.isArray(itemValue)) {
70
- if (itemValue === null || itemValue === void 0 ? void 0 : itemValue.find(function (i) { return i === constraint.value; })) {
71
- filteredData.set(dataEntry.key, dataEntry);
72
- if (earlyReturn) {
73
- return { value: filteredData };
74
- }
75
- }
76
- }
77
- else {
78
- if (itemValue === constraint.value) {
79
- filteredData.set(dataEntry.key, dataEntry);
80
- if (earlyReturn) {
81
- return { value: filteredData };
82
- }
83
- }
84
- }
85
- }
86
- if (constraint.type === 'textConstraint') {
87
- if (Array.isArray(itemValue)) {
88
- try {
89
- for (var itemValue_2 = (e_5 = void 0, __values(itemValue)), itemValue_2_1 = itemValue_2.next(); !itemValue_2_1.done; itemValue_2_1 = itemValue_2.next()) {
90
- var arrayItemValue = itemValue_2_1.value;
91
- if (isValidTextConstraint(arrayItemValue, constraint)) {
92
- filteredData.set(dataEntry.key, dataEntry);
93
- break;
94
- }
95
- }
96
- }
97
- catch (e_5_1) { e_5 = { error: e_5_1 }; }
98
- finally {
99
- try {
100
- if (itemValue_2_1 && !itemValue_2_1.done && (_e = itemValue_2.return)) _e.call(itemValue_2);
101
- }
102
- finally { if (e_5) throw e_5.error; }
103
- }
104
- }
105
- else {
106
- if (isValidTextConstraint(itemValue, constraint)) {
107
- filteredData.set(dataEntry.key, dataEntry);
108
- }
109
- }
110
- }
111
- if (constraint.type === 'numberConstraint') {
112
- if (Array.isArray(itemValue)) {
113
- try {
114
- for (var itemValue_3 = (e_6 = void 0, __values(itemValue)), itemValue_3_1 = itemValue_3.next(); !itemValue_3_1.done; itemValue_3_1 = itemValue_3.next()) {
115
- var arrayItemValue = itemValue_3_1.value;
116
- if (isValidNumberConstraint(arrayItemValue, constraint)) {
117
- filteredData.set(dataEntry.key, dataEntry);
118
- break;
119
- }
120
- }
121
- }
122
- catch (e_6_1) { e_6 = { error: e_6_1 }; }
123
- finally {
124
- try {
125
- if (itemValue_3_1 && !itemValue_3_1.done && (_f = itemValue_3.return)) _f.call(itemValue_3);
126
- }
127
- finally { if (e_6) throw e_6.error; }
128
- }
129
- }
130
- else {
131
- if (isValidNumberConstraint(itemValue, constraint)) {
132
- filteredData.set(dataEntry.key, dataEntry);
133
- }
134
- }
135
- }
136
- if (constraint.type === 'dateConstraint') {
137
- if (Array.isArray(itemValue)) {
138
- try {
139
- for (var itemValue_4 = (e_7 = void 0, __values(itemValue)), itemValue_4_1 = itemValue_4.next(); !itemValue_4_1.done; itemValue_4_1 = itemValue_4.next()) {
140
- var arrayItemValue = itemValue_4_1.value;
141
- if (isValidDateConstraint(arrayItemValue, constraint)) {
142
- filteredData.set(dataEntry.key, dataEntry);
143
- break;
144
- }
145
- }
146
- }
147
- catch (e_7_1) { e_7 = { error: e_7_1 }; }
148
- finally {
149
- try {
150
- if (itemValue_4_1 && !itemValue_4_1.done && (_g = itemValue_4.return)) _g.call(itemValue_4);
151
- }
152
- finally { if (e_7) throw e_7.error; }
153
- }
154
- }
155
- else {
156
- if (isValidDateConstraint(itemValue, constraint)) {
157
- filteredData.set(dataEntry.key, dataEntry);
158
- }
159
- }
160
- }
161
- }
162
- }
163
- catch (e_3_1) { e_3 = { error: e_3_1 }; }
164
- finally {
165
- try {
166
- if (_j && !_j.done && (_c = _h.return)) _c.call(_h);
167
- }
168
- finally { if (e_3) throw e_3.error; }
169
- }
170
- };
171
- try {
172
- for (var constraintGroup_1 = (e_2 = void 0, __values(constraintGroup)), constraintGroup_1_1 = constraintGroup_1.next(); !constraintGroup_1_1.done; constraintGroup_1_1 = constraintGroup_1.next()) {
173
- var constraint = constraintGroup_1_1.value;
174
- var state_1 = _loop_1(constraint);
175
- if (typeof state_1 === "object")
176
- return state_1.value;
177
- }
178
- }
179
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
180
- finally {
181
- try {
182
- if (constraintGroup_1_1 && !constraintGroup_1_1.done && (_b = constraintGroup_1.return)) _b.call(constraintGroup_1);
183
- }
184
- finally { if (e_2) throw e_2.error; }
185
- }
186
- currentDataset = new Map(filteredData);
187
- }
188
- }
189
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
190
- finally {
191
- try {
192
- if (filterKeys_1_1 && !filterKeys_1_1.done && (_a = filterKeys_1.return)) _a.call(filterKeys_1);
193
- }
194
- finally { if (e_1) throw e_1.error; }
195
- }
196
- return filteredData;
197
- }
198
- export var isValidNumberConstraint = function (itemValue, constraint) {
199
- var allUndefined = NumberOperators.every(function (op) { return typeof constraint[op] === 'undefined'; });
200
- var eqNull = constraint.eq === null;
201
- if (allUndefined) {
202
- if (typeof itemValue === 'undefined') {
203
- return true;
204
- }
205
- else {
206
- return false;
207
- }
208
- }
209
- if (eqNull) {
210
- if (itemValue === null) {
211
- return true;
212
- }
213
- else {
214
- return false;
215
- }
216
- }
217
- if (typeof itemValue !== 'number') {
218
- return false;
219
- }
220
- if (typeof constraint.gt !== 'undefined' && constraint.gt !== null) {
221
- if (itemValue > constraint.gt === false) {
222
- return false;
223
- }
224
- }
225
- if (typeof constraint.gte !== 'undefined' && constraint.gte !== null) {
226
- if (itemValue >= constraint.gte === false) {
227
- return false;
228
- }
229
- }
230
- if (typeof constraint.lt !== 'undefined' && constraint.lt !== null) {
231
- if (itemValue < constraint.lt === false) {
232
- return false;
233
- }
234
- }
235
- if (typeof constraint.lte !== 'undefined' && constraint.lte !== null) {
236
- if (itemValue <= constraint.lte === false) {
237
- return false;
238
- }
239
- }
240
- if (typeof constraint.eq !== 'undefined' && constraint.eq !== null) {
241
- if (Array.isArray(constraint.eq)) {
242
- if (constraint.eq.includes(itemValue) === false) {
243
- return false;
244
- }
245
- }
246
- else {
247
- if ((itemValue === constraint.eq) === false) {
248
- return false;
249
- }
250
- }
251
- }
252
- if (typeof constraint.ne !== 'undefined' && constraint.ne !== null) {
253
- if (Array.isArray(constraint.ne)) {
254
- if (constraint.ne.includes(itemValue) === true) {
255
- return false;
256
- }
257
- }
258
- else {
259
- if ((itemValue !== constraint.ne) === false) {
260
- return false;
261
- }
262
- }
263
- }
264
- return true;
265
- };
266
- export var isValidDateConstraint = function (itemValue, constraint) {
267
- var allUndefined = NumberOperators.every(function (op) { return typeof constraint[op] === 'undefined'; });
268
- var eqNull = constraint.eq === null;
269
- if (allUndefined) {
270
- if (typeof itemValue === 'undefined') {
271
- return true;
272
- }
273
- else {
274
- return false;
275
- }
276
- }
277
- if (eqNull) {
278
- if (itemValue === null) {
279
- return true;
280
- }
281
- else {
282
- return false;
283
- }
284
- }
285
- if (!isValid(itemValue)) {
286
- return false;
287
- }
288
- var accurateItemValue = getAccurateDate(itemValue, constraint.accuracy);
289
- if (typeof constraint.gt !== 'undefined') {
290
- if (isAfter(accurateItemValue, getAccurateDate(constraint.gt, constraint.accuracy)) === false) {
291
- return false;
292
- }
293
- }
294
- if (typeof constraint.gte !== 'undefined') {
295
- if (isAfter(accurateItemValue, getAccurateDate(constraint.gte, constraint.accuracy)) === false &&
296
- isEqual(accurateItemValue, getAccurateDate(constraint.gte, constraint.accuracy)) === false) {
297
- return false;
298
- }
299
- }
300
- if (typeof constraint.lt !== 'undefined') {
301
- if (isBefore(accurateItemValue, getAccurateDate(constraint.lt, constraint.accuracy)) === false) {
302
- return false;
303
- }
304
- }
305
- if (typeof constraint.lte !== 'undefined') {
306
- if (isBefore(accurateItemValue, getAccurateDate(constraint.lte, constraint.accuracy)) === false &&
307
- isEqual(accurateItemValue, getAccurateDate(constraint.lte, constraint.accuracy)) === false) {
308
- return false;
309
- }
310
- }
311
- if (typeof constraint.eq !== 'undefined') {
312
- if (Array.isArray(constraint.eq)) {
313
- if (!!constraint.eq.find(function (val) { return isEqual(getAccurateDate(val, constraint.accuracy), accurateItemValue); }) === false) {
314
- return false;
315
- }
316
- }
317
- else {
318
- if (isEqual(accurateItemValue, getAccurateDate(constraint.eq, constraint.accuracy)) === false) {
319
- return false;
320
- }
321
- }
322
- }
323
- if (typeof constraint.ne !== 'undefined') {
324
- if (Array.isArray(constraint.ne)) {
325
- if (!!constraint.ne.find(function (val) { return isEqual(getAccurateDate(val, constraint.accuracy), accurateItemValue); }) === true) {
326
- return false;
327
- }
328
- }
329
- else {
330
- if (isEqual(accurateItemValue, getAccurateDate(constraint.ne, constraint.accuracy)) === true) {
331
- return false;
332
- }
333
- }
334
- }
335
- return true;
336
- };
337
- var getAccurateDate = function (date, accuracy) {
338
- if (!accuracy) {
339
- return date;
340
- }
341
- switch (accuracy) {
342
- case 'exact':
343
- return date;
344
- case 'year':
345
- return new Date(Date.UTC(date.getFullYear(), 0));
346
- case 'month':
347
- return new Date(Date.UTC(date.getFullYear(), date.getMonth()));
348
- case 'day':
349
- return new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()));
350
- case 'hour':
351
- return new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours()));
352
- case 'minute':
353
- return new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes()));
354
- case 'second':
355
- return new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds()));
356
- default:
357
- return date;
358
- }
359
- };
360
- export var isValidReferenceConstraint = function (itemValue, constraint) {
361
- if (typeof constraint.value === 'undefined') {
362
- if (typeof itemValue === 'undefined') {
363
- return true;
364
- }
365
- else {
366
- return false;
367
- }
368
- }
369
- if (constraint.value === null) {
370
- if (itemValue === null) {
371
- return true;
372
- }
373
- else {
374
- return false;
375
- }
376
- }
377
- if (typeof itemValue !== 'object') {
378
- return false;
379
- }
380
- return itemValue.key === constraint.value;
381
- };
382
- export var isValidTextConstraint = function (itemValue, constraint) {
383
- if (typeof constraint.value === 'undefined') {
384
- if (typeof itemValue === 'undefined') {
385
- return true;
386
- }
387
- else {
388
- return false;
389
- }
390
- }
391
- if (constraint.value === null) {
392
- if (itemValue === null) {
393
- return true;
394
- }
395
- else {
396
- return false;
397
- }
398
- }
399
- if (typeof itemValue !== 'string') {
400
- return false;
401
- }
402
- var constraintValue = constraint.value;
403
- var constraintValueLowerCase = constraint.value.toLowerCase();
404
- var constraintValueLowerCaseTrim = constraintValueLowerCase.replace(/\s/g, '');
405
- var itemValueLowerCase = itemValue.toLowerCase();
406
- var itemValueLowerCaseTrim = itemValueLowerCase.replace(/\s/g, '');
407
- switch (constraint.comparisonType) {
408
- case 'contains': {
409
- if (itemValue.indexOf(constraintValue) > -1) {
410
- return true;
411
- }
412
- break;
413
- }
414
- case 'containsIgnoreCase': {
415
- if (itemValueLowerCase.indexOf(constraintValueLowerCase) > -1) {
416
- return true;
417
- }
418
- break;
419
- }
420
- case 'equalIgnoreCase': {
421
- if (itemValueLowerCase === constraintValueLowerCase) {
422
- return true;
423
- }
424
- break;
425
- }
426
- case 'equal': {
427
- if (itemValue === constraintValue) {
428
- return true;
429
- }
430
- break;
431
- }
432
- case 'containsIgnoreCaseAndWhitespace': {
433
- if (itemValueLowerCaseTrim.indexOf(constraintValueLowerCaseTrim) > -1) {
434
- return true;
435
- }
436
- break;
437
- }
438
- }
439
- return false;
440
- };
441
- //# sourceMappingURL=getFilteredData.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getFilteredData.js","sourceRoot":"","sources":["../../src/getFilteredData.ts"],"names":[],"mappings":"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"}