@quenk/potoo 4.0.3 → 4.0.7
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/address.js.map +1 -1
- package/lib/actor/address.ts +2 -2
- package/lib/actor/framework/resident.d.ts +14 -15
- package/lib/actor/framework/resident.js +20 -20
- package/lib/actor/framework/resident.js.map +1 -1
- package/lib/actor/framework/resident.ts +18 -20
- package/lib/actor/system/vm/conf.d.ts +5 -5
- package/lib/actor/system/vm/conf.ts +5 -5
- package/lib/actor/system/vm/index.d.ts +2 -2
- package/lib/actor/system/vm/index.js.map +1 -1
- package/lib/actor/system/vm/index.ts +3 -3
- package/lib/actor/system/vm/runtime/error.js.map +1 -1
- package/lib/actor/system/vm/runtime/error.ts +4 -16
- package/lib/actor/system/vm/scheduler.js.map +1 -1
- package/lib/actor/system/vm/scheduler.ts +1 -4
- package/lib/actor/system/vm/script/info.js.map +1 -1
- package/lib/actor/system/vm/script/info.ts +3 -12
- package/package.json +3 -2
package/lib/actor/address.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"address.js","sourceRoot":"","sources":["address.ts"],"names":[],"mappings":";;;AAAA,sDAAkD;AAClD,wDAAyD;AAE5C,QAAA,SAAS,GAAG,GAAG,CAAC;AAEhB,QAAA,eAAe,GAAG,GAAG,CAAC;AACtB,QAAA,cAAc,GAAG,GAAG,CAAC;AACrB,QAAA,aAAa,GAAG,EAAE,CAAC;AACnB,QAAA,kBAAkB,GAAG,CAAC,uBAAe,EAAE,sBAAc,EAAE,iBAAS,CAAC,CAAC;AAiB/E;;GAEG;AACI,MAAM,YAAY,GAAG,CAAC,EAAU,EAAE,EAAE,CACvC,0BAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,iBAAS,CAAC;AAD5D,QAAA,YAAY,gBACgD;AAEzE;;GAEG;AACI,MAAM,IAAI,GAAG,CAAC,MAAe,EAAE,EAAU,EAAW,EAAE;IACzD,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;IACf,OAAO,MAAM,KAAK,iBAAS,IAAI,MAAM,KAAK,qBAAa;QACnD,CAAC,CAAC,GAAG,MAAM,GAAG,EAAE,EAAE;QAClB,CAAC,CAAC,MAAM,KAAK,sBAAc;
|
|
1
|
+
{"version":3,"file":"address.js","sourceRoot":"","sources":["address.ts"],"names":[],"mappings":";;;AAAA,sDAAkD;AAClD,wDAAyD;AAE5C,QAAA,SAAS,GAAG,GAAG,CAAC;AAEhB,QAAA,eAAe,GAAG,GAAG,CAAC;AACtB,QAAA,cAAc,GAAG,GAAG,CAAC;AACrB,QAAA,aAAa,GAAG,EAAE,CAAC;AACnB,QAAA,kBAAkB,GAAG,CAAC,uBAAe,EAAE,sBAAc,EAAE,iBAAS,CAAC,CAAC;AAiB/E;;GAEG;AACI,MAAM,YAAY,GAAG,CAAC,EAAU,EAAE,EAAE,CACvC,0BAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,iBAAS,CAAC;AAD5D,QAAA,YAAY,gBACgD;AAEzE;;GAEG;AACI,MAAM,IAAI,GAAG,CAAC,MAAe,EAAE,EAAU,EAAW,EAAE;IACzD,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;IACf,OAAO,MAAM,KAAK,iBAAS,IAAI,MAAM,KAAK,qBAAa;QACnD,CAAC,CAAC,GAAG,MAAM,GAAG,EAAE,EAAE;QAClB,CAAC,CAAC,MAAM,KAAK,sBAAc;YAC3B,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,GAAG,MAAM,GAAG,iBAAS,GAAG,EAAE,EAAE,CAAC;AACvC,CAAC,CAAC;AAPW,QAAA,IAAI,QAOf;AAEF;;GAEG;AACI,MAAM,SAAS,GAAG,CAAC,IAAa,EAAW,EAAE;IAChD,IACI,IAAI,KAAK,sBAAc;QACvB,IAAI,KAAK,qBAAa;QACtB,IAAI,KAAK,uBAAe;QACxB,IAAI,KAAK,iBAAS,EACpB,CAAC;QACC,OAAO,sBAAc,CAAC;IAC1B,CAAC;SAAM,CAAC;QACJ,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAS,CAAC,CAAC;QAE/B,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;YAClC,OAAO,iBAAS,CAAC;QACrB,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,iBAAS,CAAC,CAAC;YAExD,OAAO,CAAC,KAAK,qBAAa,CAAC,CAAC,CAAC,sBAAc,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,CAAC;IACL,CAAC;AACL,CAAC,CAAC;AAnBW,QAAA,SAAS,aAmBpB;AAEF;;GAEG;AACI,MAAM,KAAK,GAAG,CAAC,IAAa,EAAU,EAAE,CAC3C,IAAI,KAAK,sBAAc;IACvB,IAAI,KAAK,uBAAe;IACxB,IAAI,KAAK,qBAAa;IACtB,IAAI,KAAK,iBAAS;IACd,CAAC,CAAC,IAAI;IACN,CAAC,CAAC,IAAA,YAAI,EAAC,IAAI,CAAC,KAAK,CAAC,iBAAS,CAAC,CAAC,CAAC;AANzB,QAAA,KAAK,SAMoB;AAEtC;;GAEG;AACI,MAAM,OAAO,GAAG,CAAC,MAAe,EAAE,KAAc,EAAW,EAAE,CAChE,CAAC,MAAM,KAAK,sBAAc,IAAI,KAAK,KAAK,MAAM,CAAC;IAC/C,IAAA,mBAAU,EAAC,KAAK,EAAE,GAAG,MAAM,GAAG,iBAAS,EAAE,CAAC,CAAC;AAFlC,QAAA,OAAO,WAE2B;AAE/C;;GAEG;AACI,MAAM,OAAO,GAAG,CAAC,IAAa,EAAW,EAAE,CAC9C,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC;AADvB,QAAA,OAAO,WACgB"}
|
package/lib/actor/address.ts
CHANGED
|
@@ -37,8 +37,8 @@ export const make = (parent: Address, id: string): Address => {
|
|
|
37
37
|
return parent === SEPERATOR || parent === ADDRESS_EMPTY
|
|
38
38
|
? `${parent}${id}`
|
|
39
39
|
: parent === ADDRESS_SYSTEM
|
|
40
|
-
|
|
41
|
-
|
|
40
|
+
? id
|
|
41
|
+
: `${parent}${SEPERATOR}${id}`;
|
|
42
42
|
};
|
|
43
43
|
|
|
44
44
|
/**
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Err } from '@quenk/noni/lib/control/error';
|
|
2
|
-
import { Future } from '@quenk/noni/lib/control/monad/future';
|
|
3
2
|
import { Runtime } from '../system/vm/runtime';
|
|
4
3
|
import { Address } from '../address';
|
|
5
4
|
import { Spawnable } from '../template';
|
|
@@ -27,27 +26,27 @@ export declare abstract class AbstractResident implements Resident {
|
|
|
27
26
|
start(): Promise<void>;
|
|
28
27
|
run(): Promise<void>;
|
|
29
28
|
stop(): Promise<void>;
|
|
30
|
-
|
|
29
|
+
receive<T>(cases?: TypeCase<T>[]): Promise<T>;
|
|
31
30
|
watch<T>(task: () => Promise<T>): Promise<void>;
|
|
32
31
|
}
|
|
33
32
|
/**
|
|
34
|
-
*
|
|
35
|
-
* a message. The same receiver is applied to each and every message.
|
|
33
|
+
* Mutable actors can change their behaviour after message processing.
|
|
36
34
|
*/
|
|
37
|
-
export declare abstract class
|
|
38
|
-
/**
|
|
39
|
-
* match provides the list of Case classes that the actor will be used
|
|
40
|
-
* to process incoming messages.
|
|
41
|
-
*/
|
|
42
|
-
match(): TypeCase<T>[];
|
|
43
|
-
start(): Promise<void>;
|
|
35
|
+
export declare abstract class Mutable extends AbstractResident {
|
|
44
36
|
}
|
|
45
37
|
/**
|
|
46
|
-
*
|
|
38
|
+
* Immutable is an actor whose behaviour does not change when a message is
|
|
39
|
+
* received.
|
|
40
|
+
*
|
|
41
|
+
* For each message received, the same set of TypeCase classes are applied.
|
|
42
|
+
* This class is useful for simple request/response style actors that do
|
|
43
|
+
* not require much complicated logic.
|
|
47
44
|
*/
|
|
48
|
-
export declare abstract class
|
|
45
|
+
export declare abstract class Immutable<T> extends AbstractResident {
|
|
49
46
|
/**
|
|
50
|
-
*
|
|
47
|
+
* selectors provides the list of TypeCase classes that will be applied to
|
|
48
|
+
* all incoming messages.
|
|
51
49
|
*/
|
|
52
|
-
|
|
50
|
+
selectors(): TypeCase<T>[];
|
|
51
|
+
start(): Promise<void>;
|
|
53
52
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
const future_1 = require("@quenk/noni/lib/control/monad/future");
|
|
3
|
+
exports.Immutable = exports.Mutable = exports.AbstractResident = void 0;
|
|
5
4
|
/**
|
|
6
5
|
* AbstractResident is a base implementation of a Resident actor.
|
|
7
6
|
*/
|
|
@@ -33,40 +32,41 @@ class AbstractResident {
|
|
|
33
32
|
}
|
|
34
33
|
async run() { }
|
|
35
34
|
async stop() { }
|
|
35
|
+
async receive(cases = []) {
|
|
36
|
+
return this.runtime.receive(cases);
|
|
37
|
+
}
|
|
36
38
|
watch(task) {
|
|
37
39
|
return this.runtime.watch(task);
|
|
38
40
|
}
|
|
39
41
|
}
|
|
40
42
|
exports.AbstractResident = AbstractResident;
|
|
41
43
|
/**
|
|
42
|
-
*
|
|
43
|
-
|
|
44
|
+
* Mutable actors can change their behaviour after message processing.
|
|
45
|
+
*/
|
|
46
|
+
class Mutable extends AbstractResident {
|
|
47
|
+
}
|
|
48
|
+
exports.Mutable = Mutable;
|
|
49
|
+
/**
|
|
50
|
+
* Immutable is an actor whose behaviour does not change when a message is
|
|
51
|
+
* received.
|
|
52
|
+
*
|
|
53
|
+
* For each message received, the same set of TypeCase classes are applied.
|
|
54
|
+
* This class is useful for simple request/response style actors that do
|
|
55
|
+
* not require much complicated logic.
|
|
44
56
|
*/
|
|
45
57
|
class Immutable extends AbstractResident {
|
|
46
58
|
/**
|
|
47
|
-
*
|
|
48
|
-
*
|
|
59
|
+
* selectors provides the list of TypeCase classes that will be applied to
|
|
60
|
+
* all incoming messages.
|
|
49
61
|
*/
|
|
50
|
-
|
|
62
|
+
selectors() {
|
|
51
63
|
return [];
|
|
52
64
|
}
|
|
53
65
|
async start() {
|
|
54
66
|
await this.run();
|
|
55
67
|
while (this.runtime.isValid())
|
|
56
|
-
await this.
|
|
68
|
+
await this.receive(this.selectors());
|
|
57
69
|
}
|
|
58
70
|
}
|
|
59
71
|
exports.Immutable = Immutable;
|
|
60
|
-
/**
|
|
61
|
-
* Mutable actors can change their behaviour after message processing.
|
|
62
|
-
*/
|
|
63
|
-
class Mutable extends AbstractResident {
|
|
64
|
-
/**
|
|
65
|
-
* receive a message from the actor's mailbox.
|
|
66
|
-
*/
|
|
67
|
-
receive(cases = []) {
|
|
68
|
-
return future_1.Future.do(async () => this.runtime.receive(cases));
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
exports.Mutable = Mutable;
|
|
72
72
|
//# sourceMappingURL=resident.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resident.js","sourceRoot":"","sources":["resident.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"resident.js","sourceRoot":"","sources":["resident.ts"],"names":[],"mappings":";;;AAcA;;GAEG;AACH,MAAsB,gBAAgB;IAClC,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,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;QACP,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,GAAG,KAAI,CAAC;IAEd,KAAK,CAAC,IAAI,KAAI,CAAC;IAEf,KAAK,CAAC,OAAO,CAAI,QAAuB,EAAE;QACtC,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,4CA4CC;AAED;;GAEG;AACH,MAAsB,OAAQ,SAAQ,gBAAgB;CAAG;AAAzD,0BAAyD;AAEzD;;;;;;;GAOG;AACH,MAAsB,SAAa,SAAQ,gBAAgB;IACvD;;;OAGG;IACH,SAAS;QACL,OAAO,EAAE,CAAC;IACd,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;AAbD,8BAaC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Err } from '@quenk/noni/lib/control/error';
|
|
2
|
-
import { Future } from '@quenk/noni/lib/control/monad/future';
|
|
3
2
|
|
|
4
3
|
import { Runtime } from '../system/vm/runtime';
|
|
5
4
|
import { Address } from '../address';
|
|
@@ -53,7 +52,9 @@ export abstract class AbstractResident implements Resident {
|
|
|
53
52
|
|
|
54
53
|
async stop() {}
|
|
55
54
|
|
|
56
|
-
|
|
55
|
+
async receive<T>(cases: TypeCase<T>[] = []) {
|
|
56
|
+
return this.runtime.receive(cases);
|
|
57
|
+
}
|
|
57
58
|
|
|
58
59
|
watch<T>(task: () => Promise<T>) {
|
|
59
60
|
return this.runtime.watch(task);
|
|
@@ -61,32 +62,29 @@ export abstract class AbstractResident implements Resident {
|
|
|
61
62
|
}
|
|
62
63
|
|
|
63
64
|
/**
|
|
64
|
-
*
|
|
65
|
-
|
|
65
|
+
* Mutable actors can change their behaviour after message processing.
|
|
66
|
+
*/
|
|
67
|
+
export abstract class Mutable extends AbstractResident {}
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Immutable is an actor whose behaviour does not change when a message is
|
|
71
|
+
* received.
|
|
72
|
+
*
|
|
73
|
+
* For each message received, the same set of TypeCase classes are applied.
|
|
74
|
+
* This class is useful for simple request/response style actors that do
|
|
75
|
+
* not require much complicated logic.
|
|
66
76
|
*/
|
|
67
77
|
export abstract class Immutable<T> extends AbstractResident {
|
|
68
78
|
/**
|
|
69
|
-
*
|
|
70
|
-
*
|
|
79
|
+
* selectors provides the list of TypeCase classes that will be applied to
|
|
80
|
+
* all incoming messages.
|
|
71
81
|
*/
|
|
72
|
-
|
|
82
|
+
selectors(): TypeCase<T>[] {
|
|
73
83
|
return [];
|
|
74
84
|
}
|
|
75
85
|
|
|
76
86
|
async start() {
|
|
77
87
|
await this.run();
|
|
78
|
-
while (this.runtime.isValid()) await this.
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
/**
|
|
83
|
-
* Mutable actors can change their behaviour after message processing.
|
|
84
|
-
*/
|
|
85
|
-
export abstract class Mutable extends AbstractResident {
|
|
86
|
-
/**
|
|
87
|
-
* receive a message from the actor's mailbox.
|
|
88
|
-
*/
|
|
89
|
-
receive<T>(cases: TypeCase<T>[] = []): Future<T> {
|
|
90
|
-
return Future.do(async () => this.runtime.receive(cases));
|
|
88
|
+
while (this.runtime.isValid()) await this.receive(this.selectors());
|
|
91
89
|
}
|
|
92
90
|
}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { LogSink } from './log';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* PartialConf allows only some values to be specified in a Conf object
|
|
4
4
|
* instead of all.
|
|
5
5
|
*/
|
|
6
|
-
export interface
|
|
7
|
-
log?: Partial<
|
|
6
|
+
export interface PartialConf {
|
|
7
|
+
log?: Partial<Conf['log']>;
|
|
8
8
|
}
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
10
|
+
* Conf objects are used to create and configue various aspects of thhe VM.
|
|
11
11
|
*/
|
|
12
|
-
export interface
|
|
12
|
+
export interface Conf {
|
|
13
13
|
/**
|
|
14
14
|
* log configures the logging system.
|
|
15
15
|
*/
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { LogSink } from './log';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
4
|
+
* PartialConf allows only some values to be specified in a Conf object
|
|
5
5
|
* instead of all.
|
|
6
6
|
*/
|
|
7
|
-
export interface
|
|
8
|
-
log?: Partial<
|
|
7
|
+
export interface PartialConf {
|
|
8
|
+
log?: Partial<Conf['log']>;
|
|
9
9
|
}
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
|
-
*
|
|
12
|
+
* Conf objects are used to create and configue various aspects of thhe VM.
|
|
13
13
|
*/
|
|
14
|
-
export interface
|
|
14
|
+
export interface Conf {
|
|
15
15
|
/**
|
|
16
16
|
* log configures the logging system.
|
|
17
17
|
*/
|
|
@@ -11,7 +11,7 @@ import { Allocator } from './allocator';
|
|
|
11
11
|
import { Api } from '../../api';
|
|
12
12
|
import { LogWritable } from './log/writer';
|
|
13
13
|
import { EventDispatcher } from './event/dispatcher';
|
|
14
|
-
import {
|
|
14
|
+
import { PartialConf } from './conf';
|
|
15
15
|
/**
|
|
16
16
|
* VM is the interface for a virtual machine.
|
|
17
17
|
*
|
|
@@ -93,7 +93,7 @@ export declare class PVM implements VM {
|
|
|
93
93
|
/**
|
|
94
94
|
* create a new PVM instance using the provided configuration.
|
|
95
95
|
*/
|
|
96
|
-
static create(conf?:
|
|
96
|
+
static create(conf?: PartialConf): PVM;
|
|
97
97
|
start(): Promise<void>;
|
|
98
98
|
notify(): Promise<void>;
|
|
99
99
|
stop(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AACA,0CAA0C;AAC1C,kCAAkC;AAGlC,iEAA8D;AAC9D,sDAAyD;AACzD,wDAAoD;AAEpD,2CAA0E;AAC1E,6CAA+C;AAE/C,yCAA+C;AAC/C,4CAA0E;AAE1E,mCAAmC;AACnC,2CAAwC;AACxC,yCAAyC;AAGzC,yCAAsD;AACtD,mDAAqD;AAErD,+BAAwC;AAuExC;;;;;;;GAOG;AACH,MAAa,GAAG;IACZ,YACW,YAAuB,IAAI,kBAAY,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EACnD,YAAuB,IAAI,qBAAS,EAAE,EACtC,SAAwB,IAAI,+BAAuB,CAAC,SAAS,CAAC,EAC9D,MAAmB,IAAI,kBAAS,CAAC,OAAO,CAAC,EACzC,SAAS,IAAI,4BAAe,CAAC,GAAG,CAAC,EACjC,WAAW,IAAI,sBAAW,EAAE,EAC5B,SAAmB,IAAI,gBAAQ,EAAE,EACjC,UAAU,wBAAc,EACxB,OAAO,wBAAc;QARrB,cAAS,GAAT,SAAS,CAA0C;QACnD,cAAS,GAAT,SAAS,CAA6B;QACtC,WAAM,GAAN,MAAM,CAAwD;QAC9D,QAAG,GAAH,GAAG,CAAsC;QACzC,WAAM,GAAN,MAAM,CAA2B;QACjC,aAAQ,GAAR,QAAQ,CAAoB;QAC5B,WAAM,GAAN,MAAM,CAA2B;QACjC,YAAO,GAAP,OAAO,CAAiB;QACxB,SAAI,GAAJ,IAAI,CAAiB;IAC7B,CAAC;IAEJ;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,7 +20,7 @@ import { Allocator } from './allocator';
|
|
|
20
20
|
import { Api } from '../../api';
|
|
21
21
|
import { LogWritable, LogWriter } from './log/writer';
|
|
22
22
|
import { EventDispatcher } from './event/dispatcher';
|
|
23
|
-
import {
|
|
23
|
+
import { Conf, PartialConf } from './conf';
|
|
24
24
|
import { toLogLevelValue } from './log';
|
|
25
25
|
|
|
26
26
|
/**
|
|
@@ -116,8 +116,8 @@ export class PVM implements VM {
|
|
|
116
116
|
/**
|
|
117
117
|
* create a new PVM instance using the provided configuration.
|
|
118
118
|
*/
|
|
119
|
-
static create(conf:
|
|
120
|
-
let config:
|
|
119
|
+
static create(conf: PartialConf = {}): PVM {
|
|
120
|
+
let config: Conf = {
|
|
121
121
|
log: merge({ level: 'info', sink: console }, conf.log ?? {})
|
|
122
122
|
};
|
|
123
123
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.js","sourceRoot":"","sources":["error.ts"],"names":[],"mappings":";;;AAEA,8CAA+D;AAE/D,oCAAgD;AAGhD;;GAEG;AACH,MAAa,UAAU;IACnB,YAAmB,OAAe;QAAf,YAAO,GAAP,OAAO,CAAQ;IAAG,CAAC;CAGzC;AAJD,gCAIC;AAED;;GAEG;AACH,MAAa,YAAa,SAAQ,UAAU;IACxC,YAAmB,EAAU;QACzB,KAAK,CACD,WAAW,EAAE,mBAAmB;YAC5B,GAAG,4BAAkB,yBAAyB,CACrD,CAAC;QAJa,OAAE,GAAF,EAAE,CAAQ;IAK7B,CAAC;CACJ;AAPD,oCAOC;AAED;;;GAGG;AACH,MAAa,uBAAwB,SAAQ,UAAU;IACnD,YAAmB,OAAgB;QAC/B,KAAK,CAAC,uBAAuB,OAAO,8BAA8B,CAAC,CAAC;QADrD,YAAO,GAAP,OAAO,CAAS;IAEnC,CAAC;CACJ;AAJD,0DAIC;AAED;;;GAGG;AACH,MAAa,mBAAoB,SAAQ,UAAU;IAC/C,YAAmB,OAAgB;QAC/B,KAAK,CAAC,sBAAsB,OAAO,aAAa,CAAC,CAAC;QADnC,YAAO,GAAP,OAAO,CAAS;IAEnC,CAAC;CACJ;AAJD,kDAIC;AAED;;;GAGG;AACH,MAAa,sBAAuB,SAAQ,UAAU;IAClD,YAAmB,KAAa;QAC5B,KAAK,CAAC,cAAc,KAAK,yCAAyC,CAAC,CAAC;QADrD,UAAK,GAAL,KAAK,CAAQ;IAEhC,CAAC;CACJ;AAJD,wDAIC;AAED,MAAa,sBAAuB,SAAQ,UAAU;IAClD,YAAmB,KAAa;QAC5B,KAAK,CAAC,cAAc,KAAK,yCAAyC,CAAC,CAAC;QADrD,UAAK,GAAL,KAAK,CAAQ;IAEhC,CAAC;CACJ;AAJD,wDAIC;AAED;;GAEG;AACH,MAAa,kBAAmB,SAAQ,UAAU;IAC9C,
|
|
1
|
+
{"version":3,"file":"error.js","sourceRoot":"","sources":["error.ts"],"names":[],"mappings":"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"}
|
|
@@ -66,10 +66,7 @@ export class NullFunctionPointerErr extends ErrorClass {
|
|
|
66
66
|
* JumpOutOfBoundsErr
|
|
67
67
|
*/
|
|
68
68
|
export class JumpOutOfBoundsErr extends ErrorClass {
|
|
69
|
-
constructor(
|
|
70
|
-
public location: number,
|
|
71
|
-
public size: number
|
|
72
|
-
) {
|
|
69
|
+
constructor(public location: number, public size: number) {
|
|
73
70
|
super(`Cannot jump to location "${location}"! Max location: ${size}!`);
|
|
74
71
|
}
|
|
75
72
|
}
|
|
@@ -87,10 +84,7 @@ export class NullPointerErr extends ErrorClass {
|
|
|
87
84
|
* UnexpectedDataType
|
|
88
85
|
*/
|
|
89
86
|
export class UnexpectedDataType extends ErrorClass {
|
|
90
|
-
constructor(
|
|
91
|
-
public expected: number,
|
|
92
|
-
public got: number
|
|
93
|
-
) {
|
|
87
|
+
constructor(public expected: number, public got: number) {
|
|
94
88
|
super(
|
|
95
89
|
`Expected: ${expected.toString(16)}, ` +
|
|
96
90
|
`Received: ${got.toString(16)}`
|
|
@@ -102,10 +96,7 @@ export class UnexpectedDataType extends ErrorClass {
|
|
|
102
96
|
* IllegalStopErr
|
|
103
97
|
*/
|
|
104
98
|
export class IllegalStopErr extends ErrorClass {
|
|
105
|
-
constructor(
|
|
106
|
-
public parent: string,
|
|
107
|
-
public child: string
|
|
108
|
-
) {
|
|
99
|
+
constructor(public parent: string, public child: string) {
|
|
109
100
|
super(`The actor at address "${parent}" can not kill "${child}"!`);
|
|
110
101
|
}
|
|
111
102
|
}
|
|
@@ -177,10 +168,7 @@ export class StackEmptyErr extends ErrorClass {
|
|
|
177
168
|
* InvalidPropertyIndex
|
|
178
169
|
*/
|
|
179
170
|
export class InvalidPropertyIndex extends ErrorClass {
|
|
180
|
-
constructor(
|
|
181
|
-
public cons: TypeInfo,
|
|
182
|
-
public idx: number
|
|
183
|
-
) {
|
|
171
|
+
constructor(public cons: TypeInfo, public idx: number) {
|
|
184
172
|
super(`Constructor: ${cons.name}, index: ${idx}`);
|
|
185
173
|
}
|
|
186
174
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scheduler.js","sourceRoot":"","sources":["scheduler.ts"],"names":[],"mappings":";;;AAAA,4CAA4D;AAE/C,QAAA,mBAAmB,GAAG,qBAAqB,CAAC;AAOzD,MAAa,IAAI;IACb,YACW,MAAoB,EACpB,KAA2B,EAC3B,IAAyB;QAFzB,WAAM,GAAN,MAAM,CAAc;QACpB,UAAK,GAAL,KAAK,CAAsB;QAC3B,SAAI,GAAJ,IAAI,CAAqB;IACjC,CAAC;CACP;AAND,oBAMC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAa,SAAS;IAClB,
|
|
1
|
+
{"version":3,"file":"scheduler.js","sourceRoot":"","sources":["scheduler.ts"],"names":[],"mappings":";;;AAAA,4CAA4D;AAE/C,QAAA,mBAAmB,GAAG,qBAAqB,CAAC;AAOzD,MAAa,IAAI;IACb,YACW,MAAoB,EACpB,KAA2B,EAC3B,IAAyB;QAFzB,WAAM,GAAN,MAAM,CAAc;QACpB,UAAK,GAAL,KAAK,CAAsB;QAC3B,SAAI,GAAJ,IAAI,CAAqB;IACjC,CAAC;CACP;AAND,oBAMC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAa,SAAS;IAClB,YAAmB,QAAgB,EAAE,EAAS,YAAY,KAAK;QAA5C,UAAK,GAAL,KAAK,CAAa;QAAS,cAAS,GAAT,SAAS,CAAQ;IAAG,CAAC;IAEnE;;;;;OAKG;IACH,QAAQ,CAAC,IAAU,EAAE,OAAO,GAAG,KAAK;QAChC,IAAI,OAAO,EAAE,CAAC;YACV,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAC1B,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CACzC,CAAC;YACF,IAAI,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC;gBACZ,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,IAAI,CAAC,GAAG,EAAE,CAAC;IACf,CAAC;IAED;;;;OAIG;IACH,WAAW,CAAC,MAAoB;QAC5B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YAClC,IAAI,IAAI,CAAC,MAAM,IAAI,MAAM;gBAAE,OAAO,IAAI,CAAC;YACvC,8CAA8C;YAC9C,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,2BAAmB,CAAC,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;OAOG;IACH,GAAG;QACC,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO;QAE3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAEtB,IAAI,GAAG,CAAC;QACR,OACI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CACvB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,oBAAW,CAAC,IAAI,CACjD,CAAC,KAAK,CAAC,CAAC,EACX,CAAC;YACC,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAExC,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,oBAAW,CAAC,OAAO,CAAC;YAExC,sBAAsB;YACtB,IAAI,CAAC,IAAI,EAAE;iBACN,IAAI,CAAC,GAAG,EAAE;gBACP,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,oBAAW,CAAC,OAAO;oBACzC,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,oBAAW,CAAC,IAAI,CAAC;YAC7C,CAAC,CAAC;iBACD,KAAK,CAAC,GAAG,CAAC,EAAE;gBACT,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACpB,CAAC,CAAC,CAAC;QACX,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IAC3B,CAAC;CACJ;AA3ED,8BA2EC"}
|
|
@@ -31,10 +31,7 @@ export class Task {
|
|
|
31
31
|
* execution we ensure threads do not preempt themselves.
|
|
32
32
|
*/
|
|
33
33
|
export class Scheduler {
|
|
34
|
-
constructor(
|
|
35
|
-
public queue: Task[] = [],
|
|
36
|
-
public isRunning = false
|
|
37
|
-
) {}
|
|
34
|
+
constructor(public queue: Task[] = [], public isRunning = false) {}
|
|
38
35
|
|
|
39
36
|
/**
|
|
40
37
|
* postTask a Task for future execution.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"info.js","sourceRoot":"","sources":["info.ts"],"names":[],"mappings":";;;AAAA,iCAAiC;AAmGjC;;GAEG;AACH,MAAsB,OAAO;IACzB,YAAmB,IAAY;QAAZ,SAAI,GAAJ,IAAI,CAAQ;IAAG,CAAC;CAKtC;AAND,0BAMC;AAED;;GAEG;AACH,MAAa,QAAS,SAAQ,OAAO;IAArC;;QACI,SAAI,GAAG,gBAAQ,CAAC;QAEhB,eAAU,GAAG,KAAK,CAAC,SAAS,CAAC;IACjC,CAAC;CAAA;AAJD,4BAIC;AAED;;GAEG;AACH,MAAa,YAAa,SAAQ,OAAO;IAAzC;;QACI,SAAI,GAAG,iBAAS,CAAC;QAEjB,eAAU,GAAG,KAAK,CAAC,UAAU,CAAC;IAClC,CAAC;CAAA;AAJD,oCAIC;AAED;;GAEG;AACH,MAAa,aAAc,SAAQ,OAAO;IAA1C;;QACI,SAAI,GAAG,kBAAU,CAAC;QAElB,eAAU,GAAG,KAAK,CAAC,WAAW,CAAC;IACnC,CAAC;CAAA;AAJD,sCAIC;AAED;;GAEG;AACH,MAAa,aAAc,SAAQ,OAAO;IAA1C;;QACI,SAAI,GAAG,kBAAU,CAAC;QAElB,eAAU,GAAG,KAAK,CAAC,WAAW,CAAC;IACnC,CAAC;CAAA;AAJD,sCAIC;AAED;;GAEG;AACH,MAAa,WAAY,SAAQ,OAAO;IAAxC;;QACI,SAAI,GAAG,gBAAQ,CAAC;QAEhB,eAAU,GAAG,KAAK,CAAC,SAAS,CAAC;IACjC,CAAC;CAAA;AAJD,kCAIC;AAED;;GAEG;AACH,MAAa,YAAa,SAAQ,OAAO;IAAzC;;QACI,SAAI,GAAG,iBAAS,CAAC;QAEjB,eAAU,GAAG,KAAK,CAAC,UAAU,CAAC;IAClC,CAAC;CAAA;AAJD,oCAIC;AAED;;GAEG;AACH,MAAa,YAAa,SAAQ,OAAO;IAAzC;;QACI,SAAI,GAAG,iBAAS,CAAC;QAEjB,eAAU,GAAG,KAAK,CAAC,UAAU,CAAC;IAClC,CAAC;CAAA;AAJD,oCAIC;AAED;;GAEG;AACH,MAAa,cAAe,SAAQ,OAAO;IAA3C;;QACI,SAAI,GAAG,mBAAW,CAAC;QAEnB,eAAU,GAAG,KAAK,CAAC,YAAY,CAAC;IACpC,CAAC;CAAA;AAJD,wCAIC;AAED;;GAEG;AACH,MAAa,aAAc,SAAQ,OAAO;IAA1C;;QACI,SAAI,GAAG,kBAAU,CAAC;QAElB,eAAU,GAAG,KAAK,CAAC,WAAW,CAAC;IACnC,CAAC;CAAA;AAJD,sCAIC;AAED;;GAEG;AACH,MAAa,aAAc,SAAQ,OAAO;IAA1C;;QACI,SAAI,GAAG,kBAAU,CAAC;QAElB,eAAU,GAAG,KAAK,CAAC,WAAW,CAAC;IACnC,CAAC;CAAA;AAJD,sCAIC;AAED;;GAEG;AACH,MAAa,YAAa,SAAQ,OAAO;IACrC,
|
|
1
|
+
{"version":3,"file":"info.js","sourceRoot":"","sources":["info.ts"],"names":[],"mappings":"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"}
|
|
@@ -202,10 +202,7 @@ export class NewObjectInfo extends NewInfo {
|
|
|
202
202
|
* NewArrayInfo
|
|
203
203
|
*/
|
|
204
204
|
export class NewArrayInfo extends NewInfo {
|
|
205
|
-
constructor(
|
|
206
|
-
public name: string,
|
|
207
|
-
public type: ArrayTypeInfo
|
|
208
|
-
) {
|
|
205
|
+
constructor(public name: string, public type: ArrayTypeInfo) {
|
|
209
206
|
super(name);
|
|
210
207
|
}
|
|
211
208
|
|
|
@@ -274,10 +271,7 @@ export class NewTypeInfo extends NewInfo implements TypeInfo {
|
|
|
274
271
|
* NewArrayTypeInfo
|
|
275
272
|
*/
|
|
276
273
|
export class NewArrayTypeInfo extends NewInfo implements ArrayTypeInfo {
|
|
277
|
-
constructor(
|
|
278
|
-
public name: string,
|
|
279
|
-
public elements: TypeInfo
|
|
280
|
-
) {
|
|
274
|
+
constructor(public name: string, public elements: TypeInfo) {
|
|
281
275
|
super(name);
|
|
282
276
|
}
|
|
283
277
|
|
|
@@ -296,10 +290,7 @@ export class NewArrayTypeInfo extends NewInfo implements ArrayTypeInfo {
|
|
|
296
290
|
* NewPropInfo
|
|
297
291
|
*/
|
|
298
292
|
export class NewPropInfo implements PropInfo {
|
|
299
|
-
constructor(
|
|
300
|
-
public name: string,
|
|
301
|
-
public type: TypeInfo
|
|
302
|
-
) {}
|
|
293
|
+
constructor(public name: string, public type: TypeInfo) {}
|
|
303
294
|
}
|
|
304
295
|
|
|
305
296
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@quenk/potoo",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.7",
|
|
4
4
|
"description": "Message passing virtual machine.",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "./lib/index.d.ts",
|
|
@@ -23,8 +23,9 @@
|
|
|
23
23
|
"eslint-plugin-prettier": "^4.2.1",
|
|
24
24
|
"jest": "^29.7.0",
|
|
25
25
|
"jest-mock-extended": "^3.0.7",
|
|
26
|
-
"prettier": "^
|
|
26
|
+
"prettier": "^2.8.4",
|
|
27
27
|
"ts-jest": "^29.1.2",
|
|
28
|
+
"ts-node": "^10.9.2",
|
|
28
29
|
"typescript": "^5.5.4"
|
|
29
30
|
},
|
|
30
31
|
"author": "Quenk Technologies Limited",
|