UNPKG

one

Version:

One is a React framework for web, iOS, and Android apps.

48 lines (45 loc) • 1.44 kB
import { assertAuthOptions, assertBrowserUrl, assertOpenOptions, assertRedirectUrl } from "./validate.mjs"; function blocked(verb) { const error = new Error(`${verb}: the browser blocked the popup. Open it from a user gesture.`); error.code = "E_BROWSER_BLOCKED"; return error; } function open(url, options = {}) { assertBrowserUrl(url, "Browser.open"); assertOpenOptions(options, "Browser.open"); return openPage(url); } async function openPage(url) { if (typeof window === "undefined") return { type: "opened" }; const opened = window.open(url, "_blank"); if (!opened) throw blocked("Browser.open"); opened.opener = null; return { type: "opened" }; } async function dismiss() { return { type: "dismiss" }; } function openAuthSession(url, redirectUrl, options = {}) { assertBrowserUrl(url, "Browser.openAuthSession"); assertRedirectUrl(redirectUrl, "Browser.openAuthSession"); assertAuthOptions(options, "Browser.openAuthSession"); return Promise.reject(new Error("Browser.openAuthSession needs an iOS or Android build")); } function dismissAuthSession() {} function warmup(_browserPackage) { return Promise.resolve(false); } function mayLaunchUrl(url, _browserPackage) { assertBrowserUrl(url, "Browser.mayLaunchUrl"); return Promise.resolve(false); } const Browser = Object.freeze({ open, dismiss, openAuthSession, dismissAuthSession, warmup, mayLaunchUrl }); export { Browser }; //# sourceMappingURL=index.mjs.map