@quantform/core 0.3.262 → 0.3.267

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 (96) hide show
  1. package/dist/adapter/adapter.d.ts +2 -2
  2. package/dist/adapter/backtester/backtester-adapter.d.ts +2 -2
  3. package/dist/adapter/backtester/backtester-adapter.js +3 -3
  4. package/dist/adapter/backtester/backtester-adapter.js.map +1 -1
  5. package/dist/adapter/paper/index.d.ts +2 -2
  6. package/dist/adapter/paper/index.js +2 -2
  7. package/dist/adapter/paper/index.js.map +1 -1
  8. package/dist/adapter/paper/paper-adapter.d.ts +3 -3
  9. package/dist/adapter/paper/paper-adapter.js +5 -5
  10. package/dist/adapter/paper/paper-adapter.js.map +1 -1
  11. package/dist/adapter/paper/paper-adapter.spec.js +2 -2
  12. package/dist/adapter/paper/paper-adapter.spec.js.map +1 -1
  13. package/dist/adapter/paper/{executor/paper-margin-executor.d.ts → simulator/paper-margin-simulator.d.ts} +2 -2
  14. package/dist/adapter/paper/{executor/paper-margin-executor.js → simulator/paper-margin-simulator.js} +5 -5
  15. package/dist/adapter/paper/simulator/paper-margin-simulator.js.map +1 -0
  16. package/dist/adapter/paper/{executor/paper-executor.d.ts → simulator/paper-simulator.d.ts} +1 -1
  17. package/dist/adapter/paper/{executor/paper-executor.js → simulator/paper-simulator.js} +4 -4
  18. package/dist/adapter/paper/simulator/paper-simulator.js.map +1 -0
  19. package/dist/adapter/paper/{executor/paper-spot-executor.d.ts → simulator/paper-spot-simulator.d.ts} +2 -2
  20. package/dist/adapter/paper/{executor/paper-spot-executor.js → simulator/paper-spot-simulator.js} +5 -5
  21. package/dist/adapter/paper/simulator/paper-spot-simulator.js.map +1 -0
  22. package/dist/{session/session-optimizer.spec.d.ts → adapter/paper/simulator/paper-spot-simulator.spec.d.ts} +0 -0
  23. package/dist/adapter/paper/simulator/paper-spot-simulator.spec.js +50 -0
  24. package/dist/adapter/paper/simulator/paper-spot-simulator.spec.js.map +1 -0
  25. package/dist/bootstrap.d.ts +1 -1
  26. package/dist/bootstrap.js +4 -4
  27. package/dist/bootstrap.js.map +1 -1
  28. package/dist/domain/index.d.ts +3 -0
  29. package/dist/domain/index.js +3 -0
  30. package/dist/domain/index.js.map +1 -1
  31. package/dist/{session → domain}/session-descriptor.d.ts +2 -2
  32. package/dist/{session → domain}/session-descriptor.js +0 -0
  33. package/dist/domain/session-descriptor.js.map +1 -0
  34. package/dist/{session → domain}/session.d.ts +0 -0
  35. package/dist/{session → domain}/session.js +0 -0
  36. package/dist/domain/session.js.map +1 -0
  37. package/dist/{session → domain}/session.spec.d.ts +0 -0
  38. package/dist/{session → domain}/session.spec.js +0 -0
  39. package/dist/domain/session.spec.js.map +1 -0
  40. package/dist/{session/session-statement.d.ts → domain/statement.d.ts} +2 -2
  41. package/dist/{session/session-statement.js → domain/statement.js} +1 -1
  42. package/dist/domain/statement.js.map +1 -0
  43. package/dist/index.d.ts +0 -1
  44. package/dist/index.js +0 -1
  45. package/dist/index.js.map +1 -1
  46. package/dist/ipc.d.ts +1 -1
  47. package/dist/ipc.js.map +1 -1
  48. package/dist/ipc.spec.js +2 -2
  49. package/dist/ipc.spec.js.map +1 -1
  50. package/dist/shared/task.d.ts +1 -1
  51. package/dist/store/event/store-order.event.js +5 -5
  52. package/dist/store/event/store-order.event.js.map +1 -1
  53. package/dist/tests/backtester-adapter.spec.js +2 -2
  54. package/dist/tests/backtester-adapter.spec.js.map +1 -1
  55. package/dist/tsconfig.tsbuildinfo +1 -1
  56. package/package.json +1 -1
  57. package/src/adapter/adapter.ts +2 -2
  58. package/src/adapter/backtester/backtester-adapter.ts +4 -4
  59. package/src/adapter/paper/index.ts +2 -2
  60. package/src/adapter/paper/paper-adapter.spec.ts +4 -4
  61. package/src/adapter/paper/paper-adapter.ts +7 -7
  62. package/src/adapter/paper/{executor/paper-margin-executor.ts → simulator/paper-margin-simulator.ts} +2 -2
  63. package/src/adapter/paper/{executor/paper-executor.ts → simulator/paper-simulator.ts} +1 -1
  64. package/src/adapter/paper/simulator/paper-spot-simulator.spec.ts +88 -0
  65. package/src/adapter/paper/{executor/paper-spot-executor.ts → simulator/paper-spot-simulator.ts} +2 -2
  66. package/src/bootstrap.ts +1 -1
  67. package/src/domain/index.ts +3 -0
  68. package/src/{session → domain}/session-descriptor.ts +2 -2
  69. package/src/{session → domain}/session.spec.ts +0 -0
  70. package/src/{session → domain}/session.ts +0 -0
  71. package/src/{session/session-statement.ts → domain/statement.ts} +1 -1
  72. package/src/index.ts +0 -1
  73. package/src/ipc.spec.ts +4 -4
  74. package/src/ipc.ts +1 -2
  75. package/src/shared/task.ts +1 -1
  76. package/src/store/event/store-order.event.ts +5 -5
  77. package/src/tests/backtester-adapter.spec.ts +4 -4
  78. package/src/tests/session.spec.ts +1 -1
  79. package/dist/adapter/paper/executor/paper-executor.js.map +0 -1
  80. package/dist/adapter/paper/executor/paper-margin-executor.js.map +0 -1
  81. package/dist/adapter/paper/executor/paper-spot-executor.js.map +0 -1
  82. package/dist/session/index.d.ts +0 -4
  83. package/dist/session/index.js +0 -17
  84. package/dist/session/index.js.map +0 -1
  85. package/dist/session/session-descriptor.js.map +0 -1
  86. package/dist/session/session-optimizer.d.ts +0 -10
  87. package/dist/session/session-optimizer.js +0 -62
  88. package/dist/session/session-optimizer.js.map +0 -1
  89. package/dist/session/session-optimizer.spec.js +0 -103
  90. package/dist/session/session-optimizer.spec.js.map +0 -1
  91. package/dist/session/session-statement.js.map +0 -1
  92. package/dist/session/session.js.map +0 -1
  93. package/dist/session/session.spec.js.map +0 -1
  94. package/src/session/index.ts +0 -4
  95. package/src/session/session-optimizer.spec.ts +0 -86
  96. package/src/session/session-optimizer.ts +0 -81
