11/** @module url */ /** */
22import {
33 UIRouter ,
4- UrlRouter ,
54 LocationServices ,
65 $InjectorLike ,
76 BaseUrlRule ,
87 UrlRuleHandlerFn ,
98 UrlMatcher ,
109 IInjectable ,
10+ UrlRouter ,
1111} from '@uirouter/core' ;
1212import { services , isString , isFunction , isArray , identity } from '@uirouter/core' ;
1313
@@ -30,25 +30,19 @@ export interface RawNg1RuleFunction {
3030 * @deprecated
3131 */
3232export class UrlRouterProvider {
33- /** @hidden */ _router : UIRouter ;
34- /** @hidden */ _urlRouter : UrlRouter ;
35-
3633 static injectableHandler ( router : UIRouter , handler ) : UrlRuleHandlerFn {
3734 return match => services . $injector . invoke ( handler , null , { $match : match , $stateParams : router . globals . params } ) ;
3835 }
3936
4037 /** @hidden */
41- constructor ( router : UIRouter ) {
42- this . _router = router ;
43- this . _urlRouter = router . urlRouter ;
44- }
38+ constructor ( /** @hidden */ private router : UIRouter ) { }
4539
4640 /** @hidden */
47- $get ( ) {
48- const urlRouter = this . _urlRouter ;
49- urlRouter . update ( true ) ;
50- if ( ! urlRouter . interceptDeferred ) urlRouter . listen ( ) ;
51- return urlRouter ;
41+ $get ( ) : UrlRouter {
42+ const urlService = this . router . urlService ;
43+ this . router . urlRouter . update ( true ) ;
44+ if ( ! urlService . interceptDeferred ) urlService . listen ( ) ;
45+ return this . router . urlRouter ;
5246 }
5347
5448 /**
@@ -85,10 +79,10 @@ export class UrlRouterProvider {
8579 rule ( ruleFn : RawNg1RuleFunction ) : UrlRouterProvider {
8680 if ( ! isFunction ( ruleFn ) ) throw new Error ( "'rule' must be a function" ) ;
8781
88- const match = ( ) => ruleFn ( services . $injector , this . _router . locationService ) ;
82+ const match = ( ) => ruleFn ( services . $injector , this . router . locationService ) ;
8983
9084 const rule = new BaseUrlRule ( match , identity ) ;
91- this . _urlRouter . rule ( rule ) ;
85+ this . router . urlService . rules . rule ( rule ) ;
9286 return this ;
9387 }
9488
@@ -119,12 +113,11 @@ export class UrlRouterProvider {
119113 * @return {object } `$urlRouterProvider` - `$urlRouterProvider` instance
120114 */
121115 otherwise ( rule : string | RawNg1RuleFunction ) : UrlRouterProvider {
122- const urlRouter = this . _urlRouter ;
123-
116+ const urlRules = this . router . urlService . rules ;
124117 if ( isString ( rule ) ) {
125- urlRouter . otherwise ( rule ) ;
118+ urlRules . otherwise ( rule ) ;
126119 } else if ( isFunction ( rule ) ) {
127- urlRouter . otherwise ( ( ) => rule ( services . $injector , this . _router . locationService ) ) ;
120+ urlRules . otherwise ( ( ) => rule ( services . $injector , this . router . locationService ) ) ;
128121 } else {
129122 throw new Error ( "'rule' must be a string or function" ) ;
130123 }
@@ -172,10 +165,10 @@ export class UrlRouterProvider {
172165 */
173166 when ( what : RegExp | UrlMatcher | string , handler : string | IInjectable ) {
174167 if ( isArray ( handler ) || isFunction ( handler ) ) {
175- handler = UrlRouterProvider . injectableHandler ( this . _router , handler ) ;
168+ handler = UrlRouterProvider . injectableHandler ( this . router , handler ) ;
176169 }
177170
178- this . _urlRouter . when ( what , handler as any ) ;
171+ this . router . urlService . rules . when ( what , handler as any ) ;
179172 return this ;
180173 }
181174
@@ -210,6 +203,6 @@ export class UrlRouterProvider {
210203 * Passing no parameter is equivalent to `true`.
211204 */
212205 deferIntercept ( defer ?: boolean ) {
213- this . _urlRouter . deferIntercept ( defer ) ;
206+ this . router . urlService . deferIntercept ( defer ) ;
214207 }
215208}
0 commit comments