@plumile/router 0.1.14 → 0.1.18

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 (122) hide show
  1. package/README.md +87 -422
  2. package/lib/esm/builder.d.ts +5 -5
  3. package/lib/esm/builder.d.ts.map +1 -1
  4. package/lib/esm/builder.js +1 -1
  5. package/lib/esm/index.d.ts +0 -4
  6. package/lib/esm/index.d.ts.map +1 -1
  7. package/lib/esm/index.js +1 -5
  8. package/lib/esm/routing/Link.d.ts +3 -3
  9. package/lib/esm/routing/Link.d.ts.map +1 -1
  10. package/lib/esm/routing/Link.js +3 -8
  11. package/lib/esm/routing/RouteComponentWrapper.d.ts +6 -5
  12. package/lib/esm/routing/RouteComponentWrapper.d.ts.map +1 -1
  13. package/lib/esm/routing/RouteComponentWrapper.js +1 -1
  14. package/lib/esm/routing/RouterRenderer.d.ts.map +1 -1
  15. package/lib/esm/routing/RouterRenderer.js +1 -1
  16. package/lib/esm/routing/createRouter.d.ts +5 -6
  17. package/lib/esm/routing/createRouter.d.ts.map +1 -1
  18. package/lib/esm/routing/createRouter.js +458 -444
  19. package/lib/esm/routing/index.d.ts +2 -6
  20. package/lib/esm/routing/index.d.ts.map +1 -1
  21. package/lib/esm/routing/index.js +3 -7
  22. package/lib/esm/routing/useAllQuery.d.ts +7 -0
  23. package/lib/esm/routing/useAllQuery.d.ts.map +1 -0
  24. package/lib/esm/routing/useAllQuery.js +31 -0
  25. package/lib/esm/routing/useFilterDiagnostics.d.ts +2 -0
  26. package/lib/esm/routing/useFilterDiagnostics.d.ts.map +1 -0
  27. package/lib/esm/routing/useFilterDiagnostics.js +11 -0
  28. package/lib/esm/routing/useFilters.d.ts +16 -0
  29. package/lib/esm/routing/useFilters.d.ts.map +1 -0
  30. package/lib/esm/routing/useFilters.js +83 -0
  31. package/lib/esm/routing/useNavigate.d.ts +2 -9
  32. package/lib/esm/routing/useNavigate.d.ts.map +1 -1
  33. package/lib/esm/routing/useNavigate.js +1 -1
  34. package/lib/esm/routing/useQueryState.d.ts +1 -1
  35. package/lib/esm/routing/useQueryState.d.ts.map +1 -1
  36. package/lib/esm/routing/useQueryState.js +2 -2
  37. package/lib/esm/routing/useTypedQuery.js +1 -1
  38. package/lib/esm/tools/buildCombinedSearch.d.ts +11 -0
  39. package/lib/esm/tools/buildCombinedSearch.d.ts.map +1 -0
  40. package/lib/esm/tools/buildCombinedSearch.js +28 -0
  41. package/lib/esm/tools/buildSearch.d.ts +2 -8
  42. package/lib/esm/tools/buildSearch.d.ts.map +1 -1
  43. package/lib/esm/tools/buildSearch.js +12 -216
  44. package/lib/esm/tools.d.ts +6 -2
  45. package/lib/esm/tools.d.ts.map +1 -1
  46. package/lib/esm/tools.js +1 -1
  47. package/lib/esm/type-tests/routes-inference.test-d.d.ts +2 -0
  48. package/lib/esm/type-tests/routes-inference.test-d.d.ts.map +1 -0
  49. package/lib/esm/type-tests/routes-inference.test-d.js +49 -0
  50. package/lib/esm/types.d.ts +64 -38
  51. package/lib/esm/types.d.ts.map +1 -1
  52. package/lib/esm/types.js +1 -1
  53. package/lib/tsconfig.esm.tsbuildinfo +1 -1
  54. package/lib/types/builder.d.ts +5 -5
  55. package/lib/types/builder.d.ts.map +1 -1
  56. package/lib/types/index.d.ts +0 -4
  57. package/lib/types/index.d.ts.map +1 -1
  58. package/lib/types/routing/Link.d.ts +3 -3
  59. package/lib/types/routing/Link.d.ts.map +1 -1
  60. package/lib/types/routing/RouteComponentWrapper.d.ts +6 -5
  61. package/lib/types/routing/RouteComponentWrapper.d.ts.map +1 -1
  62. package/lib/types/routing/RouterRenderer.d.ts.map +1 -1
  63. package/lib/types/routing/createRouter.d.ts +5 -6
  64. package/lib/types/routing/createRouter.d.ts.map +1 -1
  65. package/lib/types/routing/index.d.ts +2 -6
  66. package/lib/types/routing/index.d.ts.map +1 -1
  67. package/lib/types/routing/useAllQuery.d.ts +7 -0
  68. package/lib/types/routing/useAllQuery.d.ts.map +1 -0
  69. package/lib/types/routing/useFilterDiagnostics.d.ts +2 -0
  70. package/lib/types/routing/useFilterDiagnostics.d.ts.map +1 -0
  71. package/lib/types/routing/useFilters.d.ts +16 -0
  72. package/lib/types/routing/useFilters.d.ts.map +1 -0
  73. package/lib/types/routing/useNavigate.d.ts +2 -9
  74. package/lib/types/routing/useNavigate.d.ts.map +1 -1
  75. package/lib/types/routing/useQueryState.d.ts +1 -1
  76. package/lib/types/routing/useQueryState.d.ts.map +1 -1
  77. package/lib/types/tools/buildCombinedSearch.d.ts +11 -0
  78. package/lib/types/tools/buildCombinedSearch.d.ts.map +1 -0
  79. package/lib/types/tools/buildSearch.d.ts +2 -8
  80. package/lib/types/tools/buildSearch.d.ts.map +1 -1
  81. package/lib/types/tools.d.ts +6 -2
  82. package/lib/types/tools.d.ts.map +1 -1
  83. package/lib/types/type-tests/routes-inference.test-d.d.ts +2 -0
  84. package/lib/types/type-tests/routes-inference.test-d.d.ts.map +1 -0
  85. package/lib/types/types.d.ts +64 -38
  86. package/lib/types/types.d.ts.map +1 -1
  87. package/package.json +6 -5
  88. package/lib/esm/routing/devtools.d.ts +0 -21
  89. package/lib/esm/routing/devtools.d.ts.map +0 -1
  90. package/lib/esm/routing/devtools.js +0 -690
  91. package/lib/esm/routing/filters.d.ts +0 -97
  92. package/lib/esm/routing/filters.d.ts.map +0 -1
  93. package/lib/esm/routing/filters.js +0 -557
  94. package/lib/esm/routing/useActiveFilters.d.ts +0 -9
  95. package/lib/esm/routing/useActiveFilters.d.ts.map +0 -1
  96. package/lib/esm/routing/useActiveFilters.js +0 -38
  97. package/lib/esm/routing/useFilterState.d.ts +0 -10
  98. package/lib/esm/routing/useFilterState.d.ts.map +0 -1
  99. package/lib/esm/routing/useFilterState.js +0 -14
  100. package/lib/esm/routing/useNavigateWithQuery.d.ts +0 -15
  101. package/lib/esm/routing/useNavigateWithQuery.d.ts.map +0 -1
  102. package/lib/esm/routing/useNavigateWithQuery.js +0 -95
  103. package/lib/esm/routing/useQueryObject.d.ts +0 -18
  104. package/lib/esm/routing/useQueryObject.d.ts.map +0 -1
  105. package/lib/esm/routing/useQueryObject.js +0 -107
  106. package/lib/esm/routing/useStableRefEquality.d.ts +0 -5
  107. package/lib/esm/routing/useStableRefEquality.d.ts.map +0 -1
  108. package/lib/esm/routing/useStableRefEquality.js +0 -47
  109. package/lib/types/routing/devtools.d.ts +0 -21
  110. package/lib/types/routing/devtools.d.ts.map +0 -1
  111. package/lib/types/routing/filters.d.ts +0 -97
  112. package/lib/types/routing/filters.d.ts.map +0 -1
  113. package/lib/types/routing/useActiveFilters.d.ts +0 -9
  114. package/lib/types/routing/useActiveFilters.d.ts.map +0 -1
  115. package/lib/types/routing/useFilterState.d.ts +0 -10
  116. package/lib/types/routing/useFilterState.d.ts.map +0 -1
  117. package/lib/types/routing/useNavigateWithQuery.d.ts +0 -15
  118. package/lib/types/routing/useNavigateWithQuery.d.ts.map +0 -1
  119. package/lib/types/routing/useQueryObject.d.ts +0 -18
  120. package/lib/types/routing/useQueryObject.d.ts.map +0 -1
  121. package/lib/types/routing/useStableRefEquality.d.ts +0 -5
  122. package/lib/types/routing/useStableRefEquality.d.ts.map +0 -1
