angular-typed-router 0.1.1-4 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,7 +1,5 @@
1
1
  # angular-typed-router
2
2
 
3
- ## Attention: Still in experimental phase
4
-
5
3
  Type-safe ergonomic primitives on top of Angular's standalone router. Automatically derive a compile‑time union of valid route URL strings (`Path`) and strongly typed navigation command tuples (`Commands`) from the consumer application's `Routes` definition – without generating code or adding runtime weight.
6
4
 
7
5
  ## Why
@@ -16,7 +14,7 @@ No decorators, no custom builders, no code generation – just TypeScript type i
16
14
 
17
15
  ## Installation
18
16
 
19
- `ng add angular-ryped-router` will set up the package and create a declaration file for you.
17
+ `ng add angular-typed-router` will set up the package and create a declaration file for you.
20
18
 
21
19
  Or install manually:
22
20
 
@@ -119,7 +117,6 @@ import { TypedRouter, TypedRouterLink, Path, Commands, UserTypedRoutes, RoutePar
119
117
  - `Path` – Union of every reachable concrete URL path produced from your route tree (includes parameterized expansions with `string` in place of `:param` segments).
120
118
  - `Commands` – Union of tuple command arrays representing valid `Router.navigate()` inputs (each static segment as a literal, each parameter position as `string`).
121
119
  - `UserTypedRoutes` – Empty interface you augment with your `routes` reference.
122
- - `ExtractPathsFromRoutes<Routes>` – Utility type if you need to compute from an arbitrary `Routes` array manually.
123
120
  - `RouteParamTypes` – Interface you can augment to specify types for route parameters by name (e.g. `id: ${number}`).
124
121
 
125
122
  ## How It Works
@@ -161,7 +158,7 @@ and a `Commands` tuple like:
161
158
  ['projects', IdParamType, 'details', SectionParamType]
162
159
  ```
163
160
 
164
- You pass real runtime values for the `IdParamType` and `SectionParamType` positions. Empty string values and values like 'param/still-param' cannot currently be prevented at the type level without hurting DX (see Limitations).
161
+ You pass real runtime values for the `IdParamType` and `SectionParamType` positions.
165
162
 
166
163
  ## Usage Patterns
167
164
 
@@ -195,17 +192,16 @@ Keep the augmentation in a `.d.ts` that is included by `tsconfig.app.json` (`inc
195
192
 
196
193
  - The augmentation file is included.
197
194
  - The `routes` constant is `as const satisfies Routes`.
198
- - No circular import (augmentation file should only import the routes, nothing else runtime-heavy).
199
195
 
200
- ## Limitations & Tradeoffs
196
+ ## Tradeoffs
201
197
 
202
- | Concern | Status / Rationale |
203
- | ---------------------------------- | ------------------------------------------------------------------------------------- |
204
- | `relativeTo` (relative navigation) | Not supported – all inferred `Path` / `Commands` are absolute. Use absolute commands. |
198
+ | Concern | Status / Rationale |
199
+ | ---------------------------------- |-------------------------------------------------------------------------------------------------|
200
+ | `relativeTo` (relative navigation) | Not supported – all inferred `Path` / `Commands` are absolute. Use absolute paths and commands. |
205
201
 
206
202
  ## ESLint Recommendation (Optional)
207
203
 
208
- You can use `angular-typed-router-eslint` plugin to forbid untyped navigation calls.
204
+ You can use `angular-typed-router-eslint` plugin to forbid untyped navigation calls and usage of `relativeTo`.
209
205
 
210
206
  ## Troubleshooting
211
207
 
@@ -12,10 +12,10 @@ class TypedRouter extends Router {
12
12
  createUrlTree(commands, navigationExtras) {
13
13
  return super.createUrlTree(commands, navigationExtras);
14
14
  }
15
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: TypedRouter, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
16
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: TypedRouter, providedIn: 'root' });
15
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: TypedRouter, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
16
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: TypedRouter, providedIn: 'root' });
17
17
  }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: TypedRouter, decorators: [{
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: TypedRouter, decorators: [{
19
19
  type: Injectable,
20
20
  args: [{
21
21
  providedIn: 'root',
@@ -26,15 +26,15 @@ class TypedRouterLink extends RouterLink {
26
26
  set routerLink(commandsOrUrlTree) {
27
27
  super.routerLink = commandsOrUrlTree;
28
28
  }
29
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: TypedRouterLink, deps: null, target: i0.ɵɵFactoryTarget.Directive });
30
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.2.4", type: TypedRouterLink, isStandalone: true, selector: "[routerLink]", inputs: { routerLink: "routerLink" }, providers: [
29
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: TypedRouterLink, deps: null, target: i0.ɵɵFactoryTarget.Directive });
30
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.5", type: TypedRouterLink, isStandalone: true, selector: "[routerLink]", inputs: { routerLink: "routerLink" }, providers: [
31
31
  {
32
32
  provide: RouterLink,
33
33
  useExisting: forwardRef(() => TypedRouterLink),
34
34
  }
35
35
  ], usesInheritance: true, ngImport: i0 });
