paginate-core 1.0.0

Pure, language-agnostic pagination / filter / sort / search engine shared by the pypaginate (Python) and @cyblow/paginate (TypeScript) packages.
Documentation

paginate-core

Pure, language-agnostic engine behind the pypaginate (Python) and @cyblow/paginate (TypeScript) packages. It owns the computational heart of the library — cursor encoding, offset math, text normalization, filtering, sorting and search — with zero binding dependencies so the exact same crate links natively into Python (via PyO3) and Node/TypeScript (via napi-rs), and compiles unchanged to WebAssembly for an optional browser/edge target.

Design rules

  • Plain data only. Everything crosses the boundary as [value::Value], a small JSON-like enum. No host objects, no framework types.
  • Deterministic & side-effect free. Same input, same output — which is what lets the shared property-based invariants double as every binding's conformance suite.
  • Behaviour parity. Each binding wraps this one engine, so results match across languages (e.g. the cursor wire format is byte-identical, so cursors minted by any implementation decode in the others).