@@ -1,7 +1,7 @@
1
1
  import React, { type HTMLAttributeAnchorTarget, type ReactNode } from 'react';
2
2
  import type { BrowserHistory, HistoryLocation } from '../history/index.js';
3
3
  export declare function isCurrentPathname(exact: boolean, history: BrowserHistory | undefined, pathname: string): boolean;
4
- type Props = {
4
+ type Props<TQuery extends Record<string, unknown> = Record<string, unknown>> = {
5
5
  activeClassName?: string;
6
6
  children: ReactNode;
7
7
  className?: string;
@@ -15,8 +15,8 @@ type Props = {
15
15
  onMouseOver?: React.MouseEventHandler<HTMLAnchorElement>;
16
16
  target?: HTMLAttributeAnchorTarget;
17
17
  to?: HistoryLocation | string;
18
- query?: Record<string, any>;
18
+ query?: TQuery;
19
19
  };
20
- declare const Link: React.ForwardRefExoticComponent<Props & React.RefAttributes<HTMLAnchorElement>>;
20
+ declare const Link: React.ForwardRefExoticComponent<Props<Record<string, unknown>> & React.RefAttributes<HTMLAnchorElement>>;
21
21
  export default Link;
22
22
  //# sourceMappingURL=Link.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Link.d.ts","sourceRoot":"","sources":["../../../src/routing/Link.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,KAAK,yBAAyB,EAE9B,KAAK,SAAS,EAIf,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAY3E,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,cAAc,GAAG,SAAS,EACnC,QAAQ,EAAE,MAAM,GACf,OAAO,CAmBT;AAKD,KAAK,KAAK,GAAG;IAEX,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,QAAQ,EAAE,SAAS,CAAC;IAEpB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,OAAO,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IAErD,OAAO,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IAErD,WAAW,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IAEzD,MAAM,CAAC,EAAE,yBAAyB,CAAC;IAEnC,EAAE,CAAC,EAAE,eAAe,GAAG,MAAM,CAAC;IAE9B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC7B,CAAC;AAyBF,QAAA,MAAM,IAAI,iFA2KR,CAAC;AAEH,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"Link.d.ts","sourceRoot":"","sources":["../../../src/routing/Link.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,KAAK,yBAAyB,EAE9B,KAAK,SAAS,EAIf,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAa3E,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,cAAc,GAAG,SAAS,EACnC,QAAQ,EAAE,MAAM,GACf,OAAO,CAmBT;AAKD,KAAK,KAAK,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI;IAE7E,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,QAAQ,EAAE,SAAS,CAAC;IAEpB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,OAAO,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IAErD,OAAO,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IAErD,WAAW,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IAEzD,MAAM,CAAC,EAAE,yBAAyB,CAAC;IAEnC,EAAE,CAAC,EAAE,eAAe,GAAG,MAAM,CAAC;IAE9B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAyBF,QAAA,MAAM,IAAI,0GAyKR,CAAC;AAEH,eAAe,IAAI,CAAC"}
@@ -1,10 +1,11 @@
1
- import { type JSX } from 'react';
1
+ import { type JSX, type ReactNode } from 'react';
2
2
  import type { PreparedMatchRoute, RouterMatchedRoute } from '../types.js';
3
- type Props = {
4
- children?: any;
5
- match: RouterMatchedRoute<any> | null;
3
+ import type { ParamData } from 'path-to-regexp';
4
+ type Props<TVars extends ParamData = ParamData> = {
5
+ children?: ReactNode;
6
+ match: RouterMatchedRoute<TVars> | null;
6
7
  preparedRoute: PreparedMatchRoute;
7
8
  };
8
- declare const RouteComponentWrapper: (props: Props) => JSX.Element | null;
9
+ declare const RouteComponentWrapper: <TVars extends ParamData = ParamData>(props: Props<TVars>) => JSX.Element | null;
9
10
  export default RouteComponentWrapper;
10
11
  //# sourceMappingURL=RouteComponentWrapper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RouteComponentWrapper.d.ts","sourceRoot":"","sources":["../../../src/routing/RouteComponentWrapper.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AAEtD,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAM1E,KAAK,KAAK,GAAG;IACX,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,KAAK,EAAE,kBAAkB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IACtC,aAAa,EAAE,kBAAkB,CAAC;CACnC,CAAC;AAaF,QAAA,MAAM,qBAAqB,GAAI,OAAO,KAAK,KAAG,GAAG,CAAC,OAAO,GAAG,IA+F3D,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
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,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAMhD,KAAK,KAAK,CAAC,KAAK,SAAS,SAAS,GAAG,SAAS,IAAI;IAChD,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,KAAK,EAAE,kBAAkB,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IACxC,aAAa,EAAE,kBAAkB,CAAC;CACnC,CAAC;AAaF,QAAA,MAAM,qBAAqB,GAAI,KAAK,SAAS,SAAS,GAAG,SAAS,EAChE,OAAO,KAAK,CAAC,KAAK,CAAC,KAClB,GAAG,CAAC,OAAO,GAAG,IAgGhB,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"RouterRenderer.d.ts","sourceRoot":"","sources":["../../../src/routing/RouterRenderer.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,KAAK,SAAS,EAA0B,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AAiBhF,wBAAgB,WAAW,IAAI,MAAM,CAGpC;AAKD,KAAK,KAAK,GAAG;IAEX,QAAQ,CAAC,EAAE,SAAS,CAAC;IAErB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB,CAAC;AAyBF,QAAA,MAAM,cAAc,GAAI,OAAO,KAAK,KAAG,GAAG,CAAC,OAAO,GAAG,IAwIpD,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"RouterRenderer.d.ts","sourceRoot":"","sources":["../../../src/routing/RouterRenderer.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,KAAK,SAAS,EAA0B,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AAkBhF,wBAAgB,WAAW,IAAI,MAAM,CAGpC;AAKD,KAAK,KAAK,GAAG;IAEX,QAAQ,CAAC,EAAE,SAAS,CAAC;IAErB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB,CAAC;AAyBF,QAAA,MAAM,cAAc,GAAI,OAAO,KAAK,KAAG,GAAG,CAAC,OAAO,GAAG,IAwIpD,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -1,14 +1,13 @@
1
- import type { Route, RoutingContextType } from '../types.js';
2
- export type CreateRouterReturn = {
1
+ import type { RoutingContextType, AnyRoute, PreparedAccess } from '../types.js';
2
+ export type CreateRouterReturn<R extends AnyRoute[]> = {
3
3
  cleanup: () => void;
4
- context: RoutingContextType<any>;
4
+ context: RoutingContextType<any> & PreparedAccess<R>;
5
5
  };
6
- export default function createRouter(routes: Route<any, any>[], opts?: {
6
+ export default function createRouter<R extends AnyRoute[]>(routes: [...R] | AnyRoute[], opts?: {
7
7
  devtools?: boolean | {
8
8
  global?: boolean;
9
9
  panel?: boolean;
10
10
  shortcut?: string;
11
11
  };
12
- autoBatch?: boolean;
13
- }): CreateRouterReturn;
12
+ }): CreateRouterReturn<R extends AnyRoute[] ? R : AnyRoute[]>;
14
13
  //# 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,EACV,KAAK,EAEL,kBAAkB,EAEnB,MAAM,aAAa,CAAC;AAKrB,MAAM,MAAM,kBAAkB,GAAG;IAE/B,OAAO,EAAE,MAAM,IAAI,CAAC;IAEpB,OAAO,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC;CAClC,CAAC;AAkCF,MAAM,CAAC,OAAO,UAAU,YAAY,CAClC,MAAM,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EACzB,IAAI,GAAE;IACJ,QAAQ,CAAC,EACL,OAAO,GACP;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAE7D,SAAS,CAAC,EAAE,OAAO,CAAC;CAChB,GACL,kBAAkB,CAkxBpB"}
1
+ {"version":3,"file":"createRouter.d.ts","sourceRoot":"","sources":["../../../src/routing/createRouter.ts"],"names":[],"mappings":"AAQA,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;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACzD,GACL,kBAAkB,CAAC,CAAC,SAAS,QAAQ,EAAE,GAAG,CAAC,GAAG,QAAQ,EAAE,CAAC,CAutB3D"}
@@ -8,10 +8,6 @@ export { default as useQuery } from './useQuery.js';
8
8
  export { default as useTypedQuery } from './useTypedQuery.js';
9
9
  export { default as useNavigate } from './useNavigate.js';
10
10
  export { default as useQueryState } from './useQueryState.js';
11
- export { defineFilters, numberFilter, stringFilter, useFilters, useQueryFilters, } from './filters.js';
12
- export { default as useFilterState } from './useFilterState.js';
13
- export { default as useActiveFilters } from './useActiveFilters.js';
14
- export { default as useQueryObject } from './useQueryObject.js';
15
- export { default as useNavigateWithQuery } from './useNavigateWithQuery.js';
16
- export { default as useStableRefEquality } from './useStableRefEquality.js';
11
+ export { default as useFilters } from './useFilters.js';
12
+ export { default as useFilterDiagnostics } from './useFilterDiagnostics.js';
17
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/routing/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAG5D,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,WAAW,CAAC;AAG5C,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGhE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAG9E,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGhE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAEhE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EACL,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,eAAe,GAChB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/routing/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAG5D,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,WAAW,CAAC;AAG5C,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGhE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAG9E,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGhE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAEhE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,2BAA2B,CAAC"}
@@ -0,0 +1,7 @@
1
+ export type UseAllQueryOptions = {
2
+ replace?: boolean;
3
+ };
4
+ export default function useAllQuery<T extends Record<string, unknown>>(opts?: UseAllQueryOptions): [T | undefined, (next: T, navOpts?: {
5
+ replace?: boolean;
6
+ }) => void];
7
+ //# sourceMappingURL=useAllQuery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAllQuery.d.ts","sourceRoot":"","sources":["../../../src/routing/useAllQuery.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,kBAAkB,GAAG;IAE/B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAWF,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnE,IAAI,GAAE,kBAAuB,GAC5B,CAAC,CAAC,GAAG,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,KAAK,IAAI,CAAC,CAkCrE"}
@@ -0,0 +1,2 @@
1
+ export default function useFilterDiagnostics(): readonly unknown[];
2
+ //# sourceMappingURL=useFilterDiagnostics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFilterDiagnostics.d.ts","sourceRoot":"","sources":["../../../src/routing/useFilterDiagnostics.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,OAAO,UAAU,oBAAoB,IAAI,SAAS,OAAO,EAAE,CAOjE"}
@@ -0,0 +1,16 @@
1
+ export type FilterActions = {
2
+ set: (field: string, operator: string, value: unknown | undefined, opts?: {
3
+ replace?: boolean;
4
+ }) => void;
5
+ remove: (field: string, operator?: string, opts?: {
6
+ replace?: boolean;
7
+ }) => void;
8
+ merge: (patch: Record<string, unknown>, opts?: {
9
+ replace?: boolean;
10
+ }) => void;
11
+ clear: (opts?: {
12
+ replace?: boolean;
13
+ }) => void;
14
+ };
15
+ export default function useFilters(): [Record<string, unknown>, FilterActions];
16
+ //# sourceMappingURL=useFilters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFilters.d.ts","sourceRoot":"","sources":["../../../src/routing/useFilters.ts"],"names":[],"mappings":"AA6BA,MAAM,MAAM,aAAa,GAAG;IAC1B,GAAG,EAAE,CACH,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAEhB,KAAK,EAAE,OAAO,GAAG,SAAS,EAC1B,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,KACzB,IAAI,CAAC;IACV,MAAM,EAAE,CACN,KAAK,EAAE,MAAM,EACb,QAAQ,CAAC,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,KACzB,IAAI,CAAC;IACV,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IAC9E,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;CAC/C,CAAC;AAMF,MAAM,CAAC,OAAO,UAAU,UAAU,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,CAAC,CAwE7E"}
@@ -1,13 +1,6 @@
1
- export default function useNavigate(): (opts: {
1
+ export default function useNavigate<TQuery extends Record<string, unknown> = Record<string, unknown>>(): (opts: {
2
2
  pathname?: string;
3
- query?: Record<string, any>;
3
+ query?: TQuery;
4
4
  replace?: boolean;
5
- filters?: Record<string, any>;
6
- filterSchema?: {
7
- __defined: true;
8
- schema: Record<string, any>;
9
- };
10
- batch?: boolean;
11
- immediate?: boolean;
12
5
  }) => void;
13
6
  //# sourceMappingURL=useNavigate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useNavigate.d.ts","sourceRoot":"","sources":["../../../src/routing/useNavigate.ts"],"names":[],"mappings":"AAYA,MAAM,CAAC,OAAO,UAAU,WAAW,IAAI,CAAC,IAAI,EAAE;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,YAAY,CAAC,EAAE;QAAE,SAAS,EAAE,IAAI,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE,CAAC;IAChE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,KAAK,IAAI,CAST"}
1
+ {"version":3,"file":"useNavigate.d.ts","sourceRoot":"","sources":["../../../src/routing/useNavigate.ts"],"names":[],"mappings":"AAUA,MAAM,CAAC,OAAO,UAAU,WAAW,CACjC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC7D,CAAC,IAAI,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,KAAK,IAAI,CAS5E"}
@@ -4,7 +4,7 @@ export type UseQueryStateOptions<T> = {
4
4
  replace?: boolean;
5
5
  raw?: boolean;
6
6
  };
7
- export default function useQueryState<T = any>(key: string, opts?: UseQueryStateOptions<T>): [
7
+ export default function useQueryState<T = unknown>(key: string, opts?: UseQueryStateOptions<T>): [
8
8
  T | undefined,
9
9
  (next: T | undefined, navOpts?: {
10
10
  replace?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"useQueryState.d.ts","sourceRoot":"","sources":["../../../src/routing/useQueryState.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,oBAAoB,CAAC,CAAC,IAAI;IAEpC,YAAY,CAAC,EAAE,CAAC,CAAC;IAEjB,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf,CAAC;AAWF,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,CAAC,GAAG,GAAG,EAC3C,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,oBAAoB,CAAC,CAAC,CAAM,GACjC;IACD,CAAC,GAAG,SAAS;IACb,CAAC,IAAI,EAAE,CAAC,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI;CAC/D,CAyFA"}
1
+ {"version":3,"file":"useQueryState.d.ts","sourceRoot":"","sources":["../../../src/routing/useQueryState.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,oBAAoB,CAAC,CAAC,IAAI;IAEpC,YAAY,CAAC,EAAE,CAAC,CAAC;IAEjB,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf,CAAC;AAWF,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,CAAC,GAAG,OAAO,EAC/C,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,oBAAoB,CAAC,CAAC,CAAM,GACjC;IACD,CAAC,GAAG,SAAS;IACb,CAAC,IAAI,EAAE,CAAC,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI;CAC/D,CAsFA"}
@@ -0,0 +1,11 @@
1
+ import { type Schema as FilterSchema } from '@plumile/filter-query';
2
+ import type { QuerySchema } from '../types.js';
3
+ export declare function buildCombinedSearch(opts: {
4
+ query?: Record<string, unknown>;
5
+ querySchema?: QuerySchema;
6
+ filters?: Record<string, unknown>;
7
+ filterSchema?: FilterSchema;
8
+ omitQueryDefaults?: boolean;
9
+ }): string;
10
+ export default buildCombinedSearch;
11
+ //# sourceMappingURL=buildCombinedSearch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildCombinedSearch.d.ts","sourceRoot":"","sources":["../../../src/tools/buildCombinedSearch.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,MAAM,IAAI,YAAY,EAC5B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAU/C,wBAAgB,mBAAmB,CAAC,IAAI,EAAE;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,GAAG,MAAM,CA0BT;AAED,eAAe,mBAAmB,CAAC"}
@@ -1,12 +1,6 @@
1
1
  import type { QuerySchema } from '../types.js';
2
- import { type DefinedFilterSchema, type InferFilters } from '../routing/filters.js';
3
- export interface BuildSearchOptions<F extends DefinedFilterSchema<any> | undefined = any> {
2
+ export declare function buildSearch(query: Record<string, any> | undefined, schema: QuerySchema | undefined, opts?: {
4
3
  omitDefaults?: boolean;
5
4
  sortKeys?: boolean;
6
- filters?: F extends DefinedFilterSchema<any> ? InferFilters<F['schema']> : any;
7
- filterSchema?: F;
8
- omitEmptyFilters?: boolean;
9
- pruneEmptyFilterOperators?: boolean;
10
- }
11
- export declare function buildSearch(query: Record<string, any> | undefined, schema: QuerySchema | undefined, opts?: BuildSearchOptions): string;
5
+ }): string;
12
6
  //# sourceMappingURL=buildSearch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildSearch.d.ts","sourceRoot":"","sources":["../../../src/tools/buildSearch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAmB,MAAM,aAAa,CAAC;AAChE,OAAO,EAGL,KAAK,mBAAmB,EACxB,KAAK,YAAY,EAClB,MAAM,uBAAuB,CAAC;AAW/B,MAAM,WAAW,kBAAkB,CACjC,CAAC,SAAS,mBAAmB,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,GAAG;IAEpD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,OAAO,CAAC,EAAE,CAAC,SAAS,mBAAmB,CAAC,GAAG,CAAC,GACxC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GACzB,GAAG,CAAC;IAER,YAAY,CAAC,EAAE,CAAC,CAAC;IAEjB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC;AAQD,wBAAgB,WAAW,CACzB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,EACtC,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,IAAI,CAAC,EAAE,kBAAkB,GACxB,MAAM,CAyQR"}
1
+ {"version":3,"file":"buildSearch.d.ts","sourceRoot":"","sources":["../../../src/tools/buildSearch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAmB,MAAM,aAAa,CAAC;AAWhE,wBAAgB,WAAW,CACzB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,EACtC,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,IAAI,CAAC,EAAE;IAAE,YAAY,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GACpD,MAAM,CA0DR"}
@@ -1,7 +1,11 @@
1
1
  import type { ParamData } from 'path-to-regexp';
2
- import type { PrepareResult, PreparedMatch, Route, RouterMatchedRoute } from './types.js';
2
+ import type { PrepareResult, PreparedMatch, Route, RouterMatchedRoute, QuerySchema, InferQuery } from './types.js';
3
3
  import type { FlatRoute } from './builder.js';
4
4
  export declare function getMatchedRoute<TParams extends ParamData>(routes: FlatRoute<TParams>[], location: Location): RouterMatchedRoute<TParams> | null;
5
5
  export declare function prepareMatch<TParams extends ParamData>(match: RouterMatchedRoute<TParams> | null, query?: Record<string, unknown>): PreparedMatch<TParams>;
6
- export declare function r<TPrepared extends PrepareResult, TVariables extends ParamData = ParamData, TQuery = unknown>(route: Route<TPrepared, TVariables, TQuery>): Route<TPrepared, TVariables, TQuery>;
6
+ export declare function r<TPrepared extends PrepareResult = PrepareResult, TVariables extends ParamData = ParamData, TQuery extends Record<string, unknown> = Record<string, unknown>, TSchema extends QuerySchema | undefined = undefined>(route: (TSchema extends QuerySchema ? Omit<Route<TPrepared, TVariables, InferQuery<TSchema>>, 'query'> & {
7
+ query: TSchema;
8
+ } : Route<TPrepared, TVariables, TQuery>) & {
9
+ query?: TSchema;
10
+ }): Route<TPrepared, TVariables, TSchema extends QuerySchema ? InferQuery<TSchema> : TQuery>;
7
11
  //# sourceMappingURL=tools.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EAEb,KAAK,EACL,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAW9C,wBAAgB,eAAe,CAAC,OAAO,SAAS,SAAS,EACvD,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,EAC5B,QAAQ,EAAE,QAAQ,GACjB,kBAAkB,CAAC,OAAO,CAAC,GAAG,IAAI,CAepC;AAUD,wBAAgB,YAAY,CAAC,OAAO,SAAS,SAAS,EACpD,KAAK,EAAE,kBAAkB,CAAC,OAAO,CAAC,GAAG,IAAI,EACzC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,aAAa,CAAC,OAAO,CAAC,CA+CxB;AAmBD,wBAAgB,CAAC,CACf,SAAS,SAAS,aAAa,EAC/B,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,MAAM,GAAG,OAAO,EAEhB,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC,GAC1C,KAAK,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC,CAEtC"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EAEb,KAAK,EACL,kBAAkB,EAClB,WAAW,EACX,UAAU,EACX,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAW9C,wBAAgB,eAAe,CAAC,OAAO,SAAS,SAAS,EACvD,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,EAC5B,QAAQ,EAAE,QAAQ,GACjB,kBAAkB,CAAC,OAAO,CAAC,GAAG,IAAI,CAepC;AAUD,wBAAgB,YAAY,CAAC,OAAO,SAAS,SAAS,EACpD,KAAK,EAAE,kBAAkB,CAAC,OAAO,CAAC,GAAG,IAAI,EACzC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,aAAa,CAAC,OAAO,CAAC,CAmDxB;AAwBD,wBAAgB,CAAC,CACf,SAAS,SAAS,aAAa,GAAG,aAAa,EAC/C,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChE,OAAO,SAAS,WAAW,GAAG,SAAS,GAAG,SAAS,EAEnD,KAAK,EAAE,CAAC,OAAO,SAAS,WAAW,GAC/B,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG;IACjE,KAAK,EAAE,OAAO,CAAC;CAChB,GACD,KAAK,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,GAAG;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAC9D,KAAK,CACN,SAAS,EACT,UAAU,EACV,OAAO,SAAS,WAAW,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,MAAM,CAC3D,CAMA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=routes-inference.test-d.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routes-inference.test-d.d.ts","sourceRoot":"","sources":["../../../src/type-tests/routes-inference.test-d.ts"],"names":[],"mappings":""}
@@ -1,4 +1,5 @@
1
1
  import type { ComponentType, ReactElement, ReactNode, JSX } from 'react';
2
+ import type { Schema as FilterSchema, InferFilters as InferFilterResult, Diagnostic as FilterDiagnostic } from '@plumile/filter-query';
2
3
  import type { Match, MatchFunction, ParamData } from 'path-to-regexp';
3
4
  import type { FlatRoute } from './builder.js';
4
5
  import type { ResourcePage } from './ResourcePage.js';
@@ -16,16 +17,16 @@ export type RouterMatchedRoute<TVariables extends ParamData> = {
16
17
  route: FlatRoute<TVariables>;
17
18
  };
18
19
  export type RouteReactComponent<TProps = Record<string, unknown>> = (props: TProps) => JSX.Element | null;
19
- export type RouteRenderOpts<TPrepared extends PrepareResult, TVariables extends ParamData = ParamData> = {
20
+ export type RouteRenderOpts<TPrepared extends PrepareResult, TVariables extends ParamData = ParamData, TQueryShape extends Record<string, unknown> = Record<string, unknown>> = {
20
21
  children: ReactNode;
21
22
  Component?: RouteReactComponent;
22
23
  prepared: TPrepared | undefined;
23
24
  preparedRoute: PreparedMatchRoute;
24
25
  route: FlatRoute<TVariables> | null;
25
26
  rawQuery: Record<string, string | string[]>;
26
- query: any;
27
+ query: TQueryShape;
27
28
  };
28
- export type RouteRender<TPrepared extends PrepareResult, TVariables extends ParamData = ParamData> = (opts: RouteRenderOpts<TPrepared, TVariables>) => ReactElement<any> | null;
29
+ export type RouteRender<TPrepared extends PrepareResult, TVariables extends ParamData = ParamData, TQueryShape extends Record<string, unknown> = Record<string, unknown>> = (opts: RouteRenderOpts<TPrepared, TVariables, TQueryShape>) => ReactElement | null;
29
30
  export type PreparedMatchRoute = {
30
31
  path?: string;
31
32
  prepared: PrepareResult | undefined;
@@ -44,7 +45,9 @@ export type RouteEntry<TVariables extends ParamData> = {
44
45
  forceRerender: boolean;
45
46
  rawSearch?: string;
46
47
  query: Record<string, string | string[]>;
47
- typedQuery?: any;
48
+ typedQuery?: Record<string, unknown>;
49
+ filters?: Record<string, unknown>;
50
+ filterDiagnostics?: FilterDiagnostic[];
48
51
  };
49
52
  export type QueryDescriptor<T> = {
50
53
  __type: T;
@@ -69,33 +72,30 @@ export type Redirect = {
69
72
  status?: RouterRedirectStatus;
70
73
  };
71
74
  export type PrepareResult = Record<string, any>;
72
- export type PrepareParams<TVariables extends ParamData, TQuery = any> = {
75
+ export type PrepareParams<TVariables extends ParamData, TQueryShape extends Record<string, unknown> = Record<string, unknown>> = {
73
76
  match: RouterMatchedRoute<TVariables>;
74
77
  matchedRoute: FlatRoute<TVariables>;
75
78
  resourcePage?: ResourcePage | null;
76
79
  variables: TVariables;
77
- query: TQuery;
80
+ query: TQueryShape;
78
81
  };
79
- export type RoutePrepare<TPrepared extends PrepareResult, TVariables extends ParamData = ParamData, TQuery = any> = (params: PrepareParams<TVariables, TQuery>) => TPrepared;
80
- export type Route<TPrepared extends PrepareResult, TVariables extends ParamData = ParamData, TQuery = any> = {
81
- children?: (Route<any, any> | Redirect)[];
82
+ export type RoutePrepare<TPrepared extends PrepareResult, TVariables extends ParamData = ParamData, TQueryShape extends Record<string, unknown> = Record<string, unknown>> = (params: PrepareParams<TVariables, TQueryShape>) => TPrepared;
83
+ export type Route<TPrepared extends PrepareResult, TVariables extends ParamData = ParamData, TQueryShape extends Record<string, unknown> = Record<string, unknown>> = {
84
+ children?: (Route<PrepareResult> | Redirect)[];
82
85
  resourcePage?: ResourcePage | null;
83
86
  path?: string;
84
- prepare?: RoutePrepare<TPrepared, TVariables, TQuery>;
85
- render?: RouteRender<TPrepared, TVariables>;
87
+ prepare?: RoutePrepare<TPrepared, TVariables, TQueryShape>;
88
+ render?: RouteRender<TPrepared, TVariables, TQueryShape>;
86
89
  query?: QuerySchema;
87
- filterSchema?: {
88
- __defined: true;
89
- schema: Record<string, any>;
90
- };
91
- };
92
- export type RouteComponentProps<TVariables extends ParamData> = {
93
- children: ReactElement<any>;
94
- routerContext: RoutingContextType<TVariables>;
90
+ filterSchema?: FilterSchema;
91
+ };
92
+ export type RouteComponentProps<TVariables extends ParamData, TQueryShape extends Record<string, unknown> = Record<string, unknown>> = {
93
+ children: ReactElement;
94
+ routerContext: RoutingContextType<TVariables, TQueryShape>;
95
95
  route: Route<any, any>;
96
96
  };
97
97
  export type SubscribeCallback<TVariables extends ParamData> = (nextEntry: RouteEntry<TVariables>) => void;
98
- export type RoutingContextType<TVariables extends ParamData> = {
98
+ export type RoutingContextType<TVariables extends ParamData, TQueryShape extends Record<string, unknown> = Record<string, unknown>> = {
99
99
  history: BrowserHistory;
100
100
  get: () => RouteEntry<TVariables>;
101
101
  preloadCode: (pathname: string) => void;
@@ -103,27 +103,53 @@ export type RoutingContextType<TVariables extends ParamData> = {
103
103
  subscribe: (callback: SubscribeCallback<TVariables>) => () => void;
104
104
  navigate: (opts: {
105
105
  pathname?: string;
106
- query?: Record<string, any>;
106
+ query?: TQueryShape;
107
+ filters?: Record<string, unknown>;
107
108
  replace?: boolean;
108
- filters?: Record<string, any>;
109
- filterSchema?: {
110
- __defined: true;
111
- schema: Record<string, any>;
112
- };
113
- batch?: boolean;
114
- immediate?: boolean;
115
109
  }) => void;
116
- resolveFilterSchema: (pathname: string) => {
117
- __defined: true;
118
- schema: Record<string, any>;
119
- } | undefined;
120
- currentMergedFilterSchema: () => {
121
- __defined: true;
122
- schema: Record<string, any>;
123
- } | undefined;
124
110
  };
125
111
  export type ResourcePageReturn = {
126
- default: ComponentType<any>;
127
- } | ComponentType<any>;
112
+ default: ComponentType<unknown>;
113
+ } | ComponentType<unknown>;
128
114
  export type ResourcePageLoader = () => Promise<ResourcePageReturn>;
115
+ export type InferFilters<S extends FilterSchema | undefined> = S extends FilterSchema ? InferFilterResult<S> : Record<string, never>;
116
+ export type { FilterSchema };
117
+ export type AnyRoute = Route<any, any, any>;
118
+ export type PreparedOf<R> = R extends Route<infer P, any, any> ? P : never;
119
+ export type VariablesOf<R> = R extends Route<any, infer V, any> ? V : never;
120
+ export type QueryShapeOf<R> = R extends Route<any, any, infer Q> ? Q : never;
121
+ export type PathOf<R> = R extends {
122
+ path?: infer P;
123
+ } ? P extends string ? P : never : never;
124
+ export type PathsOf<Routes extends readonly AnyRoute[]> = PathOf<Routes[number]>;
125
+ export type PreparedMap<Routes extends readonly AnyRoute[]> = {
126
+ [K in PathsOf<Routes>]: PreparedOf<Extract<Routes[number], {
127
+ path?: K;
128
+ }>> | undefined;
129
+ };
130
+ export type QueryShapeMap<Routes extends readonly AnyRoute[]> = {
131
+ [K in PathsOf<Routes>]: QueryShapeOf<Extract<Routes[number], {
132
+ path?: K;
133
+ }>>;
134
+ };
135
+ export interface PreparedAccess<Routes extends readonly AnyRoute[]> {
136
+ getPrepared: <P extends PathsOf<Routes>>(path: P) => PreparedMap<Routes>[P];
137
+ getTypedQuery: <P extends PathsOf<Routes>>(path: P) => QueryShapeMap<Routes>[P] | undefined;
138
+ }
139
+ export type NavigateInputForPath<Routes extends readonly AnyRoute[], P extends PathsOf<Routes>> = {
140
+ pathname: P;
141
+ query?: QueryShapeMap<Routes>[P];
142
+ filters?: Record<string, unknown>;
143
+ replace?: boolean;
144
+ };
145
+ export type NavigateInputUntyped = {
146
+ pathname?: string;
147
+ query?: Record<string, any>;
148
+ filters?: Record<string, any>;
149
+ replace?: boolean;
150
+ };
151
+ export interface NavigateOverloads<Routes extends readonly AnyRoute[]> {
152
+ <P extends PathsOf<Routes>>(opts: NavigateInputForPath<Routes, P>): void;
153
+ (opts: NavigateInputUntyped): void;
154
+ }
129
155
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plumile/router",
3
- "version": "0.1.14",
3
+ "version": "0.1.18",
4
4
  "description": "A modern, type-safe React router with code splitting, data preloading, and Suspense integration",
5
5
  "type": "module",
6
6
  "main": "lib/esm/index.js",
@@ -31,15 +31,16 @@
31
31
  "npm": ">=8.0.0"
32
32
  },
33
33
  "dependencies": {
34
+ "@plumile/filter-query": "^0.1.18",
34
35
  "path-to-regexp": "8.2.0"
35
36
  },
36
37
  "devDependencies": {
37
38
  "@types/react-relay": "18.2.1",
38
39
  "react": "19.1.1",
39
40
  "react-dom": "19.1.1",
40
- "react-relay": "^20.1.1",
41
- "relay-runtime": "^20.1.1",
42
- "rimraf": "^6.0.1",
41
+ "react-relay": "20.1.1",
42
+ "relay-runtime": "20.1.1",
43
+ "rimraf": "6.0.1",
43
44
  "typescript": "5.9.2"
44
45
  },
45
46
  "peerDependencies": {
@@ -50,7 +51,7 @@
50
51
  "relay-runtime": ">=20.1.1",
51
52
  "tslib": ">=2.8.1"
52
53
  },
53
- "gitHead": "5b4cb30295e15ca275d6960a48ded5827c5f2858",
54
+ "gitHead": "2111020baeba97edec856e8ad5a08849fe1e2e62",
54
55
  "publishConfig": {
55
56
  "access": "public"
56
57
  }
@@ -1,21 +0,0 @@
1
- import type { RoutingContextType } from '../types.js';
2
- export interface InitRouterDevtoolsOptions {
3
- global: boolean;
4
- panel: boolean;
5
- shortcut: string;
6
- verbose?: boolean;
7
- }
8
- export interface NavEventMetaPublic {
9
- kind: string;
10
- mode: string;
11
- count: number;
12
- pathname: string;
13
- search: string;
14
- timestamp: number;
15
- }
16
- export declare function initRouterDevtools(params: {
17
- context: RoutingContextType<any>;
18
- options: InitRouterDevtoolsOptions;
19
- }): (meta: NavEventMetaPublic) => void;
20
- export default initRouterDevtools;
21
- //# sourceMappingURL=devtools.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"devtools.d.ts","sourceRoot":"","sources":["../../../src/routing/devtools.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGtD,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AACD,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AA0vBD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE;IACzC,OAAO,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACjC,OAAO,EAAE,yBAAyB,CAAC;CACpC,GAAG,CAAC,IAAI,EAAE,kBAAkB,KAAK,IAAI,CAoCrC;AAED,eAAe,kBAAkB,CAAC"}