@quantform/core 0.3.235 → 0.3.242
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/dist/adapter/adapter-aggregate.js +5 -5
- package/dist/adapter/adapter-aggregate.js.map +1 -1
- package/dist/adapter/backtester/backtester-adapter.d.ts +2 -3
- package/dist/adapter/backtester/backtester-adapter.js.map +1 -1
- package/dist/adapter/backtester/backtester-streamer.d.ts +6 -0
- package/dist/adapter/backtester/backtester-streamer.js +10 -7
- package/dist/adapter/backtester/backtester-streamer.js.map +1 -1
- package/dist/adapter/backtester/backtester-streamer.spec.js +9 -7
- package/dist/adapter/backtester/backtester-streamer.spec.js.map +1 -1
- package/dist/adapter/paper/paper-adapter.js +2 -2
- package/dist/adapter/paper/paper-adapter.js.map +1 -1
- package/dist/bin.d.ts +0 -1
- package/dist/bin.js +1 -7
- package/dist/bin.js.map +1 -1
- package/dist/domain/asset.d.ts +3 -3
- package/dist/domain/asset.js +8 -8
- package/dist/domain/asset.js.map +1 -1
- package/dist/domain/asset.spec.js +4 -4
- package/dist/domain/asset.spec.js.map +1 -1
- package/dist/domain/instrument.d.ts +1 -1
- package/dist/domain/instrument.js +6 -6
- package/dist/domain/instrument.js.map +1 -1
- package/dist/domain/instrument.spec.js +7 -7
- package/dist/domain/instrument.spec.js.map +1 -1
- package/dist/domain/orderbook.d.ts +0 -1
- package/dist/ipc.d.ts +10 -5
- package/dist/ipc.js +81 -38
- package/dist/ipc.js.map +1 -1
- package/dist/ipc.spec.js +45 -1
- package/dist/ipc.spec.js.map +1 -1
- package/dist/session/session.d.ts +1 -1
- package/dist/session/session.js +9 -9
- package/dist/session/session.js.map +1 -1
- package/dist/shared/index.d.ts +1 -0
- package/dist/shared/index.js +1 -0
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/task.d.ts +6 -0
- package/dist/shared/task.js +25 -0
- package/dist/shared/task.js.map +1 -0
- package/dist/store/event/store-instrument.event.js +1 -1
- package/dist/store/event/store-instrument.event.js.map +1 -1
- package/dist/tests/backtester-adapter.spec.js +7 -5
- package/dist/tests/backtester-adapter.spec.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/adapter/adapter-aggregate.ts +5 -5
- package/src/adapter/backtester/backtester-adapter.ts +2 -3
- package/src/adapter/backtester/backtester-streamer.spec.ts +9 -7
- package/src/adapter/backtester/backtester-streamer.ts +36 -7
- package/src/adapter/paper/paper-adapter.ts +2 -2
- package/src/bin.ts +0 -11
- package/src/domain/asset.spec.ts +4 -4
- package/src/domain/asset.ts +9 -9
- package/src/domain/instrument.spec.ts +7 -7
- package/src/domain/instrument.ts +6 -6
- package/src/domain/orderbook.ts +1 -1
- package/src/ipc.spec.ts +59 -4
- package/src/ipc.ts +93 -41
- package/src/session/session.ts +9 -9
- package/src/shared/index.ts +1 -0
- package/src/shared/task.ts +30 -0
- package/src/store/event/store-instrument.event.ts +1 -1
- package/src/tests/backtester-adapter.spec.ts +7 -5
|
@@ -11,16 +11,16 @@ class AdapterAggregate {
|
|
|
11
11
|
adapters.forEach(it => (this.adapter[it.name] = it));
|
|
12
12
|
}
|
|
13
13
|
async awake(usePrivateScope = true) {
|
|
14
|
-
for (const
|
|
15
|
-
await this.dispatch(
|
|
14
|
+
for (const adapter in this.adapter) {
|
|
15
|
+
await this.dispatch(adapter, new adapter_event_1.AdapterAwakeCommand());
|
|
16
16
|
if (usePrivateScope) {
|
|
17
|
-
await this.dispatch(
|
|
17
|
+
await this.dispatch(adapter, new adapter_event_1.AdapterAccountCommand());
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
21
|
async dispose() {
|
|
22
|
-
for (const
|
|
23
|
-
await this.dispatch(
|
|
22
|
+
for (const adapter in this.adapter) {
|
|
23
|
+
await this.dispatch(adapter, new adapter_event_1.AdapterDisposeCommand());
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
26
|
dispatch(adapterName, event) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter-aggregate.js","sourceRoot":"","sources":["../../src/adapter/adapter-aggregate.ts"],"names":[],"mappings":";;;AACA,wBAA4C;AAC5C,sCAAmC;AACnC,mDAIyB;AAMzB,MAAa,gBAAgB;IAG3B,YAA6B,KAAY,EAAE,QAAmB;QAAjC,UAAK,GAAL,KAAK,CAAO;QAFxB,YAAO,GAA4B,EAAE,CAAC;QAGrD,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACvD,CAAC;IAMD,KAAK,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI;QAChC,KAAK,MAAM,
|
|
1
|
+
{"version":3,"file":"adapter-aggregate.js","sourceRoot":"","sources":["../../src/adapter/adapter-aggregate.ts"],"names":[],"mappings":";;;AACA,wBAA4C;AAC5C,sCAAmC;AACnC,mDAIyB;AAMzB,MAAa,gBAAgB;IAG3B,YAA6B,KAAY,EAAE,QAAmB;QAAjC,UAAK,GAAL,KAAK,CAAO;QAFxB,YAAO,GAA4B,EAAE,CAAC;QAGrD,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACvD,CAAC;IAMD,KAAK,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI;QAChC,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE;YAClC,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,mCAAmB,EAAE,CAAC,CAAC;YAExD,IAAI,eAAe,EAAE;gBACnB,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,qCAAqB,EAAE,CAAC,CAAC;aAC3D;SACF;IACH,CAAC;IAKD,KAAK,CAAC,OAAO;QACX,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE;YAClC,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,qCAAqB,EAAE,CAAC,CAAC;SAC3D;IACH,CAAC;IAQD,QAAQ,CACN,WAAmB,EACnB,KAAa;QAEb,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAE1C,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,IAAI,KAAK,CACb,oBAAoB,WAAW,qDAAqD,CACrF,CAAC;SACH;QAED,IAAI;YACF,OAAO,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,iBAAc,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;SACzE;QAAC,OAAO,CAAC,EAAE;YACV,eAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACjB;IACH,CAAC;CACF;AAtDD,4CAsDC"}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { Adapter, AdapterContext } from '..';
|
|
2
|
-
import { BacktesterStreamer } from './backtester-streamer';
|
|
2
|
+
import { BacktesterListener, BacktesterStreamer } from './backtester-streamer';
|
|
3
3
|
import { PaperAdapter, PaperOptions } from '../paper';
|
|
4
4
|
import { timestamp } from '../../shared';
|
|
5
5
|
import { AdapterSubscribeCommand, AdapterHistoryQuery } from '../adapter.event';
|
|
6
6
|
export declare class BacktesterOptions extends PaperOptions {
|
|
7
7
|
from: timestamp;
|
|
8
8
|
to: timestamp;
|
|
9
|
-
|
|
10
|
-
completed?: () => void;
|
|
9
|
+
listener?: BacktesterListener;
|
|
11
10
|
}
|
|
12
11
|
export declare class BacktesterAdapter extends Adapter {
|
|
13
12
|
readonly decoratedAdapter: Adapter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backtester-adapter.js","sourceRoot":"","sources":["../../../src/adapter/backtester/backtester-adapter.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0BAA6C;AAE7C,oCAAsD;AACtD,8CAA6C;AAE7C,oDAAgF;AAChF,6CAAgE;AAEhE,MAAa,iBAAkB,SAAQ,oBAAY;
|
|
1
|
+
{"version":3,"file":"backtester-adapter.js","sourceRoot":"","sources":["../../../src/adapter/backtester/backtester-adapter.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0BAA6C;AAE7C,oCAAsD;AACtD,8CAA6C;AAE7C,oDAAgF;AAChF,6CAAgE;AAEhE,MAAa,iBAAkB,SAAQ,oBAAY;CAIlD;AAJD,8CAIC;AAED,MAAa,iBAAkB,SAAQ,WAAO;IAG5C,YAAqB,gBAAyB,EAAW,QAA4B;QACnF,KAAK,EAAE,CAAC;QADW,qBAAgB,GAAhB,gBAAgB,CAAS;QAAW,aAAQ,GAAR,QAAQ,CAAoB;QAF5E,SAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;IAI3C,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;IACjC,CAAC;IAED,mBAAmB,CAAC,OAAqB;QACvC,OAAO,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC5D,CAAC;IAED,cAAc,CAAC,KAAuB,EAAE,OAAuB;QAC7D,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IAGD,WAAW,CAAC,OAAgC,EAAE,OAAuB;QACnE,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;YAC9B,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,KAAK,CAAC,QAAQ,CACpB,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CACvB,EAAE,CAAC,EAAE,CAAC,IAAI,mCAA2B,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,EAAE,IAAI,CAAC,CACnE,CACF,CAAC;IACJ,CAAC;IAGD,KAAK,CAAC,SAAS,CAAC,KAA0B,EAAE,OAAuB;QACjE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAErB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAEtE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QAE5B,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AAtBC;IADC,IAAA,eAAO,EAAC,uCAAuB,CAAC;;qCACZ,uCAAuB,EAAW,kBAAc;;oDAUpE;AAGD;IADC,IAAA,eAAO,EAAC,mCAAmB,CAAC;;qCACN,mCAAmB,EAAW,kBAAc;;kDAQlE;AAzCH,8CA0CC"}
|
|
@@ -3,10 +3,16 @@ import { Store } from '../../store';
|
|
|
3
3
|
import { timestamp } from '../../shared';
|
|
4
4
|
import { Feed } from '../../storage';
|
|
5
5
|
import { BacktesterOptions } from './backtester-adapter';
|
|
6
|
+
export interface BacktesterListener {
|
|
7
|
+
onBacktestStarted?(streamer: BacktesterStreamer): void;
|
|
8
|
+
onBacktestUpdated?(streamer: BacktesterStreamer): void;
|
|
9
|
+
onBacktestCompleted?(streamer: BacktesterStreamer): void;
|
|
10
|
+
}
|
|
6
11
|
export declare class BacktesterStreamer {
|
|
7
12
|
private readonly store;
|
|
8
13
|
private readonly feed;
|
|
9
14
|
private readonly options;
|
|
15
|
+
private sequenceUpdateBatch;
|
|
10
16
|
private cursor;
|
|
11
17
|
private stopAcquire;
|
|
12
18
|
timestamp: timestamp;
|
|
@@ -7,6 +7,7 @@ class BacktesterStreamer {
|
|
|
7
7
|
this.store = store;
|
|
8
8
|
this.feed = feed;
|
|
9
9
|
this.options = options;
|
|
10
|
+
this.sequenceUpdateBatch = 10000;
|
|
10
11
|
this.cursor = {};
|
|
11
12
|
this.stopAcquire = 1;
|
|
12
13
|
this.sequence = 0;
|
|
@@ -30,21 +31,23 @@ class BacktesterStreamer {
|
|
|
30
31
|
if (this.stopAcquire != 0) {
|
|
31
32
|
return;
|
|
32
33
|
}
|
|
33
|
-
if (this.
|
|
34
|
-
this.options.
|
|
34
|
+
if (this.sequence == 0) {
|
|
35
|
+
if (this.options.listener.onBacktestStarted) {
|
|
36
|
+
this.options.listener.onBacktestStarted(this);
|
|
37
|
+
}
|
|
35
38
|
}
|
|
36
39
|
while (await this.processNext()) {
|
|
37
|
-
if (this.sequence %
|
|
38
|
-
if (this.options.
|
|
39
|
-
this.options.
|
|
40
|
+
if (this.sequence % this.sequenceUpdateBatch == 0) {
|
|
41
|
+
if (this.options.listener.onBacktestUpdated) {
|
|
42
|
+
this.options.listener.onBacktestUpdated(this);
|
|
40
43
|
}
|
|
41
44
|
}
|
|
42
45
|
if (this.stopAcquire > 0) {
|
|
43
46
|
return;
|
|
44
47
|
}
|
|
45
48
|
}
|
|
46
|
-
if (this.options.
|
|
47
|
-
this.options.
|
|
49
|
+
if (this.options.listener.onBacktestCompleted) {
|
|
50
|
+
this.options.listener.onBacktestCompleted(this);
|
|
48
51
|
}
|
|
49
52
|
}
|
|
50
53
|
async processNext() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backtester-streamer.js","sourceRoot":"","sources":["../../../src/adapter/backtester/backtester-streamer.ts"],"names":[],"mappings":";;;AACA,2DAAuD;
|
|
1
|
+
{"version":3,"file":"backtester-streamer.js","sourceRoot":"","sources":["../../../src/adapter/backtester/backtester-streamer.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,13 +16,15 @@ describe('backtester streamer tests', () => {
|
|
|
16
16
|
balance: {},
|
|
17
17
|
from: 0,
|
|
18
18
|
to: 10,
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
19
|
+
listener: {
|
|
20
|
+
onBacktestCompleted: () => {
|
|
21
|
+
const trade = store.snapshot.trade[instrument.toString()];
|
|
22
|
+
expect(trade.timestamp).toEqual(8);
|
|
23
|
+
expect(trade.rate).toEqual(8);
|
|
24
|
+
expect(trade.quantity).toEqual(8);
|
|
25
|
+
expect(store.snapshot.timestamp).toEqual(8);
|
|
26
|
+
done();
|
|
27
|
+
}
|
|
26
28
|
}
|
|
27
29
|
});
|
|
28
30
|
feed
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backtester-streamer.spec.js","sourceRoot":"","sources":["../../../src/adapter/backtester/backtester-streamer.spec.ts"],"names":[],"mappings":";;AAAA,uCAAoC;AACpC,yCAA4D;AAC5D,2CAAsD;AACtD,6CAAgD;AAChD,+DAA2D;AAE3D,MAAM,UAAU,GAAG,IAAI,mBAAU,CAC/B,IAAI,cAAK,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,EAC9B,IAAI,cAAK,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,EAC/B,kBAAkB,CACnB,CAAC;AAEF,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACzC,IAAI,CAAC,+BAA+B,EAAE,IAAI,CAAC,EAAE;QAC3C,MAAM,IAAI,GAAG,IAAI,cAAI,CAAC,IAAI,yBAAe,EAAE,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,IAAI,aAAK,EAAE,CAAC;QAE1B,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,GAAG,UAAU,CAAC;QACvE,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,GAAG,UAAU,CAAC;QAE3E,MAAM,QAAQ,GAAG,IAAI,wCAAkB,CAAC,KAAK,EAAE,IAAI,EAAE;YACnD,OAAO,EAAE,EAAE;YACX,IAAI,EAAE,CAAC;YACP,EAAE,EAAE,EAAE;YACN,
|
|
1
|
+
{"version":3,"file":"backtester-streamer.spec.js","sourceRoot":"","sources":["../../../src/adapter/backtester/backtester-streamer.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,10 +37,10 @@ class PaperAdapter extends __1.Adapter {
|
|
|
37
37
|
return this.decoratedAdapter.dispatch(event, context);
|
|
38
38
|
}
|
|
39
39
|
onAccount(event, context) {
|
|
40
|
-
let subscribed = Object.values(this.store.snapshot.subscription.asset).filter(it => it.
|
|
40
|
+
let subscribed = Object.values(this.store.snapshot.subscription.asset).filter(it => it.adapter == this.name);
|
|
41
41
|
for (const balance in this.options.balance) {
|
|
42
42
|
const asset = (0, domain_1.assetOf)(balance);
|
|
43
|
-
if (asset.
|
|
43
|
+
if (asset.adapter != this.name) {
|
|
44
44
|
continue;
|
|
45
45
|
}
|
|
46
46
|
const free = this.options.balance[balance];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paper-adapter.js","sourceRoot":"","sources":["../../../src/adapter/paper/paper-adapter.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0BAA6C;AAG7C,8CAA6C;AAC7C,yCAAuC;AACvC,6CAAsD;AACtD,oDAI0B;AAE1B,MAAa,YAAY;CAExB;AAFD,oCAEC;AAED,MAAa,YAAa,SAAQ,WAAO;IAIvC,YACW,gBAAyB,EACzB,KAAY,EACZ,OAAqB;QAE9B,KAAK,EAAE,CAAC;QAJC,qBAAgB,GAAhB,gBAAgB,CAAS;QACzB,UAAK,GAAL,KAAK,CAAO;QACZ,YAAO,GAAP,OAAO,CAAc;QANvB,SAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;QAUzC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC;IAC3C,CAAC;IAED,mBAAmB,CAAC,OAAqB;QACvC,OAAO,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC5D,CAAC;IAED,cAAc,CAAC,KAAuB,EAAE,OAAuB;QAC7D,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IAGD,SAAS,CAAC,KAA4B,EAAE,OAAuB;QAC7D,IAAI,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,MAAM,CAC3E,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"paper-adapter.js","sourceRoot":"","sources":["../../../src/adapter/paper/paper-adapter.ts"],"names":[],"mappings":"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"}
|
package/dist/bin.d.ts
CHANGED
|
@@ -4,4 +4,3 @@ import { Session, SessionDescriptor } from './session';
|
|
|
4
4
|
export declare function backtest(descriptor: SessionDescriptor, options: BacktesterOptions): [Session, BacktesterStreamer];
|
|
5
5
|
export declare function paper(descriptor: SessionDescriptor, options: PaperOptions): Session;
|
|
6
6
|
export declare function live(descriptor: SessionDescriptor): Session;
|
|
7
|
-
export declare function idle(descriptor: SessionDescriptor): Session;
|
package/dist/bin.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.live = exports.paper = exports.backtest = void 0;
|
|
4
4
|
const backtester_1 = require("./adapter/backtester");
|
|
5
5
|
const adapter_1 = require("./adapter");
|
|
6
6
|
const paper_1 = require("./adapter/paper");
|
|
@@ -25,10 +25,4 @@ function live(descriptor) {
|
|
|
25
25
|
return new session_1.Session(store, aggregate, descriptor);
|
|
26
26
|
}
|
|
27
27
|
exports.live = live;
|
|
28
|
-
function idle(descriptor) {
|
|
29
|
-
const store = new store_1.Store();
|
|
30
|
-
const aggregate = new adapter_1.AdapterAggregate(store, descriptor.adapter);
|
|
31
|
-
return new session_1.Session(store, aggregate);
|
|
32
|
-
}
|
|
33
|
-
exports.idle = idle;
|
|
34
28
|
//# sourceMappingURL=bin.js.map
|
package/dist/bin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";;;AAAA,qDAI8B;AAC9B,uCAA6C;AAC7C,2CAA6D;AAC7D,uCAAuD;AACvD,mCAAgC;AAQhC,SAAgB,QAAQ,CACtB,UAA6B,EAC7B,OAA0B;IAE1B,MAAM,KAAK,GAAG,IAAI,aAAK,EAAE,CAAC;IAE1B,MAAM,QAAQ,GAAG,IAAI,+BAAkB,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACzE,MAAM,SAAS,GAAG,IAAI,0BAAgB,CACpC,KAAK,EACL,UAAU,CAAC,OAAO,CAAC,GAAG,CACpB,EAAE,CAAC,EAAE,CAAC,IAAI,oBAAY,CAAC,IAAI,8BAAiB,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAC5E,CACF,CAAC;IAEF,OAAO,CAAC,IAAI,iBAAO,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,QAAQ,CAAC,CAAC;AAC/D,CAAC;AAfD,4BAeC;AAQD,SAAgB,KAAK,CAAC,UAA6B,EAAE,OAAqB;IACxE,MAAM,KAAK,GAAG,IAAI,aAAK,EAAE,CAAC;IAE1B,MAAM,SAAS,GAAG,IAAI,0BAAgB,CACpC,KAAK,EACL,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,oBAAY,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CACnE,CAAC;IAEF,OAAO,IAAI,iBAAO,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;AACnD,CAAC;AATD,sBASC;AAOD,SAAgB,IAAI,CAAC,UAA6B;IAChD,MAAM,KAAK,GAAG,IAAI,aAAK,EAAE,CAAC;IAC1B,MAAM,SAAS,GAAG,IAAI,0BAAgB,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IAElE,OAAO,IAAI,iBAAO,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;AACnD,CAAC;AALD,oBAKC
|
|
1
|
+
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";;;AAAA,qDAI8B;AAC9B,uCAA6C;AAC7C,2CAA6D;AAC7D,uCAAuD;AACvD,mCAAgC;AAQhC,SAAgB,QAAQ,CACtB,UAA6B,EAC7B,OAA0B;IAE1B,MAAM,KAAK,GAAG,IAAI,aAAK,EAAE,CAAC;IAE1B,MAAM,QAAQ,GAAG,IAAI,+BAAkB,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACzE,MAAM,SAAS,GAAG,IAAI,0BAAgB,CACpC,KAAK,EACL,UAAU,CAAC,OAAO,CAAC,GAAG,CACpB,EAAE,CAAC,EAAE,CAAC,IAAI,oBAAY,CAAC,IAAI,8BAAiB,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAC5E,CACF,CAAC;IAEF,OAAO,CAAC,IAAI,iBAAO,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,QAAQ,CAAC,CAAC;AAC/D,CAAC;AAfD,4BAeC;AAQD,SAAgB,KAAK,CAAC,UAA6B,EAAE,OAAqB;IACxE,MAAM,KAAK,GAAG,IAAI,aAAK,EAAE,CAAC;IAE1B,MAAM,SAAS,GAAG,IAAI,0BAAgB,CACpC,KAAK,EACL,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,oBAAY,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CACnE,CAAC;IAEF,OAAO,IAAI,iBAAO,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;AACnD,CAAC;AATD,sBASC;AAOD,SAAgB,IAAI,CAAC,UAA6B;IAChD,MAAM,KAAK,GAAG,IAAI,aAAK,EAAE,CAAC;IAC1B,MAAM,SAAS,GAAG,IAAI,0BAAgB,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IAElE,OAAO,IAAI,iBAAO,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;AACnD,CAAC;AALD,oBAKC"}
|
package/dist/domain/asset.d.ts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
export declare class AssetSelector {
|
|
2
2
|
private readonly id;
|
|
3
3
|
readonly name: string;
|
|
4
|
-
readonly
|
|
5
|
-
constructor(name: string,
|
|
4
|
+
readonly adapter: string;
|
|
5
|
+
constructor(name: string, adapter: string);
|
|
6
6
|
toString(): string;
|
|
7
7
|
}
|
|
8
8
|
export declare function assetOf(asset: string): AssetSelector;
|
|
9
9
|
export declare class Asset extends AssetSelector {
|
|
10
10
|
readonly scale: number;
|
|
11
11
|
readonly tickSize: number;
|
|
12
|
-
constructor(name: string,
|
|
12
|
+
constructor(name: string, adapter: string, scale: number);
|
|
13
13
|
fixed(number: number): number;
|
|
14
14
|
floor(number: number): number;
|
|
15
15
|
ceil(number: number): number;
|
package/dist/domain/asset.js
CHANGED
|
@@ -3,10 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.Asset = exports.assetOf = exports.AssetSelector = void 0;
|
|
4
4
|
const decimals_1 = require("../shared/decimals");
|
|
5
5
|
class AssetSelector {
|
|
6
|
-
constructor(name,
|
|
6
|
+
constructor(name, adapter) {
|
|
7
7
|
this.name = name.toLowerCase();
|
|
8
|
-
this.
|
|
9
|
-
this.id = `${this.
|
|
8
|
+
this.adapter = adapter.toLowerCase();
|
|
9
|
+
this.id = `${this.adapter}:${this.name}`;
|
|
10
10
|
}
|
|
11
11
|
toString() {
|
|
12
12
|
return this.id;
|
|
@@ -19,16 +19,16 @@ function assetOf(asset) {
|
|
|
19
19
|
throw Error('invalid asset format');
|
|
20
20
|
}
|
|
21
21
|
const assetName = section[1];
|
|
22
|
-
const
|
|
23
|
-
if (assetName.length == 0 ||
|
|
22
|
+
const adapterName = section[0];
|
|
23
|
+
if (assetName.length == 0 || adapterName.length == 0) {
|
|
24
24
|
throw Error('invalid asset format');
|
|
25
25
|
}
|
|
26
|
-
return new AssetSelector(assetName,
|
|
26
|
+
return new AssetSelector(assetName, adapterName);
|
|
27
27
|
}
|
|
28
28
|
exports.assetOf = assetOf;
|
|
29
29
|
class Asset extends AssetSelector {
|
|
30
|
-
constructor(name,
|
|
31
|
-
super(name,
|
|
30
|
+
constructor(name, adapter, scale) {
|
|
31
|
+
super(name, adapter);
|
|
32
32
|
this.scale = scale;
|
|
33
33
|
this.tickSize = 1.0 / Math.pow(10, this.scale);
|
|
34
34
|
}
|
package/dist/domain/asset.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asset.js","sourceRoot":"","sources":["../../src/domain/asset.ts"],"names":[],"mappings":";;;AAAA,iDAAwD;AAKxD,MAAa,aAAa;IAMxB,YAAY,IAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"asset.js","sourceRoot":"","sources":["../../src/domain/asset.ts"],"names":[],"mappings":";;;AAAA,iDAAwD;AAKxD,MAAa,aAAa;IAMxB,YAAY,IAAY,EAAE,OAAe;QACvC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QAErC,IAAI,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;IAC3C,CAAC;IAKD,QAAQ;QACN,OAAO,IAAI,CAAC,EAAE,CAAC;IACjB,CAAC;CACF;AAnBD,sCAmBC;AAKD,SAAgB,OAAO,CAAC,KAAa;IACnC,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAEjC,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE;QACvB,MAAM,KAAK,CAAC,sBAAsB,CAAC,CAAC;KACrC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAE/B,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,IAAI,WAAW,CAAC,MAAM,IAAI,CAAC,EAAE;QACpD,MAAM,KAAK,CAAC,sBAAsB,CAAC,CAAC;KACrC;IAED,OAAO,IAAI,aAAa,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;AACnD,CAAC;AAfD,0BAeC;AAMD,MAAa,KAAM,SAAQ,aAAa;IAGtC,YAAY,IAAY,EAAE,OAAe,EAAkB,KAAa;QACtE,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QADoC,UAAK,GAAL,KAAK,CAAQ;QAGtE,IAAI,CAAC,QAAQ,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC;IAKD,KAAK,CAAC,MAAc;QAClB,OAAO,IAAA,gBAAK,EAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAKD,KAAK,CAAC,MAAc;QAClB,OAAO,IAAA,gBAAK,EAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAKD,IAAI,CAAC,MAAc;QACjB,OAAO,IAAA,eAAI,EAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;CACF;AA7BD,sBA6BC"}
|
|
@@ -5,7 +5,7 @@ describe('asset tests', () => {
|
|
|
5
5
|
test('should instantiate proper asset', () => {
|
|
6
6
|
const sut = new asset_1.Asset('abc', 'xyz', 4);
|
|
7
7
|
expect(sut.name).toEqual('abc');
|
|
8
|
-
expect(sut.
|
|
8
|
+
expect(sut.adapter).toEqual('xyz');
|
|
9
9
|
expect(sut.scale).toEqual(4);
|
|
10
10
|
expect(sut.tickSize).toEqual(0.0001);
|
|
11
11
|
expect(sut.fixed(1.1234567)).toEqual(1.1234);
|
|
@@ -18,13 +18,13 @@ describe('asset selector tests', () => {
|
|
|
18
18
|
test('should instantiate proper asset selector', () => {
|
|
19
19
|
const sut = (0, asset_1.assetOf)('xyz:abc');
|
|
20
20
|
expect(sut.name).toEqual('abc');
|
|
21
|
-
expect(sut.
|
|
21
|
+
expect(sut.adapter).toEqual('xyz');
|
|
22
22
|
expect(sut.toString()).toEqual('xyz:abc');
|
|
23
23
|
});
|
|
24
24
|
test('should instantiate proper asset selector capital case', () => {
|
|
25
25
|
const sut = (0, asset_1.assetOf)('XYZ:ABC');
|
|
26
26
|
expect(sut.name).toEqual('abc');
|
|
27
|
-
expect(sut.
|
|
27
|
+
expect(sut.adapter).toEqual('xyz');
|
|
28
28
|
expect(sut.toString()).toEqual('xyz:abc');
|
|
29
29
|
});
|
|
30
30
|
test('should throw invalid format message for missing separator', () => {
|
|
@@ -45,7 +45,7 @@ describe('asset selector tests', () => {
|
|
|
45
45
|
};
|
|
46
46
|
expect(fn).toThrow(Error);
|
|
47
47
|
});
|
|
48
|
-
test('should throw invalid format message for missing
|
|
48
|
+
test('should throw invalid format message for missing adapter name', () => {
|
|
49
49
|
const fn = () => {
|
|
50
50
|
(0, asset_1.assetOf)(':abc');
|
|
51
51
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asset.spec.js","sourceRoot":"","sources":["../../src/domain/asset.spec.ts"],"names":[],"mappings":";;AAAA,mCAAyC;AAEzC,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,IAAI,CAAC,iCAAiC,EAAE,GAAG,EAAE;QAC3C,MAAM,GAAG,GAAG,IAAI,aAAK,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAEvC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAChC,MAAM,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"asset.spec.js","sourceRoot":"","sources":["../../src/domain/asset.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ export declare class InstrumentSelector {
|
|
|
6
6
|
private readonly id;
|
|
7
7
|
readonly base: AssetSelector;
|
|
8
8
|
readonly quote: AssetSelector;
|
|
9
|
-
constructor(base: string, quote: string,
|
|
9
|
+
constructor(base: string, quote: string, adapter: string);
|
|
10
10
|
toString(): string;
|
|
11
11
|
}
|
|
12
12
|
export declare class Instrument extends InstrumentSelector implements Component {
|
|
@@ -3,9 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.instrumentOf = exports.Instrument = exports.InstrumentSelector = void 0;
|
|
4
4
|
const asset_1 = require("./asset");
|
|
5
5
|
class InstrumentSelector {
|
|
6
|
-
constructor(base, quote,
|
|
7
|
-
this.base = new asset_1.AssetSelector(base.toLowerCase(),
|
|
8
|
-
this.quote = new asset_1.AssetSelector(quote.toLowerCase(),
|
|
6
|
+
constructor(base, quote, adapter) {
|
|
7
|
+
this.base = new asset_1.AssetSelector(base.toLowerCase(), adapter.toLowerCase());
|
|
8
|
+
this.quote = new asset_1.AssetSelector(quote.toLowerCase(), adapter.toLowerCase());
|
|
9
9
|
this.id = `${this.base.toString()}-${this.quote.name}`;
|
|
10
10
|
}
|
|
11
11
|
toString() {
|
|
@@ -15,13 +15,13 @@ class InstrumentSelector {
|
|
|
15
15
|
exports.InstrumentSelector = InstrumentSelector;
|
|
16
16
|
class Instrument extends InstrumentSelector {
|
|
17
17
|
constructor(base, quote, raw) {
|
|
18
|
-
super(base.name, quote.name, base.
|
|
18
|
+
super(base.name, quote.name, base.adapter);
|
|
19
19
|
this.base = base;
|
|
20
20
|
this.quote = quote;
|
|
21
21
|
this.raw = raw;
|
|
22
22
|
this.leverage = null;
|
|
23
|
-
if (base.
|
|
24
|
-
throw new Error('
|
|
23
|
+
if (base.adapter != quote.adapter) {
|
|
24
|
+
throw new Error('Adapter mismatch!');
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
27
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instrument.js","sourceRoot":"","sources":["../../src/domain/instrument.ts"],"names":[],"mappings":";;;AACA,mCAA+C;AAI/C,MAAa,kBAAkB;IAM7B,YAAY,IAAY,EAAE,KAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"instrument.js","sourceRoot":"","sources":["../../src/domain/instrument.ts"],"names":[],"mappings":";;;AACA,mCAA+C;AAI/C,MAAa,kBAAkB;IAM7B,YAAY,IAAY,EAAE,KAAa,EAAE,OAAe;QACtD,IAAI,CAAC,IAAI,GAAG,IAAI,qBAAa,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QACzE,IAAI,CAAC,KAAK,GAAG,IAAI,qBAAa,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QAE3E,IAAI,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IACzD,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,EAAE,CAAC;IACjB,CAAC;CACF;AAhBD,gDAgBC;AAKD,MAAa,UAAW,SAAQ,kBAAkB;IAMhD,YAAqB,IAAW,EAAW,KAAY,EAAW,GAAW;QAC3E,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QADxB,SAAI,GAAJ,IAAI,CAAO;QAAW,UAAK,GAAL,KAAK,CAAO;QAAW,QAAG,GAAH,GAAG,CAAQ;QAF7E,aAAQ,GAAY,IAAI,CAAC;QAKvB,IAAI,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,EAAE;YACjC,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;SACtC;IACH,CAAC;CACF;AAbD,gCAaC;AAED,SAAgB,YAAY,CAAC,UAAkB;IAC7C,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAEpC,OAAO,IAAI,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AAChE,CAAC;AALD,oCAKC"}
|
|
@@ -6,9 +6,9 @@ describe('instrument tests', () => {
|
|
|
6
6
|
test('should instantiate proper instrument', () => {
|
|
7
7
|
const sut = new instrument_1.Instrument(new asset_1.Asset('abc', 'xyz', 4), new asset_1.Asset('def', 'xyz', 4), 'abc-def');
|
|
8
8
|
expect(sut.base.name).toEqual('abc');
|
|
9
|
-
expect(sut.base.
|
|
9
|
+
expect(sut.base.adapter).toEqual('xyz');
|
|
10
10
|
expect(sut.quote.name).toEqual('def');
|
|
11
|
-
expect(sut.quote.
|
|
11
|
+
expect(sut.quote.adapter).toEqual('xyz');
|
|
12
12
|
expect(sut.toString()).toEqual('xyz:abc-def');
|
|
13
13
|
});
|
|
14
14
|
});
|
|
@@ -16,17 +16,17 @@ describe('instrument selector tests', () => {
|
|
|
16
16
|
test('should instantiate proper instrument selector', () => {
|
|
17
17
|
const sut = (0, instrument_1.instrumentOf)('xyz:abc-def');
|
|
18
18
|
expect(sut.base.name).toEqual('abc');
|
|
19
|
-
expect(sut.base.
|
|
19
|
+
expect(sut.base.adapter).toEqual('xyz');
|
|
20
20
|
expect(sut.quote.name).toEqual('def');
|
|
21
|
-
expect(sut.quote.
|
|
21
|
+
expect(sut.quote.adapter).toEqual('xyz');
|
|
22
22
|
expect(sut.toString()).toEqual('xyz:abc-def');
|
|
23
23
|
});
|
|
24
24
|
test('should instantiate proper instrument selector capital case', () => {
|
|
25
25
|
const sut = (0, instrument_1.instrumentOf)('XYZ:ABC-DEF');
|
|
26
26
|
expect(sut.base.name).toEqual('abc');
|
|
27
|
-
expect(sut.base.
|
|
27
|
+
expect(sut.base.adapter).toEqual('xyz');
|
|
28
28
|
expect(sut.quote.name).toEqual('def');
|
|
29
|
-
expect(sut.quote.
|
|
29
|
+
expect(sut.quote.adapter).toEqual('xyz');
|
|
30
30
|
expect(sut.toString()).toEqual('xyz:abc-def');
|
|
31
31
|
});
|
|
32
32
|
test('should throw invalid format message for missing separator', () => {
|
|
@@ -47,7 +47,7 @@ describe('instrument selector tests', () => {
|
|
|
47
47
|
};
|
|
48
48
|
expect(fn).toThrow(Error);
|
|
49
49
|
});
|
|
50
|
-
test('should throw invalid format message for missing
|
|
50
|
+
test('should throw invalid format message for missing adapter name', () => {
|
|
51
51
|
const fn = () => {
|
|
52
52
|
(0, asset_1.assetOf)(':abc-def');
|
|
53
53
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instrument.spec.js","sourceRoot":"","sources":["../../src/domain/instrument.spec.ts"],"names":[],"mappings":";;AAAA,mCAAyC;AACzC,6CAAwD;AAExD,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,IAAI,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAChD,MAAM,GAAG,GAAG,IAAI,uBAAU,CACxB,IAAI,aAAK,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,EAC1B,IAAI,aAAK,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,EAC1B,SAAS,CACV,CAAC;QAEF,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACrC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"instrument.spec.js","sourceRoot":"","sources":["../../src/domain/instrument.spec.ts"],"names":[],"mappings":"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"}
|
package/dist/ipc.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
1
2
|
import { Session, SessionDescriptor } from './session';
|
|
3
|
+
import { EventEmitter } from 'events';
|
|
2
4
|
export interface IpcCommand {
|
|
3
5
|
type: any;
|
|
4
6
|
}
|
|
@@ -21,14 +23,17 @@ export declare class IpcBacktestCommand implements IpcCommand {
|
|
|
21
23
|
[key: string]: number;
|
|
22
24
|
};
|
|
23
25
|
}
|
|
24
|
-
export declare class IpcUniverseQuery implements IpcCommand {
|
|
25
|
-
type: string;
|
|
26
|
-
exchange: string;
|
|
27
|
-
}
|
|
28
26
|
export declare class IpcFeedCommand implements IpcCommand {
|
|
29
27
|
type: string;
|
|
30
28
|
instrument: string;
|
|
31
29
|
from: number;
|
|
32
30
|
to: number;
|
|
33
31
|
}
|
|
34
|
-
export declare
|
|
32
|
+
export declare class IpcTaskCommand implements IpcCommand {
|
|
33
|
+
type: string;
|
|
34
|
+
taskName: string;
|
|
35
|
+
}
|
|
36
|
+
export declare type SessionRunDescriptor = SessionDescriptor & {
|
|
37
|
+
ipcSub?: EventEmitter;
|
|
38
|
+
};
|
|
39
|
+
export declare function run(descriptor: SessionRunDescriptor, ...commands: IpcCommand[]): Promise<Session>;
|