@plumile/router 0.1.201 → 0.1.206
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -9
- package/lib/esm/builder.d.ts +5 -5
- package/lib/esm/builder.d.ts.map +1 -1
- package/lib/esm/builder.js +1 -1
- package/lib/esm/instrumentation/Instrumentation.d.ts +0 -1
- package/lib/esm/instrumentation/Instrumentation.d.ts.map +1 -1
- package/lib/esm/instrumentation/Instrumentation.js +1 -1
- package/lib/esm/instrumentation/adapters/devtoolsBridge.d.ts +3 -1
- package/lib/esm/instrumentation/adapters/devtoolsBridge.d.ts.map +1 -1
- package/lib/esm/instrumentation/adapters/devtoolsBridge.js +11 -6
- package/lib/esm/internal/routerLoadState.d.ts +10 -0
- package/lib/esm/internal/routerLoadState.d.ts.map +1 -0
- package/lib/esm/internal/routerLoadState.js +51 -0
- package/lib/esm/internal/routerSearchState.d.ts +11 -0
- package/lib/esm/internal/routerSearchState.d.ts.map +1 -0
- package/lib/esm/internal/routerSearchState.js +15 -0
- package/lib/esm/routing/Link.d.ts +0 -2
- package/lib/esm/routing/Link.d.ts.map +1 -1
- package/lib/esm/routing/Link.js +4 -23
- package/lib/esm/routing/RouteComponentWrapper.d.ts +2 -2
- package/lib/esm/routing/RouteComponentWrapper.d.ts.map +1 -1
- package/lib/esm/routing/RouteComponentWrapper.js +8 -9
- package/lib/esm/routing/RouterRenderer.js +9 -9
- package/lib/esm/routing/createRouter.d.ts +4 -6
- package/lib/esm/routing/createRouter.d.ts.map +1 -1
- package/lib/esm/routing/createRouter.js +6 -77
- package/lib/esm/routing/createStaticRouter.d.ts +4 -5
- package/lib/esm/routing/createStaticRouter.d.ts.map +1 -1
- package/lib/esm/routing/createStaticRouter.js +5 -50
- package/lib/esm/routing/useFilterDiagnostics.d.ts.map +1 -1
- package/lib/esm/routing/useFilterDiagnostics.js +4 -5
- package/lib/esm/routing/useFilters.d.ts +0 -5
- package/lib/esm/routing/useFilters.d.ts.map +1 -1
- package/lib/esm/routing/useFilters.js +8 -33
- package/lib/esm/routing/usePathname.d.ts.map +1 -1
- package/lib/esm/routing/usePathname.js +2 -5
- package/lib/esm/routing/useQueryState.d.ts +0 -1
- package/lib/esm/routing/useQueryState.d.ts.map +1 -1
- package/lib/esm/routing/useQueryState.js +1 -1
- package/lib/esm/tools.d.ts +3 -3
- package/lib/esm/tools.d.ts.map +1 -1
- package/lib/esm/tools.js +1 -4
- package/lib/esm/types.d.ts +3 -13
- package/lib/esm/types.d.ts.map +1 -1
- package/lib/esm/types.js +1 -1
- package/lib/tsconfig.esm.tsbuildinfo +1 -1
- package/lib/types/builder.d.ts +5 -5
- package/lib/types/builder.d.ts.map +1 -1
- package/lib/types/instrumentation/Instrumentation.d.ts +0 -1
- package/lib/types/instrumentation/Instrumentation.d.ts.map +1 -1
- package/lib/types/instrumentation/adapters/devtoolsBridge.d.ts +3 -1
- package/lib/types/instrumentation/adapters/devtoolsBridge.d.ts.map +1 -1
- package/lib/types/internal/routerLoadState.d.ts +10 -0
- package/lib/types/internal/routerLoadState.d.ts.map +1 -0
- package/lib/types/internal/routerSearchState.d.ts +11 -0
- package/lib/types/internal/routerSearchState.d.ts.map +1 -0
- package/lib/types/routing/Link.d.ts +0 -2
- package/lib/types/routing/Link.d.ts.map +1 -1
- package/lib/types/routing/RouteComponentWrapper.d.ts +2 -2
- package/lib/types/routing/RouteComponentWrapper.d.ts.map +1 -1
- package/lib/types/routing/createRouter.d.ts +4 -6
- package/lib/types/routing/createRouter.d.ts.map +1 -1
- package/lib/types/routing/createStaticRouter.d.ts +4 -5
- package/lib/types/routing/createStaticRouter.d.ts.map +1 -1
- package/lib/types/routing/useFilterDiagnostics.d.ts.map +1 -1
- package/lib/types/routing/useFilters.d.ts +0 -5
- package/lib/types/routing/useFilters.d.ts.map +1 -1
- package/lib/types/routing/usePathname.d.ts.map +1 -1
- package/lib/types/routing/useQueryState.d.ts +0 -1
- package/lib/types/routing/useQueryState.d.ts.map +1 -1
- package/lib/types/tools.d.ts +3 -3
- package/lib/types/tools.d.ts.map +1 -1
- package/lib/types/types.d.ts +3 -13
- package/lib/types/types.d.ts.map +1 -1
- package/package.json +11 -6
- package/lib/esm/routing/RouterPrimitives.stories.d.ts +0 -18
- package/lib/esm/routing/RouterPrimitives.stories.d.ts.map +0 -1
- package/lib/esm/routing/RouterPrimitives.stories.js +0 -90
- package/lib/esm/type-tests/navigation-destination.test-d.d.ts +0 -2
- package/lib/esm/type-tests/navigation-destination.test-d.d.ts.map +0 -1
- package/lib/esm/type-tests/navigation-destination.test-d.js +0 -74
- package/lib/esm/type-tests/query-infer.test-d.d.ts +0 -2
- package/lib/esm/type-tests/query-infer.test-d.d.ts.map +0 -1
- package/lib/esm/type-tests/query-infer.test-d.js +0 -2
- package/lib/esm/type-tests/routes-inference.test-d.d.ts +0 -1
- package/lib/esm/type-tests/routes-inference.test-d.d.ts.map +0 -1
- package/lib/esm/type-tests/routes-inference.test-d.js +0 -2
- package/lib/esm/type-tests/useFilters-typed.test-d.d.ts +0 -2
- package/lib/esm/type-tests/useFilters-typed.test-d.d.ts.map +0 -1
- package/lib/esm/type-tests/useFilters-typed.test-d.js +0 -33
- package/lib/types/routing/RouterPrimitives.stories.d.ts +0 -18
- package/lib/types/routing/RouterPrimitives.stories.d.ts.map +0 -1
- package/lib/types/type-tests/navigation-destination.test-d.d.ts +0 -2
- package/lib/types/type-tests/navigation-destination.test-d.d.ts.map +0 -1
- package/lib/types/type-tests/query-infer.test-d.d.ts +0 -2
- package/lib/types/type-tests/query-infer.test-d.d.ts.map +0 -1
- package/lib/types/type-tests/routes-inference.test-d.d.ts +0 -1
- package/lib/types/type-tests/routes-inference.test-d.d.ts.map +0 -1
- package/lib/types/type-tests/useFilters-typed.test-d.d.ts +0 -2
- package/lib/types/type-tests/useFilters-typed.test-d.d.ts.map +0 -1
package/lib/esm/routing/Link.js
CHANGED
|
@@ -20,7 +20,7 @@ export function isCurrentPathname(exact, history, pathname) {
|
|
|
20
20
|
}
|
|
21
21
|
const Link = (props) => {
|
|
22
22
|
const router = useContext(RoutingContext);
|
|
23
|
-
const { activeClassName, children, className, exact = false, isDisabled = false, onClick, onFocus, onMouseDown, onMouseEnter, onMouseOver, preloadOnHover = 'code', preloadOnMouseDown = 'code-and-data', target, to, href,
|
|
23
|
+
const { activeClassName, children, className, exact = false, isDisabled = false, onClick, onFocus, onMouseDown, onMouseEnter, onMouseOver, preloadOnHover = 'code', preloadOnMouseDown = 'code-and-data', target, to, href, ref, ...anchorProps } = props;
|
|
24
24
|
const resolvedDestination = useMemo(() => {
|
|
25
25
|
if (isDisabled) {
|
|
26
26
|
return {
|
|
@@ -31,26 +31,7 @@ const Link = (props) => {
|
|
|
31
31
|
isExternal: false,
|
|
32
32
|
};
|
|
33
33
|
}
|
|
34
|
-
|
|
35
|
-
const hasExplicitSearch = typeof to === 'object' && to.search != null;
|
|
36
|
-
if (href == null &&
|
|
37
|
-
!hasExplicitSearch &&
|
|
38
|
-
(filters != null || query != null)) {
|
|
39
|
-
let pathname = '#';
|
|
40
|
-
let hash;
|
|
41
|
-
if (typeof to === 'string')
|
|
42
|
-
pathname = to;
|
|
43
|
-
if (typeof to === 'object') {
|
|
44
|
-
pathname = to.pathname;
|
|
45
|
-
hash = to.hash;
|
|
46
|
-
}
|
|
47
|
-
destination = {
|
|
48
|
-
pathname,
|
|
49
|
-
filters,
|
|
50
|
-
query,
|
|
51
|
-
hash,
|
|
52
|
-
};
|
|
53
|
-
}
|
|
34
|
+
const destination = href ?? to ?? '#';
|
|
54
35
|
let currentHref;
|
|
55
36
|
if (typeof document !== 'undefined')
|
|
56
37
|
currentHref = document.location.href;
|
|
@@ -61,7 +42,7 @@ const Link = (props) => {
|
|
|
61
42
|
return router?.buildSearch(input) ?? '';
|
|
62
43
|
},
|
|
63
44
|
});
|
|
64
|
-
}, [
|
|
45
|
+
}, [href, isDisabled, router, to]);
|
|
65
46
|
const { pathname, search, hash, isExternal } = resolvedDestination;
|
|
66
47
|
const initialIsActive = isCurrentPathname(exact, router?.history, pathname);
|
|
67
48
|
const [isActive, setIsActive] = React.useState(initialIsActive);
|
|
@@ -165,4 +146,4 @@ const Link = (props) => {
|
|
|
165
146
|
return (_jsx("a", { ...anchorProps, className: cx(classNames), href: hrefValue, onClick: handleClick, onFocus: onFocus, onMouseDown: handleMouseDown, onMouseEnter: handleMouseEnter, onMouseOver: onMouseOver, ref: ref, target: target, children: children }));
|
|
166
147
|
};
|
|
167
148
|
export default Link;
|
|
168
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGluay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yb3V0aW5nL0xpbmsudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEtBQUssRUFBRSxFQU1aLFNBQVMsRUFDVCxPQUFPLEdBQ1IsTUFBTSxPQUFPLENBQUM7QUFTZixPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFekMsT0FBTyxjQUFjLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFNUQsTUFBTSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsR0FBRyxLQUFLLENBQUM7QUFRMUMsTUFBTSxVQUFVLGlCQUFpQixDQUMvQixLQUFjLEVBQ2QsT0FBNEIsRUFDNUIsUUFBZ0I7SUFFaEIsSUFBSSxPQUFPLElBQUksSUFBSSxFQUFFLENBQUM7UUFDcEIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTSxXQUFXLEdBQUcsSUFBSSxHQUFHLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFOUQsTUFBTSxnQkFBZ0IsR0FBRyxXQUFXLENBQUMsUUFBUSxDQUFDO0lBRTlDLElBQUksS0FBSyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUSxLQUFLLGdCQUFnQixFQUFFLENBQUM7UUFDNUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsSUFBSSxDQUFDLEtBQUssSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDO1FBQ3JFLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQWtGRCxNQUFNLElBQUksR0FBRyxDQUFDLEtBQWdCLEVBQXNCLEVBQUU7SUFDcEQsTUFBTSxNQUFNLEdB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QyxLQUFLLENBQUMsQ0FBQztRQUNyQixDQUFDO1FBQ0QsSUFBSSxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUMzQixPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksTUFBTSxJQUFJLElBQUksSUFBSSxVQUFVLElBQUksVUFBVSxFQUFFLENBQUM7WUFDL0MsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLGtCQUFrQixLQUFLLGVBQWUsRUFBRSxDQUFDO1lBQzNDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDO1FBQzdELENBQUM7SUFDSCxDQUFDLEVBQ0Q7UUFDRSxNQUFNO1FBQ04sVUFBVTtRQUNWLFVBQVU7UUFDVixXQUFXO1FBQ1gsa0JBQWtCO1FBQ2xCLFFBQVE7UUFDUixNQUFNO0tBQ1AsQ0FDRixDQUFDO0lBRUYsTUFBTSxTQUFTLEdBQUcsbUJBQW1CLENBQUMsSUFBSSxDQUFDO0lBQzNDLE9BQU8sQ0FDTCxlQUNNLFdBQVcsRUFDZixTQUFTLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUN6QixJQUFJLEVBQUUsU0FBUyxFQUNmLE9BQU8sRUFBRSxXQUFXLEVBQ3BCLE9BQU8sRUFBRSxPQUFPLEVBQ2hCLFdBQVcsRUFBRSxlQUFlLEVBQzVCLFlBQVksRUFBRSxnQkFBZ0IsRUFDOUIsV0FBVyxFQUFFLFdBQVcsRUFDeEIsR0FBRyxFQUFFLEdBQUcsRUFDUixNQUFNLEVBQUUsTUFBTSxZQUViLFFBQVEsR0FDUCxDQUNMLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixlQUFlLElBQUksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwge1xuICB0eXBlIEFuY2hvckhUTUxBdHRyaWJ1dGVzLFxuICB0eXBlIEhUTUxBdHRyaWJ1dGVBbmNob3JUYXJnZXQsXG4gIHR5cGUgTW91c2VFdmVudCxcbiAgdHlwZSBSZWYsXG4gIHR5cGUgUmVhY3ROb2RlLFxuICB1c2VFZmZlY3QsXG4gIHVzZU1lbW8sXG59IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHR5cGUgeyBIaXN0b3J5IH0gZnJvbSAnLi4vaGlzdG9yeS90eXBlcy5qcyc7XG5pbXBvcnQgdHlwZSB7XG4gIFJvdXRlckRlc3RpbmF0aW9uSW5wdXQsXG4gIFVua25vd25GaWx0ZXJzLFxuICBVbmtub3duUXVlcnlTaGFwZSxcbn0gZnJvbSAnLi4vdHlwZXMuanMnO1xuXG5pbXBvcnQgeyBjeCB9IGZyb20gJy4vLi4vdG9vbHMvaW5kZXguanMnO1xuXG5pbXBvcnQgUm91dGluZ0NvbnRleHQgZnJvbSAnLi9Sb3V0aW5nQ29udGV4dC5qcyc7XG5pbXBvcnQgeyByZXNvbHZlUm91dGVyRGVzdGluYXRpb24gfSBmcm9tICcuL2Rlc3RpbmF0aW9uLmpzJztcblxuY29uc3QgeyB1c2VDYWxsYmFjaywgdXNlQ29udGV4dCB9ID0gUmVhY3Q7XG5cbmV4cG9ydCB0eXBlIExpbmtIb3ZlclByZWxvYWQgPSAnbm9uZScgfCAnY29kZScgfCAnY29kZS1hbmQtZGF0YSc7XG5leHBvcnQgdHlwZSBMaW5rTW91c2VEb3duUHJlbG9hZCA9ICdub25lJyB8ICdjb2RlLWFuZC1kYXRhJztcblxuLyoqXG4gKiBDaGVjayBpZiB0aGUgY3VycmVudCBwYXRobmFtZSBtYXRjaGVzIHRoZSBnaXZlbiBwYXRobmFtZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzQ3VycmVudFBhdGhuYW1lKFxuICBleGFjdDogYm9vbGVhbixcbiAgaGlzdG9yeTogSGlzdG9yeSB8IHVuZGVmaW5lZCxcbiAgcGF0aG5hbWU6IHN0cmluZyxcbik6IGJvb2xlYW4ge1xuICBpZiAoaGlzdG9yeSA9PSBudWxsKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3QgcmVzb2x2ZWRVcmwgPSBuZXcgVVJMKHBhdGhuYW1lLCBkb2N1bWVudC5sb2NhdGlvbi5ocmVmKTtcblxuICBjb25zdCByZXNvbHZlZFBhdGhuYW1lID0gcmVzb2x2ZWRVcmwucGF0aG5hbWU7XG5cbiAgaWYgKGV4YWN0ICYmIGhpc3RvcnkubG9jYXRpb24ucGF0aG5hbWUgPT09IHJlc29sdmVkUGF0aG5hbWUpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGlmICghZXhhY3QgJiYgaGlzdG9yeS5sb2NhdGlvbi5wYXRobmFtZS5zdGFydHNXaXRoKHJlc29sdmVkUGF0aG5hbWUpKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59XG5cbi8qKlxuICogUHJvcHMgZm9yIHRoZSBMaW5rIGNvbXBvbmVudC5cbiAqL1xuZXhwb3J0IHR5cGUgTGlua1Byb3BzPFxuICBURmlsdGVycyBleHRlbmRzIFVua25vd25GaWx0ZXJzID0gVW5rbm93bkZpbHRlcnMsXG4gIFRSYXdRdWVyeSBleHRlbmRzIFVua25vd25RdWVyeVNoYXBlID0gVW5rbm93blF1ZXJ5U2hhcGUsXG4+ID0gT21pdDxcbiAgQW5jaG9ySFRNTEF0dHJpYnV0ZXM8SFRNTEFuY2hvckVsZW1lbnQ+LFxuICB8ICdjaGlsZHJlbidcbiAgfCAnY2xhc3NOYW1lJ1xuICB8ICdocmVmJ1xuICB8ICdvbkNsaWNrJ1xuICB8ICdvbkZvY3VzJ1xuICB8ICdvbk1vdXNlRG93bidcbiAgfCAnb25Nb3VzZUVudGVyJ1xuICB8ICdvbk1vdXNlT3ZlcidcbiAgfCAncmVmJ1xuICB8ICd0YXJnZXQnXG4+ICYge1xuICAvKiogQ1NTIGNsYXNzIHRvIGFwcGx5IHdoZW4gdGhlIGxpbmsgaXMgYWN0aXZlIChtYXRjaGVzIGN1cnJlbnQgcm91dGUpICovXG4gIGFjdGl2ZUNsYXNzTmFtZT86IHN0cmluZztcbiAgLyoqIENoaWxkIGNvbXBvbmVudHMgdG8gcmVuZGVyIGluc2lkZSB0aGUgbGluayAqL1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICAvKiogQmFzZSBDU1MgY2xhc3MgZm9yIHRoZSBsaW5rICovXG4gIGNsYXNzTmFtZT86IHN0cmluZztcbiAgLyoqIFdoZXRoZXIgdG8gdXNlIGV4YWN0IHBhdGggbWF0Y2hpbmcgZm9yIGFjdGl2ZSBzdGF0ZSAqL1xuICBleGFjdD86IGJvb2xlYW47XG4gIC8qKiBQcmVsb2FkIGJlaGF2aW9yIHdoZW4gbW91c2UgZW50ZXJzIHRoZSBsaW5rLiAqL1xuICBwcmVsb2FkT25Ib3Zlcj86IExpbmtIb3ZlclByZWxvYWQ7XG4gIC8qKiBQcmVsb2FkIGJlaGF2aW9yIHdoZW4gbW91c2UgaXMgcHJlc3NlZCBkb3duLiAqL1xuICBwcmVsb2FkT25Nb3VzZURvd24/OiBMaW5rTW91c2VEb3duUHJlbG9hZDtcbiAgLyoqIERpcmVjdCBocmVmIGF0dHJpYnV0ZSAob3ZlcnJpZGVzICd0bycgcHJvcCkgKi9cbiAgaHJlZj86IHN0cmluZztcbiAgLyoqIFdoZXRoZXIgdGhlIGxpbmsgc2hvdWxkIGJlIGRpc2FibGVkICovXG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuO1xuICAvKiogQ2xpY2sgaGFuZGxlciAqL1xuICBvbkNsaWNrPzogUmVhY3QuTW91c2VFdmVudEhhbmRsZXI8SFRNTEFuY2hvckVsZW1lbnQ+O1xuICAvKiogRm9jdXMgaGFuZGxlciAqL1xuICBvbkZvY3VzPzogUmVhY3QuRm9jdXNFdmVudEhhbmRsZXI8SFRNTEFuY2hvckVsZW1lbnQ+O1xuICAvKiogTW91c2UgZG93biBoYW5kbGVyICovXG4gIG9uTW91c2VEb3duPzogUmVhY3QuTW91c2VFdmVudEhhbmRsZXI8SFRNTEFuY2hvckVsZW1lbnQ+O1xuICAvKiogTW91c2UgZW50ZXIgaGFuZGxlciAqL1xuICBvbk1vdXNlRW50ZXI/OiBSZWFjdC5Nb3VzZUV2ZW50SGFuZGxlcjxIVE1MQW5jaG9yRWxlbWVudD47XG4gIC8qKiBNb3VzZSBvdmVyIGhhbmRsZXIgKi9cbiAgb25Nb3VzZU92ZXI/OiBSZWFjdC5Nb3VzZUV2ZW50SGFuZGxlcjxIVE1MQW5jaG9yRWxlbWVudD47XG4gIC8qKiBBbmNob3IgcmVmICovXG4gIHJlZj86IFJlZjxIVE1MQW5jaG9yRWxlbWVudD47XG4gIC8qKiBUYXJnZXQgYXR0cmlidXRlIGZvciB0aGUgbGluayAqL1xuICB0YXJnZXQ/OiBIVE1MQXR0cmlidXRlQW5jaG9yVGFyZ2V0O1xuICAvKiogRGVzdGluYXRpb24gZm9yIHRoZSBsaW5rIChjYW4gYmUgc3RyaW5nIHBhdGggb3IgbG9jYXRpb24gb2JqZWN0KSAqL1xuICB0bz86IFJvdXRlckRlc3RpbmF0aW9uSW5wdXQ8VEZpbHRlcnMsIFRSYXdRdWVyeT47XG4gIC8qKiBPcHRpb25hbCBmaWx0ZXJzIG9iamVjdCB0byBzZXJpYWxpemUgdXNpbmcgZGVzdGluYXRpb24gcm91dGUgc2NoZW1hIChpZ25vcmVkIGlmIGB0by5zZWFyY2hgIGlzIHNldCkgKi9cbiAgZmlsdGVycz86IFRGaWx0ZXJzO1xuICAvKiogT3B0aW9uYWwgcmF3IHF1ZXJ5IHBhcmFtcyAobm9uLXNjaGVtYSBrZXlzKSB0byBtZXJnZSAoaWdub3JlZCBpZiBgdG8uc2VhcmNoYCBpcyBzZXQpICovXG4gIHF1ZXJ5PzogVFJhd1F1ZXJ5O1xufTtcblxuLyoqXG4gKiBOYXZpZ2F0aW9uIGNvbXBvbmVudCB0aGF0IHByb3ZpZGVzIGNsaWVudC1zaWRlIHJvdXRpbmcgd2l0aCBwcmVsb2FkaW5nIGNhcGFiaWxpdGllcy5cbiAqXG4gKiBUaGlzIGNvbXBvbmVudCBpbnRlZ3JhdGVzIHdpdGggdGhlIHJvdXRlcidzIFJvdXRpbmdDb250ZXh0IHRvIHByb3ZpZGUgc21vb3RoIG5hdmlnYXRpb25cbiAqIHdpdGggb3B0aW9uYWwgcHJlbG9hZGluZyBvZiByb3V0ZSBjb21wb25lbnRzIGFuZCBkYXRhLiBJdCBhdXRvbWF0aWNhbGx5IGFwcGxpZXMgYWN0aXZlXG4gKiBzdHlsaW5nIHdoZW4gdGhlIGN1cnJlbnQgcm91dGUgbWF0Y2hlcyB0aGUgbGluaydzIGRlc3RpbmF0aW9uLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c3hcbiAqIC8vIEJhc2ljIHVzYWdlXG4gKiA8TGluayB0bz1cIi91c2Vycy8xMjNcIj5WaWV3IFByb2ZpbGU8L0xpbms+XG4gKlxuICogLy8gV2l0aCBhY3RpdmUgc3R5bGluZ1xuICogPExpbmsgdG89XCIvZGFzaGJvYXJkXCIgYWN0aXZlQ2xhc3NOYW1lPVwiYWN0aXZlXCIgZXhhY3Q+XG4gKiAgIERhc2hib2FyZFxuICogPC9MaW5rPlxuICpcbiAqIC8vIFdpdGggZnVsbCBwcmVsb2FkaW5nIG9uIGhvdmVyXG4gKiA8TGluayB0bz1cIi9oZWF2eS1wYWdlXCIgcHJlbG9hZE9uSG92ZXI9XCJjb2RlLWFuZC1kYXRhXCI+XG4gKiAgIEhlYXZ5IFBhZ2VcbiAqIDwvTGluaz5cbiAqIGBgYFxuICovXG5jb25zdCBMaW5rID0gKHByb3BzOiBMaW5rUHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQgPT4ge1xuICBjb25zdCByb3V0ZXIgPSB1c2VDb250ZXh0KFJvdXRpbmdDb250ZXh0KTtcbiAgY29uc3Qge1xuICAgIGFjdGl2ZUNsYXNzTmFtZSxcbiAgICBjaGlsZHJlbixcbiAgICBjbGFzc05hbWUsXG4gICAgZXhhY3QgPSBmYWxzZSxcbiAgICBpc0Rpc2FibGVkID0gZmFsc2UsXG4gICAgb25DbGljayxcbiAgICBvbkZvY3VzLFxuICAgIG9uTW91c2VEb3duLFxuICAgIG9uTW91c2VFbnRlcixcbiAgICBvbk1vdXNlT3ZlcixcbiAgICBwcmVsb2FkT25Ib3ZlciA9ICdjb2RlJyxcbiAgICBwcmVsb2FkT25Nb3VzZURvd24gPSAnY29kZS1hbmQtZGF0YScsXG4gICAgdGFyZ2V0LFxuICAgIHRvLFxuICAgIGhyZWYsXG4gICAgZmlsdGVycyxcbiAgICBxdWVyeSxcbiAgICByZWYsXG4gICAgLi4uYW5jaG9yUHJvcHNcbiAgfSA9IHByb3BzO1xuXG4gIGNvbnN0IHJlc29sdmVkRGVzdGluYXRpb24gPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoaXNEaXNhYmxlZCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcGF0aG5hbWU6ICcjJyxcbiAgICAgICAgc2VhcmNoOiAnJyxcbiAgICAgICAgaGFzaDogJycsXG4gICAgICAgIGhyZWY6ICcjJyxcbiAgICAgICAgaXNFeHRlcm5hbDogZmFsc2UsXG4gICAgICB9O1xuICAgIH1cblxuICAgIGxldCBkZXN0aW5hdGlvbjogUm91dGVyRGVzdGluYXRpb25JbnB1dCA9IGhyZWYgPz8gdG8gPz8gJyMnO1xuICAgIGNvbnN0IGhhc0V4cGxpY2l0U2VhcmNoID0gdHlwZW9mIHRvID09PSAnb2JqZWN0JyAmJiB0by5zZWFyY2ggIT0gbnVsbDtcbiAgICBpZiAoXG4gICAgICBocmVmID09IG51bGwgJiZcbiAgICAgICFoYXNFeHBsaWNpdFNlYXJjaCAmJlxuICAgICAgKGZpbHRlcnMgIT0gbnVsbCB8fCBxdWVyeSAhPSBudWxsKVxuICAgICkge1xuICAgICAgbGV0IHBhdGhuYW1lID0gJyMnO1xuICAgICAgbGV0IGhhc2g6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAgIGlmICh0eXBlb2YgdG8gPT09ICdzdHJpbmcnKSBwYXRobmFtZSA9IHRvO1xuICAgICAgaWYgKHR5cGVvZiB0byA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgcGF0aG5hbWUgPSB0by5wYXRobmFtZTtcbiAgICAgICAgaGFzaCA9IHRvLmhhc2g7XG4gICAgICB9XG4gICAgICBkZXN0aW5hdGlvbiA9IHtcbiAgICAgICAgcGF0aG5hbWUsXG4gICAgICAgIGZpbHRlcnMsXG4gICAgICAgIHF1ZXJ5LFxuICAgICAgICBoYXNoLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBsZXQgY3VycmVudEhyZWY6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICBpZiAodHlwZW9mIGRvY3VtZW50ICE9PSAndW5kZWZpbmVkJykgY3VycmVudEhyZWYgPSBkb2N1bWVudC5sb2NhdGlvbi5ocmVmO1xuICAgIHJldHVybiByZXNvbHZlUm91dGVyRGVzdGluYXRpb24oe1xuICAgICAgZGVzdGluYXRpb24sXG4gICAgICBjdXJyZW50SHJlZixcbiAgICAgIGJ1aWxkU2VhcmNoOiAoaW5wdXQpID0+IHtcbiAgICAgICAgcmV0dXJuIHJvdXRlcj8uYnVpbGRTZWFyY2goaW5wdXQpID8/ICcnO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfSwgW2ZpbHRlcnMsIGhyZWYsIGlzRGlzYWJsZWQsIHF1ZXJ5LCByb3V0ZXIsIHRvXSk7XG4gIGNvbnN0IHsgcGF0aG5hbWUsIHNlYXJjaCwgaGFzaCwgaXNFeHRlcm5hbCB9ID0gcmVzb2x2ZWREZXN0aW5hdGlvbjtcblxuICBjb25zdCBpbml0aWFsSXNBY3RpdmUgPSBpc0N1cnJlbnRQYXRobmFtZShleGFjdCwgcm91dGVyPy5oaXN0b3J5LCBwYXRobmFtZSk7XG4gIGNvbnN0IFtpc0FjdGl2ZSwgc2V0SXNBY3RpdmVdID0gUmVhY3QudXNlU3RhdGUoaW5pdGlhbElzQWN0aXZlKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IG9uQ2hhbmdlID0gKCkgPT4ge1xuICAgICAgY29uc3QgbmV3SXNBY3RpdmUgPSBpc0N1cnJlbnRQYXRobmFtZShleGFjdCwgcm91dGVyPy5oaXN0b3J5LCBwYXRobmFtZSk7XG4gICAgICBzZXRJc0FjdGl2ZShuZXdJc0FjdGl2ZSk7XG4gICAgfTtcblxuICAgIGlmIChyb3V0ZXIgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuICgpID0+IHt9O1xuICAgIH1cblxuICAgIHJldHVybiByb3V0ZXIuaGlzdG9yeS5zdWJzY3JpYmUob25DaGFuZ2UpO1xuICB9LCBbZXhhY3QsIHBhdGhuYW1lLCByb3V0ZXJdKTtcblxuICBjb25zdCBjbGFzc05hbWVzID0gW2NsYXNzTmFtZV07XG5cbiAgaWYgKGlzQWN0aXZlKSB7XG4gICAgY2xhc3NOYW1lcy5wdXNoKGFjdGl2ZUNsYXNzTmFtZSk7XG4gIH1cblxuICAvLyBXaGVuIHRoZSB1c2VyIGNsaWNrcywgY2hhbmdlIHJvdXRlXG4gIGNvbnN0IGhhbmRsZUNsaWNrID0gdXNlQ2FsbGJhY2soXG4gICAgKGV2ZW50OiBNb3VzZUV2ZW50PEhUTUxBbmNob3JFbGVtZW50PikgPT4ge1xuICAgICAgaWYgKCFpc0Rpc2FibGVkICYmIHR5cGVvZiBvbkNsaWNrID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIG9uQ2xpY2soZXZlbnQpO1xuICAgICAgfVxuXG4gICAgICBpZiAoXG4gICAgICAgIGV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQgfHxcbiAgICAgICAgZXZlbnQubWV0YUtleSB8fFxuICAgICAgICBldmVudC5hbHRLZXkgfHxcbiAgICAgICAgZXZlbnQuY3RybEtleSB8fFxuICAgICAgICBldmVudC5zaGlmdEtleSB8fFxuICAgICAgICBldmVudC5idXR0b24gIT09IDAgfHxcbiAgICAgICAgaXNFeHRlcm5hbCB8fFxuICAgICAgICAodGFyZ2V0ICE9IG51bGwgJiYgdGFyZ2V0ICE9PSAnX3NlbGYnKVxuICAgICAgKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGlmIChyb3V0ZXIgPT0gbnVsbCB8fCBpc0Rpc2FibGVkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgcm91dGVyLmhpc3RvcnkucHVzaCh7XG4gICAgICAgIHBhdGhuYW1lLFxuICAgICAgICBzZWFyY2gsXG4gICAgICAgIGhhc2gsXG4gICAgICAgIGRlYnVnQ29udGV4dDoge1xuICAgICAgICAgIG9yaWdpbjogJ2xpbmstY2xpY2snLFxuICAgICAgICAgIHRyaWdnZXI6ICdsaW5rJyxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgW2hhc2gsIGlzRGlzYWJsZWQsIGlzRXh0ZXJuYWwsIG9uQ2xpY2ssIHBhdGhuYW1lLCByb3V0ZXIsIHRhcmdldCwgc2VhcmNoXSxcbiAgKTtcblxuICAvLyBDYWxsYmFjayB0byBwcmVsb2FkIGp1c3QgdGhlIGNvZGUgZm9yIHRoZSByb3V0ZTpcbiAgLy8gd2UgcGFzcyB0aGlzIHRvIG9uTW91c2VFbnRlciwgd2hpY2ggaXMgYSB3ZWFrZXIgc2lnbmFsXG4gIC8vIHRoYXQgdGhlIHVzZXIgKm1heSogbmF2aWdhdGUgdG8gdGhlIHJvdXRlLlxuICBjb25zdCBoYW5kbGVNb3VzZUVudGVyID0gdXNlQ2FsbGJhY2soXG4gICAgKGV2ZW50OiBNb3VzZUV2ZW50PEhUTUxBbmNob3JFbGVtZW50PikgPT4ge1xuICAgICAgaWYgKHR5cGVvZiBvbk1vdXNlRW50ZXIgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgb25Nb3VzZUVudGVyKGV2ZW50KTtcbiAgICAgIH1cbiAgICAgIGlmIChldmVudC5kZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKHJvdXRlciA9PSBudWxsIHx8IGlzRGlzYWJsZWQgfHwgaXNFeHRlcm5hbCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmIChwcmVsb2FkT25Ib3ZlciA9PT0gJ25vbmUnKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgcHJlbG9hZFRhcmdldCA9IHtcbiAgICAgICAgcGF0aG5hbWUsXG4gICAgICAgIHNlYXJjaCxcbiAgICAgICAgc291cmNlOiAncHJlbG9hZC1ob3ZlcicsXG4gICAgICB9IGFzIGNvbnN0O1xuICAgICAgaWYgKHByZWxvYWRPbkhvdmVyID09PSAnY29kZS1hbmQtZGF0YScpIHtcbiAgICAgICAgcm91dGVyLnByZWxvYWQocHJlbG9hZFRhcmdldCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHJvdXRlci5wcmVsb2FkQ29kZShwcmVsb2FkVGFyZ2V0KTtcbiAgICB9LFxuICAgIFtcbiAgICAgIHJvdXRlcixcbiAgICAgIGlzRGlzYWJsZWQsXG4gICAgICBpc0V4dGVybmFsLFxuICAgICAgb25Nb3VzZUVudGVyLFxuICAgICAgcHJlbG9hZE9uSG92ZXIsXG4gICAgICBwYXRobmFtZSxcbiAgICAgIHNlYXJjaCxcbiAgICBdLFxuICApO1xuXG4gIC8vIENhbGxiYWNrIHRvIHByZWxvYWQgdGhlIGNvZGUgYW5kIGRhdGEgZm9yIHRoZSByb3V0ZTpcbiAgLy8gd2UgcGFzcyB0aGlzIHRvIG9uTW91c2VEb3duLCBzaW5jZSB0aGlzIGlzIGEgc3Ryb25nZXJcbiAgLy8gc2lnbmFsIHRoYXQgdGhlIHVzZXIgd2lsbCBsaWtlbHkgY29tcGxldGUgdGhlIG5hdmlnYXRpb25cbiAgY29uc3QgaGFuZGxlTW91c2VEb3duID0gdXNlQ2FsbGJhY2soXG4gICAgKGV2ZW50OiBNb3VzZUV2ZW50PEhUTUxBbmNob3JFbGVtZW50PikgPT4ge1xuICAgICAgaWYgKHR5cGVvZiBvbk1vdXNlRG93biA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBvbk1vdXNlRG93bihldmVudCk7XG4gICAgICB9XG4gICAgICBpZiAoZXZlbnQuZGVmYXVsdFByZXZlbnRlZCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmIChyb3V0ZXIgPT0gbnVsbCB8fCBpc0Rpc2FibGVkIHx8IGlzRXh0ZXJuYWwpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAocHJlbG9hZE9uTW91c2VEb3duID09PSAnY29kZS1hbmQtZGF0YScpIHtcbiAgICAgICAgcm91dGVyLnByZWxvYWQoeyBwYXRobmFtZSwgc2VhcmNoLCBzb3VyY2U6ICdsaW5rLWNsaWNrJyB9KTtcbiAgICAgIH1cbiAgICB9LFxuICAgIFtcbiAgICAgIHJvdXRlcixcbiAgICAgIGlzRGlzYWJsZWQsXG4gICAgICBpc0V4dGVybmFsLFxuICAgICAgb25Nb3VzZURvd24sXG4gICAgICBwcmVsb2FkT25Nb3VzZURvd24sXG4gICAgICBwYXRobmFtZSxcbiAgICAgIHNlYXJjaCxcbiAgICBdLFxuICApO1xuXG4gIGNvbnN0IGhyZWZWYWx1ZSA9IHJlc29sdmVkRGVzdGluYXRpb24uaHJlZjtcbiAgcmV0dXJuIChcbiAgICA8YVxuICAgICAgey4uLmFuY2hvclByb3BzfVxuICAgICAgY2xhc3NOYW1lPXtjeChjbGFzc05hbWVzKX1cbiAgICAgIGhyZWY9e2hyZWZWYWx1ZX1cbiAgICAgIG9uQ2xpY2s9e2hhbmRsZUNsaWNrfVxuICAgICAgb25Gb2N1cz17b25Gb2N1c31cbiAgICAgIG9uTW91c2VEb3duPXtoYW5kbGVNb3VzZURvd259XG4gICAgICBvbk1vdXNlRW50ZXI9e2hhbmRsZU1vdXNlRW50ZXJ9XG4gICAgICBvbk1vdXNlT3Zlcj17b25Nb3VzZU92ZXJ9XG4gICAgICByZWY9e3JlZn1cbiAgICAgIHRhcmdldD17dGFyZ2V0fVxuICAgID5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L2E+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBMaW5rO1xuIl19
|
|
149
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGluay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yb3V0aW5nL0xpbmsudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEtBQUssRUFBRSxFQU1aLFNBQVMsRUFDVCxPQUFPLEdBQ1IsTUFBTSxPQUFPLENBQUM7QUFTZixPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFekMsT0FBTyxjQUFjLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFNUQsTUFBTSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsR0FBRyxLQUFLLENBQUM7QUFRMUMsTUFBTSxVQUFVLGlCQUFpQixDQUMvQixLQUFjLEVBQ2QsT0FBNEIsRUFDNUIsUUFBZ0I7SUFFaEIsSUFBSSxPQUFPLElBQUksSUFBSSxFQUFFLENBQUM7UUFDcEIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTSxXQUFXLEdBQUcsSUFBSSxHQUFHLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFOUQsTUFBTSxnQkFBZ0IsR0FBRyxXQUFXLENBQUMsUUFBUSxDQUFDO0lBRTlDLElBQUksS0FBSyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUSxLQUFLLGdCQUFnQixFQUFFLENBQUM7UUFDNUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsSUFBSSxDQUFDLEtBQUssSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDO1FBQ3JFLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQThFRCxNQUFNLElBQUksR0FBRyxDQUFDLEtBQWdCLEVBQXNCLEVBQUU7SUFDcEQsTUFBTSxNQUFNLEdB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VyxFQUNwQixPQUFPLEVBQUUsT0FBTyxFQUNoQixXQUFXLEVBQUUsZUFBZSxFQUM1QixZQUFZLEVBQUUsZ0JBQWdCLEVBQzlCLFdBQVcsRUFBRSxXQUFXLEVBQ3hCLEdBQUcsRUFBRSxHQUFHLEVBQ1IsTUFBTSxFQUFFLE1BQU0sWUFFYixRQUFRLEdBQ1AsQ0FDTCxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsZUFBZSxJQUFJLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHtcbiAgdHlwZSBBbmNob3JIVE1MQXR0cmlidXRlcyxcbiAgdHlwZSBIVE1MQXR0cmlidXRlQW5jaG9yVGFyZ2V0LFxuICB0eXBlIE1vdXNlRXZlbnQsXG4gIHR5cGUgUmVmLFxuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdXNlRWZmZWN0LFxuICB1c2VNZW1vLFxufSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB0eXBlIHsgSGlzdG9yeSB9IGZyb20gJy4uL2hpc3RvcnkvdHlwZXMuanMnO1xuaW1wb3J0IHR5cGUge1xuICBSb3V0ZXJEZXN0aW5hdGlvbklucHV0LFxuICBVbmtub3duRmlsdGVycyxcbiAgVW5rbm93blF1ZXJ5U2hhcGUsXG59IGZyb20gJy4uL3R5cGVzLmpzJztcblxuaW1wb3J0IHsgY3ggfSBmcm9tICcuLy4uL3Rvb2xzL2luZGV4LmpzJztcblxuaW1wb3J0IFJvdXRpbmdDb250ZXh0IGZyb20gJy4vUm91dGluZ0NvbnRleHQuanMnO1xuaW1wb3J0IHsgcmVzb2x2ZVJvdXRlckRlc3RpbmF0aW9uIH0gZnJvbSAnLi9kZXN0aW5hdGlvbi5qcyc7XG5cbmNvbnN0IHsgdXNlQ2FsbGJhY2ssIHVzZUNvbnRleHQgfSA9IFJlYWN0O1xuXG5leHBvcnQgdHlwZSBMaW5rSG92ZXJQcmVsb2FkID0gJ25vbmUnIHwgJ2NvZGUnIHwgJ2NvZGUtYW5kLWRhdGEnO1xuZXhwb3J0IHR5cGUgTGlua01vdXNlRG93blByZWxvYWQgPSAnbm9uZScgfCAnY29kZS1hbmQtZGF0YSc7XG5cbi8qKlxuICogQ2hlY2sgaWYgdGhlIGN1cnJlbnQgcGF0aG5hbWUgbWF0Y2hlcyB0aGUgZ2l2ZW4gcGF0aG5hbWUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0N1cnJlbnRQYXRobmFtZShcbiAgZXhhY3Q6IGJvb2xlYW4sXG4gIGhpc3Rvcnk6IEhpc3RvcnkgfCB1bmRlZmluZWQsXG4gIHBhdGhuYW1lOiBzdHJpbmcsXG4pOiBib29sZWFuIHtcbiAgaWYgKGhpc3RvcnkgPT0gbnVsbCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IHJlc29sdmVkVXJsID0gbmV3IFVSTChwYXRobmFtZSwgZG9jdW1lbnQubG9jYXRpb24uaHJlZik7XG5cbiAgY29uc3QgcmVzb2x2ZWRQYXRobmFtZSA9IHJlc29sdmVkVXJsLnBhdGhuYW1lO1xuXG4gIGlmIChleGFjdCAmJiBoaXN0b3J5LmxvY2F0aW9uLnBhdGhuYW1lID09PSByZXNvbHZlZFBhdGhuYW1lKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBpZiAoIWV4YWN0ICYmIGhpc3RvcnkubG9jYXRpb24ucGF0aG5hbWUuc3RhcnRzV2l0aChyZXNvbHZlZFBhdGhuYW1lKSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG4vKipcbiAqIFByb3BzIGZvciB0aGUgTGluayBjb21wb25lbnQuXG4gKi9cbmV4cG9ydCB0eXBlIExpbmtQcm9wczxcbiAgVEZpbHRlcnMgZXh0ZW5kcyBVbmtub3duRmlsdGVycyA9IFVua25vd25GaWx0ZXJzLFxuICBUUmF3UXVlcnkgZXh0ZW5kcyBVbmtub3duUXVlcnlTaGFwZSA9IFVua25vd25RdWVyeVNoYXBlLFxuPiA9IE9taXQ8XG4gIEFuY2hvckhUTUxBdHRyaWJ1dGVzPEhUTUxBbmNob3JFbGVtZW50PixcbiAgfCAnY2hpbGRyZW4nXG4gIHwgJ2NsYXNzTmFtZSdcbiAgfCAnaHJlZidcbiAgfCAnb25DbGljaydcbiAgfCAnb25Gb2N1cydcbiAgfCAnb25Nb3VzZURvd24nXG4gIHwgJ29uTW91c2VFbnRlcidcbiAgfCAnb25Nb3VzZU92ZXInXG4gIHwgJ3JlZidcbiAgfCAndGFyZ2V0J1xuPiAmIHtcbiAgLyoqIENTUyBjbGFzcyB0byBhcHBseSB3aGVuIHRoZSBsaW5rIGlzIGFjdGl2ZSAobWF0Y2hlcyBjdXJyZW50IHJvdXRlKSAqL1xuICBhY3RpdmVDbGFzc05hbWU/OiBzdHJpbmc7XG4gIC8qKiBDaGlsZCBjb21wb25lbnRzIHRvIHJlbmRlciBpbnNpZGUgdGhlIGxpbmsgKi9cbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgLyoqIEJhc2UgQ1NTIGNsYXNzIGZvciB0aGUgbGluayAqL1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG4gIC8qKiBXaGV0aGVyIHRvIHVzZSBleGFjdCBwYXRoIG1hdGNoaW5nIGZvciBhY3RpdmUgc3RhdGUgKi9cbiAgZXhhY3Q/OiBib29sZWFuO1xuICAvKiogUHJlbG9hZCBiZWhhdmlvciB3aGVuIG1vdXNlIGVudGVycyB0aGUgbGluay4gKi9cbiAgcHJlbG9hZE9uSG92ZXI/OiBMaW5rSG92ZXJQcmVsb2FkO1xuICAvKiogUHJlbG9hZCBiZWhhdmlvciB3aGVuIG1vdXNlIGlzIHByZXNzZWQgZG93bi4gKi9cbiAgcHJlbG9hZE9uTW91c2VEb3duPzogTGlua01vdXNlRG93blByZWxvYWQ7XG4gIC8qKiBEaXJlY3QgaHJlZiBhdHRyaWJ1dGUgKG92ZXJyaWRlcyAndG8nIHByb3ApICovXG4gIGhyZWY/OiBzdHJpbmc7XG4gIC8qKiBXaGV0aGVyIHRoZSBsaW5rIHNob3VsZCBiZSBkaXNhYmxlZCAqL1xuICBpc0Rpc2FibGVkPzogYm9vbGVhbjtcbiAgLyoqIENsaWNrIGhhbmRsZXIgKi9cbiAgb25DbGljaz86IFJlYWN0Lk1vdXNlRXZlbnRIYW5kbGVyPEhUTUxBbmNob3JFbGVtZW50PjtcbiAgLyoqIEZvY3VzIGhhbmRsZXIgKi9cbiAgb25Gb2N1cz86IFJlYWN0LkZvY3VzRXZlbnRIYW5kbGVyPEhUTUxBbmNob3JFbGVtZW50PjtcbiAgLyoqIE1vdXNlIGRvd24gaGFuZGxlciAqL1xuICBvbk1vdXNlRG93bj86IFJlYWN0Lk1vdXNlRXZlbnRIYW5kbGVyPEhUTUxBbmNob3JFbGVtZW50PjtcbiAgLyoqIE1vdXNlIGVudGVyIGhhbmRsZXIgKi9cbiAgb25Nb3VzZUVudGVyPzogUmVhY3QuTW91c2VFdmVudEhhbmRsZXI8SFRNTEFuY2hvckVsZW1lbnQ+O1xuICAvKiogTW91c2Ugb3ZlciBoYW5kbGVyICovXG4gIG9uTW91c2VPdmVyPzogUmVhY3QuTW91c2VFdmVudEhhbmRsZXI8SFRNTEFuY2hvckVsZW1lbnQ+O1xuICAvKiogQW5jaG9yIHJlZiAqL1xuICByZWY/OiBSZWY8SFRNTEFuY2hvckVsZW1lbnQ+O1xuICAvKiogVGFyZ2V0IGF0dHJpYnV0ZSBmb3IgdGhlIGxpbmsgKi9cbiAgdGFyZ2V0PzogSFRNTEF0dHJpYnV0ZUFuY2hvclRhcmdldDtcbiAgLyoqIERlc3RpbmF0aW9uIGZvciB0aGUgbGluayAoY2FuIGJlIHN0cmluZyBwYXRoIG9yIGxvY2F0aW9uIG9iamVjdCkgKi9cbiAgdG8/OiBSb3V0ZXJEZXN0aW5hdGlvbklucHV0PFRGaWx0ZXJzLCBUUmF3UXVlcnk+O1xufTtcblxuLyoqXG4gKiBOYXZpZ2F0aW9uIGNvbXBvbmVudCB0aGF0IHByb3ZpZGVzIGNsaWVudC1zaWRlIHJvdXRpbmcgd2l0aCBwcmVsb2FkaW5nIGNhcGFiaWxpdGllcy5cbiAqXG4gKiBUaGlzIGNvbXBvbmVudCBpbnRlZ3JhdGVzIHdpdGggdGhlIHJvdXRlcidzIFJvdXRpbmdDb250ZXh0IHRvIHByb3ZpZGUgc21vb3RoIG5hdmlnYXRpb25cbiAqIHdpdGggb3B0aW9uYWwgcHJlbG9hZGluZyBvZiByb3V0ZSBjb21wb25lbnRzIGFuZCBkYXRhLiBJdCBhdXRvbWF0aWNhbGx5IGFwcGxpZXMgYWN0aXZlXG4gKiBzdHlsaW5nIHdoZW4gdGhlIGN1cnJlbnQgcm91dGUgbWF0Y2hlcyB0aGUgbGluaydzIGRlc3RpbmF0aW9uLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c3hcbiAqIC8vIEJhc2ljIHVzYWdlXG4gKiA8TGluayB0bz1cIi91c2Vycy8xMjNcIj5WaWV3IFByb2ZpbGU8L0xpbms+XG4gKlxuICogLy8gV2l0aCBhY3RpdmUgc3R5bGluZ1xuICogPExpbmsgdG89XCIvZGFzaGJvYXJkXCIgYWN0aXZlQ2xhc3NOYW1lPVwiYWN0aXZlXCIgZXhhY3Q+XG4gKiAgIERhc2hib2FyZFxuICogPC9MaW5rPlxuICpcbiAqIC8vIFdpdGggZnVsbCBwcmVsb2FkaW5nIG9uIGhvdmVyXG4gKiA8TGluayB0bz1cIi9oZWF2eS1wYWdlXCIgcHJlbG9hZE9uSG92ZXI9XCJjb2RlLWFuZC1kYXRhXCI+XG4gKiAgIEhlYXZ5IFBhZ2VcbiAqIDwvTGluaz5cbiAqIGBgYFxuICovXG5jb25zdCBMaW5rID0gKHByb3BzOiBMaW5rUHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQgPT4ge1xuICBjb25zdCByb3V0ZXIgPSB1c2VDb250ZXh0KFJvdXRpbmdDb250ZXh0KTtcbiAgY29uc3Qge1xuICAgIGFjdGl2ZUNsYXNzTmFtZSxcbiAgICBjaGlsZHJlbixcbiAgICBjbGFzc05hbWUsXG4gICAgZXhhY3QgPSBmYWxzZSxcbiAgICBpc0Rpc2FibGVkID0gZmFsc2UsXG4gICAgb25DbGljayxcbiAgICBvbkZvY3VzLFxuICAgIG9uTW91c2VEb3duLFxuICAgIG9uTW91c2VFbnRlcixcbiAgICBvbk1vdXNlT3ZlcixcbiAgICBwcmVsb2FkT25Ib3ZlciA9ICdjb2RlJyxcbiAgICBwcmVsb2FkT25Nb3VzZURvd24gPSAnY29kZS1hbmQtZGF0YScsXG4gICAgdGFyZ2V0LFxuICAgIHRvLFxuICAgIGhyZWYsXG4gICAgcmVmLFxuICAgIC4uLmFuY2hvclByb3BzXG4gIH0gPSBwcm9wcztcblxuICBjb25zdCByZXNvbHZlZERlc3RpbmF0aW9uID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGlzRGlzYWJsZWQpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHBhdGhuYW1lOiAnIycsXG4gICAgICAgIHNlYXJjaDogJycsXG4gICAgICAgIGhhc2g6ICcnLFxuICAgICAgICBocmVmOiAnIycsXG4gICAgICAgIGlzRXh0ZXJuYWw6IGZhbHNlLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjb25zdCBkZXN0aW5hdGlvbjogUm91dGVyRGVzdGluYXRpb25JbnB1dCA9IGhyZWYgPz8gdG8gPz8gJyMnO1xuXG4gICAgbGV0IGN1cnJlbnRIcmVmOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgaWYgKHR5cGVvZiBkb2N1bWVudCAhPT0gJ3VuZGVmaW5lZCcpIGN1cnJlbnRIcmVmID0gZG9jdW1lbnQubG9jYXRpb24uaHJlZjtcbiAgICByZXR1cm4gcmVzb2x2ZVJvdXRlckRlc3RpbmF0aW9uKHtcbiAgICAgIGRlc3RpbmF0aW9uLFxuICAgICAgY3VycmVudEhyZWYsXG4gICAgICBidWlsZFNlYXJjaDogKGlucHV0KSA9PiB7XG4gICAgICAgIHJldHVybiByb3V0ZXI/LmJ1aWxkU2VhcmNoKGlucHV0KSA/PyAnJztcbiAgICAgIH0sXG4gICAgfSk7XG4gIH0sIFtocmVmLCBpc0Rpc2FibGVkLCByb3V0ZXIsIHRvXSk7XG4gIGNvbnN0IHsgcGF0aG5hbWUsIHNlYXJjaCwgaGFzaCwgaXNFeHRlcm5hbCB9ID0gcmVzb2x2ZWREZXN0aW5hdGlvbjtcblxuICBjb25zdCBpbml0aWFsSXNBY3RpdmUgPSBpc0N1cnJlbnRQYXRobmFtZShleGFjdCwgcm91dGVyPy5oaXN0b3J5LCBwYXRobmFtZSk7XG4gIGNvbnN0IFtpc0FjdGl2ZSwgc2V0SXNBY3RpdmVdID0gUmVhY3QudXNlU3RhdGUoaW5pdGlhbElzQWN0aXZlKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IG9uQ2hhbmdlID0gKCkgPT4ge1xuICAgICAgY29uc3QgbmV3SXNBY3RpdmUgPSBpc0N1cnJlbnRQYXRobmFtZShleGFjdCwgcm91dGVyPy5oaXN0b3J5LCBwYXRobmFtZSk7XG4gICAgICBzZXRJc0FjdGl2ZShuZXdJc0FjdGl2ZSk7XG4gICAgfTtcblxuICAgIGlmIChyb3V0ZXIgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuICgpID0+IHt9O1xuICAgIH1cblxuICAgIHJldHVybiByb3V0ZXIuaGlzdG9yeS5zdWJzY3JpYmUob25DaGFuZ2UpO1xuICB9LCBbZXhhY3QsIHBhdGhuYW1lLCByb3V0ZXJdKTtcblxuICBjb25zdCBjbGFzc05hbWVzID0gW2NsYXNzTmFtZV07XG5cbiAgaWYgKGlzQWN0aXZlKSB7XG4gICAgY2xhc3NOYW1lcy5wdXNoKGFjdGl2ZUNsYXNzTmFtZSk7XG4gIH1cblxuICAvLyBXaGVuIHRoZSB1c2VyIGNsaWNrcywgY2hhbmdlIHJvdXRlXG4gIGNvbnN0IGhhbmRsZUNsaWNrID0gdXNlQ2FsbGJhY2soXG4gICAgKGV2ZW50OiBNb3VzZUV2ZW50PEhUTUxBbmNob3JFbGVtZW50PikgPT4ge1xuICAgICAgaWYgKCFpc0Rpc2FibGVkICYmIHR5cGVvZiBvbkNsaWNrID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIG9uQ2xpY2soZXZlbnQpO1xuICAgICAgfVxuXG4gICAgICBpZiAoXG4gICAgICAgIGV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQgfHxcbiAgICAgICAgZXZlbnQubWV0YUtleSB8fFxuICAgICAgICBldmVudC5hbHRLZXkgfHxcbiAgICAgICAgZXZlbnQuY3RybEtleSB8fFxuICAgICAgICBldmVudC5zaGlmdEtleSB8fFxuICAgICAgICBldmVudC5idXR0b24gIT09IDAgfHxcbiAgICAgICAgaXNFeHRlcm5hbCB8fFxuICAgICAgICAodGFyZ2V0ICE9IG51bGwgJiYgdGFyZ2V0ICE9PSAnX3NlbGYnKVxuICAgICAgKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGlmIChyb3V0ZXIgPT0gbnVsbCB8fCBpc0Rpc2FibGVkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgcm91dGVyLmhpc3RvcnkucHVzaCh7XG4gICAgICAgIHBhdGhuYW1lLFxuICAgICAgICBzZWFyY2gsXG4gICAgICAgIGhhc2gsXG4gICAgICAgIGRlYnVnQ29udGV4dDoge1xuICAgICAgICAgIG9yaWdpbjogJ2xpbmstY2xpY2snLFxuICAgICAgICAgIHRyaWdnZXI6ICdsaW5rJyxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgW2hhc2gsIGlzRGlzYWJsZWQsIGlzRXh0ZXJuYWwsIG9uQ2xpY2ssIHBhdGhuYW1lLCByb3V0ZXIsIHRhcmdldCwgc2VhcmNoXSxcbiAgKTtcblxuICAvLyBDYWxsYmFjayB0byBwcmVsb2FkIGp1c3QgdGhlIGNvZGUgZm9yIHRoZSByb3V0ZTpcbiAgLy8gd2UgcGFzcyB0aGlzIHRvIG9uTW91c2VFbnRlciwgd2hpY2ggaXMgYSB3ZWFrZXIgc2lnbmFsXG4gIC8vIHRoYXQgdGhlIHVzZXIgKm1heSogbmF2aWdhdGUgdG8gdGhlIHJvdXRlLlxuICBjb25zdCBoYW5kbGVNb3VzZUVudGVyID0gdXNlQ2FsbGJhY2soXG4gICAgKGV2ZW50OiBNb3VzZUV2ZW50PEhUTUxBbmNob3JFbGVtZW50PikgPT4ge1xuICAgICAgaWYgKHR5cGVvZiBvbk1vdXNlRW50ZXIgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgb25Nb3VzZUVudGVyKGV2ZW50KTtcbiAgICAgIH1cbiAgICAgIGlmIChldmVudC5kZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKHJvdXRlciA9PSBudWxsIHx8IGlzRGlzYWJsZWQgfHwgaXNFeHRlcm5hbCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmIChwcmVsb2FkT25Ib3ZlciA9PT0gJ25vbmUnKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgcHJlbG9hZFRhcmdldCA9IHtcbiAgICAgICAgcGF0aG5hbWUsXG4gICAgICAgIHNlYXJjaCxcbiAgICAgICAgc291cmNlOiAncHJlbG9hZC1ob3ZlcicsXG4gICAgICB9IGFzIGNvbnN0O1xuICAgICAgaWYgKHByZWxvYWRPbkhvdmVyID09PSAnY29kZS1hbmQtZGF0YScpIHtcbiAgICAgICAgcm91dGVyLnByZWxvYWQocHJlbG9hZFRhcmdldCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHJvdXRlci5wcmVsb2FkQ29kZShwcmVsb2FkVGFyZ2V0KTtcbiAgICB9LFxuICAgIFtcbiAgICAgIHJvdXRlcixcbiAgICAgIGlzRGlzYWJsZWQsXG4gICAgICBpc0V4dGVybmFsLFxuICAgICAgb25Nb3VzZUVudGVyLFxuICAgICAgcHJlbG9hZE9uSG92ZXIsXG4gICAgICBwYXRobmFtZSxcbiAgICAgIHNlYXJjaCxcbiAgICBdLFxuICApO1xuXG4gIC8vIENhbGxiYWNrIHRvIHByZWxvYWQgdGhlIGNvZGUgYW5kIGRhdGEgZm9yIHRoZSByb3V0ZTpcbiAgLy8gd2UgcGFzcyB0aGlzIHRvIG9uTW91c2VEb3duLCBzaW5jZSB0aGlzIGlzIGEgc3Ryb25nZXJcbiAgLy8gc2lnbmFsIHRoYXQgdGhlIHVzZXIgd2lsbCBsaWtlbHkgY29tcGxldGUgdGhlIG5hdmlnYXRpb25cbiAgY29uc3QgaGFuZGxlTW91c2VEb3duID0gdXNlQ2FsbGJhY2soXG4gICAgKGV2ZW50OiBNb3VzZUV2ZW50PEhUTUxBbmNob3JFbGVtZW50PikgPT4ge1xuICAgICAgaWYgKHR5cGVvZiBvbk1vdXNlRG93biA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBvbk1vdXNlRG93bihldmVudCk7XG4gICAgICB9XG4gICAgICBpZiAoZXZlbnQuZGVmYXVsdFByZXZlbnRlZCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmIChyb3V0ZXIgPT0gbnVsbCB8fCBpc0Rpc2FibGVkIHx8IGlzRXh0ZXJuYWwpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAocHJlbG9hZE9uTW91c2VEb3duID09PSAnY29kZS1hbmQtZGF0YScpIHtcbiAgICAgICAgcm91dGVyLnByZWxvYWQoeyBwYXRobmFtZSwgc2VhcmNoLCBzb3VyY2U6ICdsaW5rLWNsaWNrJyB9KTtcbiAgICAgIH1cbiAgICB9LFxuICAgIFtcbiAgICAgIHJvdXRlcixcbiAgICAgIGlzRGlzYWJsZWQsXG4gICAgICBpc0V4dGVybmFsLFxuICAgICAgb25Nb3VzZURvd24sXG4gICAgICBwcmVsb2FkT25Nb3VzZURvd24sXG4gICAgICBwYXRobmFtZSxcbiAgICAgIHNlYXJjaCxcbiAgICBdLFxuICApO1xuXG4gIGNvbnN0IGhyZWZWYWx1ZSA9IHJlc29sdmVkRGVzdGluYXRpb24uaHJlZjtcbiAgcmV0dXJuIChcbiAgICA8YVxuICAgICAgey4uLmFuY2hvclByb3BzfVxuICAgICAgY2xhc3NOYW1lPXtjeChjbGFzc05hbWVzKX1cbiAgICAgIGhyZWY9e2hyZWZWYWx1ZX1cbiAgICAgIG9uQ2xpY2s9e2hhbmRsZUNsaWNrfVxuICAgICAgb25Gb2N1cz17b25Gb2N1c31cbiAgICAgIG9uTW91c2VEb3duPXtoYW5kbGVNb3VzZURvd259XG4gICAgICBvbk1vdXNlRW50ZXI9e2hhbmRsZU1vdXNlRW50ZXJ9XG4gICAgICBvbk1vdXNlT3Zlcj17b25Nb3VzZU92ZXJ9XG4gICAgICByZWY9e3JlZn1cbiAgICAgIHRhcmdldD17dGFyZ2V0fVxuICAgID5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L2E+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBMaW5rO1xuIl19
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { type JSX, type ReactNode } from 'react';
|
|
2
|
-
import type {
|
|
2
|
+
import type { PreparedRouteSegment, RouteEntry, RouterMatchedRoute } from '../types.js';
|
|
3
3
|
import type { ParamData } from 'path-to-regexp';
|
|
4
4
|
type Props<TVars extends ParamData = ParamData> = {
|
|
5
5
|
children?: ReactNode;
|
|
6
6
|
entry?: RouteEntry<TVars>;
|
|
7
7
|
match: RouterMatchedRoute<TVars> | null;
|
|
8
|
-
|
|
8
|
+
preparedSegment: PreparedRouteSegment;
|
|
9
9
|
};
|
|
10
10
|
declare const RouteComponentWrapper: <TVars extends ParamData = ParamData>(props: Props<TVars>) => JSX.Element | null;
|
|
11
11
|
export default RouteComponentWrapper;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RouteComponentWrapper.d.ts","sourceRoot":"","sources":["../../../src/routing/RouteComponentWrapper.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,GAAG,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEtE,OAAO,KAAK,EACV,
|
|
1
|
+
{"version":3,"file":"RouteComponentWrapper.d.ts","sourceRoot":"","sources":["../../../src/routing/RouteComponentWrapper.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,GAAG,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEtE,OAAO,KAAK,EACV,oBAAoB,EACpB,UAAU,EAEV,kBAAkB,EACnB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAkChD,KAAK,KAAK,CAAC,KAAK,SAAS,SAAS,GAAG,SAAS,IAAI;IAChD,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,KAAK,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IAC1B,KAAK,EAAE,kBAAkB,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IACxC,eAAe,EAAE,oBAAoB,CAAC;CACvC,CAAC;AAaF,QAAA,MAAM,qBAAqB,GAAI,KAAK,SAAS,SAAS,GAAG,SAAS,SACzD,KAAK,CAAC,KAAK,CAAC,KAClB,GAAG,CAAC,OAAO,GAAG,IAiIhB,CAAC;eAEa,qBAAqB"}
|
|
@@ -9,8 +9,8 @@ function RouteHighlightBoundary(props) {
|
|
|
9
9
|
return (_jsxs(_Fragment, { children: [_jsx("span", { "data-plumile-route-start": highlightId, "aria-hidden": "true", style: { display: 'none' } }), children, _jsx("span", { "data-plumile-route-end": highlightId, "aria-hidden": "true", style: { display: 'none' } })] }));
|
|
10
10
|
}
|
|
11
11
|
const RouteComponentWrapper = (props) => {
|
|
12
|
-
const { children, entry, match,
|
|
13
|
-
const { resourcePage, preparedResource, render, redirectTo, highlightId } =
|
|
12
|
+
const { children, entry, match, preparedSegment } = props;
|
|
13
|
+
const { resourcePage, preparedResource, render, redirectTo, highlightId } = preparedSegment;
|
|
14
14
|
const router = useContext(RoutingContext);
|
|
15
15
|
const currentEntry = entry ?? router?.get();
|
|
16
16
|
const rawQuery = currentEntry?.query ?? {};
|
|
@@ -18,8 +18,8 @@ const RouteComponentWrapper = (props) => {
|
|
|
18
18
|
const routeContext = currentEntry?.context;
|
|
19
19
|
const typedQuery = rawQuery;
|
|
20
20
|
const preparedSegments = currentEntry?.preparedMatch.segments ?? [];
|
|
21
|
-
const { segmentIndex } =
|
|
22
|
-
const leafSegment = preparedSegments.at(-1) ??
|
|
21
|
+
const { segmentIndex } = preparedSegment;
|
|
22
|
+
const leafSegment = preparedSegments.at(-1) ?? preparedSegment;
|
|
23
23
|
const route = useMemo(() => {
|
|
24
24
|
if (match == null) {
|
|
25
25
|
return null;
|
|
@@ -46,8 +46,7 @@ const RouteComponentWrapper = (props) => {
|
|
|
46
46
|
content = render({
|
|
47
47
|
children,
|
|
48
48
|
Component: RoutePageComponent,
|
|
49
|
-
preparedSegment
|
|
50
|
-
preparedRoute,
|
|
49
|
+
preparedSegment,
|
|
51
50
|
preparedSegments,
|
|
52
51
|
segmentIndex,
|
|
53
52
|
leafSegment,
|
|
@@ -97,11 +96,11 @@ const RouteComponentWrapper = (props) => {
|
|
|
97
96
|
}
|
|
98
97
|
}
|
|
99
98
|
if (RoutePageComponent == null) {
|
|
100
|
-
return null;
|
|
99
|
+
return wrapWithHighlight(children ?? null);
|
|
101
100
|
}
|
|
102
|
-
const componentNode = (_jsx(RoutePageComponent, { match: match,
|
|
101
|
+
const componentNode = (_jsx(RoutePageComponent, { match: match, preparedSegment: preparedSegment, route: route, prepared: prepared, query: typedQuery, filters: filters, preparedSegments: preparedSegments, segmentIndex: segmentIndex, leafSegment: leafSegment, children: children }));
|
|
103
102
|
const content2 = wrapWithHighlight(componentNode);
|
|
104
103
|
return _jsx(RouteComponent, { redirectToPathname: pathname, content: content2 });
|
|
105
104
|
};
|
|
106
105
|
export default RouteComponentWrapper;
|
|
107
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUm91dGVDb21wb25lbnRXcmFwcGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3JvdXRpbmcvUm91dGVDb21wb25lbnRXcmFwcGVyLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQTRCLE1BQU0sT0FBTyxDQUFDO0FBU3RFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVsRCxPQUFPLGNBQWMsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRCxPQUFPLGNBQWMsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQVUvRCxTQUFTLHNCQUFzQixDQUFDLEtBQTZCO0lBQzNELE1BQU0sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBQ3hDLE9BQU8sQ0FDTCw4QkFDRSwyQ0FDNEIsV0FBVyxpQkFDekIsTUFBTSxFQUNsQixLQUFLLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQzFCLEVBQ0QsUUFBUSxFQUNULHlDQUMwQixXQUFXLGlCQUN2QixNQUFNLEVBQ2xCLEtBQUssRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FDMUIsSUFDRCxDQUNKLENBQUM7QUFDSixDQUFDO0FBb0JELE1BQU0scUJBQXFCLEdBQUcsQ0FDNUIsS0FBbUIsRUFDQyxFQUFFO0lBQ3RCLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsR0FBRyxLQUFLLENBQUM7SUFDeEQsTUFBTSxFQUFFLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxHQUN2RSxhQUFhLENBQUM7SUFDaEIsTUFBTSxNQUFNLEdBQUcsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzFDLE1BQU0sWUFBWSxH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QUM7SUFDRixNQUFNLFFBQVEsR0FBRyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUVsRCxPQUFPLEtBQUMsY0FBYyxJQUFDLGtCQUFrQixFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUSxHQUFJLENBQUM7QUFDN0UsQ0FBQyxDQUFDO0FBRUYsZUFBZSxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUNvbnRleHQsIHVzZU1lbW8sIHR5cGUgSlNYLCB0eXBlIFJlYWN0Tm9kZSB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHR5cGUge1xuICBQcmVwYXJlZE1hdGNoUm91dGUsXG4gIFJvdXRlRW50cnksXG4gIFJvdXRlUmVhY3RDb21wb25lbnQsXG4gIFJvdXRlck1hdGNoZWRSb3V0ZSxcbn0gZnJvbSAnLi4vdHlwZXMuanMnO1xuaW1wb3J0IHR5cGUgeyBQYXJhbURhdGEgfSBmcm9tICdwYXRoLXRvLXJlZ2V4cCc7XG5pbXBvcnQgeyBIdHRwUmVkaXJlY3QgfSBmcm9tICcuLi9lcnJvcnMvaW5kZXguanMnO1xuXG5pbXBvcnQgUm91dGluZ0NvbnRleHQgZnJvbSAnLi9Sb3V0aW5nQ29udGV4dC5qcyc7XG5pbXBvcnQgUm91dGVDb21wb25lbnQgZnJvbSAnLi9Sb3V0ZUNvbXBvbmVudC5qcyc7XG5pbXBvcnQgeyByZWFkUHJlcGFyZWRSb3V0ZVZhbHVlIH0gZnJvbSAnLi4vcHJlcGFyZVJlc291cmNlLmpzJztcblxudHlwZSBIaWdobGlnaHRCb3VuZGFyeVByb3BzID0ge1xuICBoaWdobGlnaHRJZDogc3RyaW5nO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xufTtcblxuLyoqXG4gKiBXcmFwcyB0aGUgcmVuZGVyZWQgcm91dGUgb3V0cHV0IHdpdGggaW52aXNpYmxlIG1hcmtlcnMgc28gRGV2VG9vbHMgY2FuIG1hcCBpdCBiYWNrLlxuICovXG5mdW5jdGlvbiBSb3V0ZUhpZ2hsaWdodEJvdW5kYXJ5KHByb3BzOiBIaWdobGlnaHRCb3VuZGFyeVByb3BzKTogSlNYLkVsZW1lbnQge1xuICBjb25zdCB7IGhpZ2hsaWdodElkLCBjaGlsZHJlbiB9ID0gcHJvcHM7XG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxzcGFuXG4gICAgICAgIGRhdGEtcGx1bWlsZS1yb3V0ZS1zdGFydD17aGlnaGxpZ2h0SWR9XG4gICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgIHN0eWxlPXt7IGRpc3BsYXk6ICdub25lJyB9fVxuICAgICAgLz5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDxzcGFuXG4gICAgICAgIGRhdGEtcGx1bWlsZS1yb3V0ZS1lbmQ9e2hpZ2hsaWdodElkfVxuICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICBzdHlsZT17eyBkaXNwbGF5OiAnbm9uZScgfX1cbiAgICAgIC8+XG4gICAgPC8+XG4gICk7XG59XG5cbnR5cGUgUHJvcHM8VFZhcnMgZXh0ZW5kcyBQYXJhbURhdGEgPSBQYXJhbURhdGE+ID0ge1xuICBjaGlsZHJlbj86IFJlYWN0Tm9kZTtcbiAgZW50cnk/OiBSb3V0ZUVudHJ5PFRWYXJzPjtcbiAgbWF0Y2g6IFJvdXRlck1hdGNoZWRSb3V0ZTxUVmFycz4gfCBudWxsO1xuICBwcmVwYXJlZFJvdXRlOiBQcmVwYXJlZE1hdGNoUm91dGU7XG59O1xuXG4vKipcbiAqIFRoZSBgcmVzb3VyY2VQYWdlYCBwcm9wZXJ0eSBmcm9tIHRoZSByb3V0ZSBlbnRyeSBpcyBhIFJlc291cmNlLCB3aGljaCBtYXkgb3IgbWF5IG5vdCBiZSByZWFkeS5cbiAqIFdlIHVzZSBhIGhlbHBlciBjaGlsZCBjb21wb25lbnQgdG8gdW53cmFwIHRoZSByZXNvdXJjZSB3aXRoIGNvbXBvbmVudC5yZWFkKCksIGFuZCB0aGVuXG4gKiByZW5kZXIgaXQgaWYgaXRzIHJlYWR5LlxuICpcbiAqIE5PVEU6IGNhbGxpbmcgcm91dGVFbnRyeS5yb3V0ZS5jb21wb25lbnQucmVhZCgpIGRpcmVjdGx5IGluIFJvdXRlUmVuZGVyZXIgd29sZG4ndCB3b3JrIHRoZVxuICogd2F5IHdlJ2QgZXhwZWN0LiBCZWNhdXNlIHRoYXQgbWV0aG9kIGNvdWxkIHRocm93IC0gZWl0aGVyIHN1c3BlbmRpbmcgb3Igb24gZXJyb3IgLSB0aGUgZXJyb3JcbiAqIHdvdWxkIGJ1YmJsZSB1cCB0byB0aGUgKmNhbGxlciogb2YgUm91dGVSZW5kZXJlci4gV2Ugd2FudCB0aGUgc3VzcGVuZC9lcnJvciB0byBidWJibGUgdXAgdG9cbiAqIG91ciBFcnJvckJvdW5kYXJ5L1N1c3BlbnNlIGNvbXBvbmVudHMsIHNvIHdlIGhhdmUgdG8gZW5zdXJlIHRoYXQgdGhlIHN1c3BlbmQvZXJyb3IgaGFwcGVuc1xuICogaW4gYSBjaGlsZCBjb21wb25lbnQuXG4gKi9cbmNvbnN0IFJvdXRlQ29tcG9uZW50V3JhcHBlciA9IDxUVmFycyBleHRlbmRzIFBhcmFtRGF0YSA9IFBhcmFtRGF0YT4oXG4gIHByb3BzOiBQcm9wczxUVmFycz4sXG4pOiBKU1guRWxlbWVudCB8IG51bGwgPT4ge1xuICBjb25zdCB7IGNoaWxkcmVuLCBlbnRyeSwgbWF0Y2gsIHByZXBhcmVkUm91dGUgfSA9IHByb3BzO1xuICBjb25zdCB7IHJlc291cmNlUGFnZSwgcHJlcGFyZWRSZXNvdXJjZSwgcmVuZGVyLCByZWRpcmVjdFRvLCBoaWdobGlnaHRJZCB9ID1cbiAgICBwcmVwYXJlZFJvdXRlOyAvLyByb3V0ZURhdGFcbiAgY29uc3Qgcm91dGVyID0gdXNlQ29udGV4dChSb3V0aW5nQ29udGV4dCk7XG4gIGNvbnN0IGN1cnJlbnRFbnRyeSA9IGVudHJ5ID8/IHJvdXRlcj8uZ2V0KCk7XG4gIGNvbnN0IHJhd1F1ZXJ5ID0gY3VycmVudEVudHJ5Py5xdWVyeSA/PyB7fTtcbiAgY29uc3QgZmlsdGVycyA9IGN1cnJlbnRFbnRyeT8uZmlsdGVycztcbiAgY29uc3Qgcm91dGVDb250ZXh0ID0gY3VycmVudEVudHJ5Py5jb250ZXh0O1xuICBjb25zdCB0eXBlZFF1ZXJ5ID0gcmF3UXVlcnk7IC8vIGxlZ2FjeSB0eXBlZFF1ZXJ5IHJlbW92ZWRcbiAgY29uc3QgcHJlcGFyZWRTZWdtZW50cyA9IGN1cnJlbnRFbnRyeT8ucHJlcGFyZWRNYXRjaC5zZWdtZW50cyA/PyBbXTtcbiAgY29uc3QgeyBzZWdtZW50SW5kZXggfSA9IHByZXBhcmVkUm91dGU7XG4gIGNvbnN0IGxlYWZTZWdtZW50ID0gcHJlcGFyZWRTZWdtZW50cy5hdCgtMSkgPz8gcHJlcGFyZWRSb3V0ZTtcblxuICBjb25zdCByb3V0ZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChtYXRjaCA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gbWF0Y2gucm91dGU7XG4gIH0sIFttYXRjaF0pO1xuXG4gIGNvbnN0IHByZXBhcmVkID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIHJlYWRQcmVwYXJlZFJvdXRlVmFsdWUocHJlcGFyZWRSZXNvdXJjZSk7XG4gIH0sIFtwcmVwYXJlZFJlc291cmNlXSk7XG5cbiAgY29uc3QgQ29tcG9uZW50ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKHJlc291cmNlUGFnZSA9PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGNvbnNpc3RlbnQtcmV0dXJuXG4gICAgcmV0dXJuIHJlc291cmNlUGFnZS5yZWFkKCk7XG4gIH0sIFtyZXNvdXJjZVBhZ2VdKTtcbiAgbGV0IFJvdXRlUGFnZUNvbXBvbmVudDogUm91dGVSZWFjdENvbXBvbmVudCB8IHVuZGVmaW5lZDtcbiAgaWYgKENvbXBvbmVudCAhPSBudWxsKSB7XG4gICAgUm91dGVQYWdlQ29tcG9uZW50ID0gQ29tcG9uZW50IGFzIFJvdXRlUmVhY3RDb21wb25lbnQ7XG4gIH1cblxuICBsZXQgY29udGVudDpcbiAgICBKU1guRWxlbWVudCB8IG51bGwgfCB1bmRlZmluZWQgfCBQcm9taXNlPEpTWC5FbGVtZW50IHwgbnVsbCB8IHVuZGVmaW5lZD4gPVxuICAgIG51bGw7XG4gIGxldCByZWRpcmVjdFRvUGF0aG5hbWU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIGlmIChyZW5kZXIgIT0gbnVsbCkge1xuICAgIHRyeSB7XG4gICAgICBjb250ZW50ID0gcmVuZGVyKHtcbiAgICAgICAgY2hpbGRyZW4sXG4gICAgICAgIENvbXBvbmVudDogUm91dGVQYWdlQ29tcG9uZW50LFxuICAgICAgICBwcmVwYXJlZFNlZ21lbnQ6IHByZXBhcmVkUm91dGUsXG4gICAgICAgIHByZXBhcmVkUm91dGUsXG4gICAgICAgIHByZXBhcmVkU2VnbWVudHMsXG4gICAgICAgIHNlZ21lbnRJbmRleCxcbiAgICAgICAgbGVhZlNlZ21lbnQsXG4gICAgICAgIHJvdXRlLFxuICAgICAgICBwcmVwYXJlZCxcbiAgICAgICAgY29udGV4dDogcm91dGVDb250ZXh0LFxuICAgICAgICByYXdRdWVyeSxcbiAgICAgICAgcXVlcnk6IHR5cGVkUXVlcnksXG4gICAgICAgIGZpbHRlcnMsXG4gICAgICB9KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgSHR0cFJlZGlyZWN0ICYmIHJvdXRlciAhPSBudWxsKSB7XG4gICAgICAgIGNvbnRlbnQgPSBudWxsO1xuICAgICAgICByZWRpcmVjdFRvUGF0aG5hbWUgPSBlcnJvci5yZWRpcmVjdFRvO1xuICAgICAgICAvLyBJZiBpdCdzIHN1c3BlbmRlZFxuICAgICAgfSBlbHNlIGlmIChlcnJvciBpbnN0YW5jZW9mIFByb21pc2UpIHtcbiAgICAgICAgY29udGVudCA9IGVycm9yO1xuICAgICAgfSBlbHNlIGlmICh0eXBlb2YgZXJyb3IgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIGNvbnRlbnQgPSB1bmRlZmluZWQ7XG4gICAgICAgIHJlZGlyZWN0VG9QYXRobmFtZSA9IG51bGw7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgICAgICBjb25zb2xlLmVycm9yKCdFUlJPUjogJywgZXJyb3IpO1xuICAgICAgICBjb250ZW50ID0gbnVsbDtcbiAgICAgICAgcmVkaXJlY3RUb1BhdGhuYW1lID0gbnVsbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb25zdCBwYXRobmFtZTogc3RyaW5nIHwgbnVsbCA9IHJlZGlyZWN0VG8gPz8gcmVkaXJlY3RUb1BhdGhuYW1lID8/IG51bGw7XG5cbiAgY29uc3Qgd3JhcFdpdGhIaWdobGlnaHQgPSAobm9kZTogUmVhY3ROb2RlKTogSlNYLkVsZW1lbnQgPT4ge1xuICAgIGlmICh0eXBlb2YgaGlnaGxpZ2h0SWQgIT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gPD57bm9kZX08Lz47XG4gICAgfVxuICAgIHJldHVybiAoXG4gICAgICA8Um91dGVIaWdobGlnaHRCb3VuZGFyeSBoaWdobGlnaHRJZD17aGlnaGxpZ2h0SWR9PlxuICAgICAgICB7bm9kZX1cbiAgICAgIDwvUm91dGVIaWdobGlnaHRCb3VuZGFyeT5cbiAgICApO1xuICB9O1xuXG4gIGlmIChyZW5kZXIgIT0gbnVsbCkge1xuICAgIGlmIChjb250ZW50IGluc3RhbmNlb2YgUHJvbWlzZSkge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9vbmx5LXRocm93LWVycm9yXG4gICAgICB0aHJvdyBjb250ZW50O1xuICAgIH1cblxuICAgIGlmIChwYXRobmFtZSAhPSBudWxsKSB7XG4gICAgICByZXR1cm4gPFJvdXRlQ29tcG9uZW50IHJlZGlyZWN0VG9QYXRobmFtZT17cGF0aG5hbWV9IC8+O1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgY29udGVudCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHJldHVybiB3cmFwV2l0aEhpZ2hsaWdodChjb250ZW50ID8/IG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIGlmIChSb3V0ZVBhZ2VDb21wb25lbnQgPT0gbnVsbCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3QgY29tcG9uZW50Tm9kZSA9IChcbiAgICA8Um91dGVQYWdlQ29tcG9uZW50XG4gICAgICBtYXRjaD17bWF0Y2h9XG4gICAgICBwcmVwYXJlZFJvdXRlPXtwcmVwYXJlZFJvdXRlfVxuICAgICAgcm91dGU9e3JvdXRlfVxuICAgICAgcHJlcGFyZWQ9e3ByZXBhcmVkfVxuICAgICAgcXVlcnk9e3R5cGVkUXVlcnl9XG4gICAgICBmaWx0ZXJzPXtmaWx0ZXJzfVxuICAgICAgcHJlcGFyZWRTZWdtZW50cz17cHJlcGFyZWRTZWdtZW50c31cbiAgICAgIHNlZ21lbnRJbmRleD17c2VnbWVudEluZGV4fVxuICAgICAgbGVhZlNlZ21lbnQ9e2xlYWZTZWdtZW50fVxuICAgID5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L1JvdXRlUGFnZUNvbXBvbmVudD5cbiAgKTtcbiAgY29uc3QgY29udGVudDIgPSB3cmFwV2l0aEhpZ2hsaWdodChjb21wb25lbnROb2RlKTtcblxuICByZXR1cm4gPFJvdXRlQ29tcG9uZW50IHJlZGlyZWN0VG9QYXRobmFtZT17cGF0aG5hbWV9IGNvbnRlbnQ9e2NvbnRlbnQyfSAvPjtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFJvdXRlQ29tcG9uZW50V3JhcHBlcjtcbiJdfQ==
|
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUm91dGVDb21wb25lbnRXcmFwcGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3JvdXRpbmcvUm91dGVDb21wb25lbnRXcmFwcGVyLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQTRCLE1BQU0sT0FBTyxDQUFDO0FBU3RFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVsRCxPQUFPLGNBQWMsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRCxPQUFPLGNBQWMsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQVUvRCxTQUFTLHNCQUFzQixDQUFDLEtBQTZCO0lBQzNELE1BQU0sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBQ3hDLE9BQU8sQ0FDTCw4QkFDRSwyQ0FDNEIsV0FBVyxpQkFDekIsTUFBTSxFQUNsQixLQUFLLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQzFCLEVBQ0QsUUFBUSxFQUNULHlDQUMwQixXQUFXLGlCQUN2QixNQUFNLEVBQ2xCLEtBQUssRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FDMUIsSUFDRCxDQUNKLENBQUM7QUFDSixDQUFDO0FBb0JELE1BQU0scUJBQXFCLEdBQUcsQ0FDNUIsS0FBbUIsRUFDQyxFQUFFO0lBQ3RCLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUUsR0FBRyxLQUFLLENBQUM7SUFDMUQsTUFBTSxFQUFFLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxHQUN2RSxlQUFlLENBQUM7SUFDbEIsTUFBTSxNQUFNLEdBQUcsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzFDLE1BQU0sWUFBWSxH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Q3RCLENBQUM7SUFDRixNQUFNLFFBQVEsR0FBRyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUVsRCxPQUFPLEtBQUMsY0FBYyxJQUFDLGtCQUFrQixFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUSxHQUFJLENBQUM7QUFDN0UsQ0FBQyxDQUFDO0FBRUYsZUFBZSxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUNvbnRleHQsIHVzZU1lbW8sIHR5cGUgSlNYLCB0eXBlIFJlYWN0Tm9kZSB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHR5cGUge1xuICBQcmVwYXJlZFJvdXRlU2VnbWVudCxcbiAgUm91dGVFbnRyeSxcbiAgUm91dGVSZWFjdENvbXBvbmVudCxcbiAgUm91dGVyTWF0Y2hlZFJvdXRlLFxufSBmcm9tICcuLi90eXBlcy5qcyc7XG5pbXBvcnQgdHlwZSB7IFBhcmFtRGF0YSB9IGZyb20gJ3BhdGgtdG8tcmVnZXhwJztcbmltcG9ydCB7IEh0dHBSZWRpcmVjdCB9IGZyb20gJy4uL2Vycm9ycy9pbmRleC5qcyc7XG5cbmltcG9ydCBSb3V0aW5nQ29udGV4dCBmcm9tICcuL1JvdXRpbmdDb250ZXh0LmpzJztcbmltcG9ydCBSb3V0ZUNvbXBvbmVudCBmcm9tICcuL1JvdXRlQ29tcG9uZW50LmpzJztcbmltcG9ydCB7IHJlYWRQcmVwYXJlZFJvdXRlVmFsdWUgfSBmcm9tICcuLi9wcmVwYXJlUmVzb3VyY2UuanMnO1xuXG50eXBlIEhpZ2hsaWdodEJvdW5kYXJ5UHJvcHMgPSB7XG4gIGhpZ2hsaWdodElkOiBzdHJpbmc7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG59O1xuXG4vKipcbiAqIFdyYXBzIHRoZSByZW5kZXJlZCByb3V0ZSBvdXRwdXQgd2l0aCBpbnZpc2libGUgbWFya2VycyBzbyBEZXZUb29scyBjYW4gbWFwIGl0IGJhY2suXG4gKi9cbmZ1bmN0aW9uIFJvdXRlSGlnaGxpZ2h0Qm91bmRhcnkocHJvcHM6IEhpZ2hsaWdodEJvdW5kYXJ5UHJvcHMpOiBKU1guRWxlbWVudCB7XG4gIGNvbnN0IHsgaGlnaGxpZ2h0SWQsIGNoaWxkcmVuIH0gPSBwcm9wcztcbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPHNwYW5cbiAgICAgICAgZGF0YS1wbHVtaWxlLXJvdXRlLXN0YXJ0PXtoaWdobGlnaHRJZH1cbiAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgc3R5bGU9e3sgZGlzcGxheTogJ25vbmUnIH19XG4gICAgICAvPlxuICAgICAge2NoaWxkcmVufVxuICAgICAgPHNwYW5cbiAgICAgICAgZGF0YS1wbHVtaWxlLXJvdXRlLWVuZD17aGlnaGxpZ2h0SWR9XG4gICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgIHN0eWxlPXt7IGRpc3BsYXk6ICdub25lJyB9fVxuICAgICAgLz5cbiAgICA8Lz5cbiAgKTtcbn1cblxudHlwZSBQcm9wczxUVmFycyBleHRlbmRzIFBhcmFtRGF0YSA9IFBhcmFtRGF0YT4gPSB7XG4gIGNoaWxkcmVuPzogUmVhY3ROb2RlO1xuICBlbnRyeT86IFJvdXRlRW50cnk8VFZhcnM+O1xuICBtYXRjaDogUm91dGVyTWF0Y2hlZFJvdXRlPFRWYXJzPiB8IG51bGw7XG4gIHByZXBhcmVkU2VnbWVudDogUHJlcGFyZWRSb3V0ZVNlZ21lbnQ7XG59O1xuXG4vKipcbiAqIFRoZSBgcmVzb3VyY2VQYWdlYCBwcm9wZXJ0eSBmcm9tIHRoZSByb3V0ZSBlbnRyeSBpcyBhIFJlc291cmNlLCB3aGljaCBtYXkgb3IgbWF5IG5vdCBiZSByZWFkeS5cbiAqIFdlIHVzZSBhIGhlbHBlciBjaGlsZCBjb21wb25lbnQgdG8gdW53cmFwIHRoZSByZXNvdXJjZSB3aXRoIGNvbXBvbmVudC5yZWFkKCksIGFuZCB0aGVuXG4gKiByZW5kZXIgaXQgaWYgaXRzIHJlYWR5LlxuICpcbiAqIE5PVEU6IGNhbGxpbmcgcm91dGVFbnRyeS5yb3V0ZS5jb21wb25lbnQucmVhZCgpIGRpcmVjdGx5IGluIFJvdXRlUmVuZGVyZXIgd29sZG4ndCB3b3JrIHRoZVxuICogd2F5IHdlJ2QgZXhwZWN0LiBCZWNhdXNlIHRoYXQgbWV0aG9kIGNvdWxkIHRocm93IC0gZWl0aGVyIHN1c3BlbmRpbmcgb3Igb24gZXJyb3IgLSB0aGUgZXJyb3JcbiAqIHdvdWxkIGJ1YmJsZSB1cCB0byB0aGUgKmNhbGxlciogb2YgUm91dGVSZW5kZXJlci4gV2Ugd2FudCB0aGUgc3VzcGVuZC9lcnJvciB0byBidWJibGUgdXAgdG9cbiAqIG91ciBFcnJvckJvdW5kYXJ5L1N1c3BlbnNlIGNvbXBvbmVudHMsIHNvIHdlIGhhdmUgdG8gZW5zdXJlIHRoYXQgdGhlIHN1c3BlbmQvZXJyb3IgaGFwcGVuc1xuICogaW4gYSBjaGlsZCBjb21wb25lbnQuXG4gKi9cbmNvbnN0IFJvdXRlQ29tcG9uZW50V3JhcHBlciA9IDxUVmFycyBleHRlbmRzIFBhcmFtRGF0YSA9IFBhcmFtRGF0YT4oXG4gIHByb3BzOiBQcm9wczxUVmFycz4sXG4pOiBKU1guRWxlbWVudCB8IG51bGwgPT4ge1xuICBjb25zdCB7IGNoaWxkcmVuLCBlbnRyeSwgbWF0Y2gsIHByZXBhcmVkU2VnbWVudCB9ID0gcHJvcHM7XG4gIGNvbnN0IHsgcmVzb3VyY2VQYWdlLCBwcmVwYXJlZFJlc291cmNlLCByZW5kZXIsIHJlZGlyZWN0VG8sIGhpZ2hsaWdodElkIH0gPVxuICAgIHByZXBhcmVkU2VnbWVudDsgLy8gcm91dGVEYXRhXG4gIGNvbnN0IHJvdXRlciA9IHVzZUNvbnRleHQoUm91dGluZ0NvbnRleHQpO1xuICBjb25zdCBjdXJyZW50RW50cnkgPSBlbnRyeSA/PyByb3V0ZXI/LmdldCgpO1xuICBjb25zdCByYXdRdWVyeSA9IGN1cnJlbnRFbnRyeT8ucXVlcnkgPz8ge307XG4gIGNvbnN0IGZpbHRlcnMgPSBjdXJyZW50RW50cnk/LmZpbHRlcnM7XG4gIGNvbnN0IHJvdXRlQ29udGV4dCA9IGN1cnJlbnRFbnRyeT8uY29udGV4dDtcbiAgY29uc3QgdHlwZWRRdWVyeSA9IHJhd1F1ZXJ5OyAvLyBsZWdhY3kgdHlwZWRRdWVyeSByZW1vdmVkXG4gIGNvbnN0IHByZXBhcmVkU2VnbWVudHMgPSBjdXJyZW50RW50cnk/LnByZXBhcmVkTWF0Y2guc2VnbWVudHMgPz8gW107XG4gIGNvbnN0IHsgc2VnbWVudEluZGV4IH0gPSBwcmVwYXJlZFNlZ21lbnQ7XG4gIGNvbnN0IGxlYWZTZWdtZW50ID0gcHJlcGFyZWRTZWdtZW50cy5hdCgtMSkgPz8gcHJlcGFyZWRTZWdtZW50O1xuXG4gIGNvbnN0IHJvdXRlID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKG1hdGNoID09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiBtYXRjaC5yb3V0ZTtcbiAgfSwgW21hdGNoXSk7XG5cbiAgY29uc3QgcHJlcGFyZWQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gcmVhZFByZXBhcmVkUm91dGVWYWx1ZShwcmVwYXJlZFJlc291cmNlKTtcbiAgfSwgW3ByZXBhcmVkUmVzb3VyY2VdKTtcblxuICBjb25zdCBDb21wb25lbnQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAocmVzb3VyY2VQYWdlID09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgY29uc2lzdGVudC1yZXR1cm5cbiAgICByZXR1cm4gcmVzb3VyY2VQYWdlLnJlYWQoKTtcbiAgfSwgW3Jlc291cmNlUGFnZV0pO1xuICBsZXQgUm91dGVQYWdlQ29tcG9uZW50OiBSb3V0ZVJlYWN0Q29tcG9uZW50IHwgdW5kZWZpbmVkO1xuICBpZiAoQ29tcG9uZW50ICE9IG51bGwpIHtcbiAgICBSb3V0ZVBhZ2VDb21wb25lbnQgPSBDb21wb25lbnQgYXMgUm91dGVSZWFjdENvbXBvbmVudDtcbiAgfVxuXG4gIGxldCBjb250ZW50OlxuICAgIEpTWC5FbGVtZW50IHwgbnVsbCB8IHVuZGVmaW5lZCB8IFByb21pc2U8SlNYLkVsZW1lbnQgfCBudWxsIHwgdW5kZWZpbmVkPiA9XG4gICAgbnVsbDtcbiAgbGV0IHJlZGlyZWN0VG9QYXRobmFtZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgaWYgKHJlbmRlciAhPSBudWxsKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnRlbnQgPSByZW5kZXIoe1xuICAgICAgICBjaGlsZHJlbixcbiAgICAgICAgQ29tcG9uZW50OiBSb3V0ZVBhZ2VDb21wb25lbnQsXG4gICAgICAgIHByZXBhcmVkU2VnbWVudCxcbiAgICAgICAgcHJlcGFyZWRTZWdtZW50cyxcbiAgICAgICAgc2VnbWVudEluZGV4LFxuICAgICAgICBsZWFmU2VnbWVudCxcbiAgICAgICAgcm91dGUsXG4gICAgICAgIHByZXBhcmVkLFxuICAgICAgICBjb250ZXh0OiByb3V0ZUNvbnRleHQsXG4gICAgICAgIHJhd1F1ZXJ5LFxuICAgICAgICBxdWVyeTogdHlwZWRRdWVyeSxcbiAgICAgICAgZmlsdGVycyxcbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBIdHRwUmVkaXJlY3QgJiYgcm91dGVyICE9IG51bGwpIHtcbiAgICAgICAgY29udGVudCA9IG51bGw7XG4gICAgICAgIHJlZGlyZWN0VG9QYXRobmFtZSA9IGVycm9yLnJlZGlyZWN0VG87XG4gICAgICAgIC8vIElmIGl0J3Mgc3VzcGVuZGVkXG4gICAgICB9IGVsc2UgaWYgKGVycm9yIGluc3RhbmNlb2YgUHJvbWlzZSkge1xuICAgICAgICBjb250ZW50ID0gZXJyb3I7XG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBlcnJvciA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgY29udGVudCA9IHVuZGVmaW5lZDtcbiAgICAgICAgcmVkaXJlY3RUb1BhdGhuYW1lID0gbnVsbDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0VSUk9SOiAnLCBlcnJvcik7XG4gICAgICAgIGNvbnRlbnQgPSBudWxsO1xuICAgICAgICByZWRpcmVjdFRvUGF0aG5hbWUgPSBudWxsO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHBhdGhuYW1lOiBzdHJpbmcgfCBudWxsID0gcmVkaXJlY3RUbyA/PyByZWRpcmVjdFRvUGF0aG5hbWUgPz8gbnVsbDtcblxuICBjb25zdCB3cmFwV2l0aEhpZ2hsaWdodCA9IChub2RlOiBSZWFjdE5vZGUpOiBKU1guRWxlbWVudCA9PiB7XG4gICAgaWYgKHR5cGVvZiBoaWdobGlnaHRJZCAhPT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybiA8Pntub2RlfTwvPjtcbiAgICB9XG4gICAgcmV0dXJuIChcbiAgICAgIDxSb3V0ZUhpZ2hsaWdodEJvdW5kYXJ5IGhpZ2hsaWdodElkPXtoaWdobGlnaHRJZH0+XG4gICAgICAgIHtub2RlfVxuICAgICAgPC9Sb3V0ZUhpZ2hsaWdodEJvdW5kYXJ5PlxuICAgICk7XG4gIH07XG5cbiAgaWYgKHJlbmRlciAhPSBudWxsKSB7XG4gICAgaWYgKGNvbnRlbnQgaW5zdGFuY2VvZiBQcm9taXNlKSB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L29ubHktdGhyb3ctZXJyb3JcbiAgICAgIHRocm93IGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgaWYgKHBhdGhuYW1lICE9IG51bGwpIHtcbiAgICAgIHJldHVybiA8Um91dGVDb21wb25lbnQgcmVkaXJlY3RUb1BhdGhuYW1lPXtwYXRobmFtZX0gLz47XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBjb250ZW50ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgcmV0dXJuIHdyYXBXaXRoSGlnaGxpZ2h0KGNvbnRlbnQgPz8gbnVsbCk7XG4gICAgfVxuICB9XG5cbiAgaWYgKFJvdXRlUGFnZUNvbXBvbmVudCA9PSBudWxsKSB7XG4gICAgcmV0dXJuIHdyYXBXaXRoSGlnaGxpZ2h0KGNoaWxkcmVuID8/IG51bGwpO1xuICB9XG5cbiAgY29uc3QgY29tcG9uZW50Tm9kZSA9IChcbiAgICA8Um91dGVQYWdlQ29tcG9uZW50XG4gICAgICBtYXRjaD17bWF0Y2h9XG4gICAgICBwcmVwYXJlZFNlZ21lbnQ9e3ByZXBhcmVkU2VnbWVudH1cbiAgICAgIHJvdXRlPXtyb3V0ZX1cbiAgICAgIHByZXBhcmVkPXtwcmVwYXJlZH1cbiAgICAgIHF1ZXJ5PXt0eXBlZFF1ZXJ5fVxuICAgICAgZmlsdGVycz17ZmlsdGVyc31cbiAgICAgIHByZXBhcmVkU2VnbWVudHM9e3ByZXBhcmVkU2VnbWVudHN9XG4gICAgICBzZWdtZW50SW5kZXg9e3NlZ21lbnRJbmRleH1cbiAgICAgIGxlYWZTZWdtZW50PXtsZWFmU2VnbWVudH1cbiAgICA+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9Sb3V0ZVBhZ2VDb21wb25lbnQ+XG4gICk7XG4gIGNvbnN0IGNvbnRlbnQyID0gd3JhcFdpdGhIaWdobGlnaHQoY29tcG9uZW50Tm9kZSk7XG5cbiAgcmV0dXJuIDxSb3V0ZUNvbXBvbmVudCByZWRpcmVjdFRvUGF0aG5hbWU9e3BhdGhuYW1lfSBjb250ZW50PXtjb250ZW50Mn0gLz47XG59O1xuXG5leHBvcnQgZGVmYXVsdCBSb3V0ZUNvbXBvbmVudFdyYXBwZXI7XG4iXX0=
|
|
@@ -36,9 +36,9 @@ const resolveRouteFallback = (fallback, defaultFallback, args) => {
|
|
|
36
36
|
}
|
|
37
37
|
return defaultFallback;
|
|
38
38
|
};
|
|
39
|
-
const RouteSegmentBoundary = ({ children, entry, fallback, match,
|
|
40
|
-
const routeComponent = (_jsx(RouteComponentWrapper, { entry: entry, match: match,
|
|
41
|
-
if (
|
|
39
|
+
const RouteSegmentBoundary = ({ children, entry, fallback, match, preparedSegment, }) => {
|
|
40
|
+
const routeComponent = (_jsx(RouteComponentWrapper, { entry: entry, match: match, preparedSegment: preparedSegment, children: children }));
|
|
41
|
+
if (preparedSegment.suspenseBoundary !== 'segment') {
|
|
42
42
|
return routeComponent;
|
|
43
43
|
}
|
|
44
44
|
return _jsx(Suspense, { fallback: fallback, children: routeComponent });
|
|
@@ -51,7 +51,7 @@ const canRenderPendingEntryWithLocalBoundaries = (entry) => {
|
|
|
51
51
|
if (segment.status !== 'pending') {
|
|
52
52
|
return true;
|
|
53
53
|
}
|
|
54
|
-
return entry.preparedMatch.
|
|
54
|
+
return entry.preparedMatch.segments[index]?.suspenseBoundary === 'segment';
|
|
55
55
|
});
|
|
56
56
|
};
|
|
57
57
|
const routeLocationKey = (entry) => {
|
|
@@ -62,7 +62,7 @@ const canDisplayRouteEntry = (entry, currentEntry, externalPending) => {
|
|
|
62
62
|
return true;
|
|
63
63
|
}
|
|
64
64
|
const isRouteChange = routeLocationKey(entry) !== routeLocationKey(currentEntry);
|
|
65
|
-
const hasLocalBoundary = entry.preparedMatch.
|
|
65
|
+
const hasLocalBoundary = entry.preparedMatch.segments.some((route) => {
|
|
66
66
|
return route.suspenseBoundary === 'segment';
|
|
67
67
|
});
|
|
68
68
|
if (externalPending && isRouteChange && !hasLocalBoundary) {
|
|
@@ -75,7 +75,7 @@ const renderRouteEntry = (entry, fallback) => {
|
|
|
75
75
|
return null;
|
|
76
76
|
}
|
|
77
77
|
const result = [];
|
|
78
|
-
const reversedItems = result.concat(entry.preparedMatch.
|
|
78
|
+
const reversedItems = result.concat(entry.preparedMatch.segments).reverse();
|
|
79
79
|
const firstItem = reversedItems[0];
|
|
80
80
|
if (firstItem == null) {
|
|
81
81
|
return null;
|
|
@@ -84,7 +84,7 @@ const renderRouteEntry = (entry, fallback) => {
|
|
|
84
84
|
let mainComponent = (_jsx(RouteSegmentBoundary, { entry: entry, fallback: resolveRouteFallback(firstItem.fallback, fallback, {
|
|
85
85
|
match,
|
|
86
86
|
segment: firstItem,
|
|
87
|
-
}), match: match,
|
|
87
|
+
}), match: match, preparedSegment: firstItem }, firstItem.segmentKey));
|
|
88
88
|
for (let index = 1; index < reversedItems.length; index += 1) {
|
|
89
89
|
const nextItem = reversedItems[index];
|
|
90
90
|
if (nextItem != null) {
|
|
@@ -92,7 +92,7 @@ const renderRouteEntry = (entry, fallback) => {
|
|
|
92
92
|
children: mainComponent,
|
|
93
93
|
match,
|
|
94
94
|
segment: nextItem,
|
|
95
|
-
}), match: match,
|
|
95
|
+
}), match: match, preparedSegment: nextItem, children: mainComponent }, nextItem.segmentKey));
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
98
|
return mainComponent;
|
|
@@ -189,4 +189,4 @@ const RouterRenderer = (props) => {
|
|
|
189
189
|
return (_jsxs(_Fragment, { children: [pendingContent, _jsx(Suspense, { fallback: transitionFallback, children: _jsx(RouteEntryCommitObserver, { entry: displayedRouteEntry, onCommit: handleRouteEntryCommit, children: routeComponent }) })] }));
|
|
190
190
|
};
|
|
191
191
|
export default RouterRenderer;
|
|
192
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUm91dGVyUmVuZGVyZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcm91dGluZy9Sb3V0ZXJSZW5kZXJlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sS0FBSyxFQUFFLEVBRVosV0FBVyxFQUNYLFNBQVMsRUFDVCxPQUFPLEVBQ1AsTUFBTSxFQUNOLFFBQVEsRUFDUixlQUFlLEdBRWhCLE1BQU0sT0FBTyxDQUFDO0FBVWYsT0FBTyxjQUFjLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxxQkFBcUIsTUFBTSw0QkFBNEIsQ0FBQztBQUUvRCxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxHQUFHLEtBQUssQ0FBQztBQUV2QyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7QUFRZCxNQUFNLFVBQVUsV0FBVztJQUN6QixLQUFLLElBQUksQ0FBQyxDQUFDO0lBQ1gsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBbUNELE1BQU0sd0JBQXdCLEdBQUcsQ0FDL0IsS0FBb0MsRUFDdkIsRUFBRTtJQUNmLE1BQU0sRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBRTVDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7UUFDYixlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEIsT0FBTyxHQUFHLEVBQUU7WUFDVixlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekIsQ0FBQyxDQUFDO0lBQ0osQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztJQUV0QixPQUFPLDRCQUFHLFFBQVEsR0FBSSxDQUFDO0FBQ3pCLENBQUMsQ0FBQztBQUVGLE1BQU0sd0JBQXdCLEdBQUcsQ0FDL0IsS0FBb0MsRUFDdkIsRUFBRTtJQUNmLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxHQUFHLEtBQUssQ0FBQztJQUU1QyxTQUFTLENBQUMsR0FBRyxFQUFFO1FB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Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7XG4gIHR5cGUgUmVhY3ROb2RlLFxuICB1c2VDYWxsYmFjayxcbiAgdXNlRWZmZWN0LFxuICB1c2VNZW1vLFxuICB1c2VSZWYsXG4gIHVzZVN0YXRlLFxuICBzdGFydFRyYW5zaXRpb24sXG4gIHR5cGUgSlNYLFxufSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB0eXBlIHtcbiAgUHJlcGFyZWRNYXRjaFJvdXRlLFxuICBSb3V0ZUZhbGxiYWNrLFxuICBSb3V0ZUVudHJ5LFxuICBSb3V0ZXJNYXRjaGVkUm91dGUsXG59IGZyb20gJy4uL3R5cGVzLmpzJztcbmltcG9ydCB0eXBlIHsgUGFyYW1EYXRhIH0gZnJvbSAncGF0aC10by1yZWdleHAnO1xuXG5pbXBvcnQgUm91dGluZ0NvbnRleHQgZnJvbSAnLi9Sb3V0aW5nQ29udGV4dC5qcyc7XG5pbXBvcnQgUm91dGVDb21wb25lbnRXcmFwcGVyIGZyb20gJy4vUm91dGVDb21wb25lbnRXcmFwcGVyLmpzJztcblxuY29uc3QgeyB1c2VDb250ZXh0LCBTdXNwZW5zZSB9ID0gUmVhY3Q7XG5cbmxldCBpbmRleCA9IDA7XG5cbi8qKlxuICogR2VuZXJhdGVzIGEgdW5pcXVlIGluZGV4IGZvciBjb21wb25lbnQgaW5zdGFuY2VzLlxuICogVGhpcyBpcyB1c2VkIGludGVybmFsbHkgdG8gZW5zdXJlIHByb3BlciBSZWFjdCByZWNvbmNpbGlhdGlvbi5cbiAqXG4gKiBAcmV0dXJucyBBIHVuaXF1ZSBpbmNyZW1lbnRhbCBudW1iZXJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldE5ld0luZGV4KCk6IG51bWJlciB7XG4gIGluZGV4ICs9IDE7XG4gIHJldHVybiBpbmRleDtcbn1cblxuLyoqXG4gKiBQcm9wcyBmb3IgdGhlIFJvdXRlclJlbmRlcmVyIGNvbXBvbmVudC5cbiAqL1xudHlwZSBQcm9wcyA9IHtcbiAgLyoqIEZhbGxiYWNrIFVJIHRvIHNob3cgd2hpbGUgbG9hZGluZyBjb21wb25lbnRzICovXG4gIGZhbGxiYWNrOiBSZWFjdE5vZGU7XG4gIC8qKiBXaGV0aGVyIHRvIHNob3cgcGVuZGluZyBjb250ZW50IHdoaWxlIFJlYWN0IHJlcG9ydHMgYSB0cmFuc2l0aW9uIGVsc2V3aGVyZSAqL1xuICBlbmFibGVUcmFuc2l0aW9uPzogYm9vbGVhbjtcbiAgLyoqIEV4dGVybmFsIGFzeW5jIGFjdGl2aXR5IHRoYXQgc2hvdWxkIGFsc28gc2hvdyBwZW5kaW5nIGNvbnRlbnQgKi9cbiAgZXh0ZXJuYWxQZW5kaW5nPzogYm9vbGVhbjtcbiAgLyoqIFVJIHRvIHNob3cgZHVyaW5nIHRyYW5zaXRpb25zICh3aGVuIGVuYWJsZVRyYW5zaXRpb24gaXMgdHJ1ZSkgKi9cbiAgcGVuZGluZz86IFJlYWN0Tm9kZTtcbn07XG5cbnR5cGUgU3VzcGVuc2VGYWxsYmFja09ic2VydmVyUHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG4gIG9uUGVuZGluZ0NoYW5nZTogKGlzUGVuZGluZzogYm9vbGVhbikgPT4gdm9pZDtcbn07XG5cbnR5cGUgUm91dGVTZWdtZW50Qm91bmRhcnlQcm9wcyA9IHtcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGU7XG4gIGVudHJ5OiBSb3V0ZUVudHJ5PFBhcmFtRGF0YT47XG4gIGZhbGxiYWNrOiBSZWFjdE5vZGU7XG4gIG1hdGNoOiBSb3V0ZXJNYXRjaGVkUm91dGU8UGFyYW1EYXRhPiB8IG51bGw7XG4gIHByZXBhcmVkUm91dGU6IFByZXBhcmVkTWF0Y2hSb3V0ZTtcbn07XG5cbnR5cGUgUm91dGVFbnRyeUNvbW1pdE9ic2VydmVyUHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG4gIGVudHJ5OiBSb3V0ZUVudHJ5PFBhcmFtRGF0YT4gfCB1bmRlZmluZWQ7XG4gIG9uQ29tbWl0OiAoZW50cnk6IFJvdXRlRW50cnk8UGFyYW1EYXRhPikgPT4gdm9pZDtcbn07XG5cbmNvbnN0IFN1c3BlbnNlRmFsbGJhY2tPYnNlcnZlciA9IChcbiAgcHJvcHM6IFN1c3BlbnNlRmFsbGJhY2tPYnNlcnZlclByb3BzLFxuKTogSlNYLkVsZW1lbnQgPT4ge1xuICBjb25zdCB7IGNoaWxkcmVuLCBvblBlbmRpbmdDaGFuZ2UgfSA9IHByb3BzO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgb25QZW5kaW5nQ2hhbmdlKHRydWUpO1xuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBvblBlbmRpbmdDaGFuZ2UoZmFsc2UpO1xuICAgIH07XG4gIH0sIFtvblBlbmRpbmdDaGFuZ2VdKTtcblxuICByZXR1cm4gPD57Y2hpbGRyZW59PC8+O1xufTtcblxuY29uc3QgUm91dGVFbnRyeUNvbW1pdE9ic2VydmVyID0gKFxuICBwcm9wczogUm91dGVFbnRyeUNvbW1pdE9ic2VydmVyUHJvcHMsXG4pOiBKU1guRWxlbWVudCA9PiB7XG4gIGNvbnN0IHsgY2hpbGRyZW4sIGVudHJ5LCBvbkNvbW1pdCB9ID0gcHJvcHM7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoZW50cnkgIT0gbnVsbCkge1xuICAgICAgb25Db21taXQoZW50cnkpO1xuICAgIH1cbiAgfSwgW2VudHJ5LCBvbkNvbW1pdF0pO1xuXG4gIHJldHVybiA8PntjaGlsZHJlbn08Lz47XG59O1xuXG5jb25zdCByZXNvbHZlUm91dGVGYWxsYmFjayA9IChcbiAgZmFsbGJhY2s6IFJvdXRlRmFsbGJhY2sgfCB1bmRlZmluZWQsXG4gIGRlZmF1bHRGYWxsYmFjazogUmVhY3ROb2RlLFxuICBhcmdzOiB7XG4gICAgY2hpbGRyZW4/OiBSZWFjdE5vZGU7XG4gICAgbWF0Y2g6IFJvdXRlck1hdGNoZWRSb3V0ZTxQYXJhbURhdGE+IHwgbnVsbDtcbiAgICBzZWdtZW50OiBQcmVwYXJlZE1hdGNoUm91dGU7XG4gIH0sXG4pOiBSZWFjdE5vZGUgPT4ge1xuICBpZiAodHlwZW9mIGZhbGxiYWNrID09PSAnZnVuY3Rpb24nKSB7XG4gICAgcmV0dXJuIGZhbGxiYWNrKGFyZ3MpO1xuICB9XG5cbiAgaWYgKHR5cGVvZiBmYWxsYmFjayAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICByZXR1cm4gZmFsbGJhY2s7XG4gIH1cblxuICByZXR1cm4gZGVmYXVsdEZhbGxiYWNrO1xufTtcblxuY29uc3QgUm91dGVTZWdtZW50Qm91bmRhcnkgPSAoe1xuICBjaGlsZHJlbixcbiAgZW50cnksXG4gIGZhbGxiYWNrLFxuICBtYXRjaCxcbiAgcHJlcGFyZWRSb3V0ZSxcbn06IFJvdXRlU2VnbWVudEJvdW5kYXJ5UHJvcHMpOiBKU1guRWxlbWVudCA9PiB7XG4gIGNvbnN0IHJvdXRlQ29tcG9uZW50ID0gKFxuICAgIDxSb3V0ZUNvbXBvbmVudFdyYXBwZXJcbiAgICAgIGVudHJ5PXtlbnRyeX1cbiAgICAgIG1hdGNoPXttYXRjaH1cbiAgICAgIHByZXBhcmVkUm91dGU9e3ByZXBhcmVkUm91dGV9XG4gICAgPlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvUm91dGVDb21wb25lbnRXcmFwcGVyPlxuICApO1xuXG4gIGlmIChwcmVwYXJlZFJvdXRlLnN1c3BlbnNlQm91bmRhcnkgIT09ICdzZWdtZW50Jykge1xuICAgIHJldHVybiByb3V0ZUNvbXBvbmVudDtcbiAgfVxuXG4gIHJldHVybiA8U3VzcGVuc2UgZmFsbGJhY2s9e2ZhbGxiYWNrfT57cm91dGVDb21wb25lbnR9PC9TdXNwZW5zZT47XG59O1xuXG5jb25zdCBjYW5SZW5kZXJQZW5kaW5nRW50cnlXaXRoTG9jYWxCb3VuZGFyaWVzID0gKFxuICBlbnRyeTogUm91dGVFbnRyeTxQYXJhbURhdGE+LFxuKTogYm9vbGVhbiA9PiB7XG4gIGlmIChlbnRyeS5hY3RpdmVMb2FkU3RhdGUuc3RhdHVzICE9PSAncGVuZGluZycpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiBlbnRyeS5sb2FkU3RhdGUuc2VnbWVudHMuZXZlcnkoKHNlZ21lbnQsIGluZGV4KSA9PiB7XG4gICAgaWYgKHNlZ21lbnQuc3RhdHVzICE9PSAncGVuZGluZycpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiBlbnRyeS5wcmVwYXJlZE1hdGNoLnJvdXRlc1tpbmRleF0/LnN1c3BlbnNlQm91bmRhcnkgPT09ICdzZWdtZW50JztcbiAgfSk7XG59O1xuXG5jb25zdCByb3V0ZUxvY2F0aW9uS2V5ID0gKGVudHJ5OiBSb3V0ZUVudHJ5PFBhcmFtRGF0YT4pOiBzdHJpbmcgPT4ge1xuICByZXR1cm4gYCR7ZW50cnkubG9jYXRpb24ucGF0aG5hbWV9JHtlbnRyeS5sb2NhdGlvbi5zZWFyY2h9JHtlbnRyeS5sb2NhdGlvbi5oYXNofWA7XG59O1xuXG5jb25zdCBjYW5EaXNwbGF5Um91dGVFbnRyeSA9IChcbiAgZW50cnk6IFJvdXRlRW50cnk8UGFyYW1EYXRhPixcbiAgY3VycmVudEVudHJ5OiBSb3V0ZUVudHJ5PFBhcmFtRGF0YT4gfCB1bmRlZmluZWQsXG4gIGV4dGVybmFsUGVuZGluZzogYm9vbGVhbixcbik6IGJvb2xlYW4gPT4ge1xuICBpZiAoY3VycmVudEVudHJ5ID09IG51bGwpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGNvbnN0IGlzUm91dGVDaGFuZ2UgPVxuICAgIHJvdXRlTG9jYXRpb25LZXkoZW50cnkpICE9PSByb3V0ZUxvY2F0aW9uS2V5KGN1cnJlbnRFbnRyeSk7XG4gIGNvbnN0IGhhc0xvY2FsQm91bmRhcnkgPSBlbnRyeS5wcmVwYXJlZE1hdGNoLnJvdXRlcy5zb21lKChyb3V0ZSkgPT4ge1xuICAgIHJldHVybiByb3V0ZS5zdXNwZW5zZUJvdW5kYXJ5ID09PSAnc2VnbWVudCc7XG4gIH0pO1xuXG4gIGlmIChleHRlcm5hbFBlbmRpbmcgJiYgaXNSb3V0ZUNoYW5nZSAmJiAhaGFzTG9jYWxCb3VuZGFyeSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiBjYW5SZW5kZXJQZW5kaW5nRW50cnlXaXRoTG9jYWxCb3VuZGFyaWVzKGVudHJ5KTtcbn07XG5cbmNvbnN0IHJlbmRlclJvdXRlRW50cnkgPSAoXG4gIGVudHJ5OiBSb3V0ZUVudHJ5PFBhcmFtRGF0YT4gfCB1bmRlZmluZWQsXG4gIGZhbGxiYWNrOiBSZWFjdE5vZGUsXG4pOiBSZWFjdE5vZGUgPT4ge1xuICBpZiAoZW50cnkgPT0gbnVsbCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3QgcmVzdWx0OiBQcmVwYXJlZE1hdGNoUm91dGVbXSA9IFtdO1xuXG4gIGNvbnN0IHJldmVyc2VkSXRlbXMgPSByZXN1bHQuY29uY2F0KGVudHJ5LnByZXBhcmVkTWF0Y2gucm91dGVzKS5yZXZlcnNlKCk7XG4gIGNvbnN0IGZpcnN0SXRlbSA9IHJldmVyc2VkSXRlbXNbMF07XG5cbiAgaWYgKGZpcnN0SXRlbSA9PSBudWxsKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBtYXRjaCA9IGVudHJ5LnByZXBhcmVkTWF0Y2gubWF0Y2ggPz8gbnVsbDtcbiAgbGV0IG1haW5Db21wb25lbnQgPSAoXG4gICAgPFJvdXRlU2VnbWVudEJvdW5kYXJ5XG4gICAgICBrZXk9e2ZpcnN0SXRlbS5zZWdtZW50S2V5fVxuICAgICAgZW50cnk9e2VudHJ5fVxuICAgICAgZmFsbGJhY2s9e3Jlc29sdmVSb3V0ZUZhbGxiYWNrKGZpcnN0SXRlbS5mYWxsYmFjaywgZmFsbGJhY2ssIHtcbiAgICAgICAgbWF0Y2gsXG4gICAgICAgIHNlZ21lbnQ6IGZpcnN0SXRlbSxcbiAgICAgIH0pfVxuICAgICAgbWF0Y2g9e21hdGNofVxuICAgICAgcHJlcGFyZWRSb3V0ZT17Zmlyc3RJdGVtfVxuICAgIC8+XG4gICk7XG5cbiAgZm9yIChsZXQgaW5kZXggPSAxOyBpbmRleCA8IHJldmVyc2VkSXRlbXMubGVuZ3RoOyBpbmRleCArPSAxKSB7XG4gICAgY29uc3QgbmV4dEl0ZW0gPSByZXZlcnNlZEl0ZW1zW2luZGV4XTtcbiAgICBpZiAobmV4dEl0ZW0gIT0gbnVsbCkge1xuICAgICAgbWFpbkNvbXBvbmVudCA9IChcbiAgICAgICAgPFJvdXRlU2VnbWVudEJvdW5kYXJ5XG4gICAgICAgICAga2V5PXtuZXh0SXRlbS5zZWdtZW50S2V5fVxuICAgICAgICAgIGVudHJ5PXtlbnRyeX1cbiAgICAgICAgICBmYWxsYmFjaz17cmVzb2x2ZVJvdXRlRmFsbGJhY2sobmV4dEl0ZW0uZmFsbGJhY2ssIGZhbGxiYWNrLCB7XG4gICAgICAgICAgICBjaGlsZHJlbjogbWFpbkNvbXBvbmVudCxcbiAgICAgICAgICAgIG1hdGNoLFxuICAgICAgICAgICAgc2VnbWVudDogbmV4dEl0ZW0sXG4gICAgICAgICAgfSl9XG4gICAgICAgICAgbWF0Y2g9e21hdGNofVxuICAgICAgICAgIHByZXBhcmVkUm91dGU9e25leHRJdGVtfVxuICAgICAgICA+XG4gICAgICAgICAge21haW5Db21wb25lbnR9XG4gICAgICAgIDwvUm91dGVTZWdtZW50Qm91bmRhcnk+XG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBtYWluQ29tcG9uZW50O1xufTtcblxuLyoqXG4gKiBNYWluIHJvdXRlciByZW5kZXJlciBjb21wb25lbnQgdGhhdCBkaXNwbGF5cyB0aGUgY3VycmVudCByb3V0ZS5cbiAqXG4gKiBUaGlzIGNvbXBvbmVudCBhY2Nlc3NlcyB0aGUgY3VycmVudCByb3V0ZSBlbnRyeSBmcm9tIFJvdXRpbmdDb250ZXh0IGFuZCByZW5kZXJzXG4gKiB0aGUgYXBwcm9wcmlhdGUgY29tcG9uZW50cy4gSXQgc3VwcG9ydHMgUmVhY3QgU3VzcGVuc2UgZm9yIGxhenktbG9hZGVkIGNvbXBvbmVudHNcbiAqIGFuZCBjYW4gb3B0aW9uYWxseSBkZWZlciB2aXNpYmxlIHJvdXRlIGNoYW5nZXMgZm9yIHNtb290aGVyIG5hdmlnYXRpb24uXG4gKlxuICogVGhlIGNvbXBvbmVudCBoYW5kbGVzIG5lc3RlZCByb3V0ZXMgYnkgY3JlYXRpbmcgYSBoaWVyYXJjaHkgb2YgUm91dGVDb21wb25lbnRXcmFwcGVyXG4gKiBjb21wb25lbnRzLCB3aGVyZSBlYWNoIGxldmVsIGNhbiByZW5kZXIgaXRzIG93biBjb21wb25lbnQgYW5kIGNoaWxkcmVuLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c3hcbiAqIC8vIEJhc2ljIHVzYWdlIHdpdGggU3VzcGVuc2UgZmFsbGJhY2tcbiAqIDxSb3V0ZXJSZW5kZXJlciBmYWxsYmFjaz17PGRpdj5Mb2FkaW5nLi4uPC9kaXY+fSAvPlxuICpcbiAqIC8vIFdpdGggUmVhY3QgMTggdHJhbnNpdGlvbnNcbiAqIDxSb3V0ZXJSZW5kZXJlclxuICogICBlbmFibGVUcmFuc2l0aW9uXG4gKiAgIGZhbGxiYWNrPXs8ZGl2PkxvYWRpbmcuLi48L2Rpdj59XG4gKiAgIHBlbmRpbmc9ezxkaXY+TmF2aWdhdGluZy4uLjwvZGl2Pn1cbiAqIC8+XG4gKiBgYGBcbiAqL1xuY29uc3QgUm91dGVyUmVuZGVyZXIgPSAocHJvcHM6IFByb3BzKTogSlNYLkVsZW1lbnQgfCBudWxsID0+IHtcbiAgY29uc3Qge1xuICAgIGV4dGVybmFsUGVuZGluZyA9IGZhbHNlLFxuICAgIGZhbGxiYWNrLFxuICAgIHBlbmRpbmcsXG4gICAgZW5hYmxlVHJhbnNpdGlvbiA9IGZhbHNlLFxuICB9ID0gcHJvcHM7XG4gIGNvbnN0IFtpc1N1c3BlbnNlUGVuZGluZywgc2V0SXNTdXNwZW5zZVBlbmRpbmddID0gdXNlU3RhdGUoZmFsc2UpO1xuXG4gIC8vIEFjY2VzcyB0aGUgcm91dGVyIGNvbnRleHRcbiAgY29uc3Qgcm91dGVyID0gdXNlQ29udGV4dChSb3V0aW5nQ29udGV4dCk7XG4gIGNvbnN0IFthY3RpdmVSb3V0ZUVudHJ5LCBzZXRBY3RpdmVSb3V0ZUVudHJ5XSA9IHVzZVN0YXRlKCgpID0+IHtcbiAgICByZXR1cm4gcm91dGVyPy5nZXQoKTtcbiAgfSk7XG4gIGNvbnN0IFtkaXNwbGF5ZWRSb3V0ZUVudHJ5LCBzZXREaXNwbGF5ZWRSb3V0ZUVudHJ5XSA9IHVzZVN0YXRlKCgpID0+IHtcbiAgICByZXR1cm4gcm91dGVyPy5nZXQoKTtcbiAgfSk7XG4gIGNvbnN0IGNvbW1pdHRlZFJvdXRlRW50cnlSZWYgPSB1c2VSZWY8Um91dGVFbnRyeTxQYXJhbURhdGE+IHwgdW5kZWZpbmVkPihcbiAgICB1bmRlZmluZWQsXG4gICk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAocm91dGVyID09IG51bGwpIHtcbiAgICAgIHNldEFjdGl2ZVJvdXRlRW50cnkodW5kZWZpbmVkKTtcbiAgICAgIHNldERpc3BsYXllZFJvdXRlRW50cnkodW5kZWZpbmVkKTtcbiAgICAgIHJldHVybiAoKSA9PiB7fTtcbiAgICB9XG5cbiAgICBjb25zdCBzY2hlZHVsZURpc3BsYXllZFJvdXRlRW50cnkgPSAoZW50cnk6IFJvdXRlRW50cnk8UGFyYW1EYXRhPikgPT4ge1xuICAgICAgY29uc3QgdXBkYXRlRGlzcGxheWVkUm91dGVFbnRyeSA9ICgpID0+IHtcbiAgICAgICAgc2V0RGlzcGxheWVkUm91dGVFbnRyeSgoY3VycmVudEVudHJ5KSA9PiB7XG4gICAgICAgICAgY29uc3Qgc2hvdWxkS2VlcEN1cnJlbnRFbnRyeSA9XG4gICAgICAgICAgICBlbmFibGVUcmFuc2l0aW9uICYmXG4gICAgICAgICAgICAhY2FuRGlzcGxheVJvdXRlRW50cnkoZW50cnksIGN1cnJlbnRFbnRyeSwgZXh0ZXJuYWxQZW5kaW5nKTtcblxuICAgICAgICAgIGlmIChzaG91bGRLZWVwQ3VycmVudEVudHJ5KSB7XG4gICAgICAgICAgICByZXR1cm4gY3VycmVudEVudHJ5O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBlbnRyeTtcbiAgICAgICAgfSk7XG4gICAgICB9O1xuXG4gICAgICBpZiAoZW5hYmxlVHJhbnNpdGlvbikge1xuICAgICAgICBzdGFydFRyYW5zaXRpb24odXBkYXRlRGlzcGxheWVkUm91dGVFbnRyeSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdXBkYXRlRGlzcGxheWVkUm91dGVFbnRyeSgpO1xuICAgIH07XG5cbiAgICBjb25zdCBuZXh0RW50cnkgPSByb3V0ZXIuZ2V0KCk7XG4gICAgc2V0QWN0aXZlUm91dGVFbnRyeShuZXh0RW50cnkpO1xuICAgIHNjaGVkdWxlRGlzcGxheWVkUm91dGVFbnRyeShuZXh0RW50cnkpO1xuICAgIHJldHVybiByb3V0ZXIuc3Vic2NyaWJlKChlbnRyeSkgPT4ge1xuICAgICAgc2V0QWN0aXZlUm91dGVFbnRyeShlbnRyeSk7XG4gICAgICBzY2hlZHVsZURpc3BsYXllZFJvdXRlRW50cnkoZW50cnkpO1xuICAgIH0pO1xuICB9LCBbZW5hYmxlVHJhbnNpdGlvbiwgZXh0ZXJuYWxQZW5kaW5nLCByb3V0ZXJdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghZW5hYmxlVHJhbnNpdGlvbiB8fCBleHRlcm5hbFBlbmRpbmcgfHwgYWN0aXZlUm91dGVFbnRyeSA9PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgc3RhcnRUcmFuc2l0aW9uKCgpID0+IHtcbiAgICAgIHNldERpc3BsYXllZFJvdXRlRW50cnkoYWN0aXZlUm91dGVFbnRyeSk7XG4gICAgfSk7XG4gIH0sIFthY3RpdmVSb3V0ZUVudHJ5LCBlbmFibGVUcmFuc2l0aW9uLCBleHRlcm5hbFBlbmRpbmddKTtcbiAgLy8gVGhlIGN1cnJlbnQgcm91dGUgdmFsdWUgaXMgYW4gYXJyYXkgb2YgbWF0Y2hpbmcgZW50cmllcyAtIG9uZSBlbnRyeSBwZXJcbiAgLy8gbGV2ZWwgb2Ygcm91dGVzICh0byBhbGxvdyBuZXN0ZWQgcm91dGVzKS4gV2UgaGF2ZSB0byBtYXAgZWFjaCBvbmUgdG8gYVxuICAvLyBSb3V0ZUNvbXBvbmVudCB0byBhbGxvdyBzdXNwZW5kaW5nLCBhbmQgYWxzbyBwYXNzIGl0cyBjaGlsZHJlbiBjb3JyZWN0bHkuXG4gIC8vIENvbmNlcHR1YWxseSwgd2Ugd2FudCB0aGlzIHN0cnVjdHVyZTpcbiAgLy8gYGBgXG4gIC8vIDxSb3V0ZUNvbXBvbmVudFxuICAvLyAgIGNvbXBvbmVudD17ZW50cnlbMF0uY29tcG9uZW50fVxuICAvLyAgIHByZXBhcmVkPXtlbnRycnlbMF0ucHJlcGFyZWR9PlxuICAvLyAgIDxSb3V0ZUNvbXBvbmVudFxuICAvLyAgICAgY29tcG9uZW50PXtlbnRyeVsxXS5jb21wb25lbnR9XG4gIC8vICAgICBwcmVwYXJlZD17ZW50cnlbMV0ucHJlcGFyZWR9PlxuICAvLyAgICAgICAvLyBjb250aW51ZSBmb3IgbmVzdGVkIGl0ZW1zLi4uXG4gIC8vICAgPC9Sb3V0ZUNvbXBvbmVudD5cbiAgLy8gPC9Sb3V0ZUNvbXBvbmVudD5cbiAgLy8gYGBgXG4gIC8vIFRvIGFjaGlldmUgdGhpcywgd2UgcmV2ZXJzZSB0aGUgbGlzdCBzbyB3ZSBjYW4gc3RhcnQgYXQgdGhlIGJvdHRvbS1tb3N0XG4gIC8vIGNvbXBvbmVudCwgYW5kIGl0ZXJhdGl2ZWx5IGNvbnN0cnVjdCBwYXJlbnQgY29tcG9uZW50cyB3IHRoZSBwcmV2aW91c1xuICAvLyB2YWx1ZSBhcyB0aGUgY2hpbGQgb2YgdGhlIG5leHQgb25lOlxuICAvLyByZXZlcnNlIGlzIGluIHBsYWNlLCBidXQgd2Ugd2FudCBhIGNvcHkgc28gY29uY2F0XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvcHJvbWlzZS1mdW5jdGlvbi1hc3luY1xuICBjb25zdCBwZW5kaW5nQ29udGVudCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IGhhc1JvdXRlclBlbmRpbmcgPVxuICAgICAgYWN0aXZlUm91dGVFbnRyeT8uYWN0aXZlTG9hZFN0YXRlLnN0YXR1cyA9PT0gJ3BlbmRpbmcnO1xuICAgIGNvbnN0IGNvbW1pdHRlZFJvdXRlRW50cnkgPSBjb21taXR0ZWRSb3V0ZUVudHJ5UmVmLmN1cnJlbnQ7XG4gICAgY29uc3QgaGFzUm91dGVUcmFuc2l0aW9uUGVuZGluZyA9XG4gICAgICBleHRlcm5hbFBlbmRpbmcgJiZcbiAgICAgIGFjdGl2ZVJvdXRlRW50cnkgIT0gbnVsbCAmJlxuICAgICAgKGNvbW1pdHRlZFJvdXRlRW50cnkgPT0gbnVsbCB8fFxuICAgICAgICByb3V0ZUxvY2F0aW9uS2V5KGFjdGl2ZVJvdXRlRW50cnkpICE9PVxuICAgICAgICAgIHJvdXRlTG9jYXRpb25LZXkoY29tbWl0dGVkUm91dGVFbnRyeSkpO1xuICAgIGNvbnN0IGhhc1BlbmRpbmcgPVxuICAgICAgaGFzUm91dGVyUGVuZGluZyB8fCBpc1N1c3BlbnNlUGVuZGluZyB8fCBoYXNSb3V0ZVRyYW5zaXRpb25QZW5kaW5nO1xuICAgIGlmIChlbmFibGVUcmFuc2l0aW9uICYmIGhhc1BlbmRpbmcpIHtcbiAgICAgIHJldHVybiBwZW5kaW5nO1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9LCBbXG4gICAgZW5hYmxlVHJhbnNpdGlvbixcbiAgICBleHRlcm5hbFBlbmRpbmcsXG4gICAgYWN0aXZlUm91dGVFbnRyeSxcbiAgICBpc1N1c3BlbnNlUGVuZGluZyxcbiAgICBwZW5kaW5nLFxuICBdKTtcblxuICBjb25zdCBoYW5kbGVTdXNwZW5zZVBlbmRpbmdDaGFuZ2UgPSB1c2VDYWxsYmFjaygoaXNQZW5kaW5nOiBib29sZWFuKSA9PiB7XG4gICAgc2V0SXNTdXNwZW5zZVBlbmRpbmcoaXNQZW5kaW5nKTtcbiAgfSwgW10pO1xuXG4gIGNvbnN0IG9ic2VydmVkRmFsbGJhY2sgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgPFN1c3BlbnNlRmFsbGJhY2tPYnNlcnZlciBvblBlbmRpbmdDaGFuZ2U9e2hhbmRsZVN1c3BlbnNlUGVuZGluZ0NoYW5nZX0+XG4gICAgICAgIHtmYWxsYmFja31cbiAgICAgIDwvU3VzcGVuc2VGYWxsYmFja09ic2VydmVyPlxuICAgICk7XG4gIH0sIFtmYWxsYmFjaywgaGFuZGxlU3VzcGVuc2VQZW5kaW5nQ2hhbmdlXSk7XG5cbiAgY29uc3Qgcm91dGVDb21wb25lbnQgPSB1c2VNZW1vKCgpOiBSZWFjdE5vZGUgPT4ge1xuICAgIHJldHVybiByZW5kZXJSb3V0ZUVudHJ5KGRpc3BsYXllZFJvdXRlRW50cnksIGZhbGxiYWNrKTtcbiAgfSwgW2Rpc3BsYXllZFJvdXRlRW50cnksIGZhbGxiYWNrXSk7XG5cbiAgY29uc3QgaGFuZGxlUm91dGVFbnRyeUNvbW1pdCA9IHVzZUNhbGxiYWNrKChlbnRyeTogUm91dGVFbnRyeTxQYXJhbURhdGE+KSA9PiB7XG4gICAgY29tbWl0dGVkUm91dGVFbnRyeVJlZi5jdXJyZW50ID0gZW50cnk7XG4gIH0sIFtdKTtcblxuICBjb25zdCB0cmFuc2l0aW9uRmFsbGJhY2sgPSB1c2VNZW1vKCgpOiBSZWFjdE5vZGUgPT4ge1xuICAgIGlmICghZW5hYmxlVHJhbnNpdGlvbikge1xuICAgICAgcmV0dXJuIG9ic2VydmVkRmFsbGJhY2s7XG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIHJlbmRlclJvdXRlRW50cnkoY29tbWl0dGVkUm91dGVFbnRyeVJlZi5jdXJyZW50LCBmYWxsYmFjaykgPz9cbiAgICAgIG9ic2VydmVkRmFsbGJhY2tcbiAgICApO1xuICB9LCBbZW5hYmxlVHJhbnNpdGlvbiwgZmFsbGJhY2ssIG9ic2VydmVkRmFsbGJhY2tdKTtcblxuICAvLyBSb3V0ZXMgY2FuIGVycm9yIHNvIHdyYXAgaW4gYW4gPEVycm9yQm91bmRhcnk+XG4gIC8vIFJvdXRlcyBjYW4gc3VzcGVuZCwgc28gd3JhcCBpbiA8U3VzcGVuc2U+XG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIHtwZW5kaW5nQ29udGVudH1cbiAgICAgIDxTdXNwZW5zZSBmYWxsYmFjaz17dHJhbnNpdGlvbkZhbGxiYWNrfT5cbiAgICAgICAgPFJvdXRlRW50cnlDb21taXRPYnNlcnZlclxuICAgICAgICAgIGVudHJ5PXtkaXNwbGF5ZWRSb3V0ZUVudHJ5fVxuICAgICAgICAgIG9uQ29tbWl0PXtoYW5kbGVSb3V0ZUVudHJ5Q29tbWl0fVxuICAgICAgICA+XG4gICAgICAgICAge3JvdXRlQ29tcG9uZW50fVxuICAgICAgICA8L1JvdXRlRW50cnlDb21taXRPYnNlcnZlcj5cbiAgICAgIDwvU3VzcGVuc2U+XG4gICAgPC8+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBSb3V0ZXJSZW5kZXJlcjtcbiJdfQ==
|
|
192
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUm91dGVyUmVuZGVyZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcm91dGluZy9Sb3V0ZXJSZW5kZXJlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sS0FBSyxFQUFFLEVBRVosV0FBVyxFQUNYLFNBQVMsRUFDVCxPQUFPLEVBQ1AsTUFBTSxFQUNOLFFBQVEsRUFDUixlQUFlLEdBRWhCLE1BQU0sT0FBTyxDQUFDO0FBVWYsT0FBTyxjQUFjLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxxQkFBcUIsTUFBTSw0QkFBNEIsQ0FBQztBQUUvRCxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxHQUFHLEtBQUssQ0FBQztBQUV2QyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7QUFRZCxNQUFNLFVBQVUsV0FBVztJQUN6QixLQUFLLElBQUksQ0FBQyxDQUFDO0lBQ1gsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBbUNELE1BQU0sd0JBQXdCLEdBQUcsQ0FDL0IsS0FBb0MsRUFDdkIsRUFBRTtJQUNmLE1BQU0sRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBRTVDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7UUFDYixlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEIsT0FBTyxHQUFHLEVBQUU7WUFDVixlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekIsQ0FBQyxDQUFDO0lBQ0osQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztJQUV0QixPQUFPLDRCQUFHLFFBQVEsR0FBSSxDQUFDO0FBQ3pCLENBQUMsQ0FBQztBQUVGLE1BQU0sd0JBQXdCLEdBQUcsQ0FDL0IsS0FBb0MsRUFDdkIsRUFBRTtJQUNmLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxHQUFHLEtBQUssQ0FBQztJQUU1QyxTQUFTLENBQUMsR0FBRyxFQUFFO1FB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Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7XG4gIHR5cGUgUmVhY3ROb2RlLFxuICB1c2VDYWxsYmFjayxcbiAgdXNlRWZmZWN0LFxuICB1c2VNZW1vLFxuICB1c2VSZWYsXG4gIHVzZVN0YXRlLFxuICBzdGFydFRyYW5zaXRpb24sXG4gIHR5cGUgSlNYLFxufSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB0eXBlIHtcbiAgUHJlcGFyZWRSb3V0ZVNlZ21lbnQsXG4gIFJvdXRlRmFsbGJhY2ssXG4gIFJvdXRlRW50cnksXG4gIFJvdXRlck1hdGNoZWRSb3V0ZSxcbn0gZnJvbSAnLi4vdHlwZXMuanMnO1xuaW1wb3J0IHR5cGUgeyBQYXJhbURhdGEgfSBmcm9tICdwYXRoLXRvLXJlZ2V4cCc7XG5cbmltcG9ydCBSb3V0aW5nQ29udGV4dCBmcm9tICcuL1JvdXRpbmdDb250ZXh0LmpzJztcbmltcG9ydCBSb3V0ZUNvbXBvbmVudFdyYXBwZXIgZnJvbSAnLi9Sb3V0ZUNvbXBvbmVudFdyYXBwZXIuanMnO1xuXG5jb25zdCB7IHVzZUNvbnRleHQsIFN1c3BlbnNlIH0gPSBSZWFjdDtcblxubGV0IGluZGV4ID0gMDtcblxuLyoqXG4gKiBHZW5lcmF0ZXMgYSB1bmlxdWUgaW5kZXggZm9yIGNvbXBvbmVudCBpbnN0YW5jZXMuXG4gKiBUaGlzIGlzIHVzZWQgaW50ZXJuYWxseSB0byBlbnN1cmUgcHJvcGVyIFJlYWN0IHJlY29uY2lsaWF0aW9uLlxuICpcbiAqIEByZXR1cm5zIEEgdW5pcXVlIGluY3JlbWVudGFsIG51bWJlclxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0TmV3SW5kZXgoKTogbnVtYmVyIHtcbiAgaW5kZXggKz0gMTtcbiAgcmV0dXJuIGluZGV4O1xufVxuXG4vKipcbiAqIFByb3BzIGZvciB0aGUgUm91dGVyUmVuZGVyZXIgY29tcG9uZW50LlxuICovXG50eXBlIFByb3BzID0ge1xuICAvKiogRmFsbGJhY2sgVUkgdG8gc2hvdyB3aGlsZSBsb2FkaW5nIGNvbXBvbmVudHMgKi9cbiAgZmFsbGJhY2s6IFJlYWN0Tm9kZTtcbiAgLyoqIFdoZXRoZXIgdG8gc2hvdyBwZW5kaW5nIGNvbnRlbnQgd2hpbGUgUmVhY3QgcmVwb3J0cyBhIHRyYW5zaXRpb24gZWxzZXdoZXJlICovXG4gIGVuYWJsZVRyYW5zaXRpb24/OiBib29sZWFuO1xuICAvKiogRXh0ZXJuYWwgYXN5bmMgYWN0aXZpdHkgdGhhdCBzaG91bGQgYWxzbyBzaG93IHBlbmRpbmcgY29udGVudCAqL1xuICBleHRlcm5hbFBlbmRpbmc/OiBib29sZWFuO1xuICAvKiogVUkgdG8gc2hvdyBkdXJpbmcgdHJhbnNpdGlvbnMgKHdoZW4gZW5hYmxlVHJhbnNpdGlvbiBpcyB0cnVlKSAqL1xuICBwZW5kaW5nPzogUmVhY3ROb2RlO1xufTtcblxudHlwZSBTdXNwZW5zZUZhbGxiYWNrT2JzZXJ2ZXJQcm9wcyA9IHtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgb25QZW5kaW5nQ2hhbmdlOiAoaXNQZW5kaW5nOiBib29sZWFuKSA9PiB2b2lkO1xufTtcblxudHlwZSBSb3V0ZVNlZ21lbnRCb3VuZGFyeVByb3BzID0ge1xuICBjaGlsZHJlbj86IFJlYWN0Tm9kZTtcbiAgZW50cnk6IFJvdXRlRW50cnk8UGFyYW1EYXRhPjtcbiAgZmFsbGJhY2s6IFJlYWN0Tm9kZTtcbiAgbWF0Y2g6IFJvdXRlck1hdGNoZWRSb3V0ZTxQYXJhbURhdGE+IHwgbnVsbDtcbiAgcHJlcGFyZWRTZWdtZW50OiBQcmVwYXJlZFJvdXRlU2VnbWVudDtcbn07XG5cbnR5cGUgUm91dGVFbnRyeUNvbW1pdE9ic2VydmVyUHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG4gIGVudHJ5OiBSb3V0ZUVudHJ5PFBhcmFtRGF0YT4gfCB1bmRlZmluZWQ7XG4gIG9uQ29tbWl0OiAoZW50cnk6IFJvdXRlRW50cnk8UGFyYW1EYXRhPikgPT4gdm9pZDtcbn07XG5cbmNvbnN0IFN1c3BlbnNlRmFsbGJhY2tPYnNlcnZlciA9IChcbiAgcHJvcHM6IFN1c3BlbnNlRmFsbGJhY2tPYnNlcnZlclByb3BzLFxuKTogSlNYLkVsZW1lbnQgPT4ge1xuICBjb25zdCB7IGNoaWxkcmVuLCBvblBlbmRpbmdDaGFuZ2UgfSA9IHByb3BzO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgb25QZW5kaW5nQ2hhbmdlKHRydWUpO1xuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBvblBlbmRpbmdDaGFuZ2UoZmFsc2UpO1xuICAgIH07XG4gIH0sIFtvblBlbmRpbmdDaGFuZ2VdKTtcblxuICByZXR1cm4gPD57Y2hpbGRyZW59PC8+O1xufTtcblxuY29uc3QgUm91dGVFbnRyeUNvbW1pdE9ic2VydmVyID0gKFxuICBwcm9wczogUm91dGVFbnRyeUNvbW1pdE9ic2VydmVyUHJvcHMsXG4pOiBKU1guRWxlbWVudCA9PiB7XG4gIGNvbnN0IHsgY2hpbGRyZW4sIGVudHJ5LCBvbkNvbW1pdCB9ID0gcHJvcHM7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoZW50cnkgIT0gbnVsbCkge1xuICAgICAgb25Db21taXQoZW50cnkpO1xuICAgIH1cbiAgfSwgW2VudHJ5LCBvbkNvbW1pdF0pO1xuXG4gIHJldHVybiA8PntjaGlsZHJlbn08Lz47XG59O1xuXG5jb25zdCByZXNvbHZlUm91dGVGYWxsYmFjayA9IChcbiAgZmFsbGJhY2s6IFJvdXRlRmFsbGJhY2sgfCB1bmRlZmluZWQsXG4gIGRlZmF1bHRGYWxsYmFjazogUmVhY3ROb2RlLFxuICBhcmdzOiB7XG4gICAgY2hpbGRyZW4/OiBSZWFjdE5vZGU7XG4gICAgbWF0Y2g6IFJvdXRlck1hdGNoZWRSb3V0ZTxQYXJhbURhdGE+IHwgbnVsbDtcbiAgICBzZWdtZW50OiBQcmVwYXJlZFJvdXRlU2VnbWVudDtcbiAgfSxcbik6IFJlYWN0Tm9kZSA9PiB7XG4gIGlmICh0eXBlb2YgZmFsbGJhY2sgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gZmFsbGJhY2soYXJncyk7XG4gIH1cblxuICBpZiAodHlwZW9mIGZhbGxiYWNrICE9PSAndW5kZWZpbmVkJykge1xuICAgIHJldHVybiBmYWxsYmFjaztcbiAgfVxuXG4gIHJldHVybiBkZWZhdWx0RmFsbGJhY2s7XG59O1xuXG5jb25zdCBSb3V0ZVNlZ21lbnRCb3VuZGFyeSA9ICh7XG4gIGNoaWxkcmVuLFxuICBlbnRyeSxcbiAgZmFsbGJhY2ssXG4gIG1hdGNoLFxuICBwcmVwYXJlZFNlZ21lbnQsXG59OiBSb3V0ZVNlZ21lbnRCb3VuZGFyeVByb3BzKTogSlNYLkVsZW1lbnQgPT4ge1xuICBjb25zdCByb3V0ZUNvbXBvbmVudCA9IChcbiAgICA8Um91dGVDb21wb25lbnRXcmFwcGVyXG4gICAgICBlbnRyeT17ZW50cnl9XG4gICAgICBtYXRjaD17bWF0Y2h9XG4gICAgICBwcmVwYXJlZFNlZ21lbnQ9e3ByZXBhcmVkU2VnbWVudH1cbiAgICA+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9Sb3V0ZUNvbXBvbmVudFdyYXBwZXI+XG4gICk7XG5cbiAgaWYgKHByZXBhcmVkU2VnbWVudC5zdXNwZW5zZUJvdW5kYXJ5ICE9PSAnc2VnbWVudCcpIHtcbiAgICByZXR1cm4gcm91dGVDb21wb25lbnQ7XG4gIH1cblxuICByZXR1cm4gPFN1c3BlbnNlIGZhbGxiYWNrPXtmYWxsYmFja30+e3JvdXRlQ29tcG9uZW50fTwvU3VzcGVuc2U+O1xufTtcblxuY29uc3QgY2FuUmVuZGVyUGVuZGluZ0VudHJ5V2l0aExvY2FsQm91bmRhcmllcyA9IChcbiAgZW50cnk6IFJvdXRlRW50cnk8UGFyYW1EYXRhPixcbik6IGJvb2xlYW4gPT4ge1xuICBpZiAoZW50cnkuYWN0aXZlTG9hZFN0YXRlLnN0YXR1cyAhPT0gJ3BlbmRpbmcnKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICByZXR1cm4gZW50cnkubG9hZFN0YXRlLnNlZ21lbnRzLmV2ZXJ5KChzZWdtZW50LCBpbmRleCkgPT4ge1xuICAgIGlmIChzZWdtZW50LnN0YXR1cyAhPT0gJ3BlbmRpbmcnKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gZW50cnkucHJlcGFyZWRNYXRjaC5zZWdtZW50c1tpbmRleF0/LnN1c3BlbnNlQm91bmRhcnkgPT09ICdzZWdtZW50JztcbiAgfSk7XG59O1xuXG5jb25zdCByb3V0ZUxvY2F0aW9uS2V5ID0gKGVudHJ5OiBSb3V0ZUVudHJ5PFBhcmFtRGF0YT4pOiBzdHJpbmcgPT4ge1xuICByZXR1cm4gYCR7ZW50cnkubG9jYXRpb24ucGF0aG5hbWV9JHtlbnRyeS5sb2NhdGlvbi5zZWFyY2h9JHtlbnRyeS5sb2NhdGlvbi5oYXNofWA7XG59O1xuXG5jb25zdCBjYW5EaXNwbGF5Um91dGVFbnRyeSA9IChcbiAgZW50cnk6IFJvdXRlRW50cnk8UGFyYW1EYXRhPixcbiAgY3VycmVudEVudHJ5OiBSb3V0ZUVudHJ5PFBhcmFtRGF0YT4gfCB1bmRlZmluZWQsXG4gIGV4dGVybmFsUGVuZGluZzogYm9vbGVhbixcbik6IGJvb2xlYW4gPT4ge1xuICBpZiAoY3VycmVudEVudHJ5ID09IG51bGwpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGNvbnN0IGlzUm91dGVDaGFuZ2UgPVxuICAgIHJvdXRlTG9jYXRpb25LZXkoZW50cnkpICE9PSByb3V0ZUxvY2F0aW9uS2V5KGN1cnJlbnRFbnRyeSk7XG4gIGNvbnN0IGhhc0xvY2FsQm91bmRhcnkgPSBlbnRyeS5wcmVwYXJlZE1hdGNoLnNlZ21lbnRzLnNvbWUoKHJvdXRlKSA9PiB7XG4gICAgcmV0dXJuIHJvdXRlLnN1c3BlbnNlQm91bmRhcnkgPT09ICdzZWdtZW50JztcbiAgfSk7XG5cbiAgaWYgKGV4dGVybmFsUGVuZGluZyAmJiBpc1JvdXRlQ2hhbmdlICYmICFoYXNMb2NhbEJvdW5kYXJ5KSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIGNhblJlbmRlclBlbmRpbmdFbnRyeVdpdGhMb2NhbEJvdW5kYXJpZXMoZW50cnkpO1xufTtcblxuY29uc3QgcmVuZGVyUm91dGVFbnRyeSA9IChcbiAgZW50cnk6IFJvdXRlRW50cnk8UGFyYW1EYXRhPiB8IHVuZGVmaW5lZCxcbiAgZmFsbGJhY2s6IFJlYWN0Tm9kZSxcbik6IFJlYWN0Tm9kZSA9PiB7XG4gIGlmIChlbnRyeSA9PSBudWxsKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCByZXN1bHQ6IFByZXBhcmVkUm91dGVTZWdtZW50W10gPSBbXTtcblxuICBjb25zdCByZXZlcnNlZEl0ZW1zID0gcmVzdWx0LmNvbmNhdChlbnRyeS5wcmVwYXJlZE1hdGNoLnNlZ21lbnRzKS5yZXZlcnNlKCk7XG4gIGNvbnN0IGZpcnN0SXRlbSA9IHJldmVyc2VkSXRlbXNbMF07XG5cbiAgaWYgKGZpcnN0SXRlbSA9PSBudWxsKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBtYXRjaCA9IGVudHJ5LnByZXBhcmVkTWF0Y2gubWF0Y2ggPz8gbnVsbDtcbiAgbGV0IG1haW5Db21wb25lbnQgPSAoXG4gICAgPFJvdXRlU2VnbWVudEJvdW5kYXJ5XG4gICAgICBrZXk9e2ZpcnN0SXRlbS5zZWdtZW50S2V5fVxuICAgICAgZW50cnk9e2VudHJ5fVxuICAgICAgZmFsbGJhY2s9e3Jlc29sdmVSb3V0ZUZhbGxiYWNrKGZpcnN0SXRlbS5mYWxsYmFjaywgZmFsbGJhY2ssIHtcbiAgICAgICAgbWF0Y2gsXG4gICAgICAgIHNlZ21lbnQ6IGZpcnN0SXRlbSxcbiAgICAgIH0pfVxuICAgICAgbWF0Y2g9e21hdGNofVxuICAgICAgcHJlcGFyZWRTZWdtZW50PXtmaXJzdEl0ZW19XG4gICAgLz5cbiAgKTtcblxuICBmb3IgKGxldCBpbmRleCA9IDE7IGluZGV4IDwgcmV2ZXJzZWRJdGVtcy5sZW5ndGg7IGluZGV4ICs9IDEpIHtcbiAgICBjb25zdCBuZXh0SXRlbSA9IHJldmVyc2VkSXRlbXNbaW5kZXhdO1xuICAgIGlmIChuZXh0SXRlbSAhPSBudWxsKSB7XG4gICAgICBtYWluQ29tcG9uZW50ID0gKFxuICAgICAgICA8Um91dGVTZWdtZW50Qm91bmRhcnlcbiAgICAgICAgICBrZXk9e25leHRJdGVtLnNlZ21lbnRLZXl9XG4gICAgICAgICAgZW50cnk9e2VudHJ5fVxuICAgICAgICAgIGZhbGxiYWNrPXtyZXNvbHZlUm91dGVGYWxsYmFjayhuZXh0SXRlbS5mYWxsYmFjaywgZmFsbGJhY2ssIHtcbiAgICAgICAgICAgIGNoaWxkcmVuOiBtYWluQ29tcG9uZW50LFxuICAgICAgICAgICAgbWF0Y2gsXG4gICAgICAgICAgICBzZWdtZW50OiBuZXh0SXRlbSxcbiAgICAgICAgICB9KX1cbiAgICAgICAgICBtYXRjaD17bWF0Y2h9XG4gICAgICAgICAgcHJlcGFyZWRTZWdtZW50PXtuZXh0SXRlbX1cbiAgICAgICAgPlxuICAgICAgICAgIHttYWluQ29tcG9uZW50fVxuICAgICAgICA8L1JvdXRlU2VnbWVudEJvdW5kYXJ5PlxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbWFpbkNvbXBvbmVudDtcbn07XG5cbi8qKlxuICogTWFpbiByb3V0ZXIgcmVuZGVyZXIgY29tcG9uZW50IHRoYXQgZGlzcGxheXMgdGhlIGN1cnJlbnQgcm91dGUuXG4gKlxuICogVGhpcyBjb21wb25lbnQgYWNjZXNzZXMgdGhlIGN1cnJlbnQgcm91dGUgZW50cnkgZnJvbSBSb3V0aW5nQ29udGV4dCBhbmQgcmVuZGVyc1xuICogdGhlIGFwcHJvcHJpYXRlIGNvbXBvbmVudHMuIEl0IHN1cHBvcnRzIFJlYWN0IFN1c3BlbnNlIGZvciBsYXp5LWxvYWRlZCBjb21wb25lbnRzXG4gKiBhbmQgY2FuIG9wdGlvbmFsbHkgZGVmZXIgdmlzaWJsZSByb3V0ZSBjaGFuZ2VzIGZvciBzbW9vdGhlciBuYXZpZ2F0aW9uLlxuICpcbiAqIFRoZSBjb21wb25lbnQgaGFuZGxlcyBuZXN0ZWQgcm91dGVzIGJ5IGNyZWF0aW5nIGEgaGllcmFyY2h5IG9mIFJvdXRlQ29tcG9uZW50V3JhcHBlclxuICogY29tcG9uZW50cywgd2hlcmUgZWFjaCBsZXZlbCBjYW4gcmVuZGVyIGl0cyBvd24gY29tcG9uZW50IGFuZCBjaGlsZHJlbi5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHN4XG4gKiAvLyBCYXNpYyB1c2FnZSB3aXRoIFN1c3BlbnNlIGZhbGxiYWNrXG4gKiA8Um91dGVyUmVuZGVyZXIgZmFsbGJhY2s9ezxkaXY+TG9hZGluZy4uLjwvZGl2Pn0gLz5cbiAqXG4gKiAvLyBXaXRoIFJlYWN0IDE4IHRyYW5zaXRpb25zXG4gKiA8Um91dGVyUmVuZGVyZXJcbiAqICAgZW5hYmxlVHJhbnNpdGlvblxuICogICBmYWxsYmFjaz17PGRpdj5Mb2FkaW5nLi4uPC9kaXY+fVxuICogICBwZW5kaW5nPXs8ZGl2Pk5hdmlnYXRpbmcuLi48L2Rpdj59XG4gKiAvPlxuICogYGBgXG4gKi9cbmNvbnN0IFJvdXRlclJlbmRlcmVyID0gKHByb3BzOiBQcm9wcyk6IEpTWC5FbGVtZW50IHwgbnVsbCA9PiB7XG4gIGNvbnN0IHtcbiAgICBleHRlcm5hbFBlbmRpbmcgPSBmYWxzZSxcbiAgICBmYWxsYmFjayxcbiAgICBwZW5kaW5nLFxuICAgIGVuYWJsZVRyYW5zaXRpb24gPSBmYWxzZSxcbiAgfSA9IHByb3BzO1xuICBjb25zdCBbaXNTdXNwZW5zZVBlbmRpbmcsIHNldElzU3VzcGVuc2VQZW5kaW5nXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICAvLyBBY2Nlc3MgdGhlIHJvdXRlciBjb250ZXh0XG4gIGNvbnN0IHJvdXRlciA9IHVzZUNvbnRleHQoUm91dGluZ0NvbnRleHQpO1xuICBjb25zdCBbYWN0aXZlUm91dGVFbnRyeSwgc2V0QWN0aXZlUm91dGVFbnRyeV0gPSB1c2VTdGF0ZSgoKSA9PiB7XG4gICAgcmV0dXJuIHJvdXRlcj8uZ2V0KCk7XG4gIH0pO1xuICBjb25zdCBbZGlzcGxheWVkUm91dGVFbnRyeSwgc2V0RGlzcGxheWVkUm91dGVFbnRyeV0gPSB1c2VTdGF0ZSgoKSA9PiB7XG4gICAgcmV0dXJuIHJvdXRlcj8uZ2V0KCk7XG4gIH0pO1xuICBjb25zdCBjb21taXR0ZWRSb3V0ZUVudHJ5UmVmID0gdXNlUmVmPFJvdXRlRW50cnk8UGFyYW1EYXRhPiB8IHVuZGVmaW5lZD4oXG4gICAgdW5kZWZpbmVkLFxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHJvdXRlciA9PSBudWxsKSB7XG4gICAgICBzZXRBY3RpdmVSb3V0ZUVudHJ5KHVuZGVmaW5lZCk7XG4gICAgICBzZXREaXNwbGF5ZWRSb3V0ZUVudHJ5KHVuZGVmaW5lZCk7XG4gICAgICByZXR1cm4gKCkgPT4ge307XG4gICAgfVxuXG4gICAgY29uc3Qgc2NoZWR1bGVEaXNwbGF5ZWRSb3V0ZUVudHJ5ID0gKGVudHJ5OiBSb3V0ZUVudHJ5PFBhcmFtRGF0YT4pID0+IHtcbiAgICAgIGNvbnN0IHVwZGF0ZURpc3BsYXllZFJvdXRlRW50cnkgPSAoKSA9PiB7XG4gICAgICAgIHNldERpc3BsYXllZFJvdXRlRW50cnkoKGN1cnJlbnRFbnRyeSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHNob3VsZEtlZXBDdXJyZW50RW50cnkgPVxuICAgICAgICAgICAgZW5hYmxlVHJhbnNpdGlvbiAmJlxuICAgICAgICAgICAgIWNhbkRpc3BsYXlSb3V0ZUVudHJ5KGVudHJ5LCBjdXJyZW50RW50cnksIGV4dGVybmFsUGVuZGluZyk7XG5cbiAgICAgICAgICBpZiAoc2hvdWxkS2VlcEN1cnJlbnRFbnRyeSkge1xuICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnRFbnRyeTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gZW50cnk7XG4gICAgICAgIH0pO1xuICAgICAgfTtcblxuICAgICAgaWYgKGVuYWJsZVRyYW5zaXRpb24pIHtcbiAgICAgICAgc3RhcnRUcmFuc2l0aW9uKHVwZGF0ZURpc3BsYXllZFJvdXRlRW50cnkpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHVwZGF0ZURpc3BsYXllZFJvdXRlRW50cnkoKTtcbiAgICB9O1xuXG4gICAgY29uc3QgbmV4dEVudHJ5ID0gcm91dGVyLmdldCgpO1xuICAgIHNldEFjdGl2ZVJvdXRlRW50cnkobmV4dEVudHJ5KTtcbiAgICBzY2hlZHVsZURpc3BsYXllZFJvdXRlRW50cnkobmV4dEVudHJ5KTtcbiAgICByZXR1cm4gcm91dGVyLnN1YnNjcmliZSgoZW50cnkpID0+IHtcbiAgICAgIHNldEFjdGl2ZVJvdXRlRW50cnkoZW50cnkpO1xuICAgICAgc2NoZWR1bGVEaXNwbGF5ZWRSb3V0ZUVudHJ5KGVudHJ5KTtcbiAgICB9KTtcbiAgfSwgW2VuYWJsZVRyYW5zaXRpb24sIGV4dGVybmFsUGVuZGluZywgcm91dGVyXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWVuYWJsZVRyYW5zaXRpb24gfHwgZXh0ZXJuYWxQZW5kaW5nIHx8IGFjdGl2ZVJvdXRlRW50cnkgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHN0YXJ0VHJhbnNpdGlvbigoKSA9PiB7XG4gICAgICBzZXREaXNwbGF5ZWRSb3V0ZUVudHJ5KGFjdGl2ZVJvdXRlRW50cnkpO1xuICAgIH0pO1xuICB9LCBbYWN0aXZlUm91dGVFbnRyeSwgZW5hYmxlVHJhbnNpdGlvbiwgZXh0ZXJuYWxQZW5kaW5nXSk7XG4gIC8vIFRoZSBjdXJyZW50IHJvdXRlIHZhbHVlIGlzIGFuIGFycmF5IG9mIG1hdGNoaW5nIGVudHJpZXMgLSBvbmUgZW50cnkgcGVyXG4gIC8vIGxldmVsIG9mIHJvdXRlcyAodG8gYWxsb3cgbmVzdGVkIHJvdXRlcykuIFdlIGhhdmUgdG8gbWFwIGVhY2ggb25lIHRvIGFcbiAgLy8gUm91dGVDb21wb25lbnQgdG8gYWxsb3cgc3VzcGVuZGluZywgYW5kIGFsc28gcGFzcyBpdHMgY2hpbGRyZW4gY29ycmVjdGx5LlxuICAvLyBDb25jZXB0dWFsbHksIHdlIHdhbnQgdGhpcyBzdHJ1Y3R1cmU6XG4gIC8vIGBgYFxuICAvLyA8Um91dGVDb21wb25lbnRcbiAgLy8gICBjb21wb25lbnQ9e2VudHJ5WzBdLmNvbXBvbmVudH1cbiAgLy8gICBwcmVwYXJlZD17ZW50cnJ5WzBdLnByZXBhcmVkfT5cbiAgLy8gICA8Um91dGVDb21wb25lbnRcbiAgLy8gICAgIGNvbXBvbmVudD17ZW50cnlbMV0uY29tcG9uZW50fVxuICAvLyAgICAgcHJlcGFyZWQ9e2VudHJ5WzFdLnByZXBhcmVkfT5cbiAgLy8gICAgICAgLy8gY29udGludWUgZm9yIG5lc3RlZCBpdGVtcy4uLlxuICAvLyAgIDwvUm91dGVDb21wb25lbnQ+XG4gIC8vIDwvUm91dGVDb21wb25lbnQ+XG4gIC8vIGBgYFxuICAvLyBUbyBhY2hpZXZlIHRoaXMsIHdlIHJldmVyc2UgdGhlIGxpc3Qgc28gd2UgY2FuIHN0YXJ0IGF0IHRoZSBib3R0b20tbW9zdFxuICAvLyBjb21wb25lbnQsIGFuZCBpdGVyYXRpdmVseSBjb25zdHJ1Y3QgcGFyZW50IGNvbXBvbmVudHMgdyB0aGUgcHJldmlvdXNcbiAgLy8gdmFsdWUgYXMgdGhlIGNoaWxkIG9mIHRoZSBuZXh0IG9uZTpcbiAgLy8gcmV2ZXJzZSBpcyBpbiBwbGFjZSwgYnV0IHdlIHdhbnQgYSBjb3B5IHNvIGNvbmNhdFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L3Byb21pc2UtZnVuY3Rpb24tYXN5bmNcbiAgY29uc3QgcGVuZGluZ0NvbnRlbnQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCBoYXNSb3V0ZXJQZW5kaW5nID1cbiAgICAgIGFjdGl2ZVJvdXRlRW50cnk/LmFjdGl2ZUxvYWRTdGF0ZS5zdGF0dXMgPT09ICdwZW5kaW5nJztcbiAgICBjb25zdCBjb21taXR0ZWRSb3V0ZUVudHJ5ID0gY29tbWl0dGVkUm91dGVFbnRyeVJlZi5jdXJyZW50O1xuICAgIGNvbnN0IGhhc1JvdXRlVHJhbnNpdGlvblBlbmRpbmcgPVxuICAgICAgZXh0ZXJuYWxQZW5kaW5nICYmXG4gICAgICBhY3RpdmVSb3V0ZUVudHJ5ICE9IG51bGwgJiZcbiAgICAgIChjb21taXR0ZWRSb3V0ZUVudHJ5ID09IG51bGwgfHxcbiAgICAgICAgcm91dGVMb2NhdGlvbktleShhY3RpdmVSb3V0ZUVudHJ5KSAhPT1cbiAgICAgICAgICByb3V0ZUxvY2F0aW9uS2V5KGNvbW1pdHRlZFJvdXRlRW50cnkpKTtcbiAgICBjb25zdCBoYXNQZW5kaW5nID1cbiAgICAgIGhhc1JvdXRlclBlbmRpbmcgfHwgaXNTdXNwZW5zZVBlbmRpbmcgfHwgaGFzUm91dGVUcmFuc2l0aW9uUGVuZGluZztcbiAgICBpZiAoZW5hYmxlVHJhbnNpdGlvbiAmJiBoYXNQZW5kaW5nKSB7XG4gICAgICByZXR1cm4gcGVuZGluZztcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfSwgW1xuICAgIGVuYWJsZVRyYW5zaXRpb24sXG4gICAgZXh0ZXJuYWxQZW5kaW5nLFxuICAgIGFjdGl2ZVJvdXRlRW50cnksXG4gICAgaXNTdXNwZW5zZVBlbmRpbmcsXG4gICAgcGVuZGluZyxcbiAgXSk7XG5cbiAgY29uc3QgaGFuZGxlU3VzcGVuc2VQZW5kaW5nQ2hhbmdlID0gdXNlQ2FsbGJhY2soKGlzUGVuZGluZzogYm9vbGVhbikgPT4ge1xuICAgIHNldElzU3VzcGVuc2VQZW5kaW5nKGlzUGVuZGluZyk7XG4gIH0sIFtdKTtcblxuICBjb25zdCBvYnNlcnZlZEZhbGxiYWNrID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTdXNwZW5zZUZhbGxiYWNrT2JzZXJ2ZXIgb25QZW5kaW5nQ2hhbmdlPXtoYW5kbGVTdXNwZW5zZVBlbmRpbmdDaGFuZ2V9PlxuICAgICAgICB7ZmFsbGJhY2t9XG4gICAgICA8L1N1c3BlbnNlRmFsbGJhY2tPYnNlcnZlcj5cbiAgICApO1xuICB9LCBbZmFsbGJhY2ssIGhhbmRsZVN1c3BlbnNlUGVuZGluZ0NoYW5nZV0pO1xuXG4gIGNvbnN0IHJvdXRlQ29tcG9uZW50ID0gdXNlTWVtbygoKTogUmVhY3ROb2RlID0+IHtcbiAgICByZXR1cm4gcmVuZGVyUm91dGVFbnRyeShkaXNwbGF5ZWRSb3V0ZUVudHJ5LCBmYWxsYmFjayk7XG4gIH0sIFtkaXNwbGF5ZWRSb3V0ZUVudHJ5LCBmYWxsYmFja10pO1xuXG4gIGNvbnN0IGhhbmRsZVJvdXRlRW50cnlDb21taXQgPSB1c2VDYWxsYmFjaygoZW50cnk6IFJvdXRlRW50cnk8UGFyYW1EYXRhPikgPT4ge1xuICAgIGNvbW1pdHRlZFJvdXRlRW50cnlSZWYuY3VycmVudCA9IGVudHJ5O1xuICB9LCBbXSk7XG5cbiAgY29uc3QgdHJhbnNpdGlvbkZhbGxiYWNrID0gdXNlTWVtbygoKTogUmVhY3ROb2RlID0+IHtcbiAgICBpZiAoIWVuYWJsZVRyYW5zaXRpb24pIHtcbiAgICAgIHJldHVybiBvYnNlcnZlZEZhbGxiYWNrO1xuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICByZW5kZXJSb3V0ZUVudHJ5KGNvbW1pdHRlZFJvdXRlRW50cnlSZWYuY3VycmVudCwgZmFsbGJhY2spID8/XG4gICAgICBvYnNlcnZlZEZhbGxiYWNrXG4gICAgKTtcbiAgfSwgW2VuYWJsZVRyYW5zaXRpb24sIGZhbGxiYWNrLCBvYnNlcnZlZEZhbGxiYWNrXSk7XG5cbiAgLy8gUm91dGVzIGNhbiBlcnJvciBzbyB3cmFwIGluIGFuIDxFcnJvckJvdW5kYXJ5PlxuICAvLyBSb3V0ZXMgY2FuIHN1c3BlbmQsIHNvIHdyYXAgaW4gPFN1c3BlbnNlPlxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICB7cGVuZGluZ0NvbnRlbnR9XG4gICAgICA8U3VzcGVuc2UgZmFsbGJhY2s9e3RyYW5zaXRpb25GYWxsYmFja30+XG4gICAgICAgIDxSb3V0ZUVudHJ5Q29tbWl0T2JzZXJ2ZXJcbiAgICAgICAgICBlbnRyeT17ZGlzcGxheWVkUm91dGVFbnRyeX1cbiAgICAgICAgICBvbkNvbW1pdD17aGFuZGxlUm91dGVFbnRyeUNvbW1pdH1cbiAgICAgICAgPlxuICAgICAgICAgIHtyb3V0ZUNvbXBvbmVudH1cbiAgICAgICAgPC9Sb3V0ZUVudHJ5Q29tbWl0T2JzZXJ2ZXI+XG4gICAgICA8L1N1c3BlbnNlPlxuICAgIDwvPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgUm91dGVyUmVuZGVyZXI7XG4iXX0=
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { type Schema as FilterSchema } from '@plumile/filter-query/types.js';
|
|
2
1
|
import type { ParamData } from 'path-to-regexp';
|
|
3
|
-
import { type RoutingContextType, type
|
|
2
|
+
import { type RoutingContextType, type RouteNode, type PreparedAccess, type NavigateOverloads, type UnknownQueryShape } from '../types.js';
|
|
4
3
|
import { type InstrumentationAPI } from '../instrumentation/Instrumentation.js';
|
|
5
|
-
type RouterQuerySchema
|
|
6
|
-
export type CreateRouterReturn<TContext, R extends
|
|
4
|
+
import { type RouterQuerySchema } from '../internal/routerSearchState.js';
|
|
5
|
+
export type CreateRouterReturn<TContext, R extends RouteNode[]> = {
|
|
7
6
|
cleanup: () => void;
|
|
8
7
|
context: RoutingContextType<ParamData, RouterQuerySchema, UnknownQueryShape, TContext> & PreparedAccess<R> & {
|
|
9
8
|
navigate: NavigateOverloads<R>;
|
|
@@ -14,6 +13,5 @@ export type CreateRouterOptions<TContext> = {
|
|
|
14
13
|
context?: TContext | (() => TContext);
|
|
15
14
|
getContext?: () => TContext;
|
|
16
15
|
};
|
|
17
|
-
export default function createRouter<TContext = unknown, R extends
|
|
18
|
-
export {};
|
|
16
|
+
export default function createRouter<TContext = unknown, R extends RouteNode[] = RouteNode[]>(routes: [...R] | RouteNode[], options?: CreateRouterOptions<TContext>): CreateRouterReturn<TContext, R>;
|
|
19
17
|
//# sourceMappingURL=createRouter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createRouter.d.ts","sourceRoot":"","sources":["../../../src/routing/createRouter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"createRouter.d.ts","sourceRoot":"","sources":["../../../src/routing/createRouter.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAEL,KAAK,kBAAkB,EAEvB,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,iBAAiB,EAOtB,KAAK,iBAAiB,EACvB,MAAM,aAAa,CAAC;AACrB,OAAO,EAEL,KAAK,kBAAkB,EAKxB,MAAM,uCAAuC,CAAC;AAY/C,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,kCAAkC,CAAC;AA0C1C,MAAM,MAAM,kBAAkB,CAAC,QAAQ,EAAE,CAAC,SAAS,SAAS,EAAE,IAAI;IAEhE,OAAO,EAAE,MAAM,IAAI,CAAC;IAEpB,OAAO,EAAE,kBAAkB,CACzB,SAAS,EACT,iBAAiB,EACjB,iBAAiB,EACjB,QAAQ,CACT,GACC,cAAc,CAAC,CAAC,CAAC,GAAG;QAClB,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;KAChC,CAAC;CACL,CAAC;AAwCF,MAAM,MAAM,mBAAmB,CAAC,QAAQ,IAAI;IAE1C,gBAAgB,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAExC,OAAO,CAAC,EAAE,QAAQ,GAAG,CAAC,MAAM,QAAQ,CAAC,CAAC;IAEtC,UAAU,CAAC,EAAE,MAAM,QAAQ,CAAC;CAC7B,CAAC;AASF,MAAM,CAAC,OAAO,UAAU,YAAY,CAClC,QAAQ,GAAG,OAAO,EAClB,CAAC,SAAS,SAAS,EAAE,GAAG,SAAS,EAAE,EAEnC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,EAAE,EAC5B,OAAO,GAAE,mBAAmB,CAAC,QAAQ,CAAM,GAC1C,kBAAkB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAwlCjC"}
|