@quantform/core 0.3.259 → 0.3.264

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.
Files changed (89) hide show
  1. package/dist/adapter/adapter-aggregate.d.ts +4 -5
  2. package/dist/adapter/adapter-aggregate.js +50 -21
  3. package/dist/adapter/adapter-aggregate.js.map +1 -1
  4. package/dist/adapter/adapter.d.ts +30 -7
  5. package/dist/adapter/adapter.js +29 -2
  6. package/dist/adapter/adapter.js.map +1 -1
  7. package/dist/adapter/backtester/backtester-adapter.d.ts +13 -8
  8. package/dist/adapter/backtester/backtester-adapter.js +25 -32
  9. package/dist/adapter/backtester/backtester-adapter.js.map +1 -1
  10. package/dist/adapter/index.d.ts +0 -1
  11. package/dist/adapter/index.js +0 -1
  12. package/dist/adapter/index.js.map +1 -1
  13. package/dist/adapter/paper/paper-adapter.d.ts +10 -7
  14. package/dist/adapter/paper/paper-adapter.js +24 -42
  15. package/dist/adapter/paper/paper-adapter.js.map +1 -1
  16. package/dist/adapter/paper/paper-adapter.spec.js +25 -7
  17. package/dist/adapter/paper/paper-adapter.spec.js.map +1 -1
  18. package/dist/bootstrap.d.ts +1 -1
  19. package/dist/bootstrap.js +5 -5
  20. package/dist/bootstrap.js.map +1 -1
  21. package/dist/domain/index.d.ts +3 -0
  22. package/dist/domain/index.js +3 -0
  23. package/dist/domain/index.js.map +1 -1
  24. package/dist/{session → domain}/session-descriptor.d.ts +2 -2
  25. package/dist/{session → domain}/session-descriptor.js +0 -0
  26. package/dist/domain/session-descriptor.js.map +1 -0
  27. package/dist/{session → domain}/session.d.ts +2 -2
  28. package/dist/{session → domain}/session.js +4 -4
  29. package/dist/domain/session.js.map +1 -0
  30. package/dist/{session → domain}/session.spec.d.ts +0 -0
  31. package/dist/{session → domain}/session.spec.js +0 -0
  32. package/dist/domain/session.spec.js.map +1 -0
  33. package/dist/{session/session-statement.d.ts → domain/statement.d.ts} +2 -2
  34. package/dist/{session/session-statement.js → domain/statement.js} +1 -1
  35. package/dist/domain/statement.js.map +1 -0
  36. package/dist/index.d.ts +0 -1
  37. package/dist/index.js +0 -1
  38. package/dist/index.js.map +1 -1
  39. package/dist/ipc.d.ts +1 -1
  40. package/dist/ipc.js +11 -5
  41. package/dist/ipc.js.map +1 -1
  42. package/dist/ipc.spec.js +4 -57
  43. package/dist/ipc.spec.js.map +1 -1
  44. package/dist/shared/task.d.ts +1 -1
  45. package/dist/store/event/store-order.event.js +2 -2
  46. package/dist/store/event/store-order.event.js.map +1 -1
  47. package/dist/tests/backtester-adapter.spec.js +7 -24
  48. package/dist/tests/backtester-adapter.spec.js.map +1 -1
  49. package/dist/tsconfig.tsbuildinfo +1 -1
  50. package/package.json +1 -1
  51. package/src/adapter/adapter-aggregate.ts +55 -75
  52. package/src/adapter/adapter.ts +83 -5
  53. package/src/adapter/backtester/backtester-adapter.ts +39 -19
  54. package/src/adapter/index.ts +0 -1
  55. package/src/adapter/paper/paper-adapter.spec.ts +42 -7
  56. package/src/adapter/paper/paper-adapter.ts +31 -23
  57. package/src/bootstrap.ts +2 -2
  58. package/src/domain/index.ts +3 -0
  59. package/src/{session → domain}/session-descriptor.ts +2 -2
  60. package/src/{session → domain}/session.spec.ts +0 -0
  61. package/src/{session → domain}/session.ts +18 -6
  62. package/src/{session/session-statement.ts → domain/statement.ts} +1 -1
  63. package/src/index.ts +0 -1
  64. package/src/ipc.spec.ts +7 -45
  65. package/src/ipc.ts +7 -8
  66. package/src/shared/task.ts +1 -1
  67. package/src/store/event/store-order.event.ts +2 -2
  68. package/src/tests/backtester-adapter.spec.ts +6 -12
  69. package/src/tests/session.spec.ts +1 -1
  70. package/dist/adapter/adapter.event.d.ts +0 -43
  71. package/dist/adapter/adapter.event.js +0 -104
  72. package/dist/adapter/adapter.event.js.map +0 -1
  73. package/dist/session/index.d.ts +0 -4
  74. package/dist/session/index.js +0 -17
  75. package/dist/session/index.js.map +0 -1
  76. package/dist/session/session-descriptor.js.map +0 -1
  77. package/dist/session/session-optimizer.d.ts +0 -10
  78. package/dist/session/session-optimizer.js +0 -62
  79. package/dist/session/session-optimizer.js.map +0 -1
  80. package/dist/session/session-optimizer.spec.d.ts +0 -1
  81. package/dist/session/session-optimizer.spec.js +0 -103
  82. package/dist/session/session-optimizer.spec.js.map +0 -1
  83. package/dist/session/session-statement.js.map +0 -1
  84. package/dist/session/session.js.map +0 -1
  85. package/dist/session/session.spec.js.map +0 -1
  86. package/src/adapter/adapter.event.ts +0 -64
  87. package/src/session/index.ts +0 -4
  88. package/src/session/session-optimizer.spec.ts +0 -86
  89. package/src/session/session-optimizer.ts +0 -81
