@beabee/beabee-common 1.8.4 → 1.9.1
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/search/contacts.js +3 -0
- package/dist/cjs/search/index.js +0 -1
- package/dist/cjs/utils/rules.js +1 -25
- package/dist/esm/search/contacts.js +3 -0
- package/dist/esm/search/index.js +0 -1
- package/dist/esm/utils/rules.js +0 -22
- package/dist/types/search/contacts.d.ts +3 -0
- package/dist/types/search/index.d.ts +3 -10
- package/dist/types/utils/rules.d.ts +1 -3
- package/package.json +1 -1
package/dist/cjs/search/index.js
CHANGED
package/dist/cjs/utils/rules.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.validateRuleGroup = exports.validateRule = exports.isRuleGroup = void 0;
|
|
4
4
|
const error_1 = require("../error");
|
|
5
5
|
const search_1 = require("../search");
|
|
6
6
|
const date_1 = require("./date");
|
|
@@ -61,27 +61,3 @@ function validateRuleGroup(filters, ruleGroup) {
|
|
|
61
61
|
return validatedRuleGroup;
|
|
62
62
|
}
|
|
63
63
|
exports.validateRuleGroup = validateRuleGroup;
|
|
64
|
-
function convertRuleGroupToFilters(ruleGroup) {
|
|
65
|
-
if (!ruleGroup) {
|
|
66
|
-
return null;
|
|
67
|
-
}
|
|
68
|
-
// TODO: how to handle groups?
|
|
69
|
-
const rulesWithoutGroups = ruleGroup.rules.filter((rule) => !isRuleGroup(rule));
|
|
70
|
-
return rulesWithoutGroups.map((rule) => ({
|
|
71
|
-
id: rule.field,
|
|
72
|
-
operator: rule.operator,
|
|
73
|
-
values: [...rule.value],
|
|
74
|
-
}));
|
|
75
|
-
}
|
|
76
|
-
exports.convertRuleGroupToFilters = convertRuleGroupToFilters;
|
|
77
|
-
function convertFiltersToRuleGroup(matchType, filters) {
|
|
78
|
-
return {
|
|
79
|
-
condition: matchType === "all" ? "AND" : "OR",
|
|
80
|
-
rules: filters.map((filter) => ({
|
|
81
|
-
field: filter.id,
|
|
82
|
-
operator: filter.operator,
|
|
83
|
-
value: filter.values,
|
|
84
|
-
})),
|
|
85
|
-
};
|
|
86
|
-
}
|
|
87
|
-
exports.convertFiltersToRuleGroup = convertFiltersToRuleGroup;
|
package/dist/esm/search/index.js
CHANGED
package/dist/esm/utils/rules.js
CHANGED
|
@@ -55,25 +55,3 @@ export function validateRuleGroup(filters, ruleGroup) {
|
|
|
55
55
|
}
|
|
56
56
|
return validatedRuleGroup;
|
|
57
57
|
}
|
|
58
|
-
export function convertRuleGroupToFilters(ruleGroup) {
|
|
59
|
-
if (!ruleGroup) {
|
|
60
|
-
return null;
|
|
61
|
-
}
|
|
62
|
-
// TODO: how to handle groups?
|
|
63
|
-
const rulesWithoutGroups = ruleGroup.rules.filter((rule) => !isRuleGroup(rule));
|
|
64
|
-
return rulesWithoutGroups.map((rule) => ({
|
|
65
|
-
id: rule.field,
|
|
66
|
-
operator: rule.operator,
|
|
67
|
-
values: [...rule.value],
|
|
68
|
-
}));
|
|
69
|
-
}
|
|
70
|
-
export function convertFiltersToRuleGroup(matchType, filters) {
|
|
71
|
-
return {
|
|
72
|
-
condition: matchType === "all" ? "AND" : "OR",
|
|
73
|
-
rules: filters.map((filter) => ({
|
|
74
|
-
field: filter.id,
|
|
75
|
-
operator: filter.operator,
|
|
76
|
-
value: filter.values,
|
|
77
|
-
})),
|
|
78
|
-
};
|
|
79
|
-
}
|
|
@@ -26,9 +26,6 @@ export interface ValidatedRuleGroup<Field extends string> {
|
|
|
26
26
|
rules: (ValidatedRuleGroup<Field> | ValidatedRule<Field>)[];
|
|
27
27
|
}
|
|
28
28
|
export declare type FilterType = "text" | "date" | "number" | "boolean" | "array" | "enum" | "contact";
|
|
29
|
-
export interface FilterOperatorParams {
|
|
30
|
-
args: number;
|
|
31
|
-
}
|
|
32
29
|
interface BaseFilterArgs {
|
|
33
30
|
type: FilterType;
|
|
34
31
|
nullable?: boolean;
|
|
@@ -42,12 +39,8 @@ export interface OtherFilterArgs extends BaseFilterArgs {
|
|
|
42
39
|
}
|
|
43
40
|
export declare type FilterArgs = EnumFilterArgs | OtherFilterArgs;
|
|
44
41
|
export declare type Filters<T extends string = string> = Record<T, FilterArgs>;
|
|
45
|
-
export
|
|
46
|
-
|
|
47
|
-
export interface Filter {
|
|
48
|
-
id: string;
|
|
49
|
-
operator: FilterOperator;
|
|
50
|
-
values: FilterValue[];
|
|
42
|
+
export interface RuleOperatorParams {
|
|
43
|
+
args: number;
|
|
51
44
|
}
|
|
52
45
|
export declare const nullableOperators: {
|
|
53
46
|
is_empty: {
|
|
@@ -166,7 +159,7 @@ export declare const operatorsByType: {
|
|
|
166
159
|
};
|
|
167
160
|
};
|
|
168
161
|
};
|
|
169
|
-
export declare const operatorsByTypeMap: Record<FilterType, Partial<Record<
|
|
162
|
+
export declare const operatorsByTypeMap: Record<FilterType, Partial<Record<RuleOperator, RuleOperatorParams>>>;
|
|
170
163
|
export interface Paginated<T> {
|
|
171
164
|
items: T[];
|
|
172
165
|
offset: number;
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Filters, Rule, RuleGroup, ValidatedRule, ValidatedRuleGroup } from "../search";
|
|
2
2
|
export declare function isRuleGroup(ruleOrGroup: Rule | RuleGroup): ruleOrGroup is RuleGroup;
|
|
3
3
|
export declare function validateRule<Field extends string>(filters: Filters<Field>, rule: Rule): ValidatedRule<Field>;
|
|
4
4
|
export declare function validateRuleGroup<Field extends string>(filters: Filters<Field>, ruleGroup: RuleGroup): ValidatedRuleGroup<Field>;
|
|
5
|
-
export declare function convertRuleGroupToFilters(ruleGroup?: RuleGroup): Filter[] | null;
|
|
6
|
-
export declare function convertFiltersToRuleGroup(matchType: "all" | "any", filters: Filter[]): RuleGroup;
|