UNPKG

@etsoo/react

Version:

TypeScript ReactJs UI Independent Framework

40 lines (39 loc) 1.32 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DynamicRouter = DynamicRouter; exports.createDynamicRouter = createDynamicRouter; const jsx_runtime_1 = require("react/jsx-runtime"); const appscript_1 = require("@etsoo/appscript"); const react_router_1 = require("react-router"); function getEntries(host) { const startUrl = host.getStartUrl(); return startUrl == null ? undefined : [startUrl]; } /** * Dynamic router * @param props Props * @returns Component */ function DynamicRouter(props) { // Destruct const { basename, children } = props; // Layout const host = appscript_1.BridgeUtils.host; return host == null ? ((0, jsx_runtime_1.jsx)(react_router_1.BrowserRouter, { basename: basename, children: children })) : ((0, jsx_runtime_1.jsx)(react_router_1.MemoryRouter, { basename: basename, initialEntries: getEntries(host), children: children })); } /** * Create dynamic router * @param routes Routes * @param opts Options * @returns Router */ function createDynamicRouter(routes, opts) { // Is host? const host = appscript_1.BridgeUtils.host; if (host == null) { return (0, react_router_1.createBrowserRouter)(routes, opts); } else { return (0, react_router_1.createMemoryRouter)(routes, opts); } }