package/src/ipc.spec.ts CHANGED
@@ -1,20 +1,10 @@
1
- import { Session } from './session';
2
- import {
3
- Adapter,
4
- AdapterFeedCommand,
5
- AdapterAwakeCommand,
6
- AdapterAccountCommand,
7
- AdapterSubscribeCommand,
8
- AdapterDisposeCommand
9
- } from './adapter';
1
+ import { Adapter, AdapterContext } from './adapter';
10
2
  import { PaperAdapter, PaperSpotExecutor } from './adapter/paper';
11
3
  import { PaperExecutor } from './adapter/paper/executor/paper-executor';
12
4
  import { run } from './ipc';
13
- import { Feed, InMemoryStorage } from './storage';
14
- import { instrumentOf } from './domain';
15
- import { handler, task } from './shared';
5
+ import { task } from './shared';
16
6
  import { EventEmitter } from 'events';
17
- import { from, of, take, tap } from 'rxjs';
7
+ import { of, take, tap } from 'rxjs';
18
8
 
19
9
  class DefaultAdapter extends Adapter {
20
10
  name = 'default';
@@ -27,42 +17,14 @@ class DefaultAdapter extends Adapter {
27
17
  return new PaperSpotExecutor(adapter);
28
18
  }
29
19
 
30
- @handler(AdapterAwakeCommand)
31
- onAwake(command: AdapterAwakeCommand) {}
32
-
33
- @handler(AdapterDisposeCommand)
34
- onDispose(command: AdapterDisposeCommand) {}
35
-
36
- @handler(AdapterSubscribeCommand)
37
- onSubscribe(command: AdapterSubscribeCommand) {}
38
-
39
- @handler(AdapterAccountCommand)
40
- onAccount(command: AdapterAccountCommand) {}
20
+ awake(context: AdapterContext): Promise<void> {
21
+ return super.awake(context);
22
+ }
41
23
 
42
- @handler(AdapterFeedCommand)
43
- onFeed(command: AdapterFeedCommand) {}
24
+ async account(): Promise<void> {}
44
25
  }
45
26
 
