UNPKG

one

Version:

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

55 lines (52 loc) • 1.75 kB
import { jsx } from "react/jsx-runtime"; import { AppRegistry, LogBox } from "react-native"; import { useSyncExternalStore } from "react"; import "./polyfills-mobile.native.js"; import { Root } from "./Root.native.js"; import "./setup.native.js"; LogBox.ignoreLogs([/Sending .* with no listeners registered/]); function createApp(options) { var routes = options.routes; var routeVersion = 0; var routeListeners = /* @__PURE__ */ new Set(); var subscribeToRoutes = function subscribeToRoutes2(listener) { routeListeners.add(listener); return function() { return routeListeners.delete(listener); }; }; var getRouteVersion = function getRouteVersion2() { return routeVersion; }; globalThis.__VXRN_UPDATE_NATIVE_ROUTES__ = function(nextRoutes) { var _globalThis___vxrnresetState, _globalThis; routes = nextRoutes; globalThis["__vxrnVersion"] = (globalThis["__vxrnVersion"] || 0) + 1; (_globalThis___vxrnresetState = (_globalThis = globalThis)["__vxrnresetState"]) === null || _globalThis___vxrnresetState === void 0 ? void 0 : _globalThis___vxrnresetState.call(_globalThis); routeVersion++; routeListeners.forEach(function(listener) { return listener(); }); }; var App = function App2() { useSyncExternalStore(subscribeToRoutes, getRouteVersion, getRouteVersion); return /* @__PURE__ */ jsx(Root, { isClient: true, flags: options.flags, routes, routerRoot: options.routerRoot, linking: options.linking, path: "/" }); }; AppRegistry.registerComponent("main", function() { return App; }); if (process.env.ONE_APP_NAME) { AppRegistry.registerComponent(process.env.ONE_APP_NAME, function() { return App; }); } } export { createApp }; //# sourceMappingURL=createApp.native.js.map