Filter EngineZ
A generic, isomorphic, framework-agnostic TypeScript data filter engine — for filtering arbitrarily-complex data on arbitrarily-shaped datasets, anywhere JavaScript runs.
Install the core
pnpm add @filter-enginez/core
Then add the binding for your stack, such as @filter-enginez/react-signals or
@filter-enginez/angular-rxjs.
What it does
You describe filters as rules, in code or as JSON, and the engine evaluates them over your data, returns what passes, and tells subscribers when that changes. The core has no framework and no browser dependency, so the same engine runs in a browser, in Node, or in a Web Worker.
-
Built-in rules
Range, set membership, numeric comparison, date range, text and fuzzy search, regex, geo proximity, hierarchy and more, plus a contract for writing your own.
-
Boolean composition
And, or and not, arbitrarily nested; or flat rules grouped into “any of these” facets.
-
Filters as data
Round-trip a whole filter panel through validated JSON with
loadConfigandexportConfig. -
Acceleration
Roaring Bitmaps for rule intersection, an R-tree for geo queries, Bayesian co-occurrence for suggested filters, and MinHash with LSH for “find similar items”.
-
Exclusion-aware panels
Disable the options that would lead to zero results, before anyone selects them.
-
Devtools
Action log, time travel, state diffing, replay, and a Redux DevTools bridge.
Live demos
The same engine over the same three datasets — books, wine reviews and real estate — under six front-end stacks. Each demo is its own site; the comparison page in any of them opens your current filters in all six.
- React + Redux Toolkit The optional Redux mirror, with the engine as the source of truth react-rtk.filterenginez.com
- React The same app with no store library at all react.filterenginez.com
- SvelteKit The engine in SvelteKit’s own server tier, with server rendering svelte.filterenginez.com
- Vue Vue 3 and Vue Router over the signals binding vue.filterenginez.com
- Angular Zoneless and standalone, consuming the engine’s Observables angular.filterenginez.com
- Vanilla TypeScript No framework: hand-written DOM over the signals facade and the bare core vanilla.filterenginez.com
- Documentation Every rule and algorithm, a live playground, and the API reference docs.filterenginez.com
Source and packages
- @filter-enginez on npm The core, the reactive facades and a binding per framework
- mlilli/filter-enginez The engine, its guides and its architecture notes
- mlilli/filter-enginez-examples The six demo apps, the docs site and the design system