UNPKG

one

Version:

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

56 lines (53 loc) • 1.93 kB
import { NitroModules } from "react-native-nitro-modules"; import { rethrowNativeError } from "../nativeError.native.js"; import { assertAuthOptions, assertBrowserUrl, assertOpenOptions, assertRedirectUrl } from "./validate.native.js"; var hybrid; function native() { hybrid !== null && hybrid !== void 0 ? hybrid : hybrid = NitroModules.createHybridObject("OneBrowser"); return hybrid; } function toAuthSessionResult(param) { var { type, url } = param; if (type === "success" && url !== void 0) return { type, url }; if (type === "success") throw new Error("Browser.openAuthSession: redirect without a url"); return { type }; } function open(url) { var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; assertBrowserUrl(url, "Browser.open"); assertOpenOptions(options, "Browser.open"); return native().open(url, options).catch(rethrowNativeError); } function dismiss() { return native().dismiss(); } function openAuthSession(url, redirectUrl) { var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; assertBrowserUrl(url, "Browser.openAuthSession"); assertRedirectUrl(redirectUrl, "Browser.openAuthSession"); assertAuthOptions(options, "Browser.openAuthSession"); return native().openAuthSession(url, redirectUrl !== null && redirectUrl !== void 0 ? redirectUrl : void 0, options).then(toAuthSessionResult, rethrowNativeError); } function dismissAuthSession() { native().dismissAuthSession(); } function warmup(browserPackage) { return native().warmup(browserPackage).catch(rethrowNativeError); } function mayLaunchUrl(url, browserPackage) { assertBrowserUrl(url, "Browser.mayLaunchUrl"); return native().mayLaunchUrl(url, browserPackage).catch(rethrowNativeError); } var Browser = Object.freeze({ open, dismiss, openAuthSession, dismissAuthSession, warmup, mayLaunchUrl }); export { Browser }; //# sourceMappingURL=index.native.js.map