import '@affine/core/bootstrap/browser'; import { broadcastChannelStorages } from '@affine/nbstore/broadcast-channel'; import { cloudStorages } from '@affine/nbstore/cloud'; import { idbStorages } from '@affine/nbstore/idb'; import { idbV1Storages } from '@affine/nbstore/idb/v1'; import { StoreManagerConsumer, type WorkerManagerOps, } from '@affine/nbstore/worker/consumer'; import { type MessageCommunicapable, OpConsumer } from '@toeverything/infra/op'; const consumer = new StoreManagerConsumer([ ...idbStorages, ...idbV1Storages, ...broadcastChannelStorages, ...cloudStorages, ]); if ('onconnect' in globalThis) { // if in shared worker (globalThis as any).onconnect = (event: MessageEvent) => { const port = event.ports[0]; consumer.bindConsumer(new OpConsumer(port)); }; } else { // if in worker consumer.bindConsumer( new OpConsumer(globalThis as MessageCommunicapable) ); }