46
27
  describe('ipc feed tests', () => {
47
- test('should trigger adapter feed command', async () => {
48
- const command = {
49
- type: 'feed',
50
- instrument: 'default:btc-usdt',
51
- from: 0,
52
- to: 100
53
- };
54
-
55
- const session = await run(
56
- {
57
- adapter: [new DefaultAdapter()],
58
- feed: new Feed(new InMemoryStorage())
59
- },
60
- command
61
- );
62
-
63
- //expect(session.descriptor).toBeUndefined();
64
- });
65
-
66
28
  test('should dispatch session started event', done => {
67
29
  const command = {
68
30
  type: 'paper'
package/src/ipc.ts CHANGED
@@ -1,5 +1,4 @@
1
- import { Session, SessionDescriptor } from './session';
2
- import { instrumentOf } from './domain';
1
+ import { Session, SessionDescriptor, instrumentOf } from './domain';
3
2
  import { Topic, event, handler } from './shared/topic';
4
3
  import { runTask, Logger } from './shared';
5
4
  import { Bootstrap } from './bootstrap';
@@ -216,19 +215,19 @@ class IpcHandler extends Topic<{ type: string }, IpcSessionAccessor> {
216
215
 
217
216
  this.emit({ type: 'feed:started' });
218
217
 
219
- await accessor.session.aggregate.feed(
218
+ await accessor.session.aggregate.feed({
220
219
  instrument,
221
- command.from,
222
- command.to,
223
- feed,
224
- timestamp =>
220
+ from: command.from,
221
+ to: command.to,
222
+ destination: feed,
223
+ callback: timestamp =>
225
224
  this.emit({
226
225
  type: 'feed:updated',
227
226
  timestamp,
228
227
  from: command.from,
229
228
  to: command.to
230
229
  })
231
- );
230
+ });
232
231
 
233
232
  this.emit({ type: 'feed:completed' });
234
233
 
@@ -1,5 +1,5 @@
1
1
  import { lastValueFrom, Observable } from 'rxjs';
2
- import { Session } from './../session';
2
+ import { Session } from './../domain';
3
3
 
4
4
  declare type Task = (session: Session) => Observable<any> | Promise<any> | any;
5
5
 
@@ -59,7 +59,7 @@ export function OrderPendingEventHandler(
59
59
  state: State,
60
60
  changes: StateChangeTracker
61
61
  ) {
62
- if (!(event.id in state.order.pending)) {
62
+ if (!(event.id in state.order)) {
63
63
  throw new Error(`Trying to patch unknown order: ${event.id}`);
64
64
  }
65
65
 
@@ -132,7 +132,7 @@ export function OrderCancelingEventHandler(
132
132
  }
133
133
 
134
134
  if (order.state != 'PENDING') {
135
- throw new Error('Order is not pending');
135
+ throw new Error(`Order is not pending: ${order.state}`);
136
136
  }
137
137
 
138
138
  order.state = 'CANCELING';
@@ -1,5 +1,3 @@
1
- import { AdapterAwakeCommand } from '../adapter';
2
- import { AdapterSubscribeCommand } from '../adapter';
3
1
  import { Asset, Commission, instrumentOf } from '../domain';
4
2
  import { InMemoryStorage, Feed } from '../storage';
5
3
  import { Store } from '../store';
@@ -10,7 +8,6 @@ import { PaperExecutor } from '../adapter/paper/executor/paper-executor';
10
8
  import { PaperAdapter } from '../adapter/paper/paper-adapter';
11
9
  import { BacktesterAdapter } from '../adapter/backtester/backtester-adapter';
12
10
  import { BacktesterStreamer } from '../adapter/backtester/backtester-streamer';
13
- import { handler } from '../shared';
14
11
 
15
12
  const base = new Asset('btc', 'binance', 8);
16
13
  const quote = new Asset('usdt', 'binance', 4);
@@ -26,9 +23,10 @@ class DefaultAdapter extends Adapter {
26
23
  return new PaperSpotExecutor(adapter);
27
24
  }
28
25
 
29
- @handler(AdapterAwakeCommand)
30
- onAwake(command: AdapterAwakeCommand, context: AdapterContext) {
31
- context.store.dispatch(
26
+ async awake(context: AdapterContext): Promise<void> {
27
+ await super.awake(context);
28
+
29
+ context.dispatch(
32
30
  new InstrumentPatchEvent(
33
31
  context.timestamp,
34
32
  base,
@@ -88,12 +86,8 @@ describe('backtester adapter tests', () => {
88
86
 
89
87
  const sut = new BacktesterAdapter(adapter, streamer);
90
88
 
91
- sut.dispatch(new AdapterAwakeCommand(), new AdapterContext(sut, store));
92
-
93
- sut.dispatch(
94
- new AdapterSubscribeCommand([instrument]),
95
- new AdapterContext(sut, store)
96
- );
89
+ sut.awake(new AdapterContext(sut, store));
90
+ sut.subscribe([instrument]);
97
91
 
98
92
  expect(sut.name).toEqual('default');
99
93
  });
@@ -1,4 +1,4 @@
1
- import { SessionDescriptor } from '../session';
1
+ import { SessionDescriptor } from '../domain';
2
2
  import { assetOf, instrumentOf, Timeframe } from '../domain';
3
3
  import { finalize, tap } from 'rxjs/operators';
4
4
  /*
@@ -1,43 +0,0 @@
1
- import { Feed } from '../storage';
2
- import { timestamp } from '../shared';
3
- import { InstrumentSelector, Order } from '../domain';
4
- export declare class AdapterAwakeCommand {
5
- type: string;
6
- }
7
- export declare class AdapterDisposeCommand {
8
- type: string;
9
- }
10
- export declare class AdapterAccountCommand {
11
- type: string;
12
- }
13
- export declare class AdapterSubscribeCommand {
14
- readonly instrument: Array<InstrumentSelector>;
15
- type: string;
16
- constructor(instrument: Array<InstrumentSelector>);
17
- }
18
- export declare class AdapterOrderOpenCommand {
19
- readonly order: Order;
20
- type: string;
21
- constructor(order: Order);
22
- }
23
- export declare class AdapterOrderCancelCommand {
24
- readonly order: Order;
25
- type: string;
26
- constructor(order: Order);
27
- }
28
- export declare class AdapterHistoryQuery {
29
- readonly instrument: InstrumentSelector;
30
- readonly timeframe: number;
31
- readonly length: number;
32
- type: string;
33
- constructor(instrument: InstrumentSelector, timeframe: number, length: number);
34
- }
35
- export declare class AdapterFeedCommand {
36
- readonly instrument: InstrumentSelector;
37
- readonly from: timestamp;
38
- readonly to: timestamp;
39
- readonly feed: Feed;
40
- readonly progress: (timestamp: number) => void;
41
- type: string;
42
- constructor(instrument: InstrumentSelector, from: timestamp, to: timestamp, feed: Feed, progress: (timestamp: number) => void);
43
- }
@@ -1,104 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.AdapterFeedCommand = exports.AdapterHistoryQuery = exports.AdapterOrderCancelCommand = exports.AdapterOrderOpenCommand = exports.AdapterSubscribeCommand = exports.AdapterAccountCommand = exports.AdapterDisposeCommand = exports.AdapterAwakeCommand = void 0;
13
- const storage_1 = require("../storage");
14
- const domain_1 = require("../domain");
15
- const topic_1 = require("../shared/topic");
16
- let AdapterAwakeCommand = class AdapterAwakeCommand {
17
- constructor() {
18
- this.type = 'awake';
19
- }
20
- };
21
- AdapterAwakeCommand = __decorate([
22
- topic_1.event
23
- ], AdapterAwakeCommand);
24
- exports.AdapterAwakeCommand = AdapterAwakeCommand;
25
- let AdapterDisposeCommand = class AdapterDisposeCommand {
26
- constructor() {
27
- this.type = 'dispose';
28
- }
29
- };
30
- AdapterDisposeCommand = __decorate([
31
- topic_1.event
32
- ], AdapterDisposeCommand);
33
- exports.AdapterDisposeCommand = AdapterDisposeCommand;
34
- let AdapterAccountCommand = class AdapterAccountCommand {
35
- constructor() {
36
- this.type = 'account';
37
- }
38
- };
39
- AdapterAccountCommand = __decorate([
40
- topic_1.event
41
- ], AdapterAccountCommand);
42
- exports.AdapterAccountCommand = AdapterAccountCommand;
43
- let AdapterSubscribeCommand = class AdapterSubscribeCommand {
44
- constructor(instrument) {
45
- this.instrument = instrument;
46
- this.type = 'subscribe';
47
- }
48
- };
49
- AdapterSubscribeCommand = __decorate([
50
- topic_1.event,
51
- __metadata("design:paramtypes", [Array])
52
- ], AdapterSubscribeCommand);
53
- exports.AdapterSubscribeCommand = AdapterSubscribeCommand;
54
- let AdapterOrderOpenCommand = class AdapterOrderOpenCommand {
55
- constructor(order) {
56
- this.order = order;
57
- this.type = 'order-open';
58
- }
59
- };
60
- AdapterOrderOpenCommand = __decorate([
61
- topic_1.event,
62
- __metadata("design:paramtypes", [domain_1.Order])
63
- ], AdapterOrderOpenCommand);
64
- exports.AdapterOrderOpenCommand = AdapterOrderOpenCommand;
65
- let AdapterOrderCancelCommand = class AdapterOrderCancelCommand {
66
- constructor(order) {
67
- this.order = order;
68
- this.type = 'order-cancel';
69
- }
70
- };
71
- AdapterOrderCancelCommand = __decorate([
72
- topic_1.event,
73
- __metadata("design:paramtypes", [domain_1.Order])
74
- ], AdapterOrderCancelCommand);
75
- exports.AdapterOrderCancelCommand = AdapterOrderCancelCommand;
76
- let AdapterHistoryQuery = class AdapterHistoryQuery {
77
- constructor(instrument, timeframe, length) {
78
- this.instrument = instrument;
79
- this.timeframe = timeframe;
80
- this.length = length;
81
- this.type = 'history';
82
- }
83
- };
84
- AdapterHistoryQuery = __decorate([
85
- topic_1.event,
86
- __metadata("design:paramtypes", [domain_1.InstrumentSelector, Number, Number])
87
- ], AdapterHistoryQuery);
88
- exports.AdapterHistoryQuery = AdapterHistoryQuery;
89
- let AdapterFeedCommand = class AdapterFeedCommand {
90
- constructor(instrument, from, to, feed, progress) {
91
- this.instrument = instrument;
92
- this.from = from;
93
- this.to = to;
94
- this.feed = feed;
95
- this.progress = progress;
96
- this.type = 'feed';
97
- }
98
- };
99
- AdapterFeedCommand = __decorate([
100
- topic_1.event,
101
- __metadata("design:paramtypes", [domain_1.InstrumentSelector, Number, Number, storage_1.Feed, Function])
102
- ], AdapterFeedCommand);
103
- exports.AdapterFeedCommand = AdapterFeedCommand;
104
- //# sourceMappingURL=adapter.event.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"adapter.event.js","sourceRoot":"","sources":["../../src/adapter/adapter.event.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,wCAAkC;AAElC,sCAAsD;AACtD,2CAAwC;AAGxC,IAAa,mBAAmB,GAAhC,MAAa,mBAAmB;IAAhC;QACE,SAAI,GAAG,OAAO,CAAC;IACjB,CAAC;CAAA,CAAA;AAFY,mBAAmB;IAD/B,aAAK;GACO,mBAAmB,CAE/B;AAFY,kDAAmB;AAKhC,IAAa,qBAAqB,GAAlC,MAAa,qBAAqB;IAAlC;QACE,SAAI,GAAG,SAAS,CAAC;IACnB,CAAC;CAAA,CAAA;AAFY,qBAAqB;IADjC,aAAK;GACO,qBAAqB,CAEjC;AAFY,sDAAqB;AAKlC,IAAa,qBAAqB,GAAlC,MAAa,qBAAqB;IAAlC;QACE,SAAI,GAAG,SAAS,CAAC;IACnB,CAAC;CAAA,CAAA;AAFY,qBAAqB;IADjC,aAAK;GACO,qBAAqB,CAEjC;AAFY,sDAAqB;AAKlC,IAAa,uBAAuB,GAApC,MAAa,uBAAuB;IAGlC,YAAqB,UAAqC;QAArC,eAAU,GAAV,UAAU,CAA2B;QAF1D,SAAI,GAAG,WAAW,CAAC;IAE0C,CAAC;CAC/D,CAAA;AAJY,uBAAuB;IADnC,aAAK;qCAI6B,KAAK;GAH3B,uBAAuB,CAInC;AAJY,0DAAuB;AAOpC,IAAa,uBAAuB,GAApC,MAAa,uBAAuB;IAGlC,YAAqB,KAAY;QAAZ,UAAK,GAAL,KAAK,CAAO;QAFjC,SAAI,GAAG,YAAY,CAAC;IAEgB,CAAC;CACtC,CAAA;AAJY,uBAAuB;IADnC,aAAK;qCAIwB,cAAK;GAHtB,uBAAuB,CAInC;AAJY,0DAAuB;AAOpC,IAAa,yBAAyB,GAAtC,MAAa,yBAAyB;IAGpC,YAAqB,KAAY;QAAZ,UAAK,GAAL,KAAK,CAAO;QAFjC,SAAI,GAAG,cAAc,CAAC;IAEc,CAAC;CACtC,CAAA;AAJY,yBAAyB;IADrC,aAAK;qCAIwB,cAAK;GAHtB,yBAAyB,CAIrC;AAJY,8DAAyB;AAOtC,IAAa,mBAAmB,GAAhC,MAAa,mBAAmB;IAG9B,YACW,UAA8B,EAC9B,SAAiB,EACjB,MAAc;QAFd,eAAU,GAAV,UAAU,CAAoB;QAC9B,cAAS,GAAT,SAAS,CAAQ;QACjB,WAAM,GAAN,MAAM,CAAQ;QALzB,SAAI,GAAG,SAAS,CAAC;IAMd,CAAC;CACL,CAAA;AARY,mBAAmB;IAD/B,aAAK;qCAKmB,2BAAkB;GAJ9B,mBAAmB,CAQ/B;AARY,kDAAmB;AAWhC,IAAa,kBAAkB,GAA/B,MAAa,kBAAkB;IAG7B,YACW,UAA8B,EAC9B,IAAe,EACf,EAAa,EACb,IAAU,EACV,QAAqC;QAJrC,eAAU,GAAV,UAAU,CAAoB;QAC9B,SAAI,GAAJ,IAAI,CAAW;QACf,OAAE,GAAF,EAAE,CAAW;QACb,SAAI,GAAJ,IAAI,CAAM;QACV,aAAQ,GAAR,QAAQ,CAA6B;QAPhD,SAAI,GAAG,MAAM,CAAC;IAQX,CAAC;CACL,CAAA;AAVY,kBAAkB;IAD9B,aAAK;qCAKmB,2BAAkB,kBAGxB,cAAI;GAPV,kBAAkB,CAU9B;AAVY,gDAAkB"}
@@ -1,4 +0,0 @@
1
- export * from './session';
2
- export * from './session-descriptor';
3
- export * from './session-optimizer';
4
- export * from './session-statement';
@@ -1,17 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
- };
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- __exportStar(require("./session"), exports);
14
- __exportStar(require("./session-descriptor"), exports);
15
- __exportStar(require("./session-optimizer"), exports);
16
- __exportStar(require("./session-statement"), exports);
17
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAA0B;AAC1B,uDAAqC;AACrC,sDAAoC;AACpC,sDAAoC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-descriptor.js","sourceRoot":"","sources":["../../src/session/session-descriptor.ts"],"names":[],"mappings":""}
@@ -1,10 +0,0 @@
1
- export declare function fit(key: string, generator?: any[]): (target: any, propertyKey: string) => void;
2
- export declare class SessionOptimizer {
3
- static source: any;
4
- static provide(key: string): any;
5
- }
6
- export declare class SessionOptimizerGenerator {
7
- static values: Record<string, any[]>;
8
- static get count(): number;
9
- static product(): any[];
10
- }
@@ -1,62 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SessionOptimizerGenerator = exports.SessionOptimizer = exports.fit = void 0;
4
- function fit(key, generator) {
5
- return function (target, propertyKey) {
6
- let defaultSetterValue;
7
- if (generator) {
8
- SessionOptimizerGenerator.values[key] = generator;
9
- }
10
- Object.defineProperty(target, propertyKey, {
11
- get: () => { var _a; return (_a = SessionOptimizer.provide(key)) !== null && _a !== void 0 ? _a : defaultSetterValue; },
12
- set: (newValue) => {
13
- if (!defaultSetterValue) {
14
- defaultSetterValue = newValue;
15
- return;
16
- }
17
- if (defaultSetterValue == newValue) {
18
- return;
19
- }
20
- throw new Error('can not set a value of optimized property.');
21
- }
22
- });
23
- };
24
- }
25
- exports.fit = fit;
26
- class SessionOptimizer {
27
- static provide(key) {
28
- return key
29
- .split('.')
30
- .reduce((aggregate, propertyName) => (aggregate ? aggregate[propertyName] : null), this.source);
31
- }
32
- }
33
- exports.SessionOptimizer = SessionOptimizer;
34
- SessionOptimizer.source = {};
35
- class SessionOptimizerGenerator {
36
- static get count() {
37
- return Object.values(this.values).reduce((aggregate, value) => (aggregate *= value.length), 1);
38
- }
39
- static product() {
40
- const matrix = [];
41
- const keys = Object.keys(this.values);
42
- const values = Object.values(this.values).reduce((a, b) => a.map(x => b.map(y => x.concat(y))).reduce((a, b) => a.concat(b), []), [[]]);
43
- for (const value of values) {
44
- const result = {};
45
- for (let i = 0; i < keys.length; i++) {
46
- const path = keys[i];
47
- const parts = path.split('.');
48
- let it = result;
49
- while (parts.length > 1) {
50
- const part = parts.shift();
51
- it = it[part] = it[part] || {};
52
- }
53
- it[parts[0]] = value[i];
54
- }
55
- matrix.push(result);
56
- }
57
- return matrix;
58
- }
59
- }
60
- exports.SessionOptimizerGenerator = SessionOptimizerGenerator;
61
- SessionOptimizerGenerator.values = {};
62
- //# sourceMappingURL=session-optimizer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-optimizer.js","sourceRoot":"","sources":["../../src/session/session-optimizer.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,103 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- const domain_1 = require("../domain");
13
- const session_optimizer_1 = require("./session-optimizer");
14
- describe('session optimizer tests', () => {
15
- test('should ignore not provided value for property', () => {
16
- class Target {
17
- constructor() {
18
- this.timeframe = domain_1.Timeframe.H1;
19
- }
20
- }
21
- __decorate([
22
- (0, session_optimizer_1.fit)('timeframe'),
23
- __metadata("design:type", Object)
24
- ], Target.prototype, "timeframe", void 0);
25
- const sut = new Target();
26
- expect(sut.timeframe).toBe(domain_1.Timeframe.H1);
27
- });
28
- test('should ignore not provided descendant value for property', () => {
29
- class Target {
30
- constructor() {
31
- this.timeframe = domain_1.Timeframe.H1;
32
- }
33
- }
34
- __decorate([
35
- (0, session_optimizer_1.fit)('timeframe.daily'),
36
- __metadata("design:type", Object)
37
- ], Target.prototype, "timeframe", void 0);
38
- const sut = new Target();
39
- expect(sut.timeframe).toBe(domain_1.Timeframe.H1);
40
- });
41
- test('should set provided value for property', () => {
42
- class Target {
43
- constructor() {
44
- this.timeframe = domain_1.Timeframe.H1;
45
- }
46
- }
47
- __decorate([
48
- (0, session_optimizer_1.fit)('timeframe'),
49
- __metadata("design:type", Object)
50
- ], Target.prototype, "timeframe", void 0);
51
- session_optimizer_1.SessionOptimizer.source = {
52
- timeframe: domain_1.Timeframe.D1
53
- };
54
- const sut = new Target();
55
- expect(sut.timeframe).toBe(domain_1.Timeframe.D1);
56
- });
57
- test('should set provided descendant value for property', () => {
58
- class Target {
59
- constructor() {
60
- this.timeframe = domain_1.Timeframe.H1;
61
- }
62
- }
63
- __decorate([
64
- (0, session_optimizer_1.fit)('timeframe.daily'),
65
- __metadata("design:type", Object)
66
- ], Target.prototype, "timeframe", void 0);
67
- session_optimizer_1.SessionOptimizer.source = {
68
- timeframe: {
69
- daily: domain_1.Timeframe.D1
70
- }
71
- };
72
- const sut = new Target();
73
- expect(sut.timeframe).toBe(domain_1.Timeframe.D1);
74
- });
75
- });
76
- describe('optimizer generator tests', () => {
77
- test('should generate optimized input', () => {
78
- class Target {
79
- }
80
- __decorate([
81
- (0, session_optimizer_1.fit)('target.timeframe', [domain_1.Timeframe.D1, domain_1.Timeframe.H1]),
82
- __metadata("design:type", Object)
83
- ], Target.prototype, "timeframe", void 0);
84
- __decorate([
85
- (0, session_optimizer_1.fit)('target.length', [7, 14, 21]),
86
- __metadata("design:type", Object)
87
- ], Target.prototype, "length", void 0);
88
- __decorate([
89
- (0, session_optimizer_1.fit)('target.size', [0.1, 0.2, 0.3, 0.4]),
90
- __metadata("design:type", Object)
91
- ], Target.prototype, "size", void 0);
92
- expect(session_optimizer_1.SessionOptimizerGenerator.count).toBe(24);
93
- const product = session_optimizer_1.SessionOptimizerGenerator.product();
94
- expect(product.length).toBe(24);
95
- expect(product[0].target.timeframe).toBe(domain_1.Timeframe.D1);
96
- expect(product[0].target.length).toBe(7);
97
- expect(product[0].target.size).toBe(0.1);
98
- expect(product[23].target.timeframe).toBe(domain_1.Timeframe.H1);
99
- expect(product[23].target.length).toBe(21);
100
- expect(product[23].target.size).toBe(0.4);
101
- });
102
- });
103
- //# sourceMappingURL=session-optimizer.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-optimizer.spec.js","sourceRoot":"","sources":["../../src/session/session-optimizer.spec.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-statement.js","sourceRoot":"","sources":["../../src/session/session-statement.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/session/session.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"session.spec.js","sourceRoot":"","sources":["../../src/session/session.spec.ts"],"names":[],"mappings":";;AAAA,0CAAsD;AACtD,sCAA8C;AAC9C,sCAAgC;AAEhC,4CAAyC;AAEzC,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,MAAM,UAAU,GAAsB;QACpC,EAAE,EAAE,IAAA,YAAG,GAAE;QACT,OAAO,EAAE,EAAE;KACZ,CAAC;IAEF,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,EAAE;QACjC,MAAM,OAAO,GAAG,IAAI,qBAAS,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,CAAC;QAElD,OAAO,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC;YAC9B,IAAI,EAAE,EAAE,CAAC,EAAE;gBACT,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC/B,CAAC;YACD,QAAQ,EAAE,IAAI,EAAE;SACjB,CAAC,CAAC;QAEH,OAAO,CAAC,KAAK,CAAC,QAAQ,CACpB,IAAI,4BAAoB,CACtB,IAAA,YAAG,GAAE,EACL,IAAI,cAAK,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,EAC3B,IAAI,cAAK,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,EAC1B,IAAI,mBAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EACpB,EAAE,CACH,EACD,IAAI,4BAAoB,CACtB,IAAA,YAAG,GAAE,EACL,IAAI,cAAK,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,EAC5B,IAAI,cAAK,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,EAC1B,IAAI,mBAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EACpB,EAAE,CACH,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}