Allow booting an actor into an existing ActorSpace
This commit is contained in:
parent
c6eef34736
commit
2671033b07
|
@ -101,8 +101,16 @@ export class Actor {
|
||||||
exitReason: ExitReason = null;
|
exitReason: ExitReason = null;
|
||||||
readonly exitHooks: Array<LocalAction> = [];
|
readonly exitHooks: Array<LocalAction> = [];
|
||||||
|
|
||||||
static boot(bootProc: LocalAction, initialAssertions: OutboundMap = new Map()): Actor {
|
static boot(bootProc: LocalAction, space: ActorSpace, initialAssertions?: OutboundMap): Actor;
|
||||||
const newActor = new Actor(new ActorSpace(), initialAssertions);
|
static boot(bootProc: LocalAction, initialAssertions?: OutboundMap): Actor;
|
||||||
|
static boot(bootProc: LocalAction, spaceOrInitialAssertions?: ActorSpace | OutboundMap, initialAssertions0?: OutboundMap): Actor {
|
||||||
|
const space: ActorSpace = (spaceOrInitialAssertions && !Map.isMap(spaceOrInitialAssertions))
|
||||||
|
? spaceOrInitialAssertions
|
||||||
|
: new ActorSpace();
|
||||||
|
const initialAssertions: OutboundMap | undefined = (spaceOrInitialAssertions && Map.isMap(spaceOrInitialAssertions))
|
||||||
|
? spaceOrInitialAssertions
|
||||||
|
: (spaceOrInitialAssertions ? initialAssertions0 : void 0);
|
||||||
|
const newActor = new Actor(space, initialAssertions);
|
||||||
newActor._boot(bootProc);
|
newActor._boot(bootProc);
|
||||||
return newActor;
|
return newActor;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue