mirror of
https://github.com/primedigitaltech/azon_seeker.git
synced 2026-01-27 17:33:17 +08:00
21 lines
740 B
TypeScript
21 lines
740 B
TypeScript
import { createEndpointRuntime } from './internal/endpoint-runtime';
|
|
import { usePostMessaging } from './internal/post-message';
|
|
import { createStreamWirings } from './internal/stream';
|
|
|
|
const win = usePostMessaging('window');
|
|
|
|
const endpointRuntime = createEndpointRuntime('window', (message) => win.postMessage(message));
|
|
|
|
win.onMessage((msg) => {
|
|
if ('type' in msg && 'transactionID' in msg) endpointRuntime.endTransaction(msg.transactionID);
|
|
else endpointRuntime.handleMessage(msg);
|
|
});
|
|
|
|
export function setNamespace(nsps: string): void {
|
|
win.setNamespace(nsps);
|
|
win.enable();
|
|
}
|
|
|
|
export const { sendMessage, onMessage } = endpointRuntime;
|
|
export const { openStream, onOpenStreamChannel } = createStreamWirings(endpointRuntime);
|