fst-wasm
v0.1.0
Published
Minimal WASM bindings for the fst crate
Maintainers
Readme
fst-wasm
Minimal WASM bindings for BurntSushi's fst crate. Method names and shapes mirror fst directly.
Map (FstBuilder / FstMap)
get(key)/containsKey(key)stream()- lazy cursor over all entries, in orderprefixSearch(prefix, start?, end?)levenshtein(query, distance, start?, end?)rangeSearch(start?, end?)
Set (FstSetBuilder / FstSet)
contains(key)stream()- lazy cursor over all keys, in orderprefixSearch(prefix, start?, end?)levenshtein(query, distance, start?, end?)rangeSearch(start?, end?)
Errors
Error calls throw FstError: .kind (an FstErrorKind - InvalidData, DuplicateKey, OutOfOrder, Io, InvalidQuery) and .message.
Usage
import { FstBuilder, FstMap } from './pkg/fst_wasm.js';
const builder = new FstBuilder();
builder.insert('apple', 1n);
builder.insert('banana', 2n);
const map = new FstMap(builder.finish());
map.get('apple'); // 1n
map.prefixSearch('app')[0].key; // 'apple'
map.prefixSearch('app')[0].value; // 1nBuild
wasm-pack build --target nodejs --release