@@ -10,7 +10,7 @@ import {
10
10
omit , toJson , arrayTuples , unnestR , identity , anyTrueR
11
11
} from "../common/common" ;
12
12
import { isObject , isArray } from "../common/predicates" ;
13
- import { prop , propEq , val , not } from "../common/hof" ;
13
+ import { prop , propEq , val , not , is } from "../common/hof" ;
14
14
15
15
import { StateDeclaration , StateOrName } from "../state/interface" ;
16
16
import {
@@ -36,6 +36,7 @@ import {UIRouter} from "../router";
36
36
import { Globals } from "../globals" ;
37
37
import { UIInjector } from "../interface" ;
38
38
import { RawParams } from "../params/interface" ;
39
+ import { ResolvableLiteral } from "../resolve/interface" ;
39
40
40
41
/** @hidden */
41
42
const stateSelf : ( _state : State ) => StateDeclaration = prop ( "self" ) ;
@@ -323,17 +324,19 @@ export class Transition implements IHookRegistry {
323
324
}
324
325
325
326
/**
326
- * Dynamically adds a new [[Resolvable]] (` resolve` ) to this transition.
327
+ * Dynamically adds a new [[Resolvable]] (i.e., [[StateDeclaration. resolve]] ) to this transition.
327
328
*
328
- * @param resolvable an [[Resolvable ]] object
329
+ * @param resolvable a [[ResolvableLiteral ]] object (or a [[Resolvable]])
329
330
* @param state the state in the "to path" which should receive the new resolve (otherwise, the root state)
330
331
*/
331
- addResolvable ( resolvable : Resolvable , state : StateOrName = "" ) : void {
332
+ addResolvable ( resolvable : Resolvable | ResolvableLiteral , state : StateOrName = "" ) : void {
333
+ resolvable = is ( Resolvable ) ( resolvable ) ? resolvable : new Resolvable ( resolvable ) ;
334
+
332
335
let stateName : string = ( typeof state === "string" ) ? state : state . name ;
333
336
let topath = this . _treeChanges . to ;
334
337
let targetNode = find ( topath , node => node . state . name === stateName ) ;
335
338
let resolveContext : ResolveContext = new ResolveContext ( topath ) ;
336
- resolveContext . addResolvables ( [ resolvable ] , targetNode . state ) ;
339
+ resolveContext . addResolvables ( [ resolvable as Resolvable ] , targetNode . state ) ;
337
340
}
338
341
339
342
/**
0 commit comments