WebAssembly bindings for the LinksPlatform doublets associative storage library.
Try the hosted JavaScript playground and documentation:
https://linksplatform.github.io/doublets-web/
The demo runs doublets-web in the browser with a Monaco-powered JavaScript editor, captured console output, and a live doublets graph view. It is deployed by GitHub Pages from this repository.
npm install doublets-webimport { Link, LinksConstants, UnitedLinks } from "doublets-web";
const constants = new LinksConstants();
const links = new UnitedLinks(constants);
const link = links.create();
links.update(link, link, link);
const any = links.constants.any;
const count = links.count(new Link(any, link, link));
console.log(`Stored links: ${count}`);This package is built with stable Rust and wasm-pack.
rustup target add wasm32-unknown-unknown
cargo check --locked --tests --all-features
cargo clippy --locked --tests --all-features -- -D warnings
wasm-pack build --release --target bundler --out-dir pkg
wasm-pack test --nodeTo run the documentation playground locally:
wasm-pack build --release --target web --out-dir site/public/pkg --out-name doublets_web
npm ci --prefix site
npm run dev --prefix siteTo check the production GitHub Pages bundle:
npm run build --prefix siteThe release workflow publishes the generated pkg package to npm from .github/workflows/release.yml using npm trusted publishing.
The npm package trusted publisher should be configured with:
- Organization/user:
linksplatform - Repository:
doublets-web - Workflow filename:
release.yml
The workflow uses GitHub Actions OIDC (id-token: write) and npm publish from the generated package directory. npm trusted publishing automatically adds provenance for supported public packages.
Released into the public domain under The Unlicense.