@evlop/commons 1.0.302 → 1.0.305
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/cjs/src/helpers/conditionHelper.d.ts +19 -0
- package/dist/cjs/src/helpers/conditionHelper.d.ts.map +1 -0
- package/dist/cjs/src/helpers/conditionHelper.js +95 -0
- package/dist/cjs/src/helpers/conditionHelper.js.map +1 -0
- package/dist/cjs/src/helpers/conditionHelper.test.d.ts +2 -0
- package/dist/cjs/src/helpers/conditionHelper.test.d.ts.map +1 -0
- package/dist/cjs/src/helpers/conditionHelper.test.js +171 -0
- package/dist/cjs/src/helpers/conditionHelper.test.js.map +1 -0
- package/dist/cjs/src/helpers/index.d.ts +1 -0
- package/dist/cjs/src/helpers/index.d.ts.map +1 -1
- package/dist/cjs/src/helpers/index.js +1 -0
- package/dist/cjs/src/helpers/index.js.map +1 -1
- package/dist/cjs/src/hooks/useDataSource.js +3 -3
- package/dist/cjs/src/hooks/useDataSource.js.map +1 -1
- package/dist/esm/src/helpers/conditionHelper.d.ts +19 -0
- package/dist/esm/src/helpers/conditionHelper.d.ts.map +1 -0
- package/dist/esm/src/helpers/conditionHelper.js +91 -0
- package/dist/esm/src/helpers/conditionHelper.js.map +1 -0
- package/dist/esm/src/helpers/conditionHelper.test.d.ts +2 -0
- package/dist/esm/src/helpers/conditionHelper.test.d.ts.map +1 -0
- package/dist/esm/src/helpers/conditionHelper.test.js +169 -0
- package/dist/esm/src/helpers/conditionHelper.test.js.map +1 -0
- package/dist/esm/src/helpers/index.d.ts +1 -0
- package/dist/esm/src/helpers/index.d.ts.map +1 -1
- package/dist/esm/src/helpers/index.js +1 -0
- package/dist/esm/src/helpers/index.js.map +1 -1
- package/dist/esm/src/hooks/useDataSource.js +3 -3
- package/dist/esm/src/hooks/useDataSource.js.map +1 -1
- package/dist/types/src/helpers/conditionHelper.d.ts +19 -0
- package/dist/types/src/helpers/conditionHelper.d.ts.map +1 -0
- package/dist/types/src/helpers/conditionHelper.test.d.ts +2 -0
- package/dist/types/src/helpers/conditionHelper.test.d.ts.map +1 -0
- package/dist/types/src/helpers/index.d.ts +1 -0
- package/dist/types/src/helpers/index.d.ts.map +1 -1
- package/package.json +1 -1
@@ -0,0 +1,19 @@
|
|
1
|
+
declare type PrimitiveValue = string | number | boolean | null | undefined;
|
2
|
+
declare type PredicateForSingleAgainstArray = 'isOneOf' | 'isIn' | 'isNotOneOf' | 'isNotIn';
|
3
|
+
declare type PredicateForArrayAgainstArray = 'containsSomeOf' | 'containsNoneOf' | 'containsAllOf';
|
4
|
+
declare type PredicateForUnary = 'isEmpty' | 'isNotEmpty' | 'isTruthy' | 'isFalsy';
|
5
|
+
declare type PredicateForStringAgainstString = 'startsWith' | 'endsWith' | 'contains' | 'doesNotContain';
|
6
|
+
declare type PredicateForNumberRange = 'isBetween' | 'isNotBetween';
|
7
|
+
declare type PredicateForAnyAgainstAny = '=' | 'isEqualTo' | '!=' | 'isNotEqualTo' | '<' | 'isLessThan' | '>' | 'isGreaterThan' | '>=' | 'isGreaterThanOrEqualTo' | '<=' | 'isLessThanOrEqualTo';
|
8
|
+
declare type Predicate = PredicateForSingleAgainstArray | PredicateForArrayAgainstArray | PredicateForUnary | PredicateForStringAgainstString | PredicateForNumberRange | PredicateForAnyAgainstAny;
|
9
|
+
declare type CompareValueForPredicate<T = Predicate> = T extends PredicateForSingleAgainstArray ? PrimitiveValue[] : T extends PredicateForArrayAgainstArray ? PrimitiveValue[] : T extends PredicateForUnary ? void : T extends PredicateForStringAgainstString ? string : T extends PredicateForNumberRange ? [number, number] : T extends PredicateForAnyAgainstAny ? PrimitiveValue : never;
|
10
|
+
declare type SimpleCondition<T = Predicate> = T extends PredicateForSingleAgainstArray ? [string, T, CompareValueForPredicate<T>] : T extends PredicateForArrayAgainstArray ? [string, T, CompareValueForPredicate<T>] : T extends PredicateForUnary ? [string, T] : T extends PredicateForStringAgainstString ? [string, T, CompareValueForPredicate<T>] : T extends PredicateForAnyAgainstAny ? [string, T, CompareValueForPredicate<T>] : never;
|
11
|
+
declare type ConditionMatchType = 'all' | 'none' | 'any';
|
12
|
+
interface ComplexCondition {
|
13
|
+
matchType: ConditionMatchType;
|
14
|
+
rules: Condition[];
|
15
|
+
}
|
16
|
+
export declare type Condition<T = Predicate> = SimpleCondition<T> | ComplexCondition | boolean;
|
17
|
+
export declare function checkCondition(object: any, condition: Condition, defaultValue?: boolean): boolean;
|
18
|
+
export {};
|
19
|
+
//# sourceMappingURL=conditionHelper.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"conditionHelper.d.ts","sourceRoot":"","sources":["../../../../src/helpers/conditionHelper.ts"],"names":[],"mappings":"AAEA,aAAK,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;AAEnE,aAAK,8BAA8B,GAAG,SAAS,GAAC,MAAM,GAAC,YAAY,GAAC,SAAS,CAAC;AAC9E,aAAK,6BAA6B,GAAI,gBAAgB,GAAC,gBAAgB,GAAC,eAAe,CAAC;AACxF,aAAK,iBAAiB,GAAG,SAAS,GAAC,YAAY,GAAC,UAAU,GAAC,SAAS,CAAC;AACrE,aAAK,+BAA+B,GAAG,YAAY,GAAC,UAAU,GAAC,UAAU,GAAC,gBAAgB,CAAC;AAC3F,aAAK,uBAAuB,GAAG,WAAW,GAAC,cAAc,CAAC;AAC1D,aAAK,yBAAyB,GAAG,GAAG,GAAC,WAAW,GAAC,IAAI,GAAC,cAAc,GAAC,GAAG,GAAC,YAAY,GAAC,GAAG,GAAC,eAAe,GAAC,IAAI,GAAC,wBAAwB,GAAC,IAAI,GAAC,qBAAqB,CAAC;AACnK,aAAK,SAAS,GAAG,8BAA8B,GAAG,6BAA6B,GAAG,iBAAiB,GAAG,+BAA+B,GAAG,uBAAuB,GAAG,yBAAyB,CAAC;AAE5L,aAAK,wBAAwB,CAAC,CAAC,GAAG,SAAS,IAAI,CAAC,SAAS,8BAA8B,GAAG,cAAc,EAAE,GACtG,CAAC,SAAS,6BAA6B,GAAG,cAAc,EAAE,GAC1D,CAAC,SAAS,iBAAiB,GAAG,IAAI,GAClC,CAAC,SAAS,+BAA+B,GAAG,MAAM,GAClD,CAAC,SAAS,uBAAuB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GACpD,CAAC,SAAS,yBAAyB,GAAG,cAAc,GAAG,KAAK,CAAC;AASjE,aAAK,eAAe,CAAC,CAAC,GAAG,SAAS,IAAK,CAAC,SAAS,8BAA8B,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAAC,GACtH,CAAC,SAAS,6BAA6B,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAAC,GAClF,CAAC,SAAS,iBAAiB,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,GACzC,CAAC,SAAS,+BAA+B,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAAC,GACpF,CAAC,SAAS,yBAAyB,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;AAS3F,aAAK,kBAAkB,GAAG,KAAK,GAAC,MAAM,GAAC,KAAK,CAAC;AAE7C,UAAU,gBAAgB;IACtB,SAAS,EAAE,kBAAkB,CAAC;IAC9B,KAAK,EAAE,SAAS,EAAE,CAAC;CACtB;AAED,oBAAY,SAAS,CAAC,CAAC,GAAG,SAAS,IAAI,eAAe,CAAC,CAAC,CAAC,GAAG,gBAAgB,GAAG,OAAO,CAAC;AAEvF,wBAAgB,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,GAAE,OAAe,GAAG,OAAO,CAexG"}
|
@@ -0,0 +1,95 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.checkCondition = void 0;
|
4
|
+
const lodash_1 = require("lodash");
|
5
|
+
function checkCondition(object, condition, defaultValue = false) {
|
6
|
+
if (typeof condition === 'boolean')
|
7
|
+
return condition;
|
8
|
+
// as we already checked for boolean, we can safely return defaultValue if condition is falsy
|
9
|
+
if (!condition)
|
10
|
+
return defaultValue;
|
11
|
+
if (Array.isArray(condition))
|
12
|
+
return _checkCondition(object, condition);
|
13
|
+
switch (condition.matchType) {
|
14
|
+
case 'none':
|
15
|
+
return !lodash_1.some(condition.rules, condition => checkCondition(object, condition));
|
16
|
+
case 'any':
|
17
|
+
return lodash_1.some(condition.rules, condition => checkCondition(object, condition));
|
18
|
+
case 'all':
|
19
|
+
default:
|
20
|
+
return lodash_1.every(condition.rules, condition => checkCondition(object, condition));
|
21
|
+
}
|
22
|
+
}
|
23
|
+
exports.checkCondition = checkCondition;
|
24
|
+
function checkConditionWithSingleValue([currentValue, predicate, comparAgainstValue]) {
|
25
|
+
switch (predicate) {
|
26
|
+
case '=':
|
27
|
+
case 'isEqualTo':
|
28
|
+
return currentValue == comparAgainstValue;
|
29
|
+
case '!=':
|
30
|
+
case 'isNotEqualTo':
|
31
|
+
return currentValue != comparAgainstValue;
|
32
|
+
case '>':
|
33
|
+
case 'isGreaterThan':
|
34
|
+
return currentValue > comparAgainstValue;
|
35
|
+
case '<':
|
36
|
+
case 'isLessThan':
|
37
|
+
return currentValue < comparAgainstValue;
|
38
|
+
case '>=':
|
39
|
+
case 'isGreaterThanOrEqualTo':
|
40
|
+
return currentValue >= comparAgainstValue;
|
41
|
+
case '<=':
|
42
|
+
case 'isLessThanOrEqualTo':
|
43
|
+
return currentValue <= comparAgainstValue;
|
44
|
+
case 'isBetween':
|
45
|
+
return currentValue >= comparAgainstValue?.[0] && currentValue <= comparAgainstValue?.[1];
|
46
|
+
case 'isNotBetween':
|
47
|
+
return currentValue < comparAgainstValue?.[0] || currentValue > comparAgainstValue?.[1];
|
48
|
+
case 'startsWith':
|
49
|
+
return typeof currentValue === 'string' && currentValue?.startsWith?.(comparAgainstValue);
|
50
|
+
case 'endsWith':
|
51
|
+
return typeof currentValue === 'string' && lodash_1.endsWith(currentValue, comparAgainstValue);
|
52
|
+
case 'contains':
|
53
|
+
return typeof currentValue === 'string' && lodash_1.includes(currentValue, comparAgainstValue);
|
54
|
+
case 'doesNotContain':
|
55
|
+
return typeof currentValue === 'string' && !lodash_1.includes(currentValue, comparAgainstValue);
|
56
|
+
case 'containsSomeOf':
|
57
|
+
return Array.isArray(comparAgainstValue) && comparAgainstValue.some((item) => lodash_1.includes(currentValue, item));
|
58
|
+
case 'containsNoneOf':
|
59
|
+
return Array.isArray(comparAgainstValue) && !comparAgainstValue.some((item) => lodash_1.includes(currentValue, item));
|
60
|
+
case 'containsAllOf':
|
61
|
+
return Array.isArray(comparAgainstValue) && comparAgainstValue.every((item) => lodash_1.includes(currentValue, item));
|
62
|
+
case 'isOneOf':
|
63
|
+
case 'isIn':
|
64
|
+
return Array.isArray(comparAgainstValue) && lodash_1.includes(comparAgainstValue, currentValue);
|
65
|
+
case 'isNotOneOf':
|
66
|
+
case 'isNotIn':
|
67
|
+
return Array.isArray(comparAgainstValue) && !lodash_1.includes(comparAgainstValue, currentValue);
|
68
|
+
case 'isEmpty':
|
69
|
+
return lodash_1.isEmpty(currentValue);
|
70
|
+
case 'isNotEmpty':
|
71
|
+
return !lodash_1.isEmpty(currentValue);
|
72
|
+
case 'isTruthy':
|
73
|
+
return !!currentValue;
|
74
|
+
case 'isFalsy':
|
75
|
+
return !currentValue;
|
76
|
+
default:
|
77
|
+
return false;
|
78
|
+
}
|
79
|
+
}
|
80
|
+
const valueAccessors = {};
|
81
|
+
function getValueAccessor(path) {
|
82
|
+
let accessor = valueAccessors[path];
|
83
|
+
if (accessor)
|
84
|
+
return accessor;
|
85
|
+
const keys = lodash_1.toPath(path);
|
86
|
+
accessor = new Function('object', `return object?.${keys.map(key => `['${key}']`).join('?.')}`);
|
87
|
+
valueAccessors[path] = accessor;
|
88
|
+
return accessor;
|
89
|
+
}
|
90
|
+
function _checkCondition(object, condition) {
|
91
|
+
const [key, predicate, value] = condition;
|
92
|
+
const currentValue = getValueAccessor(key)(object);
|
93
|
+
return checkConditionWithSingleValue([currentValue, predicate, value]);
|
94
|
+
}
|
95
|
+
//# sourceMappingURL=conditionHelper.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"conditionHelper.js","sourceRoot":"","sources":["../../../../src/helpers/conditionHelper.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"conditionHelper.test.d.ts","sourceRoot":"","sources":["../../../../src/helpers/conditionHelper.test.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1,171 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
const chai_1 = require("chai");
|
4
|
+
const conditionHelper_1 = require("./conditionHelper");
|
5
|
+
describe('conditionHelper', () => {
|
6
|
+
describe('Simple Conditions', () => {
|
7
|
+
it('should handle boolean conditions', () => {
|
8
|
+
chai_1.expect(conditionHelper_1.checkCondition({}, true)).to.eq(true);
|
9
|
+
chai_1.expect(conditionHelper_1.checkCondition({}, false)).to.eq(false);
|
10
|
+
});
|
11
|
+
it('should handle equality conditions', () => {
|
12
|
+
const object = { name: 'John', age: 30 };
|
13
|
+
chai_1.expect(conditionHelper_1.checkCondition(object, ['name', '=', 'John'])).to.eq(true);
|
14
|
+
chai_1.expect(conditionHelper_1.checkCondition(object, ['age', '=', 30])).to.eq(true);
|
15
|
+
chai_1.expect(conditionHelper_1.checkCondition(object, ['name', '!=', 'Jane'])).to.eq(true);
|
16
|
+
chai_1.expect(conditionHelper_1.checkCondition(object, ['age', '!=', 25])).to.eq(true);
|
17
|
+
});
|
18
|
+
it('should handle comparison conditions', () => {
|
19
|
+
const object = { age: 30, score: 85 };
|
20
|
+
chai_1.expect(conditionHelper_1.checkCondition(object, ['age', '>', 25])).to.eq(true);
|
21
|
+
chai_1.expect(conditionHelper_1.checkCondition(object, ['age', '<', 35])).to.eq(true);
|
22
|
+
chai_1.expect(conditionHelper_1.checkCondition(object, ['score', '>', 80])).to.eq(true);
|
23
|
+
});
|
24
|
+
it('should handle string conditions', () => {
|
25
|
+
const object = { name: 'John Doe', email: 'john@example.com' };
|
26
|
+
chai_1.expect(conditionHelper_1.checkCondition(object, ['name', 'startsWith', 'John'])).to.eq(true);
|
27
|
+
chai_1.expect(conditionHelper_1.checkCondition(object, ['email', 'endsWith', '.com'])).to.eq(true);
|
28
|
+
chai_1.expect(conditionHelper_1.checkCondition(object, ['name', 'contains', 'Doe'])).to.eq(true);
|
29
|
+
chai_1.expect(conditionHelper_1.checkCondition(object, ['name', 'doesNotContain', 'Smith'])).to.eq(true);
|
30
|
+
});
|
31
|
+
it('should handle array conditions', () => {
|
32
|
+
const object = { tags: ['react', 'typescript', 'node'], roles: ['admin', 'user'] };
|
33
|
+
chai_1.expect(conditionHelper_1.checkCondition(object, ['tags', 'containsSomeOf', ['react', 'angular']]), 'tags contains some of react and angular').to.eq(true);
|
34
|
+
chai_1.expect(conditionHelper_1.checkCondition(object, ['roles', 'containsNoneOf', ['guest']]), 'roles contains none of guest').to.eq(true);
|
35
|
+
chai_1.expect(conditionHelper_1.checkCondition(object, ['tags', 'containsAllOf', ['react', 'typescript']]), 'tags contains all of react and typescript').to.eq(true);
|
36
|
+
chai_1.expect(conditionHelper_1.checkCondition(object, ['roles', 'containsNoneOf', ['superuser']]), 'roles contains none of superuser').to.eq(true);
|
37
|
+
});
|
38
|
+
it('should handle empty checks', () => {
|
39
|
+
const object = { name: '', tags: [], description: 'Some text' };
|
40
|
+
chai_1.expect(conditionHelper_1.checkCondition(object, ['name', 'isEmpty',])).to.eq(true);
|
41
|
+
chai_1.expect(conditionHelper_1.checkCondition(object, ['tags', 'isEmpty'])).to.eq(true);
|
42
|
+
chai_1.expect(conditionHelper_1.checkCondition(object, ['description', 'isNotEmpty'])).to.eq(true);
|
43
|
+
});
|
44
|
+
it('should handle truthy/falsy checks', () => {
|
45
|
+
const object = { active: true, count: 0, name: '', value: null };
|
46
|
+
chai_1.expect(conditionHelper_1.checkCondition(object, ['active', 'isTruthy'])).to.eq(true);
|
47
|
+
chai_1.expect(conditionHelper_1.checkCondition(object, ['count', 'isFalsy'])).to.eq(true);
|
48
|
+
chai_1.expect(conditionHelper_1.checkCondition(object, ['name', 'isFalsy'])).to.eq(true);
|
49
|
+
chai_1.expect(conditionHelper_1.checkCondition(object, ['value', 'isFalsy'])).to.eq(true);
|
50
|
+
});
|
51
|
+
});
|
52
|
+
describe('Complex Conditions', () => {
|
53
|
+
it('should handle "all" match type', () => {
|
54
|
+
const object = { name: 'John', age: 30, active: true };
|
55
|
+
const condition = {
|
56
|
+
matchType: 'all',
|
57
|
+
rules: [
|
58
|
+
['name', '=', 'John'],
|
59
|
+
['age', '>', 25],
|
60
|
+
['active', 'isTruthy']
|
61
|
+
]
|
62
|
+
};
|
63
|
+
chai_1.expect(conditionHelper_1.checkCondition(object, condition)).to.eq(true);
|
64
|
+
});
|
65
|
+
it('should handle "any" match type', () => {
|
66
|
+
const object = { name: 'John', age: 20 };
|
67
|
+
const condition = {
|
68
|
+
matchType: 'any',
|
69
|
+
rules: [
|
70
|
+
['name', '=', 'Jane'],
|
71
|
+
['age', '>', 25],
|
72
|
+
['name', '=', 'John']
|
73
|
+
]
|
74
|
+
};
|
75
|
+
chai_1.expect(conditionHelper_1.checkCondition(object, condition)).to.eq(true);
|
76
|
+
});
|
77
|
+
it('should handle "none" match type', () => {
|
78
|
+
const object = { name: 'John', age: 20 };
|
79
|
+
const condition = {
|
80
|
+
matchType: 'none',
|
81
|
+
rules: [
|
82
|
+
['name', '=', 'Jane'],
|
83
|
+
['age', '>', 25]
|
84
|
+
]
|
85
|
+
};
|
86
|
+
chai_1.expect(conditionHelper_1.checkCondition(object, condition)).to.eq(true);
|
87
|
+
});
|
88
|
+
it('should handle nested complex conditions', () => {
|
89
|
+
const object = { name: 'John', age: 30, tags: ['react', 'typescript'] };
|
90
|
+
const condition = {
|
91
|
+
matchType: 'all',
|
92
|
+
rules: [
|
93
|
+
['name', '=', 'John'],
|
94
|
+
{
|
95
|
+
matchType: 'any',
|
96
|
+
rules: [
|
97
|
+
['age', '>', 35],
|
98
|
+
['tags', 'containsAllOf', ['react', 'typescript']]
|
99
|
+
]
|
100
|
+
}
|
101
|
+
]
|
102
|
+
};
|
103
|
+
chai_1.expect(conditionHelper_1.checkCondition(object, condition)).to.eq(true);
|
104
|
+
});
|
105
|
+
});
|
106
|
+
describe('Edge Cases', () => {
|
107
|
+
it('should handle undefined and null values', () => {
|
108
|
+
const object = { name: undefined, age: null };
|
109
|
+
chai_1.expect(conditionHelper_1.checkCondition(object, ['name', 'isFalsy'])).to.eq(true);
|
110
|
+
chai_1.expect(conditionHelper_1.checkCondition(object, ['age', 'isFalsy'])).to.eq(true);
|
111
|
+
});
|
112
|
+
it('should handle nested object paths', () => {
|
113
|
+
const object = { user: { profile: { name: 'John' } } };
|
114
|
+
chai_1.expect(conditionHelper_1.checkCondition(object, ['user.profile.name', '=', 'John'])).to.eq(true);
|
115
|
+
});
|
116
|
+
it('should handle non-existent paths', () => {
|
117
|
+
const object = { name: 'John' };
|
118
|
+
chai_1.expect(conditionHelper_1.checkCondition(object, ['age', '=', 30])).to.eq(false);
|
119
|
+
chai_1.expect(conditionHelper_1.checkCondition(object, ['user.profile.name', '=', 'John'])).to.eq(false);
|
120
|
+
});
|
121
|
+
it('should handle mixed type comparisons', () => {
|
122
|
+
const object = { value: 42, text: '42' };
|
123
|
+
chai_1.expect(conditionHelper_1.checkCondition(object, ['value', '=', 42])).to.eq(true);
|
124
|
+
chai_1.expect(conditionHelper_1.checkCondition(object, ['text', '=', '42'])).to.eq(true);
|
125
|
+
chai_1.expect(conditionHelper_1.checkCondition(object, ['value', '!=', '42'])).to.eq(false);
|
126
|
+
});
|
127
|
+
it('should handle complex nested conditions with multiple levels', () => {
|
128
|
+
const object = {
|
129
|
+
user: {
|
130
|
+
profile: {
|
131
|
+
name: 'John',
|
132
|
+
age: 30,
|
133
|
+
tags: ['admin', 'user']
|
134
|
+
}
|
135
|
+
}
|
136
|
+
};
|
137
|
+
const condition = {
|
138
|
+
matchType: 'all',
|
139
|
+
rules: [
|
140
|
+
['user.profile.name', '=', 'John'],
|
141
|
+
{
|
142
|
+
matchType: 'any',
|
143
|
+
rules: [
|
144
|
+
['user.profile.age', '>', 25],
|
145
|
+
{
|
146
|
+
matchType: 'all',
|
147
|
+
rules: [
|
148
|
+
['user.profile.tags', 'containsAllOf', ['admin']],
|
149
|
+
['user.profile.tags', 'containsNoneOf', ['guest']]
|
150
|
+
]
|
151
|
+
}
|
152
|
+
]
|
153
|
+
}
|
154
|
+
]
|
155
|
+
};
|
156
|
+
chai_1.expect(conditionHelper_1.checkCondition(object, condition)).to.eq(true);
|
157
|
+
});
|
158
|
+
it('should handle empty arrays and strings in array conditions', () => {
|
159
|
+
const object = { tags: [], name: '' };
|
160
|
+
chai_1.expect(conditionHelper_1.checkCondition(object, ['tags', 'containsAllOf', []])).to.eq(true);
|
161
|
+
chai_1.expect(conditionHelper_1.checkCondition(object, ['tags', 'containsNoneOf', []])).to.eq(true);
|
162
|
+
chai_1.expect(conditionHelper_1.checkCondition(object, ['name', 'containsAllOf', ['']])).to.eq(true);
|
163
|
+
});
|
164
|
+
it('should handle invalid predicate types gracefully', () => {
|
165
|
+
const object = { name: 'John' };
|
166
|
+
// @ts-ignore - Testing invalid predicate
|
167
|
+
chai_1.expect(conditionHelper_1.checkCondition(object, ['name', 'invalidPredicate', 'John'])).to.eq(false);
|
168
|
+
});
|
169
|
+
});
|
170
|
+
});
|
171
|
+
//# sourceMappingURL=conditionHelper.test.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"conditionHelper.test.js","sourceRoot":"","sources":["../../../../src/helpers/conditionHelper.test.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/helpers/index.tsx"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC"}
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/helpers/index.tsx"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC"}
|
@@ -23,4 +23,5 @@ __exportStar(require("./remoteAction"), exports);
|
|
23
23
|
__exportStar(require("./pathHelper"), exports);
|
24
24
|
__exportStar(require("./iconHelper"), exports);
|
25
25
|
__exportStar(require("./i18ninstance"), exports);
|
26
|
+
__exportStar(require("./conditionHelper"), exports);
|
26
27
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/helpers/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8DAA4C;AAC5C,qDAAmC;AACnC,8CAA4B;AAC5B,iDAA+B;AAC/B,iDAA+B;AAC/B,2CAAyB;AACzB,gDAA8B;AAC9B,gDAA8B;AAC9B,8CAA4B;AAC5B,iDAA+B;AAC/B,+CAA6B;AAC7B,+CAA6B;AAC7B,iDAA+B"}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/helpers/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8DAA4C;AAC5C,qDAAmC;AACnC,8CAA4B;AAC5B,iDAA+B;AAC/B,iDAA+B;AAC/B,2CAAyB;AACzB,gDAA8B;AAC9B,gDAA8B;AAC9B,8CAA4B;AAC5B,iDAA+B;AAC/B,+CAA6B;AAC7B,+CAA6B;AAC7B,iDAA+B;AAC/B,oDAAkC"}
|
@@ -31,7 +31,7 @@ const useDataSource = (source, options) => {
|
|
31
31
|
const dataSourceOptions = react_1.useMemo(() => {
|
32
32
|
const paramNames = lodash_1.sortedUniq(lodash_1.map(lodash_1.get(dataSource, 'configurationOptions'), 'name'));
|
33
33
|
const templatedValues = lodash_1.reduce(paramNames, (acc, paramName) => {
|
34
|
-
let paramValue =
|
34
|
+
let paramValue = _dataSourceOptions[paramName];
|
35
35
|
let paramValueTemplate = _dataSourceOptions[`${paramName}Template`];
|
36
36
|
if (paramValueTemplate) {
|
37
37
|
if (typeof paramValueTemplate == 'string') {
|
@@ -45,8 +45,8 @@ const useDataSource = (source, options) => {
|
|
45
45
|
catch (e) { }
|
46
46
|
}
|
47
47
|
}
|
48
|
-
else {
|
49
|
-
paramValue = template(
|
48
|
+
else if (paramValue) {
|
49
|
+
paramValue = template(paramValue);
|
50
50
|
}
|
51
51
|
if (paramValue && _dataSourceOptions[`${paramName}ParseJson`]) {
|
52
52
|
try {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useDataSource.js","sourceRoot":"","sources":["../../../../src/hooks/useDataSource.tsx"],"names":[],"mappings":";;;;;;AAAA,mCAAqI;AACrI,iCAAwD;AACxD,6CAAuD;AACvD,wCAAwC;AACxC,0CAAmK;AACnK,yCAAsC;AACtC,gEAAwC;AACxC,sEAA8C;AAgB9C,MAAM,wBAAwB,GAAgC,EAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAC,CAAA;AAErF,MAAM,aAAa,GAAG,CAAE,MAAkC,EAAG,OAA2B,EAAQ,EAAE;IACrG,MAAM,QAAQ,GAAG,yBAAW,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,qBAAW,EAAE,CAAC;IAC/B,MAAM,KAAK,GAAG,mBAAQ,EAAE,CAAC;IACzB,MAAM,SAAS,GAAG,wBAAc,EAAE,CAAC;IAEnC,MAAM,EAAC,cAAc,EAAE,OAAO,EAAE,kBAAkB,EAAC,GAAG,eAAO,CAAC,GAAE,EAAE;QAC9D,IAAG,OAAO,MAAM,KAAK,QAAQ,EAAC;YAC1B,OAAO,EAAC,cAAc,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,iBAAQ,CAAC,aAAI,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,wBAAwB,CAAC,EAAE,CAAC;SAC9G;aAAK;YACF,OAAO,EAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAQ,CAAC,OAAO,EAAE,wBAAwB,CAAC,EAAC,CAAC;SACzF;IACL,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAEtB,MAAM,UAAU,GAAgB,yBAAW,CAAC,KAAK,CAAA,EAAE,CAAA,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC;IAEjG,yEAAyE;IACzE,MAAM,iBAAiB,GAAsB,eAAO,CAAC,GAAE,EAAE;QACrD,MAAM,UAAU,GAAG,mBAAU,CAAC,YAAG,CAAC,YAAG,CAAC,UAAU,EAAE,sBAAsB,CAAC,EAAE,MAAM,CAAC,CAAC,CAAA;QACnF,MAAM,eAAe,GAAG,eAAM,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,SAAS,EAAC,EAAE;YACzD,IAAI,UAAU,GAAG,
|
1
|
+
{"version":3,"file":"useDataSource.js","sourceRoot":"","sources":["../../../../src/hooks/useDataSource.tsx"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,19 @@
|
|
1
|
+
declare type PrimitiveValue = string | number | boolean | null | undefined;
|
2
|
+
declare type PredicateForSingleAgainstArray = 'isOneOf' | 'isIn' | 'isNotOneOf' | 'isNotIn';
|
3
|
+
declare type PredicateForArrayAgainstArray = 'containsSomeOf' | 'containsNoneOf' | 'containsAllOf';
|
4
|
+
declare type PredicateForUnary = 'isEmpty' | 'isNotEmpty' | 'isTruthy' | 'isFalsy';
|
5
|
+
declare type PredicateForStringAgainstString = 'startsWith' | 'endsWith' | 'contains' | 'doesNotContain';
|
6
|
+
declare type PredicateForNumberRange = 'isBetween' | 'isNotBetween';
|
7
|
+
declare type PredicateForAnyAgainstAny = '=' | 'isEqualTo' | '!=' | 'isNotEqualTo' | '<' | 'isLessThan' | '>' | 'isGreaterThan' | '>=' | 'isGreaterThanOrEqualTo' | '<=' | 'isLessThanOrEqualTo';
|
8
|
+
declare type Predicate = PredicateForSingleAgainstArray | PredicateForArrayAgainstArray | PredicateForUnary | PredicateForStringAgainstString | PredicateForNumberRange | PredicateForAnyAgainstAny;
|
9
|
+
declare type CompareValueForPredicate<T = Predicate> = T extends PredicateForSingleAgainstArray ? PrimitiveValue[] : T extends PredicateForArrayAgainstArray ? PrimitiveValue[] : T extends PredicateForUnary ? void : T extends PredicateForStringAgainstString ? string : T extends PredicateForNumberRange ? [number, number] : T extends PredicateForAnyAgainstAny ? PrimitiveValue : never;
|
10
|
+
declare type SimpleCondition<T = Predicate> = T extends PredicateForSingleAgainstArray ? [string, T, CompareValueForPredicate<T>] : T extends PredicateForArrayAgainstArray ? [string, T, CompareValueForPredicate<T>] : T extends PredicateForUnary ? [string, T] : T extends PredicateForStringAgainstString ? [string, T, CompareValueForPredicate<T>] : T extends PredicateForAnyAgainstAny ? [string, T, CompareValueForPredicate<T>] : never;
|
11
|
+
declare type ConditionMatchType = 'all' | 'none' | 'any';
|
12
|
+
interface ComplexCondition {
|
13
|
+
matchType: ConditionMatchType;
|
14
|
+
rules: Condition[];
|
15
|
+
}
|
16
|
+
export declare type Condition<T = Predicate> = SimpleCondition<T> | ComplexCondition | boolean;
|
17
|
+
export declare function checkCondition(object: any, condition: Condition, defaultValue?: boolean): boolean;
|
18
|
+
export {};
|
19
|
+
//# sourceMappingURL=conditionHelper.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"conditionHelper.d.ts","sourceRoot":"","sources":["../../../../src/helpers/conditionHelper.ts"],"names":[],"mappings":"AAEA,aAAK,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;AAEnE,aAAK,8BAA8B,GAAG,SAAS,GAAC,MAAM,GAAC,YAAY,GAAC,SAAS,CAAC;AAC9E,aAAK,6BAA6B,GAAI,gBAAgB,GAAC,gBAAgB,GAAC,eAAe,CAAC;AACxF,aAAK,iBAAiB,GAAG,SAAS,GAAC,YAAY,GAAC,UAAU,GAAC,SAAS,CAAC;AACrE,aAAK,+BAA+B,GAAG,YAAY,GAAC,UAAU,GAAC,UAAU,GAAC,gBAAgB,CAAC;AAC3F,aAAK,uBAAuB,GAAG,WAAW,GAAC,cAAc,CAAC;AAC1D,aAAK,yBAAyB,GAAG,GAAG,GAAC,WAAW,GAAC,IAAI,GAAC,cAAc,GAAC,GAAG,GAAC,YAAY,GAAC,GAAG,GAAC,eAAe,GAAC,IAAI,GAAC,wBAAwB,GAAC,IAAI,GAAC,qBAAqB,CAAC;AACnK,aAAK,SAAS,GAAG,8BAA8B,GAAG,6BAA6B,GAAG,iBAAiB,GAAG,+BAA+B,GAAG,uBAAuB,GAAG,yBAAyB,CAAC;AAE5L,aAAK,wBAAwB,CAAC,CAAC,GAAG,SAAS,IAAI,CAAC,SAAS,8BAA8B,GAAG,cAAc,EAAE,GACtG,CAAC,SAAS,6BAA6B,GAAG,cAAc,EAAE,GAC1D,CAAC,SAAS,iBAAiB,GAAG,IAAI,GAClC,CAAC,SAAS,+BAA+B,GAAG,MAAM,GAClD,CAAC,SAAS,uBAAuB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GACpD,CAAC,SAAS,yBAAyB,GAAG,cAAc,GAAG,KAAK,CAAC;AASjE,aAAK,eAAe,CAAC,CAAC,GAAG,SAAS,IAAK,CAAC,SAAS,8BAA8B,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAAC,GACtH,CAAC,SAAS,6BAA6B,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAAC,GAClF,CAAC,SAAS,iBAAiB,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,GACzC,CAAC,SAAS,+BAA+B,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAAC,GACpF,CAAC,SAAS,yBAAyB,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;AAS3F,aAAK,kBAAkB,GAAG,KAAK,GAAC,MAAM,GAAC,KAAK,CAAC;AAE7C,UAAU,gBAAgB;IACtB,SAAS,EAAE,kBAAkB,CAAC;IAC9B,KAAK,EAAE,SAAS,EAAE,CAAC;CACtB;AAED,oBAAY,SAAS,CAAC,CAAC,GAAG,SAAS,IAAI,eAAe,CAAC,CAAC,CAAC,GAAG,gBAAgB,GAAG,OAAO,CAAC;AAEvF,wBAAgB,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,GAAE,OAAe,GAAG,OAAO,CAexG"}
|
@@ -0,0 +1,91 @@
|
|
1
|
+
import { endsWith, every, includes, isEmpty, some, toPath } from 'lodash';
|
2
|
+
export function checkCondition(object, condition, defaultValue = false) {
|
3
|
+
if (typeof condition === 'boolean')
|
4
|
+
return condition;
|
5
|
+
// as we already checked for boolean, we can safely return defaultValue if condition is falsy
|
6
|
+
if (!condition)
|
7
|
+
return defaultValue;
|
8
|
+
if (Array.isArray(condition))
|
9
|
+
return _checkCondition(object, condition);
|
10
|
+
switch (condition.matchType) {
|
11
|
+
case 'none':
|
12
|
+
return !some(condition.rules, condition => checkCondition(object, condition));
|
13
|
+
case 'any':
|
14
|
+
return some(condition.rules, condition => checkCondition(object, condition));
|
15
|
+
case 'all':
|
16
|
+
default:
|
17
|
+
return every(condition.rules, condition => checkCondition(object, condition));
|
18
|
+
}
|
19
|
+
}
|
20
|
+
function checkConditionWithSingleValue([currentValue, predicate, comparAgainstValue]) {
|
21
|
+
switch (predicate) {
|
22
|
+
case '=':
|
23
|
+
case 'isEqualTo':
|
24
|
+
return currentValue == comparAgainstValue;
|
25
|
+
case '!=':
|
26
|
+
case 'isNotEqualTo':
|
27
|
+
return currentValue != comparAgainstValue;
|
28
|
+
case '>':
|
29
|
+
case 'isGreaterThan':
|
30
|
+
return currentValue > comparAgainstValue;
|
31
|
+
case '<':
|
32
|
+
case 'isLessThan':
|
33
|
+
return currentValue < comparAgainstValue;
|
34
|
+
case '>=':
|
35
|
+
case 'isGreaterThanOrEqualTo':
|
36
|
+
return currentValue >= comparAgainstValue;
|
37
|
+
case '<=':
|
38
|
+
case 'isLessThanOrEqualTo':
|
39
|
+
return currentValue <= comparAgainstValue;
|
40
|
+
case 'isBetween':
|
41
|
+
return currentValue >= comparAgainstValue?.[0] && currentValue <= comparAgainstValue?.[1];
|
42
|
+
case 'isNotBetween':
|
43
|
+
return currentValue < comparAgainstValue?.[0] || currentValue > comparAgainstValue?.[1];
|
44
|
+
case 'startsWith':
|
45
|
+
return typeof currentValue === 'string' && currentValue?.startsWith?.(comparAgainstValue);
|
46
|
+
case 'endsWith':
|
47
|
+
return typeof currentValue === 'string' && endsWith(currentValue, comparAgainstValue);
|
48
|
+
case 'contains':
|
49
|
+
return typeof currentValue === 'string' && includes(currentValue, comparAgainstValue);
|
50
|
+
case 'doesNotContain':
|
51
|
+
return typeof currentValue === 'string' && !includes(currentValue, comparAgainstValue);
|
52
|
+
case 'containsSomeOf':
|
53
|
+
return Array.isArray(comparAgainstValue) && comparAgainstValue.some((item) => includes(currentValue, item));
|
54
|
+
case 'containsNoneOf':
|
55
|
+
return Array.isArray(comparAgainstValue) && !comparAgainstValue.some((item) => includes(currentValue, item));
|
56
|
+
case 'containsAllOf':
|
57
|
+
return Array.isArray(comparAgainstValue) && comparAgainstValue.every((item) => includes(currentValue, item));
|
58
|
+
case 'isOneOf':
|
59
|
+
case 'isIn':
|
60
|
+
return Array.isArray(comparAgainstValue) && includes(comparAgainstValue, currentValue);
|
61
|
+
case 'isNotOneOf':
|
62
|
+
case 'isNotIn':
|
63
|
+
return Array.isArray(comparAgainstValue) && !includes(comparAgainstValue, currentValue);
|
64
|
+
case 'isEmpty':
|
65
|
+
return isEmpty(currentValue);
|
66
|
+
case 'isNotEmpty':
|
67
|
+
return !isEmpty(currentValue);
|
68
|
+
case 'isTruthy':
|
69
|
+
return !!currentValue;
|
70
|
+
case 'isFalsy':
|
71
|
+
return !currentValue;
|
72
|
+
default:
|
73
|
+
return false;
|
74
|
+
}
|
75
|
+
}
|
76
|
+
const valueAccessors = {};
|
77
|
+
function getValueAccessor(path) {
|
78
|
+
let accessor = valueAccessors[path];
|
79
|
+
if (accessor)
|
80
|
+
return accessor;
|
81
|
+
const keys = toPath(path);
|
82
|
+
accessor = new Function('object', `return object?.${keys.map(key => `['${key}']`).join('?.')}`);
|
83
|
+
valueAccessors[path] = accessor;
|
84
|
+
return accessor;
|
85
|
+
}
|
86
|
+
function _checkCondition(object, condition) {
|
87
|
+
const [key, predicate, value] = condition;
|
88
|
+
const currentValue = getValueAccessor(key)(object);
|
89
|
+
return checkConditionWithSingleValue([currentValue, predicate, value]);
|
90
|
+
}
|
91
|
+
//# sourceMappingURL=conditionHelper.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"conditionHelper.js","sourceRoot":"","sources":["../../../../src/helpers/conditionHelper.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"conditionHelper.test.d.ts","sourceRoot":"","sources":["../../../../src/helpers/conditionHelper.test.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1,169 @@
|
|
1
|
+
import { expect } from 'chai';
|
2
|
+
import { checkCondition } from './conditionHelper';
|
3
|
+
describe('conditionHelper', () => {
|
4
|
+
describe('Simple Conditions', () => {
|
5
|
+
it('should handle boolean conditions', () => {
|
6
|
+
expect(checkCondition({}, true)).to.eq(true);
|
7
|
+
expect(checkCondition({}, false)).to.eq(false);
|
8
|
+
});
|
9
|
+
it('should handle equality conditions', () => {
|
10
|
+
const object = { name: 'John', age: 30 };
|
11
|
+
expect(checkCondition(object, ['name', '=', 'John'])).to.eq(true);
|
12
|
+
expect(checkCondition(object, ['age', '=', 30])).to.eq(true);
|
13
|
+
expect(checkCondition(object, ['name', '!=', 'Jane'])).to.eq(true);
|
14
|
+
expect(checkCondition(object, ['age', '!=', 25])).to.eq(true);
|
15
|
+
});
|
16
|
+
it('should handle comparison conditions', () => {
|
17
|
+
const object = { age: 30, score: 85 };
|
18
|
+
expect(checkCondition(object, ['age', '>', 25])).to.eq(true);
|
19
|
+
expect(checkCondition(object, ['age', '<', 35])).to.eq(true);
|
20
|
+
expect(checkCondition(object, ['score', '>', 80])).to.eq(true);
|
21
|
+
});
|
22
|
+
it('should handle string conditions', () => {
|
23
|
+
const object = { name: 'John Doe', email: 'john@example.com' };
|
24
|
+
expect(checkCondition(object, ['name', 'startsWith', 'John'])).to.eq(true);
|
25
|
+
expect(checkCondition(object, ['email', 'endsWith', '.com'])).to.eq(true);
|
26
|
+
expect(checkCondition(object, ['name', 'contains', 'Doe'])).to.eq(true);
|
27
|
+
expect(checkCondition(object, ['name', 'doesNotContain', 'Smith'])).to.eq(true);
|
28
|
+
});
|
29
|
+
it('should handle array conditions', () => {
|
30
|
+
const object = { tags: ['react', 'typescript', 'node'], roles: ['admin', 'user'] };
|
31
|
+
expect(checkCondition(object, ['tags', 'containsSomeOf', ['react', 'angular']]), 'tags contains some of react and angular').to.eq(true);
|
32
|
+
expect(checkCondition(object, ['roles', 'containsNoneOf', ['guest']]), 'roles contains none of guest').to.eq(true);
|
33
|
+
expect(checkCondition(object, ['tags', 'containsAllOf', ['react', 'typescript']]), 'tags contains all of react and typescript').to.eq(true);
|
34
|
+
expect(checkCondition(object, ['roles', 'containsNoneOf', ['superuser']]), 'roles contains none of superuser').to.eq(true);
|
35
|
+
});
|
36
|
+
it('should handle empty checks', () => {
|
37
|
+
const object = { name: '', tags: [], description: 'Some text' };
|
38
|
+
expect(checkCondition(object, ['name', 'isEmpty',])).to.eq(true);
|
39
|
+
expect(checkCondition(object, ['tags', 'isEmpty'])).to.eq(true);
|
40
|
+
expect(checkCondition(object, ['description', 'isNotEmpty'])).to.eq(true);
|
41
|
+
});
|
42
|
+
it('should handle truthy/falsy checks', () => {
|
43
|
+
const object = { active: true, count: 0, name: '', value: null };
|
44
|
+
expect(checkCondition(object, ['active', 'isTruthy'])).to.eq(true);
|
45
|
+
expect(checkCondition(object, ['count', 'isFalsy'])).to.eq(true);
|
46
|
+
expect(checkCondition(object, ['name', 'isFalsy'])).to.eq(true);
|
47
|
+
expect(checkCondition(object, ['value', 'isFalsy'])).to.eq(true);
|
48
|
+
});
|
49
|
+
});
|
50
|
+
describe('Complex Conditions', () => {
|
51
|
+
it('should handle "all" match type', () => {
|
52
|
+
const object = { name: 'John', age: 30, active: true };
|
53
|
+
const condition = {
|
54
|
+
matchType: 'all',
|
55
|
+
rules: [
|
56
|
+
['name', '=', 'John'],
|
57
|
+
['age', '>', 25],
|
58
|
+
['active', 'isTruthy']
|
59
|
+
]
|
60
|
+
};
|
61
|
+
expect(checkCondition(object, condition)).to.eq(true);
|
62
|
+
});
|
63
|
+
it('should handle "any" match type', () => {
|
64
|
+
const object = { name: 'John', age: 20 };
|
65
|
+
const condition = {
|
66
|
+
matchType: 'any',
|
67
|
+
rules: [
|
68
|
+
['name', '=', 'Jane'],
|
69
|
+
['age', '>', 25],
|
70
|
+
['name', '=', 'John']
|
71
|
+
]
|
72
|
+
};
|
73
|
+
expect(checkCondition(object, condition)).to.eq(true);
|
74
|
+
});
|
75
|
+
it('should handle "none" match type', () => {
|
76
|
+
const object = { name: 'John', age: 20 };
|
77
|
+
const condition = {
|
78
|
+
matchType: 'none',
|
79
|
+
rules: [
|
80
|
+
['name', '=', 'Jane'],
|
81
|
+
['age', '>', 25]
|
82
|
+
]
|
83
|
+
};
|
84
|
+
expect(checkCondition(object, condition)).to.eq(true);
|
85
|
+
});
|
86
|
+
it('should handle nested complex conditions', () => {
|
87
|
+
const object = { name: 'John', age: 30, tags: ['react', 'typescript'] };
|
88
|
+
const condition = {
|
89
|
+
matchType: 'all',
|
90
|
+
rules: [
|
91
|
+
['name', '=', 'John'],
|
92
|
+
{
|
93
|
+
matchType: 'any',
|
94
|
+
rules: [
|
95
|
+
['age', '>', 35],
|
96
|
+
['tags', 'containsAllOf', ['react', 'typescript']]
|
97
|
+
]
|
98
|
+
}
|
99
|
+
]
|
100
|
+
};
|
101
|
+
expect(checkCondition(object, condition)).to.eq(true);
|
102
|
+
});
|
103
|
+
});
|
104
|
+
describe('Edge Cases', () => {
|
105
|
+
it('should handle undefined and null values', () => {
|
106
|
+
const object = { name: undefined, age: null };
|
107
|
+
expect(checkCondition(object, ['name', 'isFalsy'])).to.eq(true);
|
108
|
+
expect(checkCondition(object, ['age', 'isFalsy'])).to.eq(true);
|
109
|
+
});
|
110
|
+
it('should handle nested object paths', () => {
|
111
|
+
const object = { user: { profile: { name: 'John' } } };
|
112
|
+
expect(checkCondition(object, ['user.profile.name', '=', 'John'])).to.eq(true);
|
113
|
+
});
|
114
|
+
it('should handle non-existent paths', () => {
|
115
|
+
const object = { name: 'John' };
|
116
|
+
expect(checkCondition(object, ['age', '=', 30])).to.eq(false);
|
117
|
+
expect(checkCondition(object, ['user.profile.name', '=', 'John'])).to.eq(false);
|
118
|
+
});
|
119
|
+
it('should handle mixed type comparisons', () => {
|
120
|
+
const object = { value: 42, text: '42' };
|
121
|
+
expect(checkCondition(object, ['value', '=', 42])).to.eq(true);
|
122
|
+
expect(checkCondition(object, ['text', '=', '42'])).to.eq(true);
|
123
|
+
expect(checkCondition(object, ['value', '!=', '42'])).to.eq(false);
|
124
|
+
});
|
125
|
+
it('should handle complex nested conditions with multiple levels', () => {
|
126
|
+
const object = {
|
127
|
+
user: {
|
128
|
+
profile: {
|
129
|
+
name: 'John',
|
130
|
+
age: 30,
|
131
|
+
tags: ['admin', 'user']
|
132
|
+
}
|
133
|
+
}
|
134
|
+
};
|
135
|
+
const condition = {
|
136
|
+
matchType: 'all',
|
137
|
+
rules: [
|
138
|
+
['user.profile.name', '=', 'John'],
|
139
|
+
{
|
140
|
+
matchType: 'any',
|
141
|
+
rules: [
|
142
|
+
['user.profile.age', '>', 25],
|
143
|
+
{
|
144
|
+
matchType: 'all',
|
145
|
+
rules: [
|
146
|
+
['user.profile.tags', 'containsAllOf', ['admin']],
|
147
|
+
['user.profile.tags', 'containsNoneOf', ['guest']]
|
148
|
+
]
|
149
|
+
}
|
150
|
+
]
|
151
|
+
}
|
152
|
+
]
|
153
|
+
};
|
154
|
+
expect(checkCondition(object, condition)).to.eq(true);
|
155
|
+
});
|
156
|
+
it('should handle empty arrays and strings in array conditions', () => {
|
157
|
+
const object = { tags: [], name: '' };
|
158
|
+
expect(checkCondition(object, ['tags', 'containsAllOf', []])).to.eq(true);
|
159
|
+
expect(checkCondition(object, ['tags', 'containsNoneOf', []])).to.eq(true);
|
160
|
+
expect(checkCondition(object, ['name', 'containsAllOf', ['']])).to.eq(true);
|
161
|
+
});
|
162
|
+
it('should handle invalid predicate types gracefully', () => {
|
163
|
+
const object = { name: 'John' };
|
164
|
+
// @ts-ignore - Testing invalid predicate
|
165
|
+
expect(checkCondition(object, ['name', 'invalidPredicate', 'John'])).to.eq(false);
|
166
|
+
});
|
167
|
+
});
|
168
|
+
});
|
169
|
+
//# sourceMappingURL=conditionHelper.test.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"conditionHelper.test.js","sourceRoot":"","sources":["../../../../src/helpers/conditionHelper.test.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/helpers/index.tsx"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC"}
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/helpers/index.tsx"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/helpers/index.tsx"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC"}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/helpers/index.tsx"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC"}
|
@@ -25,7 +25,7 @@ export const useDataSource = (source, options) => {
|
|
25
25
|
const dataSourceOptions = useMemo(() => {
|
26
26
|
const paramNames = sortedUniq(map(get(dataSource, 'configurationOptions'), 'name'));
|
27
27
|
const templatedValues = reduce(paramNames, (acc, paramName) => {
|
28
|
-
let paramValue =
|
28
|
+
let paramValue = _dataSourceOptions[paramName];
|
29
29
|
let paramValueTemplate = _dataSourceOptions[`${paramName}Template`];
|
30
30
|
if (paramValueTemplate) {
|
31
31
|
if (typeof paramValueTemplate == 'string') {
|
@@ -39,8 +39,8 @@ export const useDataSource = (source, options) => {
|
|
39
39
|
catch (e) { }
|
40
40
|
}
|
41
41
|
}
|
42
|
-
else {
|
43
|
-
paramValue = template(
|
42
|
+
else if (paramValue) {
|
43
|
+
paramValue = template(paramValue);
|
44
44
|
}
|
45
45
|
if (paramValue && _dataSourceOptions[`${paramName}ParseJson`]) {
|
46
46
|
try {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useDataSource.js","sourceRoot":"","sources":["../../../../src/hooks/useDataSource.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAoB,QAAQ,EAAW,GAAG,EAAQ,GAAG,EAAE,SAAS,EAAE,IAAI,EAAQ,MAAM,EAAO,UAAU,EAAE,MAAM,QAAQ,CAAC;AACrI,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,+BAA+B,EAAE,mCAAmC,EAAe,MAAM,aAAa,CAAC;AACnK,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAgB9C,MAAM,wBAAwB,GAAgC,EAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAC,CAAA;AAE5F,MAAM,CAAC,MAAM,aAAa,GAAG,CAAE,MAAkC,EAAG,OAA2B,EAAQ,EAAE;IACrG,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,SAAS,GAAG,cAAc,EAAE,CAAC;IAEnC,MAAM,EAAC,cAAc,EAAE,OAAO,EAAE,kBAAkB,EAAC,GAAG,OAAO,CAAC,GAAE,EAAE;QAC9D,IAAG,OAAO,MAAM,KAAK,QAAQ,EAAC;YAC1B,OAAO,EAAC,cAAc,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,wBAAwB,CAAC,EAAE,CAAC;SAC9G;aAAK;YACF,OAAO,EAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,wBAAwB,CAAC,EAAC,CAAC;SACzF;IACL,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAEtB,MAAM,UAAU,GAAgB,WAAW,CAAC,KAAK,CAAA,EAAE,CAAA,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC;IAEjG,yEAAyE;IACzE,MAAM,iBAAiB,GAAsB,OAAO,CAAC,GAAE,EAAE;QACrD,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,sBAAsB,CAAC,EAAE,MAAM,CAAC,CAAC,CAAA;QACnF,MAAM,eAAe,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,SAAS,EAAC,EAAE;YACzD,IAAI,UAAU,GAAG,
|
1
|
+
{"version":3,"file":"useDataSource.js","sourceRoot":"","sources":["../../../../src/hooks/useDataSource.tsx"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,19 @@
|
|
1
|
+
declare type PrimitiveValue = string | number | boolean | null | undefined;
|
2
|
+
declare type PredicateForSingleAgainstArray = 'isOneOf' | 'isIn' | 'isNotOneOf' | 'isNotIn';
|
3
|
+
declare type PredicateForArrayAgainstArray = 'containsSomeOf' | 'containsNoneOf' | 'containsAllOf';
|
4
|
+
declare type PredicateForUnary = 'isEmpty' | 'isNotEmpty' | 'isTruthy' | 'isFalsy';
|
5
|
+
declare type PredicateForStringAgainstString = 'startsWith' | 'endsWith' | 'contains' | 'doesNotContain';
|
6
|
+
declare type PredicateForNumberRange = 'isBetween' | 'isNotBetween';
|
7
|
+
declare type PredicateForAnyAgainstAny = '=' | 'isEqualTo' | '!=' | 'isNotEqualTo' | '<' | 'isLessThan' | '>' | 'isGreaterThan' | '>=' | 'isGreaterThanOrEqualTo' | '<=' | 'isLessThanOrEqualTo';
|
8
|
+
declare type Predicate = PredicateForSingleAgainstArray | PredicateForArrayAgainstArray | PredicateForUnary | PredicateForStringAgainstString | PredicateForNumberRange | PredicateForAnyAgainstAny;
|
9
|
+
declare type CompareValueForPredicate<T = Predicate> = T extends PredicateForSingleAgainstArray ? PrimitiveValue[] : T extends PredicateForArrayAgainstArray ? PrimitiveValue[] : T extends PredicateForUnary ? void : T extends PredicateForStringAgainstString ? string : T extends PredicateForNumberRange ? [number, number] : T extends PredicateForAnyAgainstAny ? PrimitiveValue : never;
|
10
|
+
declare type SimpleCondition<T = Predicate> = T extends PredicateForSingleAgainstArray ? [string, T, CompareValueForPredicate<T>] : T extends PredicateForArrayAgainstArray ? [string, T, CompareValueForPredicate<T>] : T extends PredicateForUnary ? [string, T] : T extends PredicateForStringAgainstString ? [string, T, CompareValueForPredicate<T>] : T extends PredicateForAnyAgainstAny ? [string, T, CompareValueForPredicate<T>] : never;
|
11
|
+
declare type ConditionMatchType = 'all' | 'none' | 'any';
|
12
|
+
interface ComplexCondition {
|
13
|
+
matchType: ConditionMatchType;
|
14
|
+
rules: Condition[];
|
15
|
+
}
|
16
|
+
export declare type Condition<T = Predicate> = SimpleCondition<T> | ComplexCondition | boolean;
|
17
|
+
export declare function checkCondition(object: any, condition: Condition, defaultValue?: boolean): boolean;
|
18
|
+
export {};
|
19
|
+
//# sourceMappingURL=conditionHelper.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"conditionHelper.d.ts","sourceRoot":"","sources":["../../../../src/helpers/conditionHelper.ts"],"names":[],"mappings":"AAEA,aAAK,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;AAEnE,aAAK,8BAA8B,GAAG,SAAS,GAAC,MAAM,GAAC,YAAY,GAAC,SAAS,CAAC;AAC9E,aAAK,6BAA6B,GAAI,gBAAgB,GAAC,gBAAgB,GAAC,eAAe,CAAC;AACxF,aAAK,iBAAiB,GAAG,SAAS,GAAC,YAAY,GAAC,UAAU,GAAC,SAAS,CAAC;AACrE,aAAK,+BAA+B,GAAG,YAAY,GAAC,UAAU,GAAC,UAAU,GAAC,gBAAgB,CAAC;AAC3F,aAAK,uBAAuB,GAAG,WAAW,GAAC,cAAc,CAAC;AAC1D,aAAK,yBAAyB,GAAG,GAAG,GAAC,WAAW,GAAC,IAAI,GAAC,cAAc,GAAC,GAAG,GAAC,YAAY,GAAC,GAAG,GAAC,eAAe,GAAC,IAAI,GAAC,wBAAwB,GAAC,IAAI,GAAC,qBAAqB,CAAC;AACnK,aAAK,SAAS,GAAG,8BAA8B,GAAG,6BAA6B,GAAG,iBAAiB,GAAG,+BAA+B,GAAG,uBAAuB,GAAG,yBAAyB,CAAC;AAE5L,aAAK,wBAAwB,CAAC,CAAC,GAAG,SAAS,IAAI,CAAC,SAAS,8BAA8B,GAAG,cAAc,EAAE,GACtG,CAAC,SAAS,6BAA6B,GAAG,cAAc,EAAE,GAC1D,CAAC,SAAS,iBAAiB,GAAG,IAAI,GAClC,CAAC,SAAS,+BAA+B,GAAG,MAAM,GAClD,CAAC,SAAS,uBAAuB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GACpD,CAAC,SAAS,yBAAyB,GAAG,cAAc,GAAG,KAAK,CAAC;AASjE,aAAK,eAAe,CAAC,CAAC,GAAG,SAAS,IAAK,CAAC,SAAS,8BAA8B,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAAC,GACtH,CAAC,SAAS,6BAA6B,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAAC,GAClF,CAAC,SAAS,iBAAiB,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,GACzC,CAAC,SAAS,+BAA+B,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAAC,GACpF,CAAC,SAAS,yBAAyB,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;AAS3F,aAAK,kBAAkB,GAAG,KAAK,GAAC,MAAM,GAAC,KAAK,CAAC;AAE7C,UAAU,gBAAgB;IACtB,SAAS,EAAE,kBAAkB,CAAC;IAC9B,KAAK,EAAE,SAAS,EAAE,CAAC;CACtB;AAED,oBAAY,SAAS,CAAC,CAAC,GAAG,SAAS,IAAI,eAAe,CAAC,CAAC,CAAC,GAAG,gBAAgB,GAAG,OAAO,CAAC;AAEvF,wBAAgB,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,GAAE,OAAe,GAAG,OAAO,CAexG"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"conditionHelper.test.d.ts","sourceRoot":"","sources":["../../../../src/helpers/conditionHelper.test.ts"],"names":[],"mappings":""}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/helpers/index.tsx"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC"}
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/helpers/index.tsx"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC"}
|