@schemaorg-rs/wasm
v0.3.0
Published
Parse and validate Schema.org structured data (JSON-LD, Microdata, RDFa) — powered by Rust/WASM
Downloads
443
Maintainers
Readme
@schemaorg-rs/wasm
Schema.org structured data parser and validator powered by Rust/WebAssembly.
Installation
npm install @schemaorg-rs/wasmQuick Start
import { extract, validateHtml, schemaVersion } from '@schemaorg-rs/wasm';
const html = `<script type="application/ld+json">{
"@context": "https://schema.org",
"@type": "Product",
"name": "Widget",
"offers": { "@type": "Offer", "price": "29.99", "priceCurrency": "EUR" }
}</script>`;
// Full validation pipeline
const result = await validateHtml(html, 'google');
console.log(result.profile.eligibility); // "Eligible" | "WarningsOnly" | ...
// Extract only (no validation)
const extracted = await extract(html);
console.log(extracted.nodes[0].types); // ["Product"]
// Check Schema.org version
const version = await schemaVersion();
console.log(version); // "30.0"API
extract(html: string): Promise<ExtractResult>
Extracts all structured data (JSON-LD, Microdata, RDFa Lite) from HTML.
validateHtml(html: string, profile?: string): Promise<ValidateResult>
Full pipeline: extract, validate against Schema.org vocabulary, evaluate against a Rich Results profile.
Profiles: "google" (default), "baseline"
schemaVersion(): Promise<string>
Returns the Schema.org vocabulary version compiled into this build.
init(target?: 'web' | 'nodejs'): Promise<void>
Explicitly initialize the WASM module. Called automatically on first use. Call explicitly for eager loading in performance-critical paths.
Types
Full TypeScript definitions are included. See index.d.ts for the complete
type surface including SchemaNode, ValidationDiagnostic, ProfileResult,
and Eligibility.
Environment Support
- Browser: ESM import, auto-initializes WASM
- Node.js: ESM import, auto-detects runtime
Size
The WASM binary is optimized for size (opt-level = 'z', LTO, wasm-opt -Oz)
and stays under 500KB.
Related
- schemaorg-rs -- Rust library
- schemaorg-validate -- CLI tool
License
MIT
