UNPKG

one

Version:

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

77 lines (76 loc) 2.19 kB
import { matchGroupName } from "./matchers.native.js"; function sortDynamicConvention(a, b) { if (a.deep && !b.deep) { return 1; } if (!a.deep && b.deep) { return -1; } return 0; } function sortRoutes(a, b) { var aDynamicSegments = getDynamicSegments(a); var bDynamicSegments = getDynamicSegments(b); if (aDynamicSegments.length && !bDynamicSegments.length) { return 1; } if (!aDynamicSegments.length && bDynamicSegments.length) { return -1; } if (aDynamicSegments.length && bDynamicSegments.length) { if (aDynamicSegments.length !== bDynamicSegments.length) { return bDynamicSegments.length - aDynamicSegments.length; } for (var i = 0; i < aDynamicSegments.length; i++) { var aDynamic = aDynamicSegments[i]; var bDynamic = bDynamicSegments[i]; if (aDynamic.notFound && bDynamic.notFound) { var s = sortDynamicConvention(aDynamic, bDynamic); if (s) { return s; } } if (aDynamic.notFound && !bDynamic.notFound) { return 1; } if (!aDynamic.notFound && bDynamic.notFound) { return -1; } var s1 = sortDynamicConvention(aDynamic, bDynamic); if (s1) { return s1; } } return 0; } var aIndex = a.route === "index" || matchGroupName(a.route) != null; var bIndex = b.route === "index" || matchGroupName(b.route) != null; if (aIndex && !bIndex) { return -1; } if (!aIndex && bIndex) { return 1; } return a.route.length - b.route.length; } function getDynamicSegments(route) { var _route_layouts; return [...(route.dynamic || []), ...(((_route_layouts = route.layouts) === null || _route_layouts === void 0 ? void 0 : _route_layouts.flatMap(function (layout) { return layout.dynamic || []; })) || [])]; } function sortRoutesWithInitial(initialRouteName) { return function (a, b) { if (initialRouteName) { if (a.route === initialRouteName) { return -1; } if (b.route === initialRouteName) { return 1; } } return sortRoutes(a, b); }; } export { sortRoutes, sortRoutesWithInitial }; //# sourceMappingURL=sortRoutes.native.js.map