Add string_set_contains_none_of operator

Summary: Doc: https://docs.google.com/document/d/1miofxds9DJgWScj0zFyBbdpRH5Rj0T9FqiCapof5-vU/edit#heading=h.pg8svtdjlx7

Reviewed By: lblasa

Differential Revision: D49230131

fbshipit-source-id: 9c4375e181b2ac20b5ab346c2e5f24c6d90c28ac
This commit is contained in:
Andrey Goncharov
2023-09-14 04:48:12 -07:00
committed by Facebook GitHub Bot
parent a27f4580a3
commit 43b2effdda

View File

@@ -41,6 +41,11 @@ export const dataTablePowerSearchOperators = {
key: 'string_set_contains_any_of',
valueType: 'STRING_SET',
}),
string_set_contains_none_of: () => ({
label: 'contains none of',
key: 'string_set_contains_none_of',
valueType: 'STRING_SET',
}),
} satisfies {
[key: string]: (...args: any[]) => OperatorConfig;
};
@@ -65,4 +70,6 @@ export const dataTablePowerSearchOperatorProcessorConfig = {
// See PowerSearchStringSetTerm
string_set_contains_any_of: (operator, searchValue: string[], value) =>
searchValue.some((item) => (value as string).toLowerCase().includes(item)),
string_set_contains_none_of: (operator, searchValue: string[], value) =>
!searchValue.some((item) => (value as string).toLowerCase().includes(item)),
} satisfies PowerSearchOperatorProcessorConfig;