1import { DiffuseElement } from "@common/element.js";
2
3/**
4 * @import {ProxiedActions} from "@common/worker.d.ts"
5 * @import {Actions} from "./types.d.ts"
6 */
7
8////////////////////////////////////////////
9// ELEMENT
10////////////////////////////////////////////
11
12/**
13 * @implements {ProxiedActions<Actions>}
14 */
15class MetadataProcessor extends DiffuseElement {
16 static NAME = "diffuse/processor/metadata";
17 static WORKER_URL = "components/processor/metadata/worker.js";
18
19 constructor() {
20 super();
21
22 /** @type {ProxiedActions<Actions>} */
23 const p = this.workerProxy();
24
25 // Worker proxy
26 this.supply = p.supply;
27 }
28}
29
30export default MetadataProcessor;
31
32////////////////////////////////////////////
33// REGISTER
34////////////////////////////////////////////
35
36export const CLASS = MetadataProcessor;
37export const NAME = "dp-metadata";
38
39customElements.define(NAME, MetadataProcessor);