UNPKG

one

Version:

One is a new React Framework that makes Vite serve both native and web.

93 lines (91 loc) 3.82 kB
"use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", { value: true }), mod); var getNavigateAction_exports = {}; __export(getNavigateAction_exports, { getNavigateAction: () => getNavigateAction }); module.exports = __toCommonJS(getNavigateAction_exports); var import_non_secure = require("nanoid/non-secure"); var import_lastAction = require("../lastAction.native.js"); var import_matchers = require("../matchers.native.js"); function getNavigateAction(actionState, navigationState) { var type = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : "NAVIGATE"; var actionStateRoute; while (actionState && navigationState) { var _actionStateRoute_params, _stateRoute_params; var stateRoute = navigationState.routes[navigationState.index]; actionStateRoute = actionState.routes[actionState.routes.length - 1]; var childState = actionStateRoute.state; var nextNavigationState = stateRoute.state; var dynamicMatch = (0, import_matchers.matchDynamicName)(actionStateRoute.name); var didActionAndCurrentStateDiverge = actionStateRoute.name !== stateRoute.name || // !deepEqual(actionStateRoute.params, stateRoute.params) || !childState || !nextNavigationState || dynamicMatch && ((_actionStateRoute_params = actionStateRoute.params) === null || _actionStateRoute_params === void 0 ? void 0 : _actionStateRoute_params[dynamicMatch.name]) !== ((_stateRoute_params = stateRoute.params) === null || _stateRoute_params === void 0 ? void 0 : _stateRoute_params[dynamicMatch.name]); if (didActionAndCurrentStateDiverge) { break; } actionState = childState; navigationState = nextNavigationState; } var rootPayload = { params: {} }; var payload = rootPayload; var params = payload.params; while (actionStateRoute) { var _payload, _params; var _actionStateRoute_state, _actionStateRoute_state1; Object.assign(params, { ...actionStateRoute.params }); payload.screen = actionStateRoute.name; payload.params = { ...actionStateRoute.params }; actionStateRoute = (_actionStateRoute_state1 = actionStateRoute.state) === null || _actionStateRoute_state1 === void 0 ? void 0 : _actionStateRoute_state1.routes[((_actionStateRoute_state = actionStateRoute.state) === null || _actionStateRoute_state === void 0 ? void 0 : _actionStateRoute_state.routes.length) - 1]; (_params = (_payload = payload).params) !== null && _params !== void 0 ? _params : _payload.params = {}; payload = payload.params; params = payload; } if (type === "PUSH") { (0, import_lastAction.setLastAction)(); type = "NAVIGATE"; if (navigationState.type === "stack") { rootPayload.key = `${rootPayload.name}-${(0, import_non_secure.nanoid)()}`; } } if (type === "REPLACE" && navigationState.type === "tab") { type = "JUMP_TO"; } return { type, target: navigationState.key, payload: { key: rootPayload.key, name: rootPayload.screen, params: rootPayload.params } }; } //# sourceMappingURL=getNavigateAction.native.js.map