@plumile/router 0.1.28 → 0.1.31

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.
Files changed (66) hide show
  1. package/README.md +9 -126
  2. package/lib/esm/ResourcePage.d.ts +1 -0
  3. package/lib/esm/ResourcePage.d.ts.map +1 -1
  4. package/lib/esm/ResourcePage.js +4 -1
  5. package/lib/esm/builder.d.ts.map +1 -1
  6. package/lib/esm/builder.js +1 -1
  7. package/lib/esm/errors/HttpRedirect.d.ts.map +1 -1
  8. package/lib/esm/errors/HttpRedirect.js +1 -1
  9. package/lib/esm/errors/index.js +1 -1
  10. package/lib/esm/history/BrowserHistory.d.ts +7 -2
  11. package/lib/esm/history/BrowserHistory.d.ts.map +1 -1
  12. package/lib/esm/history/BrowserHistory.js +96 -18
  13. package/lib/esm/history/types.d.ts +8 -1
  14. package/lib/esm/history/types.d.ts.map +1 -1
  15. package/lib/esm/history/types.js +1 -1
  16. package/lib/esm/routing/Link.d.ts.map +1 -1
  17. package/lib/esm/routing/Link.js +16 -1
  18. package/lib/esm/routing/createRouter.d.ts +5 -9
  19. package/lib/esm/routing/createRouter.d.ts.map +1 -1
  20. package/lib/esm/routing/createRouter.js +354 -382
  21. package/lib/esm/routing/useAllQuery.d.ts.map +1 -1
  22. package/lib/esm/routing/useAllQuery.js +1 -1
  23. package/lib/esm/routing/useFilterDiagnostics.d.ts.map +1 -1
  24. package/lib/esm/routing/useFilterDiagnostics.js +1 -1
  25. package/lib/esm/routing/useFilters.d.ts +5 -0
  26. package/lib/esm/routing/useFilters.d.ts.map +1 -1
  27. package/lib/esm/routing/useFilters.js +4 -1
  28. package/lib/esm/routing/useNavigate.d.ts.map +1 -1
  29. package/lib/esm/routing/useNavigate.js +1 -1
  30. package/lib/esm/routing/useQuery.d.ts.map +1 -1
  31. package/lib/esm/routing/useQuery.js +1 -1
  32. package/lib/esm/routing/useQueryState.d.ts.map +1 -1
  33. package/lib/esm/routing/useQueryState.js +1 -1
  34. package/lib/esm/tools/buildCombinedSearch.d.ts.map +1 -1
  35. package/lib/esm/tools/buildCombinedSearch.js +1 -1
  36. package/lib/esm/tools.d.ts +6 -2
  37. package/lib/esm/tools.d.ts.map +1 -1
  38. package/lib/esm/tools.js +47 -2
  39. package/lib/esm/types.d.ts +47 -0
  40. package/lib/esm/types.d.ts.map +1 -1
  41. package/lib/esm/types.js +28 -2
  42. package/lib/tsconfig.esm.tsbuildinfo +1 -1
  43. package/lib/types/ResourcePage.d.ts +1 -0
  44. package/lib/types/ResourcePage.d.ts.map +1 -1
  45. package/lib/types/builder.d.ts.map +1 -1
  46. package/lib/types/errors/HttpRedirect.d.ts.map +1 -1
  47. package/lib/types/history/BrowserHistory.d.ts +7 -2
  48. package/lib/types/history/BrowserHistory.d.ts.map +1 -1
  49. package/lib/types/history/types.d.ts +8 -1
  50. package/lib/types/history/types.d.ts.map +1 -1
  51. package/lib/types/routing/Link.d.ts.map +1 -1
  52. package/lib/types/routing/createRouter.d.ts +5 -9
  53. package/lib/types/routing/createRouter.d.ts.map +1 -1
  54. package/lib/types/routing/useAllQuery.d.ts.map +1 -1
  55. package/lib/types/routing/useFilterDiagnostics.d.ts.map +1 -1
  56. package/lib/types/routing/useFilters.d.ts +5 -0
  57. package/lib/types/routing/useFilters.d.ts.map +1 -1
  58. package/lib/types/routing/useNavigate.d.ts.map +1 -1
  59. package/lib/types/routing/useQuery.d.ts.map +1 -1
  60. package/lib/types/routing/useQueryState.d.ts.map +1 -1
  61. package/lib/types/tools/buildCombinedSearch.d.ts.map +1 -1
  62. package/lib/types/tools.d.ts +6 -2
  63. package/lib/types/tools.d.ts.map +1 -1
  64. package/lib/types/types.d.ts +47 -0
  65. package/lib/types/types.d.ts.map +1 -1
  66. package/package.json +4 -4
@@ -1,5 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import React, { forwardRef, useEffect, useMemo, } from 'react';
3
+ import { NavigationOrigin, RouterDebugEventKind } from '../types.js';
3
4
  import { cx } from './../tools/index.js';
4
5
  import buildCombinedSearch from '../tools/buildCombinedSearch.js';
5
6
  import RoutingContext from './RoutingContext.js';
@@ -82,9 +83,20 @@ const Link = forwardRef((props, ref) => {
82
83
  if (router == null || isDisabled) {
83
84
  return;
84
85
  }
86
+ router.__debug?.recordNavigationIntent(NavigationOrigin.LinkClick);
87
+ router.__debug?.recordHistoryAction(RouterDebugEventKind.HistoryPush, NavigationOrigin.LinkClick, {
88
+ pathname,
89
+ search,
90
+ hash: '',
91
+ }, { trigger: 'link' });
85
92
  router.history.push({
86
93
  pathname,
87
94
  search,
95
+ hash: '',
96
+ debugContext: {
97
+ origin: NavigationOrigin.LinkClick,
98
+ trigger: 'link',
99
+ },
88
100
  });
89
101
  }, [isDisabled, onClick, pathname, router, target, search]);
