UNPKG

@e280/authlocal

Version:

User-sovereign login system for everybody

28 lines 874 B
import { defer } from "@e280/stz"; import { Messenger, WindowConduit } from "@e280/renraku"; // // this facilitates postMessages, // and is installed on the authority side // export function setupInPopup(popupWindow, appWindow) { const conduit = new WindowConduit(popupWindow, appWindow, "*", () => true); const appOriginDeferred = defer(); conduit.recv.sub((_m, { origin }) => { conduit.targetOrigin = origin; appOriginDeferred.resolve(origin); }); const messenger = new Messenger({ conduit, timeout: Infinity, }); async function helloAndGetAppOrigin() { await messenger.remote.v1.hello(); return appOriginDeferred.promise; } return { helloAndGetAppOrigin, app: messenger.remote, dispose: () => conduit.dispose(), }; } //# sourceMappingURL=setup-in-popup.js.map