one
Version:
One is a new React Framework that makes Vite serve both native and web.
67 lines (65 loc) • 3.69 kB
JavaScript
;
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: !0
});
},
__copyProps = (to, from, except, desc) => {
if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__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: !0
}), mod);
var getNavigateAction_exports = {};
__export(getNavigateAction_exports, {
getNavigateAction: () => getNavigateAction
});
module.exports = __toCommonJS(getNavigateAction_exports);
var import_non_secure = require("nanoid/non-secure"),
import_lastAction = require("../lastAction.native.js"),
import_matchers = require("../matchers.native.js");
function getNavigateAction(actionState, navigationState) {
for (var type = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : "NAVIGATE", actionStateRoute; actionState && navigationState;) {
var _actionStateRoute_params,
_stateRoute_params,
stateRoute = navigationState.routes[navigationState.index];
actionStateRoute = actionState.routes[actionState.routes.length - 1];
var childState = actionStateRoute.state,
nextNavigationState = stateRoute.state,
dynamicMatch = (0, import_matchers.matchDynamicName)(actionStateRoute.name),
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;
}
for (var rootPayload = {
params: {}
}, payload = rootPayload, params = payload.params; actionStateRoute;) {
var _payload, _params, _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 || (_payload.params = {}), payload = payload.params, params = payload;
}
return type === "PUSH" && ((0, import_lastAction.setLastAction)(), type = "NAVIGATE", navigationState.type === "stack" && (rootPayload.key = `${rootPayload.name}-${(0, import_non_secure.nanoid)()}`)), type === "REPLACE" && navigationState.type === "tab" && (type = "JUMP_TO"), {
type,
target: navigationState.key,
payload: {
key: rootPayload.key,
name: rootPayload.screen,
params: rootPayload.params
}
};
}
//# sourceMappingURL=getNavigateAction.native.js.map