90
102
  const handleMouseEnter = useCallback(() => {
@@ -92,9 +104,11 @@ const Link = forwardRef((props, ref) => {
92
104
  return;
93
105
  }
94
106
  if (preloadOnMouseEnter) {
107
+ router.__debug?.recordPreload(RouterDebugEventKind.Preload, NavigationOrigin.PreloadHover, pathname);
95
108
  router.preload(pathname);
96
109
  }
97
110
  else {
111
+ router.__debug?.recordPreload(RouterDebugEventKind.PreloadCode, NavigationOrigin.PreloadHover, pathname);
98
112
  router.preloadCode(pathname);
99
113
  }
100
114
  }, [router, isDisabled, preloadOnMouseEnter, pathname]);
@@ -102,6 +116,7 @@ const Link = forwardRef((props, ref) => {
102
116
  if (router == null || isDisabled || !preloadOnMouseDown) {
103
117
  return;
104
118
  }
119
+ router.__debug?.recordPreload(RouterDebugEventKind.Preload, NavigationOrigin.LinkClick, pathname);
105
120
  router.preload(pathname);
106
121
  }, [router, isDisabled, preloadOnMouseDown, pathname]);
107
122
  let hrefValue = pathname;
@@ -111,4 +126,4 @@ const Link = forwardRef((props, ref) => {
111
126
  return (_jsx("a", { className: cx(classNames), href: hrefValue, onClick: handleClick, onFocus: onFocus, onMouseDown: handleMouseDown, onMouseEnter: handleMouseEnter, onMouseOver: onMouseOver, ref: ref, target: target, children: children }));
112
127
  });
113
128
  export default Link;
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGluay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yb3V0aW5nL0xpbmsudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEtBQUssRUFBRSxFQUlaLFVBQVUsRUFDVixTQUFTLEVBQ1QsT0FBTyxHQUNSLE1BQU0sT0FBTyxDQUFDO0FBSWYsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3pDLE9BQU8sbUJBQW1CLE1BQU0saUNBQWlDLENBQUM7QUFFbEUsT0FBTyxjQUFjLE1BQU0scUJBQXFCLENBQUM7QUFHakQsTUFBTSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsR0FBRyxLQUFLLENBQUM7QUFLMUMsTUFBTSxVQUFVLGlCQUFpQixDQUMvQixLQUFjLEVBQ2QsT0FBbUMsRUFDbkMsUUFBZ0I7SUFFaEIsSUFBSSxPQUFPLElBQUksSUFBSSxFQUFFLENBQUM7UUFDcEIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBR0QsTUFBTSxXQUFXLEdBQUcsSUFBSSxHQUFHLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUV6RCxNQUFNLGdCQUFnQixHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUM7SUFFOUMsSUFBSSxLQUFLLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRLEtBQUssZ0JBQWdCLEVBQUUsQ0FBQztRQUM1RCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxJQUFJLENBQUMsS0FBSyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7UUFDckUsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBMkRELE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FBMkIsQ0FBQyxLQUFZLEVBQUUsR0FBRyxFQUFFLEVBQUU7SUFDdEUsTUFB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R0FBRyxXQUFXLENBQUMsR0FBRyxFQUFFO1FBQ3ZDLElBQUksTUFBTSxJQUFJLElBQUksSUFBSSxVQUFVLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1lBQ3hELE9BQU87UUFDVCxDQUFDO1FBQ0QsTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMzQixDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLGtCQUFrQixFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFFdkQsSUFBSSxTQUFTLEdBQUcsUUFBUSxDQUFDO0lBQ3pCLElBQUksT0FBTyxNQUFNLEtBQUssUUFBUSxJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDcEQsU0FBUyxHQUFHLEdBQUcsUUFBUSxHQUFHLE1BQU0sRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFDRCxPQUFPLENBQ0wsWUFDRSxTQUFTLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUN6QixJQUFJLEVBQUUsU0FBUyxFQUNmLE9BQU8sRUFBRSxXQUFXLEVBQ3BCLE9BQU8sRUFBRSxPQUFPLEVBQ2hCLFdBQVcsRUFBRSxlQUFlLEVBQzVCLFlBQVksRUFBRSxnQkFBZ0IsRUFDOUIsV0FBVyxFQUFFLFdBQVcsRUFDeEIsR0FBRyxFQUFFLEdBQUcsRUFDUixNQUFNLEVBQUUsTUFBTSxZQUViLFFBQVEsR0FDUCxDQUNMLENBQUM7QUFDSixDQUFDLENBQUMsQ0FBQztBQUVILGVBQWUsSUFBSSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7XG4gIHR5cGUgSFRNTEF0dHJpYnV0ZUFuY2hvclRhcmdldCxcbiAgdHlwZSBNb3VzZUV2ZW50LFxuICB0eXBlIFJlYWN0Tm9kZSxcbiAgZm9yd2FyZFJlZixcbiAgdXNlRWZmZWN0LFxuICB1c2VNZW1vLFxufSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB0eXBlIHsgQnJvd3Nlckhpc3RvcnksIEhpc3RvcnlMb2NhdGlvbiB9IGZyb20gJy4uL2hpc3RvcnkvaW5kZXguanMnO1xuXG5pbXBvcnQgeyBjeCB9IGZyb20gJy4vLi4vdG9vbHMvaW5kZXguanMnO1xuaW1wb3J0IGJ1aWxkQ29tYmluZWRTZWFyY2ggZnJvbSAnLi4vdG9vbHMvYnVpbGRDb21iaW5lZFNlYXJjaC5qcyc7XG5cbmltcG9ydCBSb3V0aW5nQ29udGV4dCBmcm9tICcuL1JvdXRpbmdDb250ZXh0LmpzJztcbi8vIChmaWx0ZXItcXVlcnkgc3RyaW5naWZ5IG5vdCB1c2VkIGhlcmUgYWZ0ZXIgc2ltcGxpZnlpbmcgbWFudWFsIHNlcmlhbGl6YXRpb24pXG5cbmNvbnN0IHsgdXNlQ2FsbGJhY2ssIHVzZUNvbnRleHQgfSA9IFJlYWN0O1xuXG4vKipcbiAqIENoZWNrIGlmIHRoZSBjdXJyZW50IHBhdGhuYW1lIG1hdGNoZXMgdGhlIGdpdmVuIHBhdGhuYW1lLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNDdXJyZW50UGF0aG5hbWUoXG4gIGV4YWN0OiBib29sZWFuLFxuICBoaXN0b3J5OiBCcm93c2VySGlzdG9yeSB8IHVuZGVmaW5lZCxcbiAgcGF0aG5hbWU6IHN0cmluZyxcbik6IGJvb2xlYW4ge1xuICBpZiAoaGlzdG9yeSA9PSBudWxsKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLy8gQHRzLWV4cGVjdC1lcnJvcjogT0tcbiAgY29uc3QgcmVzb2x2ZWRVcmwgPSBuZXcgVVJMKHBhdGhuYW1lLCBkb2N1bWVudC5sb2NhdGlvbik7XG5cbiAgY29uc3QgcmVzb2x2ZWRQYXRobmFtZSA9IHJlc29sdmVkVXJsLnBhdGhuYW1lO1xuXG4gIGlmIChleGFjdCAmJiBoaXN0b3J5LmxvY2F0aW9uLnBhdGhuYW1lID09PSByZXNvbHZlZFBhdGhuYW1lKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBpZiAoIWV4YWN0ICYmIGhpc3RvcnkubG9jYXRpb24ucGF0aG5hbWUuc3RhcnRzV2l0aChyZXNvbHZlZFBhdGhuYW1lKSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG4vKipcbiAqIFByb3BzIGZvciB0aGUgTGluayBjb21wb25lbnQuXG4gKi9cbnR5cGUgUHJvcHM8VFF1ZXJ5IGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4gPSB7XG4gIC8qKiBDU1MgY2xhc3MgdG8gYXBwbHkgd2hlbiB0aGUgbGluayBpcyBhY3RpdmUgKG1hdGNoZXMgY3VycmVudCByb3V0ZSkgKi9cbiAgYWN0aXZlQ2xhc3NOYW1lPzogc3RyaW5nO1xuICAvKiogQ2hpbGQgY29tcG9uZW50cyB0byByZW5kZXIgaW5zaWRlIHRoZSBsaW5rICovXG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG4gIC8qKiBCYXNlIENTUyBjbGFzcyBmb3IgdGhlIGxpbmsgKi9cbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICAvKiogV2hldGhlciB0byB1c2UgZXhhY3QgcGF0aCBtYXRjaGluZyBmb3IgYWN0aXZlIHN0YXRlICovXG4gIGV4YWN0PzogYm9vbGVhbjtcbiAgLyoqIFdoZXRoZXIgdG8gcHJlbG9hZCB0aGUgcm91dGUgd2hlbiBtb3VzZSBlbnRlcnMgdGhlIGxpbmsgKi9cbiAgcHJlbG9hZE9uTW91c2VFbnRlcj86IGJvb2xlYW47XG4gIC8qKiBXaGV0aGVyIHRvIHByZWxvYWQgdGhlIHJvdXRlIHdoZW4gbW91c2UgaXMgcHJlc3NlZCBkb3duICovXG4gIHByZWxvYWRPbk1vdXNlRG93bj86IGJvb2xlYW47XG4gIC8qKiBEaXJlY3QgaHJlZiBhdHRyaWJ1dGUgKG92ZXJyaWRlcyAndG8nIHByb3ApICovXG4gIGhyZWY/OiBzdHJpbmc7XG4gIC8qKiBXaGV0aGVyIHRoZSBsaW5rIHNob3VsZCBiZSBkaXNhYmxlZCAqL1xuICBpc0Rpc2FibGVkPzogYm9vbGVhbjtcbiAgLyoqIENsaWNrIGhhbmRsZXIgKi9cbiAgb25DbGljaz86IFJlYWN0Lk1vdXNlRXZlbnRIYW5kbGVyPEhUTUxBbmNob3JFbGVtZW50PjtcbiAgLyoqIEZvY3VzIGhhbmRsZXIgKi9cbiAgb25Gb2N1cz86IFJlYWN0LkZvY3VzRXZlbnRIYW5kbGVyPEhUTUxBbmNob3JFbGVtZW50PjtcbiAgLyoqIE1vdXNlIG92ZXIgaGFuZGxlciAqL1xuICBvbk1vdXNlT3Zlcj86IFJlYWN0Lk1vdXNlRXZlbnRIYW5kbGVyPEhUTUxBbmNob3JFbGVtZW50PjtcbiAgLyoqIFRhcmdldCBhdHRyaWJ1dGUgZm9yIHRoZSBsaW5rICovXG4gIHRhcmdldD86IEhUTUxBdHRyaWJ1dGVBbmNob3JUYXJnZXQ7XG4gIC8qKiBEZXN0aW5hdGlvbiBmb3IgdGhlIGxpbmsgKGNhbiBiZSBzdHJpbmcgcGF0aCBvciBsb2NhdGlvbiBvYmplY3QpICovXG4gIHRvPzogSGlzdG9yeUxvY2F0aW9uIHwgc3RyaW5nO1xuICAvKiogT3B0aW9uYWwgcXVlcnkgb2JqZWN0IHRvIHNlcmlhbGl6ZSB1c2luZyBkZXN0aW5hdGlvbiByb3V0ZSBzY2hlbWEgKi9cbiAgcXVlcnk/OiBUUXVlcnk7XG59O1xuXG4vKipcbiAqIE5hdmlnYXRpb24gY29tcG9uZW50IHRoYXQgcHJvdmlkZXMgY2xpZW50LXNpZGUgcm91dGluZyB3aXRoIHByZWxvYWRpbmcgY2FwYWJpbGl0aWVzLlxuICpcbiAqIFRoaXMgY29tcG9uZW50IGludGVncmF0ZXMgd2l0aCB0aGUgcm91dGVyJ3MgUm91dGluZ0NvbnRleHQgdG8gcHJvdmlkZSBzbW9vdGggbmF2aWdhdGlvblxuICogd2l0aCBvcHRpb25hbCBwcmVsb2FkaW5nIG9mIHJvdXRlIGNvbXBvbmVudHMgYW5kIGRhdGEuIEl0IGF1dG9tYXRpY2FsbHkgYXBwbGllcyBhY3RpdmVcbiAqIHN0eWxpbmcgd2hlbiB0aGUgY3VycmVudCByb3V0ZSBtYXRjaGVzIHRoZSBsaW5rJ3MgZGVzdGluYXRpb24uXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzeFxuICogLy8gQmFzaWMgdXNhZ2VcbiAqIDxMaW5rIHRvPVwiL3VzZXJzLzEyM1wiPlZpZXcgUHJvZmlsZTwvTGluaz5cbiAqXG4gKiAvLyBXaXRoIGFjdGl2ZSBzdHlsaW5nXG4gKiA8TGluayB0bz1cIi9kYXNoYm9hcmRcIiBhY3RpdmVDbGFzc05hbWU9XCJhY3RpdmVcIiBleGFjdD5cbiAqICAgRGFzaGJvYXJkXG4gKiA8L0xpbms+XG4gKlxuICogLy8gV2l0aCBwcmVsb2FkaW5nIG9uIGhvdmVyXG4gKiA8TGluayB0bz1cIi9oZWF2eS1wYWdlXCIgcHJlbG9hZE9uTW91c2VFbnRlcj5cbiAqICAgSGVhdnkgUGFnZVxuICogPC9MaW5rPlxuICogYGBgXG4gKi9cbmNvbnN0IExpbmsgPSBmb3J3YXJkUmVmPEhUTUxBbmNob3JFbGVtZW50LCBQcm9wcz4oKHByb3BzOiBQcm9wcywgcmVmKSA9PiB7XG4gIGNvbnN0IHJvdXRlciA9IHVzZUNvbnRleHQoUm91dGluZ0NvbnRleHQpO1xuICBjb25zdCB7XG4gICAgYWN0aXZlQ2xhc3NOYW1lLFxuICAgIGNoaWxkcmVuLFxuICAgIGNsYXNzTmFtZSxcbiAgICBleGFjdCA9IGZhbHNlLFxuICAgIGlzRGlzYWJsZWQgPSBmYWxzZSxcbiAgICBvbkNsaWNrLFxuICAgIG9uRm9jdXMsXG4gICAgb25Nb3VzZU92ZXIsXG4gICAgcHJlbG9hZE9uTW91c2VFbnRlciA9IGZhbHNlLFxuICAgIHByZWxvYWRPbk1vdXNlRG93biA9IHRydWUsXG4gICAgdGFyZ2V0LFxuICAgIHRvLFxuICAgIGhyZWYsXG4gICAgcXVlcnksXG4gIH0gPSBwcm9wcztcblxuICBjb25zdCBwYXRobmFtZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChpc0Rpc2FibGVkKSB7XG4gICAgICByZXR1cm4gJyMnO1xuICAgIH1cblxuICAgIGxldCBuZXdIcmVmID0gaHJlZjtcblxuICAgIGlmIChuZXdIcmVmID09IG51bGwpIHtcbiAgICAgIGlmICh0eXBlb2YgdG8gPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIG5ld0hyZWYgPSB0bztcbiAgICAgIH0gZWxzZSBpZiAodG8/LnBhdGhuYW1lICE9IG51bGwpIHtcbiAgICAgICAgbmV3SHJlZiA9IHRvLnBhdGhuYW1lO1xuICAgICAgfVxuICAgIH1cblxuICAgIG5ld0hyZWYgPz89ICcjJztcblxuICAgIHJldHVybiBuZXdIcmVmO1xuICB9LCBbaHJlZiwgaXNEaXNhYmxlZCwgdG9dKTtcblxuICAvLyBSZXNvbHZlIHNlYXJjaCBzdHJpbmcgZnJvbSBwcm92aWRlZCBxdWVyeSB0cmVhdGVkIGFzIGZpbHRlcnMgdy8gYWN0aXZlIHNjaGVtYS5cbiAgY29uc3Qgc2VhcmNoID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKHF1ZXJ5ID09IG51bGwgfHwgcm91dGVyID09IG51bGwpIHJldHVybiAnJztcbiAgICBjb25zdCBlbnRyeSA9IHJvdXRlci5nZXQoKTtcbiAgICByZXR1cm4gYnVpbGRDb21iaW5lZFNlYXJjaCh7XG4gICAgICBmaWx0ZXJzOiBxdWVyeSBhcyBhbnksXG4gICAgICBxdWVyeVNjaGVtYTogZW50cnkuYWN0aXZlUXVlcnlTY2hlbWEgYXMgYW55LFxuICAgIH0pO1xuICB9LCBbcXVlcnksIHJvdXRlcl0pO1xuXG4gIGNvbnN0IGluaXRpYWxJc0FjdGl2ZSA9IGlzQ3VycmVudFBhdGhuYW1lKGV4YWN0LCByb3V0ZXI/Lmhpc3RvcnksIHBhdGhuYW1lKTtcbiAgY29uc3QgW2lzQWN0aXZlLCBzZXRJc0FjdGl2ZV0gPSBSZWFjdC51c2VTdGF0ZShpbml0aWFsSXNBY3RpdmUpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3Qgb25DaGFuZ2UgPSAoKSA9PiB7XG4gICAgICBjb25zdCBuZXdJc0FjdGl2ZSA9IGlzQ3VycmVudFBhdGhuYW1lKGV4YWN0LCByb3V0ZXI/Lmhpc3RvcnksIHBhdGhuYW1lKTtcbiAgICAgIHNldElzQWN0aXZlKG5ld0lzQWN0aXZlKTtcbiAgICB9O1xuXG4gICAgaWYgKHJvdXRlciA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gKCkgPT4ge307XG4gICAgfVxuXG4gICAgcm91dGVyLmhpc3Rvcnkuc3Vic2NyaWJlKG9uQ2hhbmdlKTtcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICByb3V0ZXIuaGlzdG9yeS51bnN1YnNjcmliZShvbkNoYW5nZSk7XG4gICAgfTtcbiAgfSwgW2V4YWN0LCBwYXRobmFtZSwgcm91dGVyXSk7XG5cbiAgY29uc3QgY2xhc3NOYW1lcyA9IFtjbGFzc05hbWVdO1xuXG4gIGlmIChpc0FjdGl2ZSkge1xuICAgIGNsYXNzTmFtZXMucHVzaChhY3RpdmVDbGFzc05hbWUpO1xuICB9XG5cbiAgLy8gV2hlbiB0aGUgdXNlciBjbGlja3MsIGNoYW5nZSByb3V0ZVxuICBjb25zdCBoYW5kbGVDbGljayA9IHVzZUNhbGxiYWNrKFxuICAgIChldmVudDogTW91c2VFdmVudDxIVE1MQW5jaG9yRWxlbWVudD4pID0+IHtcbiAgICAgIGlmICghaXNEaXNhYmxlZCAmJiB0eXBlb2Ygb25DbGljayA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBvbkNsaWNrKGV2ZW50KTtcbiAgICAgIH1cblxuICAgICAgaWYgKFxuICAgICAgICBldmVudC5kZWZhdWx0UHJldmVudGVkIHx8XG4gICAgICAgIGV2ZW50Lm1ldGFLZXkgfHxcbiAgICAgICAgZXZlbnQuYWx0S2V5IHx8XG4gICAgICAgIGV2ZW50LmN0cmxLZXkgfHxcbiAgICAgICAgZXZlbnQuc2hpZnRLZXkgfHxcbiAgICAgICAgZXZlbnQuYnV0dG9uICE9PSAwIHx8XG4gICAgICAgICh0YXJnZXQgIT0gbnVsbCAmJiB0YXJnZXQgIT09ICdfc2VsZicpXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgaWYgKHJvdXRlciA9PSBudWxsIHx8IGlzRGlzYWJsZWQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICByb3V0ZXIuaGlzdG9yeS5wdXNoKHtcbiAgICAgICAgcGF0aG5hbWUsXG4gICAgICAgIHNlYXJjaCxcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgW2lzRGlzYWJsZWQsIG9uQ2xpY2ssIHBhdGhuYW1lLCByb3V0ZXIsIHRhcmdldCwgc2VhcmNoXSxcbiAgKTtcblxuICAvLyBDYWxsYmFjayB0byBwcmVsb2FkIGp1c3QgdGhlIGNvZGUgZm9yIHRoZSByb3V0ZTpcbiAgLy8gd2UgcGFzcyB0aGlzIHRvIG9uTW91c2VFbnRlciwgd2hpY2ggaXMgYSB3ZWFrZXIgc2lnbmFsXG4gIC8vIHRoYXQgdGhlIHVzZXIgKm1heSogbmF2aWdhdGUgdG8gdGhlIHJvdXRlLlxuICBjb25zdCBoYW5kbGVNb3VzZUVudGVyID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmIChyb3V0ZXIgPT0gbnVsbCB8fCBpc0Rpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHByZWxvYWRPbk1vdXNlRW50ZXIpIHtcbiAgICAgIHJvdXRlci5wcmVsb2FkKHBhdGhuYW1lKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcm91dGVyLnByZWxvYWRDb2RlKHBhdGhuYW1lKTtcbiAgICB9XG4gIH0sIFtyb3V0ZXIsIGlzRGlzYWJsZWQsIHByZWxvYWRPbk1vdXNlRW50ZXIsIHBhdGhuYW1lXSk7XG5cbiAgLy8gQ2FsbGJhY2sgdG8gcHJlbG9hZCB0aGUgY29kZSBhbmQgZGF0YSBmb3IgdGhlIHJvdXRlOlxuICAvLyB3ZSBwYXNzIHRoaXMgdG8gb25Nb3VzZURvd24sIHNpbmNlIHRoaXMgaXMgYSBzdHJvbmdlclxuICAvLyBzaWduYWwgdGhhdCB0aGUgdXNlciB3aWxsIGxpa2VseSBjb21wbGV0ZSB0aGUgbmF2aWdhdGlvblxuICBjb25zdCBoYW5kbGVNb3VzZURvd24gPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKHJvdXRlciA9PSBudWxsIHx8IGlzRGlzYWJsZWQgfHwgIXByZWxvYWRPbk1vdXNlRG93bikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICByb3V0ZXIucHJlbG9hZChwYXRobmFtZSk7XG4gIH0sIFtyb3V0ZXIsIGlzRGlzYWJsZWQsIHByZWxvYWRPbk1vdXNlRG93biwgcGF0aG5hbWVdKTtcblxuICBsZXQgaHJlZlZhbHVlID0gcGF0aG5hbWU7XG4gIGlmICh0eXBlb2Ygc2VhcmNoID09PSAnc3RyaW5nJyAmJiBzZWFyY2gubGVuZ3RoID4gMCkge1xuICAgIGhyZWZWYWx1ZSA9IGAke3BhdGhuYW1lfSR7c2VhcmNofWA7XG4gIH1cbiAgcmV0dXJuIChcbiAgICA8YVxuICAgICAgY2xhc3NOYW1lPXtjeChjbGFzc05hbWVzKX1cbiAgICAgIGhyZWY9e2hyZWZWYWx1ZX1cbiAgICAgIG9uQ2xpY2s9e2hhbmRsZUNsaWNrfVxuICAgICAgb25Gb2N1cz17b25Gb2N1c31cbiAgICAgIG9uTW91c2VEb3duPXtoYW5kbGVNb3VzZURvd259XG4gICAgICBvbk1vdXNlRW50ZXI9e2hhbmRsZU1vdXNlRW50ZXJ9XG4gICAgICBvbk1vdXNlT3Zlcj17b25Nb3VzZU92ZXJ9XG4gICAgICByZWY9e3JlZn1cbiAgICAgIHRhcmdldD17dGFyZ2V0fVxuICAgID5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L2E+XG4gICk7XG59KTtcblxuZXhwb3J0IGRlZmF1bHQgTGluaztcbiJdfQ==
129
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGluay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yb3V0aW5nL0xpbmsudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEtBQUssRUFBRSxFQUlaLFVBQVUsRUFDVixTQUFTLEVBQ1QsT0FBTyxHQUNSLE1BQU0sT0FBTyxDQUFDO0FBR2YsT0FBTyxFQUFFLGdCQUFnQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXJFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6QyxPQUFPLG1CQUFtQixNQUFNLGlDQUFpQyxDQUFDO0FBRWxFLE9BQU8sY0FBYyxNQUFNLHFCQUFxQixDQUFDO0FBR2pELE1BQU0sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLEdBQUcsS0FBSyxDQUFDO0FBSzFDLE1BQU0sVUFBVSxpQkFBaUIsQ0FDL0IsS0FBYyxFQUNkLE9BQW1DLEVBQ25DLFFBQWdCO0lBRWhCLElBQUksT0FBTyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3BCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUdELE1BQU0sV0FBVyxHQUFHLElBQUksR0FBRyxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFekQsTUFBTSxnQkFBZ0IsR0FBRyxXQUFXLENBQUMsUUFBUSxDQUFDO0lBRTlDLElBQUksS0FBSyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUSxLQUFLLGdCQUFnQixFQUFFLENBQUM7UUFDNUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsSUFBSSxDQUFDLEtBQUssSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDO1FBQ3JFLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQTJERCxNQUFNLElBQUks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QUV2RCxJQUFJLFNBQVMsR0FBRyxRQUFRLENBQUM7SUFDekIsSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLElBQUksTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUNwRCxTQUFTLEdBQUcsR0FBRyxRQUFRLEdBQUcsTUFBTSxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUNELE9BQU8sQ0FDTCxZQUNFLFNBQVMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQ3pCLElBQUksRUFBRSxTQUFTLEVBQ2YsT0FBTyxFQUFFLFdBQVcsRUFDcEIsT0FBTyxFQUFFLE9BQU8sRUFDaEIsV0FBVyxFQUFFLGVBQWUsRUFDNUIsWUFBWSxFQUFFLGdCQUFnQixFQUM5QixXQUFXLEVBQUUsV0FBVyxFQUN4QixHQUFHLEVBQUUsR0FBRyxFQUNSLE1BQU0sRUFBRSxNQUFNLFlBRWIsUUFBUSxHQUNQLENBQ0wsQ0FBQztBQUNKLENBQUMsQ0FBQyxDQUFDO0FBRUgsZUFBZSxJQUFJLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHtcbiAgdHlwZSBIVE1MQXR0cmlidXRlQW5jaG9yVGFyZ2V0LFxuICB0eXBlIE1vdXNlRXZlbnQsXG4gIHR5cGUgUmVhY3ROb2RlLFxuICBmb3J3YXJkUmVmLFxuICB1c2VFZmZlY3QsXG4gIHVzZU1lbW8sXG59IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHR5cGUgeyBCcm93c2VySGlzdG9yeSwgSGlzdG9yeUxvY2F0aW9uIH0gZnJvbSAnLi4vaGlzdG9yeS9pbmRleC5qcyc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uT3JpZ2luLCBSb3V0ZXJEZWJ1Z0V2ZW50S2luZCB9IGZyb20gJy4uL3R5cGVzLmpzJztcblxuaW1wb3J0IHsgY3ggfSBmcm9tICcuLy4uL3Rvb2xzL2luZGV4LmpzJztcbmltcG9ydCBidWlsZENvbWJpbmVkU2VhcmNoIGZyb20gJy4uL3Rvb2xzL2J1aWxkQ29tYmluZWRTZWFyY2guanMnO1xuXG5pbXBvcnQgUm91dGluZ0NvbnRleHQgZnJvbSAnLi9Sb3V0aW5nQ29udGV4dC5qcyc7XG4vLyAoZmlsdGVyLXF1ZXJ5IHN0cmluZ2lmeSBub3QgdXNlZCBoZXJlIGFmdGVyIHNpbXBsaWZ5aW5nIG1hbnVhbCBzZXJpYWxpemF0aW9uKVxuXG5jb25zdCB7IHVzZUNhbGxiYWNrLCB1c2VDb250ZXh0IH0gPSBSZWFjdDtcblxuLyoqXG4gKiBDaGVjayBpZiB0aGUgY3VycmVudCBwYXRobmFtZSBtYXRjaGVzIHRoZSBnaXZlbiBwYXRobmFtZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzQ3VycmVudFBhdGhuYW1lKFxuICBleGFjdDogYm9vbGVhbixcbiAgaGlzdG9yeTogQnJvd3Nlckhpc3RvcnkgfCB1bmRlZmluZWQsXG4gIHBhdGhuYW1lOiBzdHJpbmcsXG4pOiBib29sZWFuIHtcbiAgaWYgKGhpc3RvcnkgPT0gbnVsbCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8vIEB0cy1leHBlY3QtZXJyb3I6IE9LXG4gIGNvbnN0IHJlc29sdmVkVXJsID0gbmV3IFVSTChwYXRobmFtZSwgZG9jdW1lbnQubG9jYXRpb24pO1xuXG4gIGNvbnN0IHJlc29sdmVkUGF0aG5hbWUgPSByZXNvbHZlZFVybC5wYXRobmFtZTtcblxuICBpZiAoZXhhY3QgJiYgaGlzdG9yeS5sb2NhdGlvbi5wYXRobmFtZSA9PT0gcmVzb2x2ZWRQYXRobmFtZSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgaWYgKCFleGFjdCAmJiBoaXN0b3J5LmxvY2F0aW9uLnBhdGhuYW1lLnN0YXJ0c1dpdGgocmVzb2x2ZWRQYXRobmFtZSkpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cblxuLyoqXG4gKiBQcm9wcyBmb3IgdGhlIExpbmsgY29tcG9uZW50LlxuICovXG50eXBlIFByb3BzPFRRdWVyeSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj4+ID0ge1xuICAvKiogQ1NTIGNsYXNzIHRvIGFwcGx5IHdoZW4gdGhlIGxpbmsgaXMgYWN0aXZlIChtYXRjaGVzIGN1cnJlbnQgcm91dGUpICovXG4gIGFjdGl2ZUNsYXNzTmFtZT86IHN0cmluZztcbiAgLyoqIENoaWxkIGNvbXBvbmVudHMgdG8gcmVuZGVyIGluc2lkZSB0aGUgbGluayAqL1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICAvKiogQmFzZSBDU1MgY2xhc3MgZm9yIHRoZSBsaW5rICovXG4gIGNsYXNzTmFtZT86IHN0cmluZztcbiAgLyoqIFdoZXRoZXIgdG8gdXNlIGV4YWN0IHBhdGggbWF0Y2hpbmcgZm9yIGFjdGl2ZSBzdGF0ZSAqL1xuICBleGFjdD86IGJvb2xlYW47XG4gIC8qKiBXaGV0aGVyIHRvIHByZWxvYWQgdGhlIHJvdXRlIHdoZW4gbW91c2UgZW50ZXJzIHRoZSBsaW5rICovXG4gIHByZWxvYWRPbk1vdXNlRW50ZXI/OiBib29sZWFuO1xuICAvKiogV2hldGhlciB0byBwcmVsb2FkIHRoZSByb3V0ZSB3aGVuIG1vdXNlIGlzIHByZXNzZWQgZG93biAqL1xuICBwcmVsb2FkT25Nb3VzZURvd24/OiBib29sZWFuO1xuICAvKiogRGlyZWN0IGhyZWYgYXR0cmlidXRlIChvdmVycmlkZXMgJ3RvJyBwcm9wKSAqL1xuICBocmVmPzogc3RyaW5nO1xuICAvKiogV2hldGhlciB0aGUgbGluayBzaG91bGQgYmUgZGlzYWJsZWQgKi9cbiAgaXNEaXNhYmxlZD86IGJvb2xlYW47XG4gIC8qKiBDbGljayBoYW5kbGVyICovXG4gIG9uQ2xpY2s/OiBSZWFjdC5Nb3VzZUV2ZW50SGFuZGxlcjxIVE1MQW5jaG9yRWxlbWVudD47XG4gIC8qKiBGb2N1cyBoYW5kbGVyICovXG4gIG9uRm9jdXM/OiBSZWFjdC5Gb2N1c0V2ZW50SGFuZGxlcjxIVE1MQW5jaG9yRWxlbWVudD47XG4gIC8qKiBNb3VzZSBvdmVyIGhhbmRsZXIgKi9cbiAgb25Nb3VzZU92ZXI/OiBSZWFjdC5Nb3VzZUV2ZW50SGFuZGxlcjxIVE1MQW5jaG9yRWxlbWVudD47XG4gIC8qKiBUYXJnZXQgYXR0cmlidXRlIGZvciB0aGUgbGluayAqL1xuICB0YXJnZXQ/OiBIVE1MQXR0cmlidXRlQW5jaG9yVGFyZ2V0O1xuICAvKiogRGVzdGluYXRpb24gZm9yIHRoZSBsaW5rIChjYW4gYmUgc3RyaW5nIHBhdGggb3IgbG9jYXRpb24gb2JqZWN0KSAqL1xuICB0bz86IEhpc3RvcnlMb2NhdGlvbiB8IHN0cmluZztcbiAgLyoqIE9wdGlvbmFsIHF1ZXJ5IG9iamVjdCB0byBzZXJpYWxpemUgdXNpbmcgZGVzdGluYXRpb24gcm91dGUgc2NoZW1hICovXG4gIHF1ZXJ5PzogVFF1ZXJ5O1xufTtcblxuLyoqXG4gKiBOYXZpZ2F0aW9uIGNvbXBvbmVudCB0aGF0IHByb3ZpZGVzIGNsaWVudC1zaWRlIHJvdXRpbmcgd2l0aCBwcmVsb2FkaW5nIGNhcGFiaWxpdGllcy5cbiAqXG4gKiBUaGlzIGNvbXBvbmVudCBpbnRlZ3JhdGVzIHdpdGggdGhlIHJvdXRlcidzIFJvdXRpbmdDb250ZXh0IHRvIHByb3ZpZGUgc21vb3RoIG5hdmlnYXRpb25cbiAqIHdpdGggb3B0aW9uYWwgcHJlbG9hZGluZyBvZiByb3V0ZSBjb21wb25lbnRzIGFuZCBkYXRhLiBJdCBhdXRvbWF0aWNhbGx5IGFwcGxpZXMgYWN0aXZlXG4gKiBzdHlsaW5nIHdoZW4gdGhlIGN1cnJlbnQgcm91dGUgbWF0Y2hlcyB0aGUgbGluaydzIGRlc3RpbmF0aW9uLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c3hcbiAqIC8vIEJhc2ljIHVzYWdlXG4gKiA8TGluayB0bz1cIi91c2Vycy8xMjNcIj5WaWV3IFByb2ZpbGU8L0xpbms+XG4gKlxuICogLy8gV2l0aCBhY3RpdmUgc3R5bGluZ1xuICogPExpbmsgdG89XCIvZGFzaGJvYXJkXCIgYWN0aXZlQ2xhc3NOYW1lPVwiYWN0aXZlXCIgZXhhY3Q+XG4gKiAgIERhc2hib2FyZFxuICogPC9MaW5rPlxuICpcbiAqIC8vIFdpdGggcHJlbG9hZGluZyBvbiBob3ZlclxuICogPExpbmsgdG89XCIvaGVhdnktcGFnZVwiIHByZWxvYWRPbk1vdXNlRW50ZXI+XG4gKiAgIEhlYXZ5IFBhZ2VcbiAqIDwvTGluaz5cbiAqIGBgYFxuICovXG5jb25zdCBMaW5rID0gZm9yd2FyZFJlZjxIVE1MQW5jaG9yRWxlbWVudCwgUHJvcHM+KChwcm9wczogUHJvcHMsIHJlZikgPT4ge1xuICBjb25zdCByb3V0ZXIgPSB1c2VDb250ZXh0KFJvdXRpbmdDb250ZXh0KTtcbiAgY29uc3Qge1xuICAgIGFjdGl2ZUNsYXNzTmFtZSxcbiAgICBjaGlsZHJlbixcbiAgICBjbGFzc05hbWUsXG4gICAgZXhhY3QgPSBmYWxzZSxcbiAgICBpc0Rpc2FibGVkID0gZmFsc2UsXG4gICAgb25DbGljayxcbiAgICBvbkZvY3VzLFxuICAgIG9uTW91c2VPdmVyLFxuICAgIHByZWxvYWRPbk1vdXNlRW50ZXIgPSBmYWxzZSxcbiAgICBwcmVsb2FkT25Nb3VzZURvd24gPSB0cnVlLFxuICAgIHRhcmdldCxcbiAgICB0byxcbiAgICBocmVmLFxuICAgIHF1ZXJ5LFxuICB9ID0gcHJvcHM7XG5cbiAgY29uc3QgcGF0aG5hbWUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoaXNEaXNhYmxlZCkge1xuICAgICAgcmV0dXJuICcjJztcbiAgICB9XG5cbiAgICBsZXQgbmV3SHJlZiA9IGhyZWY7XG5cbiAgICBpZiAobmV3SHJlZiA9PSBudWxsKSB7XG4gICAgICBpZiAodHlwZW9mIHRvID09PSAnc3RyaW5nJykge1xuICAgICAgICBuZXdIcmVmID0gdG87XG4gICAgICB9IGVsc2UgaWYgKHRvPy5wYXRobmFtZSAhPSBudWxsKSB7XG4gICAgICAgIG5ld0hyZWYgPSB0by5wYXRobmFtZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBuZXdIcmVmID8/PSAnIyc7XG5cbiAgICByZXR1cm4gbmV3SHJlZjtcbiAgfSwgW2hyZWYsIGlzRGlzYWJsZWQsIHRvXSk7XG5cbiAgLy8gUmVzb2x2ZSBzZWFyY2ggc3RyaW5nIGZyb20gcHJvdmlkZWQgcXVlcnkgdHJlYXRlZCBhcyBmaWx0ZXJzIHcvIGFjdGl2ZSBzY2hlbWEuXG4gIGNvbnN0IHNlYXJjaCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChxdWVyeSA9PSBudWxsIHx8IHJvdXRlciA9PSBudWxsKSByZXR1cm4gJyc7XG4gICAgY29uc3QgZW50cnkgPSByb3V0ZXIuZ2V0KCk7XG4gICAgcmV0dXJuIGJ1aWxkQ29tYmluZWRTZWFyY2goe1xuICAgICAgZmlsdGVyczogcXVlcnkgYXMgYW55LFxuICAgICAgcXVlcnlTY2hlbWE6IGVudHJ5LmFjdGl2ZVF1ZXJ5U2NoZW1hIGFzIGFueSxcbiAgICB9KTtcbiAgfSwgW3F1ZXJ5LCByb3V0ZXJdKTtcblxuICBjb25zdCBpbml0aWFsSXNBY3RpdmUgPSBpc0N1cnJlbnRQYXRobmFtZShleGFjdCwgcm91dGVyPy5oaXN0b3J5LCBwYXRobmFtZSk7XG4gIGNvbnN0IFtpc0FjdGl2ZSwgc2V0SXNBY3RpdmVdID0gUmVhY3QudXNlU3RhdGUoaW5pdGlhbElzQWN0aXZlKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IG9uQ2hhbmdlID0gKCkgPT4ge1xuICAgICAgY29uc3QgbmV3SXNBY3RpdmUgPSBpc0N1cnJlbnRQYXRobmFtZShleGFjdCwgcm91dGVyPy5oaXN0b3J5LCBwYXRobmFtZSk7XG4gICAgICBzZXRJc0FjdGl2ZShuZXdJc0FjdGl2ZSk7XG4gICAgfTtcblxuICAgIGlmIChyb3V0ZXIgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuICgpID0+IHt9O1xuICAgIH1cblxuICAgIHJvdXRlci5oaXN0b3J5LnN1YnNjcmliZShvbkNoYW5nZSk7XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgcm91dGVyLmhpc3RvcnkudW5zdWJzY3JpYmUob25DaGFuZ2UpO1xuICAgIH07XG4gIH0sIFtleGFjdCwgcGF0aG5hbWUsIHJvdXRlcl0pO1xuXG4gIGNvbnN0IGNsYXNzTmFtZXMgPSBbY2xhc3NOYW1lXTtcblxuICBpZiAoaXNBY3RpdmUpIHtcbiAgICBjbGFzc05hbWVzLnB1c2goYWN0aXZlQ2xhc3NOYW1lKTtcbiAgfVxuXG4gIC8vIFdoZW4gdGhlIHVzZXIgY2xpY2tzLCBjaGFuZ2Ugcm91dGVcbiAgY29uc3QgaGFuZGxlQ2xpY2sgPSB1c2VDYWxsYmFjayhcbiAgICAoZXZlbnQ6IE1vdXNlRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQ+KSA9PiB7XG4gICAgICBpZiAoIWlzRGlzYWJsZWQgJiYgdHlwZW9mIG9uQ2xpY2sgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgb25DbGljayhldmVudCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChcbiAgICAgICAgZXZlbnQuZGVmYXVsdFByZXZlbnRlZCB8fFxuICAgICAgICBldmVudC5tZXRhS2V5IHx8XG4gICAgICAgIGV2ZW50LmFsdEtleSB8fFxuICAgICAgICBldmVudC5jdHJsS2V5IHx8XG4gICAgICAgIGV2ZW50LnNoaWZ0S2V5IHx8XG4gICAgICAgIGV2ZW50LmJ1dHRvbiAhPT0gMCB8fFxuICAgICAgICAodGFyZ2V0ICE9IG51bGwgJiYgdGFyZ2V0ICE9PSAnX3NlbGYnKVxuICAgICAgKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGlmIChyb3V0ZXIgPT0gbnVsbCB8fCBpc0Rpc2FibGVkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgcm91dGVyLl9fZGVidWc/LnJlY29yZE5hdmlnYXRpb25JbnRlbnQoTmF2aWdhdGlvbk9yaWdpbi5MaW5rQ2xpY2spO1xuICAgICAgcm91dGVyLl9fZGVidWc/LnJlY29yZEhpc3RvcnlBY3Rpb24oXG4gICAgICAgIFJvdXRlckRlYnVnRXZlbnRLaW5kLkhpc3RvcnlQdXNoLFxuICAgICAgICBOYXZpZ2F0aW9uT3JpZ2luLkxpbmtDbGljayxcbiAgICAgICAge1xuICAgICAgICAgIHBhdGhuYW1lLFxuICAgICAgICAgIHNlYXJjaCxcbiAgICAgICAgICBoYXNoOiAnJyxcbiAgICAgICAgfSxcbiAgICAgICAgeyB0cmlnZ2VyOiAnbGluaycgfSxcbiAgICAgICk7XG4gICAgICByb3V0ZXIuaGlzdG9yeS5wdXNoKHtcbiAgICAgICAgcGF0aG5hbWUsXG4gICAgICAgIHNlYXJjaCxcbiAgICAgICAgaGFzaDogJycsXG4gICAgICAgIGRlYnVnQ29udGV4dDoge1xuICAgICAgICAgIG9yaWdpbjogTmF2aWdhdGlvbk9yaWdpbi5MaW5rQ2xpY2ssXG4gICAgICAgICAgdHJpZ2dlcjogJ2xpbmsnLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfSxcbiAgICBbaXNEaXNhYmxlZCwgb25DbGljaywgcGF0aG5hbWUsIHJvdXRlciwgdGFyZ2V0LCBzZWFyY2hdLFxuICApO1xuXG4gIC8vIENhbGxiYWNrIHRvIHByZWxvYWQganVzdCB0aGUgY29kZSBmb3IgdGhlIHJvdXRlOlxuICAvLyB3ZSBwYXNzIHRoaXMgdG8gb25Nb3VzZUVudGVyLCB3aGljaCBpcyBhIHdlYWtlciBzaWduYWxcbiAgLy8gdGhhdCB0aGUgdXNlciAqbWF5KiBuYXZpZ2F0ZSB0byB0aGUgcm91dGUuXG4gIGNvbnN0IGhhbmRsZU1vdXNlRW50ZXIgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKHJvdXRlciA9PSBudWxsIHx8IGlzRGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAocHJlbG9hZE9uTW91c2VFbnRlcikge1xuICAgICAgcm91dGVyLl9fZGVidWc/LnJlY29yZFByZWxvYWQoXG4gICAgICAgIFJvdXRlckRlYnVnRXZlbnRLaW5kLlByZWxvYWQsXG4gICAgICAgIE5hdmlnYXRpb25PcmlnaW4uUHJlbG9hZEhvdmVyLFxuICAgICAgICBwYXRobmFtZSxcbiAgICAgICk7XG4gICAgICByb3V0ZXIucHJlbG9hZChwYXRobmFtZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJvdXRlci5fX2RlYnVnPy5yZWNvcmRQcmVsb2FkKFxuICAgICAgICBSb3V0ZXJEZWJ1Z0V2ZW50S2luZC5QcmVsb2FkQ29kZSxcbiAgICAgICAgTmF2aWdhdGlvbk9yaWdpbi5QcmVsb2FkSG92ZXIsXG4gICAgICAgIHBhdGhuYW1lLFxuICAgICAgKTtcbiAgICAgIHJvdXRlci5wcmVsb2FkQ29kZShwYXRobmFtZSk7XG4gICAgfVxuICB9LCBbcm91dGVyLCBpc0Rpc2FibGVkLCBwcmVsb2FkT25Nb3VzZUVudGVyLCBwYXRobmFtZV0pO1xuXG4gIC8vIENhbGxiYWNrIHRvIHByZWxvYWQgdGhlIGNvZGUgYW5kIGRhdGEgZm9yIHRoZSByb3V0ZTpcbiAgLy8gd2UgcGFzcyB0aGlzIHRvIG9uTW91c2VEb3duLCBzaW5jZSB0aGlzIGlzIGEgc3Ryb25nZXJcbiAgLy8gc2lnbmFsIHRoYXQgdGhlIHVzZXIgd2lsbCBsaWtlbHkgY29tcGxldGUgdGhlIG5hdmlnYXRpb25cbiAgY29uc3QgaGFuZGxlTW91c2VEb3duID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmIChyb3V0ZXIgPT0gbnVsbCB8fCBpc0Rpc2FibGVkIHx8ICFwcmVsb2FkT25Nb3VzZURvd24pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgcm91dGVyLl9fZGVidWc/LnJlY29yZFByZWxvYWQoXG4gICAgICBSb3V0ZXJEZWJ1Z0V2ZW50S2luZC5QcmVsb2FkLFxuICAgICAgTmF2aWdhdGlvbk9yaWdpbi5MaW5rQ2xpY2ssXG4gICAgICBwYXRobmFtZSxcbiAgICApO1xuICAgIHJvdXRlci5wcmVsb2FkKHBhdGhuYW1lKTtcbiAgfSwgW3JvdXRlciwgaXNEaXNhYmxlZCwgcHJlbG9hZE9uTW91c2VEb3duLCBwYXRobmFtZV0pO1xuXG4gIGxldCBocmVmVmFsdWUgPSBwYXRobmFtZTtcbiAgaWYgKHR5cGVvZiBzZWFyY2ggPT09ICdzdHJpbmcnICYmIHNlYXJjaC5sZW5ndGggPiAwKSB7XG4gICAgaHJlZlZhbHVlID0gYCR7cGF0aG5hbWV9JHtzZWFyY2h9YDtcbiAgfVxuICByZXR1cm4gKFxuICAgIDxhXG4gICAgICBjbGFzc05hbWU9e2N4KGNsYXNzTmFtZXMpfVxuICAgICAgaHJlZj17aHJlZlZhbHVlfVxuICAgICAgb25DbGljaz17aGFuZGxlQ2xpY2t9XG4gICAgICBvbkZvY3VzPXtvbkZvY3VzfVxuICAgICAgb25Nb3VzZURvd249e2hhbmRsZU1vdXNlRG93bn1cbiAgICAgIG9uTW91c2VFbnRlcj17aGFuZGxlTW91c2VFbnRlcn1cbiAgICAgIG9uTW91c2VPdmVyPXtvbk1vdXNlT3Zlcn1cbiAgICAgIHJlZj17cmVmfVxuICAgICAgdGFyZ2V0PXt0YXJnZXR9XG4gICAgPlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvYT5cbiAgKTtcbn0pO1xuXG5leHBvcnQgZGVmYXVsdCBMaW5rO1xuIl19
@@ -1,14 +1,10 @@
1
- import type { RoutingContextType, AnyRoute, PreparedAccess } from '../types.js';
1
+ import { type RoutingContextType, type AnyRoute, type PreparedAccess } from '../types.js';
2
2
  export type CreateRouterReturn<R extends AnyRoute[]> = {
3
3
  cleanup: () => void;
4
4
  context: RoutingContextType<any> & PreparedAccess<R>;
5
5
  };
6
- export default function createRouter<R extends AnyRoute[]>(routes: [...R] | AnyRoute[], opts?: {
7
- devtools?: boolean | {
8
- global?: boolean;
9
- panel?: boolean;
10
- shortcut?: string;
11
- collapsed?: boolean;
12
- };
13
- }): CreateRouterReturn<R extends AnyRoute[] ? R : AnyRoute[]>;
6
+ export type CreateRouterOptions = {
7
+ debug?: boolean;
8
+ };
9
+ export default function createRouter<R extends AnyRoute[]>(routes: [...R] | AnyRoute[], options?: CreateRouterOptions): CreateRouterReturn<R extends AnyRoute[] ? R : AnyRoute[]>;
14
10
  //# sourceMappingURL=createRouter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createRouter.d.ts","sourceRoot":"","sources":["../../../src/routing/createRouter.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAEV,kBAAkB,EAElB,QAAQ,EACR,cAAc,EAEf,MAAM,aAAa,CAAC;AAKrB,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,QAAQ,EAAE,IAAI;IAErD,OAAO,EAAE,MAAM,IAAI,CAAC;IAEpB,OAAO,EAAE,kBAAkB,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;CACtD,CAAC;AAqCF,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,CAAC,SAAS,QAAQ,EAAE,EACvD,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,EAAE,EAC3B,IAAI,GAAE;IACJ,QAAQ,CAAC,EACL,OAAO,GACP;QACE,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB,CAAC;CACF,GACL,kBAAkB,CAAC,CAAC,SAAS,QAAQ,EAAE,GAAG,CAAC,GAAG,QAAQ,EAAE,CAAC,CA6sB3D"}
1
+ {"version":3,"file":"createRouter.d.ts","sourceRoot":"","sources":["../../../src/routing/createRouter.ts"],"names":[],"mappings":"AAMA,OAAO,EAML,KAAK,kBAAkB,EAEvB,KAAK,QAAQ,EACb,KAAK,cAAc,EAEpB,MAAM,aAAa,CAAC;AAMrB,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,QAAQ,EAAE,IAAI;IAErD,OAAO,EAAE,MAAM,IAAI,CAAC;IAEpB,OAAO,EAAE,kBAAkB,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;CACtD,CAAC;AAwCF,MAAM,MAAM,mBAAmB,GAAG;IAKhC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AASF,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,CAAC,SAAS,QAAQ,EAAE,EACvD,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,EAAE,EAC3B,OAAO,GAAE,mBAAwB,GAChC,kBAAkB,CAAC,CAAC,SAAS,QAAQ,EAAE,GAAG,CAAC,GAAG,QAAQ,EAAE,CAAC,CAsyB3D"}