AF
Size: a a a
AF
IK
const includesTrue = trueValue.includes(value);
const includesFalse = falseValue.includes(value);
const includesBoth = includesTrue && includesFalse;
const includesOnlyTrue = includesTrue && !includesFalse;
const includesOnlyFalse = includesFalse && !includesTrue;
if (includesBoth) {
return {
operator: '',
value: '',
};
} else if (includesOnlyFalse) {
return {
operator: 'eq',
value: false,
};
} else if (includesOnlyTrue) {
return {
operator: 'eq',
value: true,
};
} else {
return {
operator: 'eq',
value,
};
}
ВГ
[{ condition: includesBoth, result: { operator ... }]и потом
find(el => el.condition).result) || default?
IK
[{ condition: includesBoth, result: { operator ... }]и потом
find(el => el.condition).result) || default?
const isTruthy = trueValue.includes(value);
const isFalsy = falseValue.includes(value);
const LOOKUP_TABLE = [
{ isTruthy: true, isFalsy: true, result: { operator: "", value: true } },
{ isTruthy: true, isFalsy: false, result: { operator: "eq", value: true } },
{ isTruthy: false, isFalsy: true, result: { operator: "eq", value: false } },
{ isTruthy: false, isFalsy: false, result: { operator: "eq", value } },
];
return LOOKUP_TABLE.find(p => p.isTruthy === isTruthy && p.isFalsy === isFalsy).result;
IK
ВГ
A
AS
IK
IK
YS
AF
AS
IK
AS
AI
AI
A
A
d