@@ -1,5 +1,5 @@
1
1
  import { now, timestamp } from '../shared';
2
- import { PaperExecutor } from './paper/executor/paper-executor';
2
+ import { PaperSimulator } from './paper/simulator/paper-simulator';
3
3
  import { PaperAdapter } from './paper';
4
4
  import { State, Store } from '../store';
5
5
  import { InstrumentSelector, Order, Candle } from '../domain';
@@ -106,5 +106,5 @@ export abstract class Adapter {
106
106
  throw new Error('method not implemented');
107
107
  }
108
108
 
109
- abstract createPaperExecutor(adapter: PaperAdapter): PaperExecutor;
109
+ abstract createPaperSimulator(adapter: PaperAdapter): PaperSimulator;
110
110
  }
@@ -4,7 +4,7 @@ import { PaperAdapter, PaperOptions } from '../paper';
4
4
  import { timestamp } from '../../shared';
5
5
  import { InstrumentSubscriptionEvent } from '../../store/event';
6
6
  import { InstrumentSelector, Order, Candle } from '../../domain';
7
- import { PaperExecutor } from '../paper/executor/paper-executor';
7
+ import { PaperSimulator } from '../paper/simulator/paper-simulator';
8
8
  import { FeedQuery, HistoryQuery } from '../adapter';
