This commit is contained in:
Miles Murgaw authored and GitHub committed 2025-04-15 14:20:25 -07:00
1 parent a1107de0c0
commit 9ffa42392f
10 files changed
+31 -6

No files matched your search

+13
View File
@@ -4,16 +4,24 @@ import {
WeakDioxusChannel,
} from "../../../document/src/ts/eval";
window.__nextChannelId = 0;
window.__channels = [];
export class WebDioxusChannel extends DioxusChannel {
js_to_rust: Channel;
rust_to_js: Channel;
owner: any;
id: number;
constructor(owner: any) {
super();
this.owner = owner;
this.js_to_rust = new Channel();
this.rust_to_js = new Channel();
this.id = window.__nextChannelId;
window.__channels[this.id] = this;
window.__nextChannelId += 1;
}
// Return a weak reference to this channel
@@ -40,4 +48,9 @@ export class WebDioxusChannel extends DioxusChannel {
async rustRecv(): Promise<any> {
return await this.js_to_rust.recv();
}
// Close the channel, dropping it.
close(): void {
window.__channels[this.id] = null;
}
}