runVmapWorker function
void
runVmapWorker()
Builds tiles for the page that started this worker.
Implementation
void runVmapWorker() {
final scope = globalContext as web.DedicatedWorkerGlobalScope;
StreamController<Object?>? inbox;
scope.onmessage = ((web.MessageEvent event) {
final message = decodeMessage(event.data);
final open = inbox;
if (open != null) return open.add(message);
final box = inbox = StreamController<Object?>();
scope.postMessage(null);
unawaited(
tileWorkerMain(message! as List<Object?>, (answer) {
final moved = <JSObject>[];
scope.postMessage(encodeMessage(answer, moved), moved.toJS);
}, box.stream),
);
}).toJS;
}