36
36
  }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: TypedRouterLink, decorators: [{
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: TypedRouterLink, decorators: [{
38
38
  type: Directive,
39
39
  args: [{
40
40
  selector: '[routerLink]',
@@ -1 +1 @@
1
- {"version":3,"file":"angular-typed-router.mjs","sources":["../tmp-esm2022/lib/router.js","../tmp-esm2022/lib/router-link.js","../tmp-esm2022/angular-typed-router.js"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { Router, } from '@angular/router';\nimport * as i0 from \"@angular/core\";\nexport class TypedRouter extends Router {\n navigate(commands, extras) {\n return super.navigate(commands, extras);\n }\n navigateByUrl(url, extras) {\n return super.navigateByUrl(url, extras);\n }\n createUrlTree(commands, navigationExtras) {\n return super.createUrlTree(commands, navigationExtras);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: TypedRouter, deps: null, target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: TypedRouter, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: TypedRouter, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy90eXBlZC1yb3V0ZXIvc3JjL2xpYi9yb3V0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBR0wsTUFBTSxHQUdQLE1BQU0saUJBQWlCLENBQUM7O0FBTXpCLE1BQU0sT0FBTyxXQUFZLFNBQVEsTUFBTTtJQUM1QixRQUFRLENBQ2YsUUFBa0IsRUFDbEIsTUFBeUI7UUFFekIsT0FBTyxLQUFLLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRVEsYUFBYSxDQUNwQixHQUFTLEVBQ1QsTUFBa0M7UUFFbEMsT0FBTyxLQUFLLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRVEsYUFBYSxDQUNwQixRQUFrQixFQUNsQixnQkFBcUM7UUFFckMsT0FBTyxLQUFLLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3pELENBQUM7dUdBcEJVLFdBQVc7MkdBQVgsV0FBVyxjQUZWLE1BQU07OzJGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgTmF2aWdhdGlvbkJlaGF2aW9yT3B0aW9ucyxcbiAgTmF2aWdhdGlvbkV4dHJhcyxcbiAgUm91dGVyLFxuICBVcmxDcmVhdGlvbk9wdGlvbnMsXG4gIFVybFRyZWUsXG59IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBDb21tYW5kcywgUGF0aCB9IGZyb20gJy4vdHlwZWQtcm91dGVzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFR5cGVkUm91dGVyIGV4dGVuZHMgUm91dGVyIHtcbiAgb3ZlcnJpZGUgbmF2aWdhdGUoXG4gICAgY29tbWFuZHM6IENvbW1hbmRzLFxuICAgIGV4dHJhcz86IE5hdmlnYXRpb25FeHRyYXNcbiAgKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHN1cGVyLm5hdmlnYXRlKGNvbW1hbmRzLCBleHRyYXMpO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmF2aWdhdGVCeVVybChcbiAgICB1cmw6IFBhdGgsXG4gICAgZXh0cmFzPzogTmF2aWdhdGlvbkJlaGF2aW9yT3B0aW9uc1xuICApOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gc3VwZXIubmF2aWdhdGVCeVVybCh1cmwsIGV4dHJhcyk7XG4gIH1cblxuICBvdmVycmlkZSBjcmVhdGVVcmxUcmVlKFxuICAgIGNvbW1hbmRzOiBDb21tYW5kcyxcbiAgICBuYXZpZ2F0aW9uRXh0cmFzPzogVXJsQ3JlYXRpb25PcHRpb25zXG4gICk6IFVybFRyZWUge1xuICAgIHJldHVybiBzdXBlci5jcmVhdGVVcmxUcmVlKGNvbW1hbmRzLCBuYXZpZ2F0aW9uRXh0cmFzKTtcbiAgfVxufVxuIl19","import { Directive, forwardRef, Input } from '@angular/core';\nimport { RouterLink } from '@angular/router';\nimport * as i0 from \"@angular/core\";\nexport class TypedRouterLink extends RouterLink {\n set routerLink(commandsOrUrlTree) {\n super.routerLink = commandsOrUrlTree;\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: TypedRouterLink, deps: null, target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.2.4\", type: TypedRouterLink, isStandalone: true, selector: \"[routerLink]\", inputs: { routerLink: \"routerLink\" }, providers: [\n {\n provide: RouterLink,\n useExisting: forwardRef(() => TypedRouterLink),\n }\n ], usesInheritance: true, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: TypedRouterLink, decorators: [{\n type: Directive,\n args: [{\n selector: '[routerLink]',\n providers: [\n {\n provide: RouterLink,\n useExisting: forwardRef(() => TypedRouterLink),\n }\n ]\n }]\n }], propDecorators: { routerLink: [{\n type: Input\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLWxpbmsuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3R5cGVkLXJvdXRlci9zcmMvbGliL3JvdXRlci1saW5rLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsVUFBVSxFQUFXLE1BQU0saUJBQWlCLENBQUM7O0FBWXRELE1BQU0sT0FBTyxlQUFnQixTQUFRLFVBQVU7SUFDN0MsSUFDYSxVQUFVLENBQUMsaUJBQStEO1FBQ3JGLEtBQUssQ0FBQyxVQUFVLEdBQUcsaUJBQWlCLENBQUM7SUFDdkMsQ0FBQzt1R0FKVSxlQUFlOzJGQUFmLGVBQWUsaUdBUGY7WUFDVDtnQkFDRSxPQUFPLEVBQUUsVUFBVTtnQkFDbkIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxlQUFlLENBQUM7YUFDL0M7U0FDRjs7MkZBRVUsZUFBZTtrQkFUM0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsY0FBYztvQkFDeEIsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxVQUFVOzRCQUNuQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQzt5QkFDL0M7cUJBQ0Y7aUJBQ0Y7OEJBR2MsVUFBVTtzQkFEdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgZm9yd2FyZFJlZiwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlckxpbmssIFVybFRyZWUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQ29tbWFuZHMsIFBhdGggfSBmcm9tICcuL3R5cGVkLXJvdXRlcyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tyb3V0ZXJMaW5rXScsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IFJvdXRlckxpbmssXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUeXBlZFJvdXRlckxpbmspLFxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBUeXBlZFJvdXRlckxpbmsgZXh0ZW5kcyBSb3V0ZXJMaW5rIHtcbiAgQElucHV0KClcbiAgb3ZlcnJpZGUgc2V0IHJvdXRlckxpbmsoY29tbWFuZHNPclVybFRyZWU6IENvbW1hbmRzIHwgUGF0aCB8IFVybFRyZWUgfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgc3VwZXIucm91dGVyTGluayA9IGNvbW1hbmRzT3JVcmxUcmVlO1xuICB9XG59XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci10eXBlZC1yb3V0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3R5cGVkLXJvdXRlci9zcmMvYW5ndWxhci10eXBlZC1yb3V0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":[],"mappings":";;;;AAGO,MAAM,WAAW,SAAS,MAAM,CAAC;AACxC,IAAI,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE;AAC/B,QAAQ,OAAO,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;AAC/C,IAAI;AACJ,IAAI,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE;AAC/B,QAAQ,OAAO,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC;AAC/C,IAAI;AACJ,IAAI,aAAa,CAAC,QAAQ,EAAE,gBAAgB,EAAE;AAC9C,QAAQ,OAAO,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE,gBAAgB,CAAC;AAC9D,IAAI;AACJ,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;AACxK,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;AAC7I;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;AACrH,YAAY,IAAI,EAAE,UAAU;AAC5B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,UAAU,EAAE,MAAM;AACtC,iBAAiB;AACjB,SAAS,CAAC,EAAE,CAAC;;AClBN,MAAM,eAAe,SAAS,UAAU,CAAC;AAChD,IAAI,IAAI,UAAU,CAAC,iBAAiB,EAAE;AACtC,QAAQ,KAAK,CAAC,UAAU,GAAG,iBAAiB;AAC5C,IAAI;AACJ,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC;AAC3K,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,EAAE,SAAS,EAAE;AAC3M,YAAY;AACZ,gBAAgB,OAAO,EAAE,UAAU;AACnC,gBAAgB,WAAW,EAAE,UAAU,CAAC,MAAM,eAAe,CAAC;AAC9D;AACA,SAAS,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;AACjD;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC;AACzH,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,QAAQ,EAAE,cAAc;AAC5C,oBAAoB,SAAS,EAAE;AAC/B,wBAAwB;AACxB,4BAA4B,OAAO,EAAE,UAAU;AAC/C,4BAA4B,WAAW,EAAE,UAAU,CAAC,MAAM,eAAe,CAAC;AAC1E;AACA;AACA,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,EAAE,UAAU,EAAE,CAAC;AAC3C,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,EAAE,CAAC;;AC5BnB;AACA;AACA;;;;"}
1
+ {"version":3,"file":"angular-typed-router.mjs","sources":["../../../../libs/typed-router/src/lib/router.ts","../../../../libs/typed-router/src/lib/router-link.ts","../../../../libs/typed-router/src/angular-typed-router.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport {\n NavigationBehaviorOptions,\n NavigationExtras,\n Router,\n UrlCreationOptions,\n UrlTree,\n} from '@angular/router';\nimport { Commands, Path } from './typed-routes';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TypedRouter extends Router {\n override navigate(\n commands: Commands,\n extras?: NavigationExtras\n ): Promise<boolean> {\n return super.navigate(commands, extras);\n }\n\n override navigateByUrl(\n url: Path,\n extras?: NavigationBehaviorOptions\n ): Promise<boolean> {\n return super.navigateByUrl(url, extras);\n }\n\n override createUrlTree(\n commands: Commands,\n navigationExtras?: UrlCreationOptions\n ): UrlTree {\n return super.createUrlTree(commands, navigationExtras);\n }\n}\n","import { Directive, forwardRef, Input } from '@angular/core';\nimport { RouterLink, UrlTree } from '@angular/router';\nimport { Commands, Path } from './typed-routes';\n\n@Directive({\n selector: '[routerLink]',\n providers: [\n {\n provide: RouterLink,\n useExisting: forwardRef(() => TypedRouterLink),\n }\n ]\n})\nexport class TypedRouterLink extends RouterLink {\n @Input()\n override set routerLink(commandsOrUrlTree: Commands | Path | UrlTree | null | undefined) {\n super.routerLink = commandsOrUrlTree;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAaM,MAAO,WAAY,SAAQ,MAAM,CAAA;IAC5B,QAAQ,CACf,QAAkB,EAClB,MAAyB,EAAA;QAEzB,OAAO,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IACzC;IAES,aAAa,CACpB,GAAS,EACT,MAAkC,EAAA;QAElC,OAAO,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC;IACzC;IAES,aAAa,CACpB,QAAkB,EAClB,gBAAqC,EAAA;QAErC,OAAO,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACxD;uGApBW,WAAW,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAX,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,cAFV,MAAM,EAAA,CAAA;;2FAEP,WAAW,EAAA,UAAA,EAAA,CAAA;kBAHvB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;ACCK,MAAO,eAAgB,SAAQ,UAAU,CAAA;IAC7C,IACa,UAAU,CAAC,iBAA+D,EAAA;AACrF,QAAA,KAAK,CAAC,UAAU,GAAG,iBAAiB;IACtC;uGAJW,eAAe,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAf,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,SAAA,EAPf;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,UAAU;AACnB,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,eAAe,CAAC;AAC/C;AACF,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAEU,eAAe,EAAA,UAAA,EAAA,CAAA;kBAT3B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,cAAc;AACxB,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,UAAU;AACnB,4BAAA,WAAW,EAAE,UAAU,CAAC,qBAAqB,CAAC;AAC/C;AACF;AACF,iBAAA;;sBAEE;;;ACdH;;AAEG;;;;"}
package/package.json CHANGED
@@ -1,9 +1,25 @@
1
1
  {
2
2
  "name": "angular-typed-router",
3
- "version": "0.1.1-4",
3
+ "version": "2.0.0",
4
+ "description": "Type-safe Angular Router. Compile-time Path union and typed navigation commands inferred from your Routes array. Zero runtime cost.",
5
+ "keywords": [
6
+ "angular",
7
+ "router",
8
+ "typescript",
9
+ "type-safe",
10
+ "typed",
11
+ "routing",
12
+ "angular-router"
13
+ ],
14
+ "author": "Dominic Bachmann",
15
+ "license": "MIT",
16
+ "homepage": "https://github.com/dominicbachmann/angular-typed-router#readme",
17
+ "bugs": {
18
+ "url": "https://github.com/dominicbachmann/angular-typed-router/issues"
19
+ },
4
20
  "peerDependencies": {
5
- "@angular/common": "^20.0.0",
6
- "@angular/core": "^20.0.0"
21
+ "@angular/core": "^22.0.0",
22
+ "@angular/router": "^22.0.0"
7
23
  },
8
24
  "repository": {
9
25
  "type": "git",
@@ -16,16 +32,17 @@
16
32
  "save": "dependencies"
17
33
  },
18
34
  "module": "fesm2022/angular-typed-router.mjs",
19
- "typings": "index.d.ts",
35
+ "typings": "types/angular-typed-router.d.ts",
20
36
  "exports": {
21
37
  "./package.json": {
22
38
  "default": "./package.json"
23
39
  },
24
40
  ".": {
25
- "types": "./index.d.ts",
41
+ "types": "./types/angular-typed-router.d.ts",
26
42
  "default": "./fesm2022/angular-typed-router.mjs"
27
43
  }
28
44
  },
45
+ "type": "module",
29
46
  "dependencies": {
30
47
  "tslib": "^2.3.0"
31
48
  }
@@ -1,4 +1,37 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
36
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
37
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -12,7 +45,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
45
  exports.replaceUsages = void 0;
13
46
  const schematics_1 = require("@angular-devkit/schematics");
14
47
  const utility_1 = require("@schematics/angular/utility");
15
- const ts = require("typescript");
48
+ const ts = __importStar(require("typescript"));
16
49
  const replaceUsages = (options) => (tree, context) => __awaiter(void 0, void 0, void 0, function* () {
17
50
  const workspace = yield (0, utility_1.readWorkspace)(tree);
18
51
  const project = workspace.projects.get(options.project);
@@ -1 +1 @@
1
- {"version":3,"file":"replace-usages.js","sourceRoot":"","sources":["../../../../../../libs/typed-router/schematics/migrate/steps/replace-usages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"replace-usages.js","sourceRoot":"","sources":["../../../../../../libs/typed-router/schematics/migrate/steps/replace-usages.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,37 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
36
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
37
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -10,7 +43,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
43
  };
11
44
  Object.defineProperty(exports, "__esModule", { value: true });
12
45
  exports.updateRouteDeclarations = void 0;
13
- const ts = require("typescript");
46
+ const ts = __importStar(require("typescript"));
14
47
  const path_1 = require("path");
15
48
  const utility_1 = require("@schematics/angular/utility");
16
49
  const updateRouteDeclarations = (options) => (tree, context) => __awaiter(void 0, void 0, void 0, function* () {
@@ -1 +1 @@
1
- {"version":3,"file":"update-route-declarations.js","sourceRoot":"","sources":["../../../../../../libs/typed-router/schematics/ng-add/steps/update-route-declarations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update-route-declarations.js","sourceRoot":"","sources":["../../../../../../libs/typed-router/schematics/ng-add/steps/update-route-declarations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,195 @@
1
+ import { Route, Router, NavigationExtras, NavigationBehaviorOptions, UrlCreationOptions, UrlTree, RouterLink } from '@angular/router';
2
+ import * as i0 from '@angular/core';
3
+
4
+ /**
5
+ * True if a Route is navigable on its own — i.e. it can be reached by a URL
6
+ * because it renders a component or redirects.
7
+ *
8
+ * @example
9
+ * IsNavigable<{ path: 'a', component: C }> // true
10
+ * IsNavigable<{ path: 'a', loadComponent: () => Promise<C> }> // true
11
+ * IsNavigable<{ path: 'a', redirectTo: 'b' }> // true
12
+ * IsNavigable<{ path: 'a', children: [...] }> // false
13
+ */
14
+ type IsNavigable<R extends Route> = R extends {
15
+ component: any;
16
+ } ? true : R extends {
17
+ loadComponent: any;
18
+ } ? true : R extends {
19
+ redirectTo: any;
20
+ } ? true : false;
21
+
22
+ /**
23
+ * Reads a Route's `path` property if it's a string, otherwise returns the
24
+ * empty string. Used so a path-less Route (allowed by Angular) contributes
25
+ * no segment when joined with its parents or children.
26
+ *
27
+ * @example
28
+ * RoutePathOrEmpty<{ path: 'home' }> // 'home'
29
+ * RoutePathOrEmpty<{ component: C }> // ''
30
+ */
31
+ type RoutePathOrEmpty<R extends Route> = R['path'] extends string ? R['path'] : '';
32
+
33
+ /**
34
+ * Unwraps a Route's `loadChildren` to its underlying `Route[]`.
35
+ *
36
+ * Returns `[]` if `loadChildren` is missing or returns an unrecognized shape.
37
+ *
38
+ * @example
39
+ * ExtractLazyChildRoutes<{
40
+ * path: 'lazy',
41
+ * loadChildren: () => Promise<[{ path: 'sub', component: C }]>
42
+ * }>
43
+ * // [{ path: 'sub', component: C }]
44
+ */
45
+ type ExtractLazyChildRoutes<R extends Route> = R['loadChildren'] extends (...args: any) => Promise<infer M> ? M extends readonly Route[] ? M : M extends {
46
+ routes: readonly Route[];
47
+ } ? M['routes'] : [] : [];
48
+
49
+ /**
50
+ * Joins two path segments with `/`, treating an empty segment as a no-op.
51
+ * Prevents leading/trailing/double slashes when a route has no path or sits
52
+ * at the root.
53
+ *
54
+ * @example
55
+ * JoinPathSegments<'a', 'b'> // 'a/b'
56
+ * JoinPathSegments<'', 'b'> // 'b'
57
+ * JoinPathSegments<'a', ''> // 'a'
58
+ * JoinPathSegments<'', ''> // ''
59
+ */
60
+ type JoinPathSegments<A extends string, B extends string> = A extends '' ? B : B extends '' ? A : `${A}/${B}`;
61
+
62
+ /**
63
+ * Emits every navigable path reachable from a single Route, with `:paramName`
64
+ * markers preserved. A Route contributes:
65
+ * - itself, if navigable (has component / loadComponent / redirectTo)
66
+ * - each of its children, prefixed with its own path
67
+ * - each of its lazy-loaded children, prefixed with its own path
68
+ *
69
+ * @example
70
+ * ExtractRawPathsFromRoute<{
71
+ * path: 'parent', component: C,
72
+ * children: [{ path: 'child', component: C }]
73
+ * }>
74
+ * // 'parent' | 'parent/child'
75
+ */
76
+ type ExtractRawPathsFromRoute<R extends Route, Prefix extends string = ''> = (IsNavigable<R> extends true ? JoinPathSegments<Prefix, RoutePathOrEmpty<R>> : never) | (R['children'] extends readonly Route[] ? ExtractRawPaths<R['children'], JoinPathSegments<Prefix, RoutePathOrEmpty<R>>> : never) | (R['loadChildren'] extends () => Promise<any> ? ExtractRawPaths<ExtractLazyChildRoutes<R>, JoinPathSegments<Prefix, RoutePathOrEmpty<R>>> : never);
77
+
78
+ /**
79
+ * Distributes over a Routes array, emitting every navigable path with
80
+ * `:paramName` markers intact. `Prefix` accumulates the parent path on
81
+ * each recursion step.
82
+ *
83
+ * @example
84
+ * ExtractRawPaths<[
85
+ * { path: 'home', component: C },
86
+ * { path: 'user/:id', component: C }
87
+ * ]>
88
+ * // 'home' | 'user/:id'
89
+ */
90
+ type ExtractRawPaths<Routes extends readonly Route[], Prefix extends string = ''> = Routes[number] extends infer R ? R extends Route ? ExtractRawPathsFromRoute<R, Prefix> : never : never;
91
+
92
+ /**
93
+ * Augmentation target for declaring concrete value types per route parameter
94
+ * name. Consumers augment via `'angular-typed-router'`:
95
+ *
96
+ * declare module 'angular-typed-router' {
97
+ * interface RouteParamTypes {
98
+ * 'org-id': OrgId;
99
+ * 'project-id': ProjectId;
100
+ * }
101
+ * }
102
+ *
103
+ * Each key matches a `:paramName` segment in the consumer's Routes; each value
104
+ * is the type that the param resolves to in `Path` and `Commands`.
105
+ */
106
+ interface RouteParamTypes {
107
+ }
108
+ declare const __rootCatchAll: unique symbol;
109
+ /**
110
+ * Brand for the bare-root `**` catch-all path. Distinguishes a route declared
111
+ * as `path: '**'` (matches anything from the root) from an arbitrary `string`.
112
+ */
113
+ type RootCatchAll = string & {
114
+ readonly [__rootCatchAll]: true;
115
+ };
116
+
117
+ /**
118
+ * Resolves a single `:paramName` to its declared value type.
119
+ *
120
+ * Returns `never` for undeclared params, so a route with an undeclared
121
+ * `:param` disappears from both Path and Commands.
122
+ *
123
+ * @example
124
+ * declare module './route-param-types' {
125
+ * interface RouteParamTypes { id: UserId }
126
+ * }
127
+ * type X = ResolveParam<'id'> // UserId
128
+ * type Y = ResolveParam<'unknown'> // never
129
+ */
130
+ type ResolveParam<Name extends string> = Name extends keyof RouteParamTypes ? RouteParamTypes[Name] : never;
131
+
132
+ /**
133
+ * Substitutes `:paramName` markers with their resolved types, producing a
134
+ * URL-string template-literal type. Brand types survive as type-level
135
+ * placeholders (`/user/${UserId}`).
136
+ *
137
+ * @example
138
+ * RawPathToUrl<'user/:id'> // `user/${UserId}` (assuming id: UserId)
139
+ * RawPathToUrl<'home'> // 'home'
140
+ * RawPathToUrl<'**'> // RootCatchAll
141
+ */
142
+ type RawPathToUrl<S extends string> = S extends `${infer Start}:${infer Param}/${infer Rest}` ? `${Start}${ResolveParam<Param>}/${RawPathToUrl<Rest>}` : S extends `${infer Start}:${infer Param}` ? `${Start}${ResolveParam<Param>}` : S extends `${infer Start}**/${infer Rest}` ? `${Start}${string}/${RawPathToUrl<Rest>}` : S extends `${infer Start}**` ? Start extends '' ? RootCatchAll : `${Start}${string}` : S;
143
+
144
+ /** Collapses a non-literal `string` input to `string` to prevent recursion artifacts. */
145
+ type Normalize<S extends string> = string extends S ? string : S;
146
+ /** Resolves one segment: `:param` → ResolveParam<Param>, literal → itself. */
147
+ type ResolveSegment<S extends string> = S extends `:${infer Name}` ? ResolveParam<Name> : Normalize<S>;
148
+ /**
149
+ * Splits a raw path on `/` and resolves each `:paramName` segment directly.
150
+ *
151
+ * @example
152
+ * RawPathToCommands<'user/:id'> // ['user', UserId]
153
+ * RawPathToCommands<'home'> // ['home']
154
+ * RawPathToCommands<''> // []
155
+ */
156
+ type RawPathToCommands<P extends string> = P extends string ? P extends `${infer Head}/${infer Rest}` ? ResolveSegment<Head> extends infer H ? H extends string | number ? [H, ...RawPathToCommands<Rest>] : never : never : P extends '' ? [] : ResolveSegment<P> extends infer H ? H extends string | number ? [H] : never : never : never;
157
+
158
+ /**
159
+ * Strips a trailing `/` from a string, with one exception: a bare `'/'` (the
160
+ * root URL) is preserved.
161
+ *
162
+ * @example
163
+ * RemoveTrailingSlash<'/home/'> // '/home'
164
+ * RemoveTrailingSlash<'/'> // '/'
165
+ * RemoveTrailingSlash<'/home'> // '/home'
166
+ */
167
+ type RemoveTrailingSlash<S extends string> = S extends '/' ? S : S extends `${infer T}/` ? RemoveTrailingSlash<T> : S;
168
+
169
+ /** Augmentation target. Consumers declare their routes here:
170
+ * `declare module 'angular-typed-router' { interface UserTypedRoutes { routes: typeof routes } }` */
171
+ interface UserTypedRoutes {
172
+ }
173
+ type ProvidedRoutes = UserTypedRoutes extends {
174
+ routes: readonly Route[];
175
+ } ? UserTypedRoutes['routes'] : [];
176
+ type RawPaths = ExtractRawPaths<ProvidedRoutes>;
177
+ type Path = RemoveTrailingSlash<`/${RawPathToUrl<RawPaths>}`>;
178
+ type Commands = readonly ['/', ...RawPathToCommands<RawPaths>];
179
+
180
+ declare class TypedRouter extends Router {
181
+ navigate(commands: Commands, extras?: NavigationExtras): Promise<boolean>;
182
+ navigateByUrl(url: Path, extras?: NavigationBehaviorOptions): Promise<boolean>;
183
+ createUrlTree(commands: Commands, navigationExtras?: UrlCreationOptions): UrlTree;
184
+ static ɵfac: i0.ɵɵFactoryDeclaration<TypedRouter, never>;
185
+ static ɵprov: i0.ɵɵInjectableDeclaration<TypedRouter>;
186
+ }
187
+
188
+ declare class TypedRouterLink extends RouterLink {
189
+ set routerLink(commandsOrUrlTree: Commands | Path | UrlTree | null | undefined);
190
+ static ɵfac: i0.ɵɵFactoryDeclaration<TypedRouterLink, never>;
191
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TypedRouterLink, "[routerLink]", never, { "routerLink": { "alias": "routerLink"; "required": false; }; }, {}, never, never, true, never>;
192
+ }
193
+
194
+ export { TypedRouter, TypedRouterLink };
195
+ export type { Commands, Path, RouteParamTypes, UserTypedRoutes };
package/index.d.ts DELETED
@@ -1,68 +0,0 @@
1
- import { Route, Router, NavigationExtras, NavigationBehaviorOptions, UrlCreationOptions, UrlTree, RouterLink } from '@angular/router';
2
- import * as i0 from '@angular/core';
3
-
4
- type _Normalize<S extends string> = string extends S ? string : S;
5
- type PathToTuple<P extends string> = P extends `${infer Head}/${infer Rest}` ? [_Normalize<Head>, ...PathToTuple<Rest>] : P extends '' ? [] : [_Normalize<P>];
6
-
7
- type IsNavigable<R extends Route> = R extends {
8
- component: any;
9
- } ? true : R extends {
10
- loadComponent: any;
11
- } ? true : R extends {
12
- redirectTo: any;
13
- } ? true : false;
14
-
15
- declare const __rootCatchAll: unique symbol;
16
- type RootCatchAll = string & {
17
- readonly [__rootCatchAll]: true;
18
- };
19
- interface RouteParamTypes {
20
- }
21
- type ParamValueType<Name extends string> = Name extends keyof RouteParamTypes ? RouteParamTypes[Name] : never;
22
- type _ReplaceParams<S extends string> = S extends `${infer Start}:${infer Param}/${infer Rest}` ? `${Start}${ParamValueType<Param>}/${_ReplaceParams<Rest>}` : S extends `${infer Start}:${infer Param}` ? `${Start}${ParamValueType<Param>}` : S extends `${infer Start}**/${infer Rest}` ? `${Start}${string}/${_ReplaceParams<Rest>}` : S extends `${infer Start}**` ? Start extends '' ? RootCatchAll : `${Start}${string}` : S;
23
- type ReplaceParams<S extends string> = _ReplaceParams<S>;
24
-
25
- type PathOrEmptyString<R extends Route> = R['path'] extends string ? R['path'] : '';
26
-
27
- type ExtractLazyChildRoutes<R extends Route> = R['loadChildren'] extends (...args: any) => Promise<infer M> ? M extends readonly Route[] ? M : M extends {
28
- routes: readonly Route[];
29
- } ? M['routes'] : [] : [];
30
-
31
- type JoinPathSegments<A extends string, B extends string> = A extends '' ? B : B extends '' ? A : `${A}/${B}`;
32
-
33
- type ExtractChildren<Routes extends readonly Route[], Prefix extends string> = Routes[number] extends infer R ? R extends Route ? ExtractPathsFromRoute<R, Prefix> : never : never;
34
- type ExtractPathsFromRoute<R extends Route, Prefix extends string = ''> = (IsNavigable<R> extends true ? ReplaceParams<JoinPathSegments<Prefix, PathOrEmptyString<R>>> : never) | (R['children'] extends readonly Route[] ? ExtractChildren<R['children'], ReplaceParams<JoinPathSegments<Prefix, PathOrEmptyString<R>>>> : never) | (R['loadChildren'] extends () => Promise<any> ? ExtractChildren<ExtractLazyChildRoutes<R>, ReplaceParams<JoinPathSegments<Prefix, PathOrEmptyString<R>>>> : never);
35
-
36
- type ExtractPathsFromRoutes<Routes extends readonly Route[], Prefix extends string = ''> = Routes[number] extends infer R ? R extends Route ? ExtractPathsFromRoute<R, Prefix> : never : never;
37
-
38
- type RemoveTrailingSlash<S extends string> = S extends '/' ? S : S extends `${infer T}/` ? RemoveTrailingSlash<T> : S;
39
-
40
- /**
41
- * Merge target. Consumer augments this interface:
42
- * declare module 'angular-typed-router' { interface UserTypedRoutes { routes: typeof routes; } }`
43
- */
44
- interface UserTypedRoutes {
45
- }
46
- type ProvidedRoutes = UserTypedRoutes extends {
47
- routes: readonly Route[];
48
- } ? UserTypedRoutes['routes'] : [];
49
- type Path = RemoveTrailingSlash<`/${ExtractPathsFromRoutes<ProvidedRoutes>}`>;
50
- type CommandPath = ExtractPathsFromRoutes<ProvidedRoutes>;
51
- type Commands = ['/', ...PathToTuple<CommandPath>];
52
-
53
- declare class TypedRouter extends Router {
54
- navigate(commands: Commands, extras?: NavigationExtras): Promise<boolean>;
55
- navigateByUrl(url: Path, extras?: NavigationBehaviorOptions): Promise<boolean>;
56
- createUrlTree(commands: Commands, navigationExtras?: UrlCreationOptions): UrlTree;
57
- static ɵfac: i0.ɵɵFactoryDeclaration<TypedRouter, never>;
58
- static ɵprov: i0.ɵɵInjectableDeclaration<TypedRouter>;
59
- }
60
-
61
- declare class TypedRouterLink extends RouterLink {
62
- set routerLink(commandsOrUrlTree: Commands | Path | UrlTree | null | undefined);
63
- static ɵfac: i0.ɵɵFactoryDeclaration<TypedRouterLink, never>;
64
- static ɵdir: i0.ɵɵDirectiveDeclaration<TypedRouterLink, "[routerLink]", never, { "routerLink": { "alias": "routerLink"; "required": false; }; }, {}, never, never, true, never>;
65
- }
66
-
67
- export { TypedRouter, TypedRouterLink };
68
- export type { Commands, ExtractPathsFromRoutes, Path, RouteParamTypes, UserTypedRoutes };