@quenk/potoo 4.2.0 → 4.2.2
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/lib/actor/local/index.d.ts +8 -11
- package/lib/actor/local/index.js +10 -15
- package/lib/actor/local/index.js.map +1 -1
- package/lib/actor/system/vm/event/dispatcher.js +3 -2
- package/lib/actor/system/vm/event/dispatcher.js.map +1 -1
- package/lib/actor/system/vm/thread/shared/js.js +5 -3
- package/lib/actor/system/vm/thread/shared/js.js.map +1 -1
- package/lib/actor/template.d.ts +1 -1
- package/package.json +1 -1
|
@@ -62,23 +62,20 @@ export declare abstract class Immutable extends BaseLocal {
|
|
|
62
62
|
* method.
|
|
63
63
|
*
|
|
64
64
|
* These actors can communicate with the rest of the system if needed but
|
|
65
|
-
* should limit communication
|
|
66
|
-
* final
|
|
65
|
+
* most times, should limit communication to the parent as much as possible
|
|
66
|
+
* in the form of the final value.
|
|
67
67
|
*
|
|
68
|
-
*
|
|
69
|
-
*
|
|
70
|
-
*
|
|
68
|
+
* Forks can utilize receiveUntil() to block until a specific message is
|
|
69
|
+
* received. Use this im the run() method to wait for a desired condition
|
|
70
|
+
* before returning a final value.
|
|
71
71
|
*/
|
|
72
72
|
export declare abstract class Fork<T> extends BaseLocal implements Runnable<T> {
|
|
73
|
-
selectors<M>(): Case<Promise<M> | M>[];
|
|
74
73
|
/**
|
|
75
|
-
* receiveUntil
|
|
76
|
-
* incomming messages until the conditions of the predicate function
|
|
77
|
-
* are met.
|
|
74
|
+
* receiveUntil the result of any matched case satisfies function f.
|
|
78
75
|
*
|
|
79
|
-
* Use this to block the actor until it is ready to return a value.
|
|
76
|
+
* Use this to block the actor until it is ready to return a value.
|
|
80
77
|
*/
|
|
81
|
-
receiveUntil<M>(f: MessagePredicate): Promise<M>;
|
|
78
|
+
receiveUntil<M>(cases: Case<M>[], f: MessagePredicate): Promise<M>;
|
|
82
79
|
abstract run(): Promise<T>;
|
|
83
80
|
start(): Promise<void>;
|
|
84
81
|
}
|
package/lib/actor/local/index.js
CHANGED
|
@@ -84,30 +84,25 @@ exports.Immutable = Immutable;
|
|
|
84
84
|
* method.
|
|
85
85
|
*
|
|
86
86
|
* These actors can communicate with the rest of the system if needed but
|
|
87
|
-
* should limit communication
|
|
88
|
-
* final
|
|
87
|
+
* most times, should limit communication to the parent as much as possible
|
|
88
|
+
* in the form of the final value.
|
|
89
89
|
*
|
|
90
|
-
*
|
|
91
|
-
*
|
|
92
|
-
*
|
|
90
|
+
* Forks can utilize receiveUntil() to block until a specific message is
|
|
91
|
+
* received. Use this im the run() method to wait for a desired condition
|
|
92
|
+
* before returning a final value.
|
|
93
93
|
*/
|
|
94
94
|
class Fork extends BaseLocal {
|
|
95
|
-
selectors() {
|
|
96
|
-
return [];
|
|
97
|
-
}
|
|
98
95
|
/**
|
|
99
|
-
* receiveUntil
|
|
100
|
-
* incomming messages until the conditions of the predicate function
|
|
101
|
-
* are met.
|
|
96
|
+
* receiveUntil the result of any matched case satisfies function f.
|
|
102
97
|
*
|
|
103
|
-
* Use this to block the actor until it is ready to return a value.
|
|
98
|
+
* Use this to block the actor until it is ready to return a value.
|
|
104
99
|
*/
|
|
105
|
-
async receiveUntil(f) {
|
|
106
|
-
return this.runtime.receiveUntil(
|
|
100
|
+
async receiveUntil(cases, f) {
|
|
101
|
+
return this.runtime.receiveUntil(cases, f);
|
|
107
102
|
}
|
|
108
103
|
async start() {
|
|
109
104
|
this.runtime.finalValue = await this.run();
|
|
110
|
-
this.exit();
|
|
105
|
+
await this.exit();
|
|
111
106
|
}
|
|
112
107
|
}
|
|
113
108
|
exports.Fork = Fork;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/actor/local/index.ts"],"names":[],"mappings":";;;AASA,2DAAuE;AAA9D,gGAAA,QAAQ,OAAA;AAAE,+FAAA,OAAO,OAAA;AAQ1B;;GAEG;AACH,MAAsB,SAAS;IAC3B,YAAmB,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;QAEnC,SAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAFa,CAAC;IAIvC,KAAK,CAAC,MAAM,CAAC,GAAY;QACrB,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,MAAiB;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,CAAI,CAAc;QAClB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,IAAI,CAAI,IAAa,EAAE,GAAM;QAC/B,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,GAAQ;QAChB,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAa;QACpB,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,IAAI;QACN,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,KAAK,KAAI,CAAC;IAEhB,KAAK,CAAC,IAAI,KAAI,CAAC;IAEf,KAAK,CAAC,OAAO,CAAI,QAAmB,EAAE;QAClC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAI,IAAsB;QAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;CACJ;AA5CD,8BA4CC;AAED;;GAEG;AACH,MAAsB,OAAQ,SAAQ,SAAS;IAC3C,KAAK,CAAC,KAAK;QACP,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,GAAG,KAAI,CAAC;CACjB;AAND,0BAMC;AAED;;;;;;;;;GASG;AACH,MAAsB,SAAU,SAAQ,SAAS;IAC7C;;;OAGG;IACH,SAAS;QACL,OAAO,EAAE,CAAC;IACd,CAAC;IAED,KAAK,CAAC,GAAG,KAAI,CAAC;IAEd,KAAK,CAAC,KAAK;QACP,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;YAAE,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IACxE,CAAC;CACJ;AAfD,8BAeC;AAED;;;;;;;;;;;GAWG;AACH,MAAsB,IAAQ,SAAQ,SAAS;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/actor/local/index.ts"],"names":[],"mappings":";;;AASA,2DAAuE;AAA9D,gGAAA,QAAQ,OAAA;AAAE,+FAAA,OAAO,OAAA;AAQ1B;;GAEG;AACH,MAAsB,SAAS;IAC3B,YAAmB,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;QAEnC,SAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAFa,CAAC;IAIvC,KAAK,CAAC,MAAM,CAAC,GAAY;QACrB,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,MAAiB;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,CAAI,CAAc;QAClB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,IAAI,CAAI,IAAa,EAAE,GAAM;QAC/B,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,GAAQ;QAChB,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAa;QACpB,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,IAAI;QACN,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,KAAK,KAAI,CAAC;IAEhB,KAAK,CAAC,IAAI,KAAI,CAAC;IAEf,KAAK,CAAC,OAAO,CAAI,QAAmB,EAAE;QAClC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAI,IAAsB;QAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;CACJ;AA5CD,8BA4CC;AAED;;GAEG;AACH,MAAsB,OAAQ,SAAQ,SAAS;IAC3C,KAAK,CAAC,KAAK;QACP,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,GAAG,KAAI,CAAC;CACjB;AAND,0BAMC;AAED;;;;;;;;;GASG;AACH,MAAsB,SAAU,SAAQ,SAAS;IAC7C;;;OAGG;IACH,SAAS;QACL,OAAO,EAAE,CAAC;IACd,CAAC;IAED,KAAK,CAAC,GAAG,KAAI,CAAC;IAEd,KAAK,CAAC,KAAK;QACP,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;YAAE,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IACxE,CAAC;CACJ;AAfD,8BAeC;AAED;;;;;;;;;;;GAWG;AACH,MAAsB,IAAQ,SAAQ,SAAS;IAE3C;;;;OAIG;IACH,KAAK,CAAC,YAAY,CAAI,KAAgB,EAAE,CAAmB;QACvD,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,EAAG,CAAC,CAAC,CAAC;IAChD,CAAC;IAID,KAAK,CAAC,KAAK;QACP,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QAC3C,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC;CACJ;AAjBD,oBAiBC"}
|
|
@@ -85,9 +85,10 @@ class EventDispatcher {
|
|
|
85
85
|
reject(new Error(`[${thread.address}]: ERR_MONITOR_ACTOR_STOPPED`));
|
|
86
86
|
}
|
|
87
87
|
};
|
|
88
|
-
// listen for the stop event if the target is not one of the EOL
|
|
88
|
+
// listen for the stop event if the target is not one of the EOL
|
|
89
89
|
// events.
|
|
90
|
-
if (
|
|
90
|
+
if (type !== events.EVENT_ACTOR_STOPPED &&
|
|
91
|
+
type !== events.EVENT_ACTOR_DEALLOCATED)
|
|
91
92
|
this.addListener(thread.address, events.EVENT_ACTOR_STOPPED, handler);
|
|
92
93
|
this.addListener(thread.address, type, handler);
|
|
93
94
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../../../../src/actor/system/vm/event/dispatcher.ts"],"names":[],"mappings":";;;AAAA,6BAA6B;AAE7B,oDAA2D;AAQ3D,MAAM,QAAQ,GAAG;IACb,OAAO,EAAE,IAAI,GAAG,CAAC;QACb,CAAC,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAAC,gBAAgB,CAAC;QACpD,CAAC,MAAM,CAAC,sBAAsB,EAAE,MAAM,CAAC,mBAAmB,CAAC;QAC3D,CAAC,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAAC,kBAAkB,CAAC;QACxD,CAAC,MAAM,CAAC,qBAAqB,EAAE,MAAM,CAAC,gBAAgB,CAAC;KAC1D,CAAC;IACF,KAAK,EAAE,IAAI,GAAG,CAAC;QACX,CAAC,MAAM,CAAC,qBAAqB,EAAE,MAAM,CAAC,mBAAmB,CAAC;QAC1D,CAAC,MAAM,CAAC,mBAAmB,EAAE,MAAM,CAAC,iBAAiB,CAAC;QACtD,CAAC,MAAM,CAAC,mBAAmB,EAAE,MAAM,CAAC,iBAAiB,CAAC;QACtD,CAAC,MAAM,CAAC,mBAAmB,EAAE,MAAM,CAAC,iBAAiB,CAAC;QACtD,CAAC,MAAM,CAAC,uBAAuB,EAAE,MAAM,CAAC,qBAAqB,CAAC;KACjE,CAAC;CACL,CAAC;AAEW,QAAA,gBAAgB,GAAG,GAAG,CAAC;AAYpC;;;;;;;;;;;;GAYG;AACH,MAAa,eAAe;IACxB,YACW,GAAsB,EACtB,OAAkC,IAAI,GAAG,EAAE;QAD3C,QAAG,GAAH,GAAG,CAAmB;QACtB,SAAI,GAAJ,IAAI,CAAuC;IACnD,CAAC;IAEJ;;;OAGG;IACH,WAAW,CAAC,KAAc,EAAE,IAAe,EAAE,QAAkB;QAC3D,IAAI,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;QAC/C,IAAI,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACvC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzB,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,KAAc,EAAE,IAAe,EAAE,QAAkB;QAC9D,IAAI,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,MAAM,EAAE,CAAC;YACT,IAAI,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAEjC,IAAI,SAAS,EAAE,CAAC;gBACZ,IAAI,YAAY,GAAG,SAAS,CAAC,MAAM,CAC/B,MAAM,CAAC,EAAE,CAAC,MAAM,KAAK,QAAQ,CAChC,CAAC;gBACF,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;oBAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;;oBAC9C,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YACxC,CAAC;YACD,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC;gBAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnD,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,OAAO,CAAC,MAAc,EAAE,IAAsB;QAChD,OAAO,IAAI,OAAO,CAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACzD,IAAI,OAAO,GAAG,KAAK,EAAE,KAA2B,EAAE,EAAE;gBAChD,IAAI,CAAC,cAAc,CACf,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,mBAAmB,EAC1B,OAAO,CACV,CAAC;gBAEF,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;gBAEnD,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;oBACtB,OAAO,CAAC,KAAK,CAAC,CAAC;gBACnB,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,mBAAmB,EAAE,CAAC;oBACnD,MAAM,CACF,IAAI,KAAK,CACL,IAAI,MAAM,CAAC,OAAO,8BAA8B,CACnD,CACJ,CAAC;gBACN,CAAC;YACL,CAAC,CAAC;YAEF,
|
|
1
|
+
{"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../../../../src/actor/system/vm/event/dispatcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -110,9 +110,11 @@ class JSThread {
|
|
|
110
110
|
if (mthread.isNothing()) {
|
|
111
111
|
throw new Error(`Failed to find thread with address ${addr}`);
|
|
112
112
|
}
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
113
|
+
while (true) {
|
|
114
|
+
if ((await this.vm.events.monitor(this, event_1.EVENT_ACTOR_DEALLOCATED)).address === addr)
|
|
115
|
+
break;
|
|
116
|
+
}
|
|
117
|
+
return mthread.get().finalValue;
|
|
116
118
|
}
|
|
117
119
|
async tell(addr, msg) {
|
|
118
120
|
this._assertValid();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"js.js","sourceRoot":"","sources":["../../../../../../src/actor/system/vm/thread/shared/js.ts"],"names":[],"mappings":";;;AACA,iEAA8D;AAC9D,sDAAmD;AACnD,6DAI4C;AAC5C,4DAAyD;AACzD,oDAA6D;AAC7D,sDAAmD;AAEnD,mDAO8B;AAC9B,iDAA+D;AAC/D,+CAKyB;AAGzB,wBAA8C;AAC9C,
|
|
1
|
+
{"version":3,"file":"js.js","sourceRoot":"","sources":["../../../../../../src/actor/system/vm/thread/shared/js.ts"],"names":[],"mappings":";;;AACA,iEAA8D;AAC9D,sDAAmD;AACnD,6DAI4C;AAC5C,4DAAyD;AACzD,oDAA6D;AAC7D,sDAAmD;AAEnD,mDAO8B;AAC9B,iDAA+D;AAC/D,+CAKyB;AAGzB,wBAA8C;AAC9C,uCAOqB;AAErB,MAAM,YAAY,GAAG,CAAC,IAAI,cAAO,CAAC,mBAAQ,CAAC,CAAC,CAAC;AAEhC,QAAA,kBAAkB,GAAG,oBAAoB,CAAC;AAEvD;;GAEG;AACH,MAAa,QAAQ;IACjB,YACW,EAAM,EACN,QAAwB,EACxB,OAAgB,EAChB,UAAqB,EAAE,EACvB,QAAqB,cAAW,CAAC,IAAI,EACrC,QAAsB,aAAK,CAAC,OAAO,EAAE,EACrC,UAAiB;QANjB,OAAE,GAAF,EAAE,CAAI;QACN,aAAQ,GAAR,QAAQ,CAAgB;QACxB,YAAO,GAAP,OAAO,CAAS;QAChB,YAAO,GAAP,OAAO,CAAgB;QACvB,UAAK,GAAL,KAAK,CAAgC;QACrC,UAAK,GAAL,KAAK,CAAgC;QACrC,eAAU,GAAV,UAAU,CAAO;QAGnB,SAAI,GAAG,IAAI,CAAC,OAAO,CAAC;IAF1B,CAAC;IAIJ,YAAY;QACR,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,0BAAkB,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO;QACH,OAAO,CACH,IAAI,CAAC,KAAK,KAAK,cAAW,CAAC,OAAO;YAClC,IAAI,CAAC,KAAK,KAAK,cAAW,CAAC,KAAK,CACnC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,KAAK;QACP,IAAI,EAAE,GAAG,EAAE,GAAsB,IAAI,CAAC,QAAQ,CAAC;QAC/C,IAAI,EAAE,MAAM,EAAE,GAAyB,IAAI,CAAC,QAAQ,CAAC;QAErD,IAAI,IAAA,iBAAU,EAAC,GAAG,CAAC,EAAE,CAAC;YAClB,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;aAAM,IAAI,IAAA,iBAAU,EAAC,MAAM,CAAC,EAAE,CAAC;YAC5B,IAAI,KAAK,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAI,CAAC,KAAK,GAAG,aAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/B,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;QACxB,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAY;QACrB,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEvB,IAAI,IAAI,CAAC,KAAK,KAAK,cAAW,CAAC,QAAQ;YAAE,IAAI,CAAC,MAAM,EAAE,CAAC;QAEvD,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,IAAI;QACN,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YAAE,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,KAAK,CAAI,IAAmC;QAC9C,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,MAAM,CAAC,IAAA,iBAAU,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,eAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAC1D,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAClB,CAAC;IACN,CAAC;IAED,KAAK,CAAC,IAAI;QACN,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAAgB;QACvB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,OAAO,KAAK,IAAI,CAAC,IAAI;YAAE,IAAI,CAAC,KAAK,GAAG,cAAW,CAAC,OAAO,CAAC;QAC5D,MAAM,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IAED,GAAG;QACC,IAAI,CAAC,KAAK,GAAG,cAAW,CAAC,OAAO,CAAC;QACjC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAC7B,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,OAAO,EACZ,2BAAmB,CACtB,CAAC;IACN,CAAC;IAED;;OAEG;IACH,MAAM;QACF,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,KAAK,GAAG,cAAW,CAAC,IAAI,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,CAAM;QACd,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,KAAK,GAAG,cAAW,CAAC,KAAK,CAAC;QAC/B,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAe;QACvB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,MAAM,GAAG,MAAM,eAAM,CAAC,YAAY,CAAU,EAAE,CAAC,EAAE;YACjD,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CACtB,IAAI,gBAAI,CAAC,2BAAe,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE;gBAC3C,IAAI,OAAO,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAC1C,IAAI,EACJ,IAAA,wBAAa,EAAC,IAAI,CAAC,CACtB,CAAC;gBACF,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACtB,CAAC,CAAC,CACL,CAAC;QACN,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CAAI,IAAe;QACzB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,8CAA8C;QAC9C,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,iCACpB,IAAA,wBAAa,EAAC,IAAI,CAAC,KACtB,YAAY,EAAE,kCAAuB,IACvC,CAAC;QAEH,IAAI,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAEhD,IAAI,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,sCAAsC,IAAI,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,OAAM,IAAI,EAAE,CAAC;YACX,IAAG,CAAyB,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,+BAAuB,CAAE,CAAA,CAAC,OAAO,KAAK,IAAI;gBACvG,MAAM;QACV,CAAC;QAED,OAAkB,OAAO,CAAC,GAAG,EAAG,CAAC,UAAU,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAa,EAAE,GAAY;QAClC,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,MAAM,eAAM,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE;YAC3B,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CACtB,IAAI,gBAAI,CAAC,0BAAc,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE;gBAC1C,MAAM,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;gBAC3C,EAAE,CAAC,IAAI,CAAC,CAAC;YACb,CAAC,CAAC,CACL,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,OAAO,CAAI,QAAmB,EAAE;QAClC,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,GAAG,GAAG,MAAM,eAAM,CAAC,YAAY,CAAI,EAAE,CAAC,EAAE;YACxC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAC7B,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,OAAO,EACZ,2BAAmB,CACtB,CAAC;YACF,IAAI,OAAO,GAAG,IAAI,mBAAY,CAAC,IAAA,aAAK,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACpE,IAAI,IAAI,GAAG,IAAI,gBAAI,CAAC,6BAAiB,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE;gBACxD,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,IAAI,CAAC,IAAA,aAAK,EAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;oBACvB,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;oBAC/B,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;wBACpB,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAC/B,IAAI,CAAC,OAAO,EACZ,8BAAsB,EACtB,yBAAe,EACf,GAAG,CACN,CAAC;wBACF,gDAAgD;wBAChD,gBAAgB;wBAChB,IAAI,CAAC,MAAM,EAAE,CAAC;wBACd,IAAI,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBACtC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;oBAC5B,CAAC;oBACD,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAC/B,IAAI,CAAC,OAAO,EACZ,6BAAqB,EACrB,yBAAe,EACf,GAAG,CACN,CAAC;gBACN,CAAC;gBACD,IAAI,CAAC,KAAK,GAAG,cAAW,CAAC,QAAQ,CAAC;gBAClC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;IACf,CAAC;IAED,KAAK,CAAC,YAAY,CACd,KAAgB,EAChB,CAA0B;QAE1B,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,OAAO,IAAI,EAAE,CAAC;YACV,IAAI,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACpC,IAAI,CAAC,CAAC,GAAG,CAAC;gBAAE,OAAO,GAAG,CAAC;QAC3B,CAAC;IACL,CAAC;CACJ;AArMD,4BAqMC"}
|
package/lib/actor/template.d.ts
CHANGED
|
@@ -140,7 +140,7 @@ export interface ProcessTemplate extends BaseTemplate {
|
|
|
140
140
|
export interface ForkTemplate<T> extends BaseTemplate {
|
|
141
141
|
create: CreateForkFunc<T>;
|
|
142
142
|
}
|
|
143
|
-
export type Forkable<T> = ForkTemplate<T>;
|
|
143
|
+
export type Forkable<T> = ForkTemplate<T> | CreateForkFunc<T>;
|
|
144
144
|
/**
|
|
145
145
|
* Spawnable allows a CreateFunc to be used in place of a Template.
|
|
146
146
|
*/
|