@plumile/router 0.1.13 → 0.1.17

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 (117) hide show
  1. package/README.md +43 -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 +0 -1
  17. package/lib/esm/routing/createRouter.d.ts.map +1 -1
  18. package/lib/esm/routing/createRouter.js +434 -399
  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 +1 -1
  45. package/lib/esm/tools.d.ts.map +1 -1
  46. package/lib/esm/tools.js +1 -1
  47. package/lib/esm/types.d.ts +25 -37
  48. package/lib/esm/types.d.ts.map +1 -1
  49. package/lib/esm/types.js +1 -1
  50. package/lib/tsconfig.esm.tsbuildinfo +1 -1
  51. package/lib/types/builder.d.ts +5 -5
  52. package/lib/types/builder.d.ts.map +1 -1
  53. package/lib/types/index.d.ts +0 -4
  54. package/lib/types/index.d.ts.map +1 -1
  55. package/lib/types/routing/Link.d.ts +3 -3
  56. package/lib/types/routing/Link.d.ts.map +1 -1
  57. package/lib/types/routing/RouteComponentWrapper.d.ts +6 -5
  58. package/lib/types/routing/RouteComponentWrapper.d.ts.map +1 -1
  59. package/lib/types/routing/RouterRenderer.d.ts.map +1 -1
  60. package/lib/types/routing/createRouter.d.ts +0 -1
  61. package/lib/types/routing/createRouter.d.ts.map +1 -1
  62. package/lib/types/routing/index.d.ts +2 -6
  63. package/lib/types/routing/index.d.ts.map +1 -1
  64. package/lib/types/routing/useAllQuery.d.ts +7 -0
  65. package/lib/types/routing/useAllQuery.d.ts.map +1 -0
  66. package/lib/types/routing/useFilterDiagnostics.d.ts +2 -0
  67. package/lib/types/routing/useFilterDiagnostics.d.ts.map +1 -0
  68. package/lib/types/routing/useFilters.d.ts +16 -0
  69. package/lib/types/routing/useFilters.d.ts.map +1 -0
  70. package/lib/types/routing/useNavigate.d.ts +2 -9
  71. package/lib/types/routing/useNavigate.d.ts.map +1 -1
  72. package/lib/types/routing/useQueryState.d.ts +1 -1
  73. package/lib/types/routing/useQueryState.d.ts.map +1 -1
  74. package/lib/types/tools/buildCombinedSearch.d.ts +11 -0
  75. package/lib/types/tools/buildCombinedSearch.d.ts.map +1 -0
  76. package/lib/types/tools/buildSearch.d.ts +2 -8
  77. package/lib/types/tools/buildSearch.d.ts.map +1 -1
  78. package/lib/types/tools.d.ts +1 -1
  79. package/lib/types/tools.d.ts.map +1 -1
  80. package/lib/types/types.d.ts +25 -37
  81. package/lib/types/types.d.ts.map +1 -1
  82. package/package.json +6 -5
  83. package/lib/esm/routing/devtools.d.ts +0 -20
  84. package/lib/esm/routing/devtools.d.ts.map +0 -1
  85. package/lib/esm/routing/devtools.js +0 -678
  86. package/lib/esm/routing/filters.d.ts +0 -97
  87. package/lib/esm/routing/filters.d.ts.map +0 -1
  88. package/lib/esm/routing/filters.js +0 -557
  89. package/lib/esm/routing/useActiveFilters.d.ts +0 -9
  90. package/lib/esm/routing/useActiveFilters.d.ts.map +0 -1
  91. package/lib/esm/routing/useActiveFilters.js +0 -38
  92. package/lib/esm/routing/useFilterState.d.ts +0 -10
  93. package/lib/esm/routing/useFilterState.d.ts.map +0 -1
  94. package/lib/esm/routing/useFilterState.js +0 -14
  95. package/lib/esm/routing/useNavigateWithQuery.d.ts +0 -15
  96. package/lib/esm/routing/useNavigateWithQuery.d.ts.map +0 -1
  97. package/lib/esm/routing/useNavigateWithQuery.js +0 -95
  98. package/lib/esm/routing/useQueryObject.d.ts +0 -18
  99. package/lib/esm/routing/useQueryObject.d.ts.map +0 -1
  100. package/lib/esm/routing/useQueryObject.js +0 -107
  101. package/lib/esm/routing/useStableRefEquality.d.ts +0 -5
  102. package/lib/esm/routing/useStableRefEquality.d.ts.map +0 -1
  103. package/lib/esm/routing/useStableRefEquality.js +0 -47
  104. package/lib/types/routing/devtools.d.ts +0 -20
  105. package/lib/types/routing/devtools.d.ts.map +0 -1
  106. package/lib/types/routing/filters.d.ts +0 -97
  107. package/lib/types/routing/filters.d.ts.map +0 -1
  108. package/lib/types/routing/useActiveFilters.d.ts +0 -9
  109. package/lib/types/routing/useActiveFilters.d.ts.map +0 -1
  110. package/lib/types/routing/useFilterState.d.ts +0 -10
  111. package/lib/types/routing/useFilterState.d.ts.map +0 -1
  112. package/lib/types/routing/useNavigateWithQuery.d.ts +0 -15
  113. package/lib/types/routing/useNavigateWithQuery.d.ts.map +0 -1
  114. package/lib/types/routing/useQueryObject.d.ts +0 -18
  115. package/lib/types/routing/useQueryObject.d.ts.map +0 -1
  116. package/lib/types/routing/useStableRefEquality.d.ts +0 -5
  117. package/lib/types/routing/useStableRefEquality.d.ts.map +0 -1
@@ -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"}
@@ -3,5 +3,5 @@ import type { PrepareResult, PreparedMatch, Route, RouterMatchedRoute } from './
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, TVariables extends ParamData = ParamData, TQuery extends Record<string, unknown> = Record<string, unknown>>(route: Route<TPrepared, TVariables, TQuery>): Route<TPrepared, TVariables, TQuery>;
7
7
  //# 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,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,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAEhE,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC,GAC1C,KAAK,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC,CAEtC"}
@@ -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
- };
90
+ filterSchema?: FilterSchema;
91
91
  };
92
- export type RouteComponentProps<TVariables extends ParamData> = {
93
- children: ReactElement<any>;
94
- routerContext: RoutingContextType<TVariables>;
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,15 @@ 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 };
129
117
  //# 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.13",
3
+ "version": "0.1.17",
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.17",
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": "8a7702e01c748e2570db1be28387fd51c3fde1e4",
54
+ "gitHead": "9b42a2afd74c8161c475436751ae90d0240c22a1",
54
55
  "publishConfig": {
55
56
  "access": "public"
56
57
  }
@@ -1,20 +0,0 @@
1
- import type { RoutingContextType } from '../types.js';
2
- export interface InitRouterDevtoolsOptions {
3
- global: boolean;
4
- panel: boolean;
5
- shortcut: string;
6
- }
7
- export interface NavEventMetaPublic {
8
- kind: string;
9
- mode: string;
10
- count: number;
11
- pathname: string;
12
- search: string;
13
- timestamp: number;
14
- }
15
- export declare function initRouterDevtools(params: {
16
- context: RoutingContextType<any>;
17
- options: InitRouterDevtoolsOptions;
18
- }): (meta: NavEventMetaPublic) => void;
19
- export default initRouterDevtools;
20
- //# 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;CAClB;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;AAkvBD,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,CAgCrC;AAED,eAAe,kBAAkB,CAAC"}