Files
fil/docs/snippets/wasm/plugins/unregister_plugins.md

78 lines
2.2 KiB
Markdown
Raw Normal View History

2026-06-01 23:40:55 +02:00
# Unregister Plugins
Remove registered plugins from the WASM runtime using individual unregister or bulk clear operations.
```typescript title="WASM"
import init, {
registerDocumentExtractor,
unregisterDocumentExtractor,
listDocumentExtractors,
clearDocumentExtractors,
registerOcrBackend,
unregisterOcrBackend,
listOcrBackends,
clearOcrBackends,
registerPostProcessor,
unregisterPostProcessor,
listPostProcessors,
clearPostProcessors,
registerRenderer,
unregisterRenderer,
listRenderers,
clearRenderers,
registerValidator,
unregisterValidator,
listValidators,
clearValidators,
} from "kreuzberg-wasm";
await init();
// Example: register a custom document extractor
const extractor = {
extractBytes: async (bytes, mimeType, config) => {
return JSON.stringify({ text: "test", page_count: 1 });
},
supportedMimeTypes: () => JSON.stringify(["application/x-test"]),
};
registerDocumentExtractor(extractor);
console.log("Registered extractors:", listDocumentExtractors());
// Individual unregistration by plugin name
try {
unregisterDocumentExtractor("wasm_bridge");
console.log("Extractor unregistered");
} catch (error) {
console.error("Unregister failed:", error);
}
// Clear all plugins of a type
clearPostProcessors();
console.log("After clearPostProcessors:", listPostProcessors());
clearOcrBackends();
console.log("After clearOcrBackends:", listOcrBackends());
clearRenderers();
console.log("After clearRenderers:", listRenderers());
clearValidators();
console.log("After clearValidators:", listValidators());
// Selective re-registration: clear and register only desired plugins
clearPostProcessors();
const myProcessor = {
processingStage: () => "post-extraction",
process: (result) => result, // Pass-through
};
registerPostProcessor(myProcessor);
console.log("After selective re-register:", listPostProcessors());
// Unregister specific plugin by name
unregisterPostProcessor("wasm_bridge");
console.log("After selective unregister:", listPostProcessors());
```
Use `unregister*` to remove individual plugins by name, or `clear*` for bulk removal of all plugins of a type. All custom plugins are registered with the default name `"wasm_bridge"` managed by the bridge.