@thi.ng/transducers
Version:
Collection of ~170 lightweight, composable transducers, reducers, generators, iterators for functional data transformations
18 lines (17 loc) • 440 B
JavaScript
import { fuzzyMatch } from "@thi.ng/arrays/fuzzy-match";
import { __iter } from "./iterator.js";
import { filter } from "./filter.js";
function filterFuzzy(...args) {
const iter = args.length > 1 && __iter(filterFuzzy, args);
if (iter) {
return iter;
}
const query = args[0];
const { key, equiv } = args[1] || {};
return filter(
(x) => fuzzyMatch(key != null ? key(x) : x, query, equiv)
);
}
export {
filterFuzzy
};