@dcupl/common 0.0.80-beta.9 → 0.0.81-beta.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/lib-cjs/index.d.ts +1 -0
- package/dist/lib-cjs/index.js +1 -0
- package/dist/lib-cjs/index.js.map +1 -1
- package/dist/lib-cjs/queryData.d.ts +2 -0
- package/dist/lib-cjs/queryData.js +135 -0
- package/dist/lib-cjs/queryData.js.map +1 -0
- package/dist/lib-cjs/tsconfig-cjs.tsbuildinfo +1 -1
- package/dist/lib-cjs/types/dcupl.types.d.ts +26 -0
- package/dist/lib-esm/index.d.ts +1 -0
- package/dist/lib-esm/index.js +1 -0
- package/dist/lib-esm/index.js.map +1 -1
- package/dist/lib-esm/queryData.d.ts +2 -0
- package/dist/lib-esm/queryData.js +131 -0
- package/dist/lib-esm/queryData.js.map +1 -0
- package/dist/lib-esm/tsconfig.tsbuildinfo +1 -1
- package/dist/lib-esm/types/dcupl.types.d.ts +26 -0
- package/package.json +1 -1
|
@@ -50,3 +50,29 @@ export type DcuplGlobalQueryOptions<T> = DcuplItemsOptions<T> & {
|
|
|
50
50
|
listKey: string;
|
|
51
51
|
query: FilterOptions[];
|
|
52
52
|
};
|
|
53
|
+
type DcuplQueryTransformOptions = 'none' | 'lowercase' | 'uppercase' | 'trim' | 'removeWhitespace';
|
|
54
|
+
type DcuplQueryOptions = {
|
|
55
|
+
transform: DcuplQueryTransformOptions[];
|
|
56
|
+
};
|
|
57
|
+
type DcuplQueryArrayOperators = 'in' | 'nin';
|
|
58
|
+
type DcuplQueryStringOperators = 'startsWith' | 'endsWith' | 'includes' | 'notIncludes';
|
|
59
|
+
type DcuplQueryGeneralOperators = 'eq' | 'neq' | 'gt' | 'gte' | 'lt' | 'lte';
|
|
60
|
+
type DcuplQueryFalsy = 'isUndefined' | 'isNotUndefined' | 'isNull' | 'isNotNull' | 'isFalsy' | 'isTruthy';
|
|
61
|
+
export type DcuplQueryOperator = DcuplQueryGeneralOperators | DcuplQueryArrayOperators | DcuplQueryFalsy | DcuplQueryStringOperators;
|
|
62
|
+
export type DcuplQueryType = 'and' | 'or';
|
|
63
|
+
export type DcuplQuery = {
|
|
64
|
+
attribute: string;
|
|
65
|
+
operator: DcuplQueryOperator;
|
|
66
|
+
value: any;
|
|
67
|
+
options?: DcuplQueryOptions;
|
|
68
|
+
};
|
|
69
|
+
export type DcuplQueryGroup = {
|
|
70
|
+
queryType?: DcuplQueryType;
|
|
71
|
+
queryKey?: string;
|
|
72
|
+
query: Array<DcuplQuery> | Array<DcuplQueryGroup>;
|
|
73
|
+
options?: DcuplQueryOptions;
|
|
74
|
+
};
|
|
75
|
+
export type DcuplGlobalQueryOptionsNew<T> = DcuplItemsOptions<T> & {
|
|
76
|
+
listKey: string;
|
|
77
|
+
} & DcuplQueryGroup;
|
|
78
|
+
export {};
|
package/dist/lib-esm/index.d.ts
CHANGED
package/dist/lib-esm/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC"}
|
|
@@ -0,0 +1,131 @@
|
|
|
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 { get, isEqual } from 'lodash';
|
|
13
|
+
// import { groupBy } from './helper';
|
|
14
|
+
// import { isAfter, isBefore, isEqual, isValid } from 'date-fns';
|
|
15
|
+
var evaluateQuery = function (query, dataEntry) {
|
|
16
|
+
var value = get(dataEntry, query.attribute);
|
|
17
|
+
switch (query.operator) {
|
|
18
|
+
case 'eq':
|
|
19
|
+
return isEqual(value, query.value);
|
|
20
|
+
case 'neq':
|
|
21
|
+
return !isEqual(value, query.value);
|
|
22
|
+
case 'lt':
|
|
23
|
+
return value < query.value;
|
|
24
|
+
case 'gt':
|
|
25
|
+
return value > query.value;
|
|
26
|
+
case 'lte':
|
|
27
|
+
return value >= query.value;
|
|
28
|
+
case 'gte':
|
|
29
|
+
return value <= query.value;
|
|
30
|
+
case 'isUndefined':
|
|
31
|
+
return typeof value === 'undefined';
|
|
32
|
+
case 'isNotUndefined':
|
|
33
|
+
return typeof value !== 'undefined';
|
|
34
|
+
case 'isNull':
|
|
35
|
+
return value === null;
|
|
36
|
+
case 'isNotNull':
|
|
37
|
+
return value !== null;
|
|
38
|
+
case 'isFalsy':
|
|
39
|
+
return !value;
|
|
40
|
+
case 'isTruthy':
|
|
41
|
+
return !!value;
|
|
42
|
+
case 'startsWith': {
|
|
43
|
+
if (typeof value === 'string') {
|
|
44
|
+
return value.startsWith(query.value);
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
return String(value).startsWith(query.value);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
case 'endsWith': {
|
|
51
|
+
if (typeof value === 'string') {
|
|
52
|
+
return value.endsWith(query.value);
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
return String(value).endsWith(query.value);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
case 'includes': {
|
|
59
|
+
return queryIncludes(value, query.value);
|
|
60
|
+
}
|
|
61
|
+
case 'notIncludes': {
|
|
62
|
+
return !queryIncludes(value, query.value);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
return false;
|
|
66
|
+
};
|
|
67
|
+
var evaluateQueryGroup = function (queryGroup, dataEntry) {
|
|
68
|
+
var e_1, _a;
|
|
69
|
+
var results = [];
|
|
70
|
+
try {
|
|
71
|
+
for (var _b = __values(queryGroup.query), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
72
|
+
var query = _c.value;
|
|
73
|
+
if ('attribute' in query) {
|
|
74
|
+
results.push(evaluateQuery(query, dataEntry));
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
results.push(evaluateQueryGroup(query, dataEntry));
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
82
|
+
finally {
|
|
83
|
+
try {
|
|
84
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
85
|
+
}
|
|
86
|
+
finally { if (e_1) throw e_1.error; }
|
|
87
|
+
}
|
|
88
|
+
if (queryGroup.queryType === 'and') {
|
|
89
|
+
return results.every(function (result) { return result; });
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
return results.some(function (result) { return result; });
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
var queryIncludes = function (entryValue, queryValue) {
|
|
96
|
+
if (typeof entryValue === 'string') {
|
|
97
|
+
return entryValue.includes(queryValue);
|
|
98
|
+
}
|
|
99
|
+
else if (Array.isArray(entryValue)) {
|
|
100
|
+
return entryValue.includes(queryValue);
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
return String(entryValue).includes(queryValue);
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
export function queryData(initialData, rootQuery, earlyReturn) {
|
|
107
|
+
var e_2, _a;
|
|
108
|
+
var filteredData = new Map();
|
|
109
|
+
var currentDataset = new Map(initialData);
|
|
110
|
+
earlyReturn;
|
|
111
|
+
if (rootQuery.query.length === 0) {
|
|
112
|
+
return currentDataset;
|
|
113
|
+
}
|
|
114
|
+
try {
|
|
115
|
+
for (var _b = __values(currentDataset.values()), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
116
|
+
var dataEntry = _c.value;
|
|
117
|
+
if (evaluateQueryGroup(rootQuery, dataEntry)) {
|
|
118
|
+
filteredData.set(dataEntry.key, dataEntry);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
123
|
+
finally {
|
|
124
|
+
try {
|
|
125
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
126
|
+
}
|
|
127
|
+
finally { if (e_2) throw e_2.error; }
|
|
128
|
+
}
|
|
129
|
+
return filteredData;
|
|
130
|
+
}
|
|
131
|
+
//# sourceMappingURL=queryData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queryData.js","sourceRoot":"","sources":["../../src/queryData.ts"],"names":[],"mappings":"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"}
|