diff --git a/packages/core/src/runtime/actor.ts b/packages/core/src/runtime/actor.ts index 7ca9092..d81227f 100644 --- a/packages/core/src/runtime/actor.ts +++ b/packages/core/src/runtime/actor.ts @@ -326,12 +326,12 @@ export class Turn { } // Alias for syndicatec code generator to use - _spawn(bootProc: LocalAction, initialAssertions = new IdentitySet()): void { - this.spawn(bootProc, initialAssertions); + _spawn(bootProc: LocalAction, initialAssertions = new IdentitySet()): Actor { + return this.spawn(bootProc, initialAssertions); } - spawn(bootProc: LocalAction, initialAssertions = new IdentitySet()): void { - this.__spawn(bootProc, initialAssertions); + spawn(bootProc: LocalAction, initialAssertions = new IdentitySet()): Actor { + return this.__spawn(bootProc, initialAssertions); } __spawn(bootProc: LocalAction, initialAssertions = new IdentitySet()): Actor { @@ -348,15 +348,16 @@ export class Turn { } // Alias for syndicatec code generator to use - _spawnLink(bootProc: LocalAction, initialAssertions = new IdentitySet()): void { - this.spawnLink(bootProc, initialAssertions); + _spawnLink(bootProc: LocalAction, initialAssertions = new IdentitySet()): Actor | null { + return this.spawnLink(bootProc, initialAssertions); } - spawnLink(bootProc: LocalAction, initialAssertions = new IdentitySet()): void { - if (!this.activeFacet.isLive) return; + spawnLink(bootProc: LocalAction, initialAssertions = new IdentitySet()): Actor | null { + if (!this.activeFacet.isLive) return null; const newActor = this.__spawn(bootProc, initialAssertions); this.activeFacet._halfLink(newActor.root); newActor.root._halfLink(this.activeFacet); + return newActor; } stopActor(): void {