Skip to content

Commit

Permalink
fix: merge optional-array behaviors
Browse files Browse the repository at this point in the history
  • Loading branch information
tokebe committed May 22, 2023
1 parent ebc977a commit cf1f960
Showing 1 changed file with 9 additions and 4 deletions.
13 changes: 9 additions & 4 deletions src/filter.ts
Original file line number Diff line number Diff line change
Expand Up @@ -62,10 +62,15 @@ export const ft = (ops: SmartAPIKGOperationObject[], criteria: FilterCriteria) =
}
return [...filters[field]].some(qualifierConstraintSet => {
return Object.entries(qualifierConstraintSet).every(([qualifierType, qualifierValue]) => {
if (Array.isArray(qualifierValue)) {
return rec.association[field] && qualifierValue.includes(rec.association[field][qualifierType]);
}
return rec.association[field] && (Array.isArray(rec.association[field][qualifierType]) ? rec.association[field][qualifierType].includes(qualifierValue as string) : rec.association[field][qualifierType] === qualifierValue);
if (!rec.association[field]) return false;
const qualifierValueArray = Array.isArray(qualifierValue) ? qualifierValue : [qualifierValue];
const associationValueArray = Array.isArray(rec.association[field][qualifierType])
? rec.association[field][qualifierType]
: [rec.association[field][qualifierType]];

return qualifierValueArray.some(value => {
return associationValueArray.includes(value);
});
});
});
} else {
Expand Down

0 comments on commit cf1f960

Please sign in to comment.