9
9
 
10
10
  export class BacktesterOptions extends PaperOptions {
@@ -24,7 +24,7 @@ export class BacktesterAdapter extends Adapter {
24
24
  }
25
25
 
26
26
  async awake(context: AdapterContext): Promise<void> {
27
- await this.awake(context);
27
+ await super.awake(context);
28
28
  await this.decoratedAdapter.awake(context);
29
29
  }
30
30
 
@@ -70,7 +70,7 @@ export class BacktesterAdapter extends Adapter {
70
70
  return this.decoratedAdapter.feed(query);
71
71
  }
72
72
 
73
- createPaperExecutor(adapter: PaperAdapter): PaperExecutor {
74
- return this.decoratedAdapter.createPaperExecutor(adapter);
73
+ createPaperSimulator(adapter: PaperAdapter): PaperSimulator {
74
+ return this.decoratedAdapter.createPaperSimulator(adapter);
75
75
  }
76
76
  }
@@ -1,3 +1,3 @@
1
1
  export * from './paper-adapter';
2
- export * from './executor/paper-spot-executor';
3
- export * from './executor/paper-margin-executor';
2
+ export * from './simulator/paper-spot-simulator';
3
+ export * from './simulator/paper-margin-simulator';
@@ -1,8 +1,8 @@
1
- import { PaperSpotExecutor } from '.';
1
+ import { PaperSpotSimulator } from '.';
2
2
  import { AdapterContext } from '..';
3
3
  import { Store } from '../../store';
4
4
  import { Adapter } from '../adapter';
5
- import { PaperExecutor } from './executor/paper-executor';
5
+ import { PaperSimulator } from './simulator/paper-simulator';
6
6
  import { PaperAdapter } from './paper-adapter';
7
7
  import { Order, Asset, Commission, assetOf } from './../../domain';
8
8
  import { instrumentOf } from './../../domain/instrument';
@@ -29,8 +29,8 @@ class DefaultAdapter extends Adapter {
29
29
  );
30
30
  }
31
31
 
32
- createPaperExecutor(adapter: PaperAdapter): PaperExecutor {
33
- return new PaperSpotExecutor(adapter);
32
+ createPaperSimulator(adapter: PaperAdapter): PaperSimulator {
33
+ return new PaperSpotSimulator(adapter);
34
34
  }
35
35
  }
36
36
 
@@ -1,6 +1,6 @@
1
1
  import { Adapter, AdapterContext } from '..';
2
2
  import { Store } from '../../store';
3
- import { PaperExecutor } from './executor/paper-executor';
3
+ import { PaperSimulator } from './simulator/paper-simulator';
4
4
  import { assetOf, Candle, InstrumentSelector, Order } from '../../domain';
5
5
  import { BalancePatchEvent } from '../../store/event';
6
6
  import { Feed } from 'src/storage';
@@ -12,7 +12,7 @@ export class PaperOptions {
12
12
 
13
13
  export class PaperAdapter extends Adapter {
14
14
  readonly name = this.decoratedAdapter.name;
15
- readonly executor: PaperExecutor;
15
+ readonly simulator: PaperSimulator;
16
16
 
17
17
  constructor(
18
18
  readonly decoratedAdapter: Adapter,
@@ -21,7 +21,7 @@ export class PaperAdapter extends Adapter {
21
21
  ) {
22
22
  super();
23
23
 
24
- this.executor = this.createPaperExecutor(this);
24
+ this.simulator = this.createPaperSimulator(this);
25
25
  }
26
26
 
27
27
  timestamp() {
@@ -68,11 +68,11 @@ export class PaperAdapter extends Adapter {
68
68
  }
69
69
 
70
70
  async open(order: Order): Promise<void> {
71
- this.executor.open(order);
71
+ this.simulator.open(order);
72
72
  }
73
73
 
74
74
  async cancel(order: Order): Promise<void> {
75
- this.executor.cancel(order);
75
+ this.simulator.cancel(order);
76
76
  }
77
77
 
78
78
  history(query: HistoryQuery): Promise<Candle[]> {
@@ -83,7 +83,7 @@ export class PaperAdapter extends Adapter {
83
83
  return this.decoratedAdapter.feed(query);
84
84
  }
85
85
 
86
- createPaperExecutor(adapter: PaperAdapter): PaperExecutor {
87
- return this.decoratedAdapter.createPaperExecutor(adapter);
86
+ createPaperSimulator(adapter: PaperAdapter): PaperSimulator {
87
+ return this.decoratedAdapter.createPaperSimulator(adapter);
88
88
  }
89
89
  }
@@ -10,9 +10,9 @@ import {
10
10
  PositionPatchEvent
11
11
  } from '../../../store/event';
12
12
  import { PaperAdapter } from '..';
13
- import { PaperExecutor } from './paper-executor';
13
+ import { PaperSimulator } from './paper-simulator';
14
14
 
15
- export class PaperMarginExecutor extends PaperExecutor {
15
+ export class PaperMarginSimulator extends PaperSimulator {
16
16
  leverage = 10;
17
17
 
18
18
  constructor(adapter: PaperAdapter) {
@@ -3,7 +3,7 @@ import { Component, InstrumentSelector, Order, Orderbook, Trade } from '../../..
3
3
  import { PaperAdapter } from '..';
4
4
  import { Set } from 'typescript-collections';
5
5
 
6
- export abstract class PaperExecutor {
6
+ export abstract class PaperSimulator {
7
7
  private readonly pending: Record<string, Set<Order>> = {};
8
8
 
9
9
  constructor(readonly adapter: PaperAdapter) {
@@ -0,0 +1,88 @@
1
+ import { Adapter, AdapterContext } from './../../adapter';
2
+ import {
3
+ BalancePatchEvent,
4
+ InstrumentPatchEvent,
5
+ InstrumentSubscriptionEvent,
6
+ OrderbookPatchEvent,
7
+ TradePatchEvent
8
+ } from './../../../store/event';
9
+ import { Store } from './../../../store';
10
+ import { PaperSimulator } from './paper-simulator';
11
+ import { PaperAdapter } from '../paper-adapter';
12
+ import { PaperSpotSimulator } from './paper-spot-simulator';
13
+ import {
14
+ Asset,
15
+ Commission,
16
+ Order,
17
+ instrumentOf,
18
+ assetOf,
19
+ commissionPercentOf
20
+ } from './../../../domain';
21
+
22
+ class DefaultAdapter extends Adapter {
23
+ name = 'default';
24
+
25
+ timestamp() {
26
+ return 123;
27
+ }
28
+
29
+ async awake(context: AdapterContext): Promise<void> {
30
+ await super.awake(context);
31
+
32
+ context.dispatch(
33
+ new InstrumentPatchEvent(
34
+ context.timestamp,
35
+ new Asset('a', this.name, 8),
36
+ new Asset('b', this.name, 4),
37
+ new Commission(0.1, 0.1),
38
+ 'a-b'
39
+ )
40
+ );
41
+ }
42
+
43
+ createPaperSimulator(adapter: PaperAdapter): PaperSimulator {
44
+ return new PaperSpotSimulator(adapter);
45
+ }
46
+ }
47
+
48
+ describe('paper spot simulator tests', () => {
49
+ const options = {
50
+ balance: {
51
+ ['default:a']: 1000,
52
+ ['default:b']: 200
53
+ }
54
+ };
55
+
56
+ test('should open an market order', async () => {
57
+ const store = new Store();
58
+ const adapter = new DefaultAdapter();
59
+ const order = Order.buyMarket(instrumentOf('default:a-b'), 1);
60
+
61
+ store.dispatch(
62
+ new InstrumentPatchEvent(
63
+ 0,
64
+ new Asset('a', 'default', 8),
65
+ new Asset('b', 'default', 4),
66
+ commissionPercentOf(0.1, 0.1),
67
+ 'a-b'
68
+ ),
69
+ new BalancePatchEvent(assetOf('default:a'), 1000, 0, 1)
70
+ );
71
+ store.dispatch(new BalancePatchEvent(assetOf('default:b'), 1000, 0, 1));
72
+ store.dispatch(new InstrumentSubscriptionEvent(1, instrumentOf('default:a-b'), true));
73
+
74
+ const sut = new PaperSpotSimulator(new PaperAdapter(adapter, store, options));
75
+
76
+ await sut.open(order);
77
+
78
+ expect(store.snapshot.order[order.id].state).toBe('PENDING');
79
+
80
+ store.dispatch(new TradePatchEvent(instrumentOf('default:a-b'), 5, 1, 2));
81
+
82
+ expect(store.snapshot.order[order.id].quantity).toBe(1);
83
+ expect(store.snapshot.order[order.id].averageExecutionRate).toBe(5);
84
+ expect(store.snapshot.order[order.id].state).toBe('FILLED');
85
+ expect(store.snapshot.balance['default:b'].free).toBe(995);
86
+ expect(store.snapshot.balance['default:a'].free).toBe(1000.999);
87
+ });
88
+ });
@@ -10,10 +10,10 @@ import {
10
10
  OrderPendingEvent
11
11
  } from '../../../store/event';
12
12
  import { PaperAdapter } from '..';
13
- import { PaperExecutor } from './paper-executor';
13
+ import { PaperSimulator } from './paper-simulator';
14
14
  import { timestamp } from '../../../shared';
15
15
 
16
- export class PaperSpotExecutor extends PaperExecutor {
16
+ export class PaperSpotSimulator extends PaperSimulator {
17
17
  constructor(readonly adapter: PaperAdapter) {
18
18
  super(adapter);
19
19
  }
package/src/bootstrap.ts CHANGED
@@ -5,7 +5,7 @@ import {
5
5
  } from './adapter/backtester';
6
6
  import { AdapterAggregate } from './adapter';
7
7
  import { PaperAdapter } from './adapter/paper';
8
- import { Session, SessionDescriptor } from './session';
8
+ import { Session, SessionDescriptor } from './domain';
9
9
  import { Store } from './store';
10
10
 
11
11
  export class Bootstrap {
@@ -10,3 +10,6 @@ export * from './candle-builder';
10
10
  export * from './timeframe';
11
11
  export * from './position';
12
12
  export * from './trade';
13
+ export * from './session';
14
+ export * from './session-descriptor';
15
+ export * from './statement';
@@ -1,8 +1,8 @@
1
1
  import { Adapter } from '../adapter';
2
2
  import { Measurement } from '../storage/measurement';
3
3
  import { Feed } from '../storage';
4
- import { BacktesterOptions } from './../adapter/backtester';
5
- import { PaperOptions } from './../adapter/paper';
4
+ import { BacktesterOptions } from '../adapter/backtester';
5
+ import { PaperOptions } from '../adapter/paper';
6
6
 
7
7
  /**
8
8
  * Describes a single session.
File without changes
File without changes
@@ -1,5 +1,5 @@
1
1
  import { Session } from '.';
2
- import { InstrumentSelector } from '../domain';
2
+ import { InstrumentSelector } from '.';
3
3
  import { combineLatest, finalize, map, take, tap } from 'rxjs';
4
4
  import { drawdown } from '../indicator';
5
5
  import { floor, precision } from '../shared';
package/src/index.ts CHANGED
@@ -4,7 +4,6 @@ export * from './adapter';
4
4
  export * from './adapter/backtester';
5
5
  export * from './adapter/paper';
6
6
  export * from './indicator';
7
- export * from './session';
8
7
  export * from './storage';
9
8
  export * from './store';
10
9
  export * from './store/event';
package/src/ipc.spec.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { Adapter, AdapterContext } from './adapter';
2
- import { PaperAdapter, PaperSpotExecutor } from './adapter/paper';
3
- import { PaperExecutor } from './adapter/paper/executor/paper-executor';
2
+ import { PaperAdapter, PaperSpotSimulator } from './adapter/paper';
3
+ import { PaperSimulator } from './adapter/paper/simulator/paper-simulator';
4
4
  import { run } from './ipc';
5
5
  import { task } from './shared';
6
6
  import { EventEmitter } from 'events';
@@ -13,8 +13,8 @@ class DefaultAdapter extends Adapter {
13
13
  return 123;
14
14
  }
15
15
 
16
- createPaperExecutor(adapter: PaperAdapter): PaperExecutor {
17
- return new PaperSpotExecutor(adapter);
16
+ createPaperSimulator(adapter: PaperAdapter): PaperSimulator {
17
+ return new PaperSpotSimulator(adapter);
18
18
  }
19
19
 
20
20
  awake(context: AdapterContext): Promise<void> {
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';
@@ -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
 
@@ -66,7 +66,7 @@ export function OrderPendingEventHandler(
66
66
  const order = state.order[event.id];
67
67
 
68
68
  if (order.state != 'NEW') {
69
- throw new Error(`Order is not new`);
69
+ throw new Error(`Order is not NEW: ${order.state}`);
70
70
  }
71
71
 
72
72
  order.state = 'PENDING';
@@ -98,7 +98,7 @@ export function OrderFilledEventHandler(
98
98
  const order = state.order[event.id];
99
99
 
100
100
  if (order.state != 'PENDING' && order.state != 'CANCELING') {
101
- throw new Error('Order is not pending');
101
+ throw new Error(`Order is not PENDING or CANCELING: ${order.state}`);
102
102
  }
103
103
 
104
104
  order.state = 'FILLED';
@@ -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';
@@ -160,7 +160,7 @@ export function OrderCanceledEventHandler(
160
160
  }
161
161
 
162
162
  if (order.state != 'CANCELING') {
163
- throw new Error('Order is not canceling');
163
+ throw new Error(`Order is not CANCELING: ${order.state}`);
164
164
  }
165
165
 
166
166
  order.state = 'CANCELED';
@@ -208,7 +208,7 @@ export function OrderRejectedEventHandler(
208
208
  const order = state.order[event.id];
209
209
 
210
210
  if (order.state != 'NEW') {
211
- throw new Error('Order is not new.');
211
+ throw new Error(`Order is not NEW: ${order.state}`);
212
212
  }
213
213
 
214
214
  order.state = 'REJECTED';
@@ -3,8 +3,8 @@ import { InMemoryStorage, Feed } from '../storage';
3
3
  import { Store } from '../store';
4
4
  import { InstrumentPatchEvent, TradePatchEvent } from '../store/event';
5
5
  import { Adapter, AdapterContext } from '../adapter/adapter';
6
- import { PaperSpotExecutor } from '../adapter/paper';
7
- import { PaperExecutor } from '../adapter/paper/executor/paper-executor';
6
+ import { PaperSpotSimulator } from '../adapter/paper';
7
+ import { PaperSimulator } from '../adapter/paper/simulator/paper-simulator';
8
8
  import { PaperAdapter } from '../adapter/paper/paper-adapter';
9
9
  import { BacktesterAdapter } from '../adapter/backtester/backtester-adapter';
10
10
  import { BacktesterStreamer } from '../adapter/backtester/backtester-streamer';
@@ -19,8 +19,8 @@ class DefaultAdapter extends Adapter {
19
19
  return 123;
20
20
  }
21
21
 
22
- createPaperExecutor(adapter: PaperAdapter): PaperExecutor {
23
- return new PaperSpotExecutor(adapter);
22
+ createPaperSimulator(adapter: PaperAdapter): PaperSimulator {
23
+ return new PaperSpotSimulator(adapter);
24
24
  }
25
25
 
26
26
  async awake(context: AdapterContext): Promise<void> {
@@ -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 +0,0 @@
1
- {"version":3,"file":"paper-executor.js","sourceRoot":"","sources":["../../../../src/adapter/paper/executor/paper-executor.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"paper-margin-executor.js","sourceRoot":"","sources":["../../../../src/adapter/paper/executor/paper-margin-executor.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"paper-spot-executor.js","sourceRoot":"","sources":["../../../../src/adapter/paper/executor/paper-spot-executor.ts"],"names":[],"mappings":"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"}
@@ -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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"}