@vuu-ui/vuu-data-test 0.13.13 → 0.13.15
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/cjs/ArrayProxy.js.map +1 -1
- package/cjs/RuntimeVisualLink.js.map +1 -1
- package/cjs/Table.js +4 -2
- package/cjs/Table.js.map +1 -1
- package/cjs/TickingArrayDataSource.js +6 -0
- package/cjs/TickingArrayDataSource.js.map +1 -1
- package/cjs/UpdateGenerator.js.map +1 -1
- package/cjs/VuuModule.js.map +1 -1
- package/cjs/basket/basket-module.js.map +1 -1
- package/cjs/basket/basket-schemas.js.map +1 -1
- package/cjs/basket/reference-data/constituents.js.map +1 -1
- package/cjs/basket/reference-data/ftse100.js.map +1 -1
- package/cjs/basket/reference-data/hsi.js.map +1 -1
- package/cjs/basket/reference-data/nasdaq100.js.map +1 -1
- package/cjs/basket/reference-data/prices.js.map +1 -1
- package/cjs/basket/reference-data/sp500.js.map +1 -1
- package/cjs/data-utils.js.map +1 -1
- package/cjs/local-datasource-provider/LocalDatasourceProvider.js.map +1 -1
- package/cjs/makeSuggestions.js.map +1 -1
- package/cjs/schemas.js.map +1 -1
- package/cjs/simul/SimulModule.js.map +1 -1
- package/cjs/simul/reference-data/accounts.js.map +1 -1
- package/cjs/simul/reference-data/algos.js.map +1 -1
- package/cjs/simul/reference-data/currencies.js.map +1 -1
- package/cjs/simul/reference-data/instruments-extended.js.map +1 -1
- package/cjs/simul/reference-data/instruments.js.map +1 -1
- package/cjs/simul/reference-data/isin-generator/convert-string-to-base-ten-number.js.map +1 -1
- package/cjs/simul/reference-data/isin-generator/fixtures/alphabet.js.map +1 -1
- package/cjs/simul/reference-data/isin-generator/fixtures/alphanumeric-values.js.map +1 -1
- package/cjs/simul/reference-data/isin-generator/fixtures/base-ten-numbers.js.map +1 -1
- package/cjs/simul/reference-data/isin-generator/generate-cusip-check-code.js.map +1 -1
- package/cjs/simul/reference-data/isin-generator/generate-cusip-without-check-code.js.map +1 -1
- package/cjs/simul/reference-data/isin-generator/generate-cusip.js.map +1 -1
- package/cjs/simul/reference-data/isin-generator/generate-random-alphanumeric.js.map +1 -1
- package/cjs/simul/reference-data/isin-generator/generate-random-base-ten-number.js.map +1 -1
- package/cjs/simul/reference-data/isin-generator/generate-random-string-of-alphanumeric-chars.js.map +1 -1
- package/cjs/simul/reference-data/isin-generator/generate-random-string-of-base-ten-chars.js.map +1 -1
- package/cjs/simul/reference-data/isin-generator/index.js.map +1 -1
- package/cjs/simul/reference-data/isin-generator/is-odd.js.map +1 -1
- package/cjs/simul/reference-data/locations.js.map +1 -1
- package/cjs/simul/reference-data/lotsizes.js.map +1 -1
- package/cjs/simul/reference-data/orderStatus.js.map +1 -1
- package/cjs/simul/reference-data/orders.js.map +1 -1
- package/cjs/simul/reference-data/parent-child-orders.js +87 -65
- package/cjs/simul/reference-data/parent-child-orders.js.map +1 -1
- package/cjs/simul/reference-data/prices.js.map +1 -1
- package/cjs/simul/reference-data/sides.js.map +1 -1
- package/cjs/simul/simul-module.js +36 -0
- package/cjs/simul/simul-module.js.map +1 -1
- package/cjs/simul/simul-schemas.js.map +1 -1
- package/cjs/test/test-module.js.map +1 -1
- package/cjs/test/test-schemas.js.map +1 -1
- package/cjs/vuu-modules.js.map +1 -1
- package/cjs/vuu-row-generator.js.map +1 -1
- package/esm/ArrayProxy.js.map +1 -1
- package/esm/RuntimeVisualLink.js.map +1 -1
- package/esm/Table.js +4 -2
- package/esm/Table.js.map +1 -1
- package/esm/TickingArrayDataSource.js +6 -0
- package/esm/TickingArrayDataSource.js.map +1 -1
- package/esm/UpdateGenerator.js.map +1 -1
- package/esm/VuuModule.js.map +1 -1
- package/esm/basket/basket-module.js.map +1 -1
- package/esm/basket/basket-schemas.js.map +1 -1
- package/esm/basket/reference-data/constituents.js.map +1 -1
- package/esm/basket/reference-data/ftse100.js.map +1 -1
- package/esm/basket/reference-data/hsi.js.map +1 -1
- package/esm/basket/reference-data/nasdaq100.js.map +1 -1
- package/esm/basket/reference-data/prices.js.map +1 -1
- package/esm/basket/reference-data/sp500.js.map +1 -1
- package/esm/data-utils.js.map +1 -1
- package/esm/local-datasource-provider/LocalDatasourceProvider.js.map +1 -1
- package/esm/makeSuggestions.js.map +1 -1
- package/esm/schemas.js.map +1 -1
- package/esm/simul/SimulModule.js.map +1 -1
- package/esm/simul/reference-data/accounts.js.map +1 -1
- package/esm/simul/reference-data/algos.js.map +1 -1
- package/esm/simul/reference-data/currencies.js.map +1 -1
- package/esm/simul/reference-data/instruments-extended.js.map +1 -1
- package/esm/simul/reference-data/instruments.js.map +1 -1
- package/esm/simul/reference-data/isin-generator/convert-string-to-base-ten-number.js.map +1 -1
- package/esm/simul/reference-data/isin-generator/fixtures/alphabet.js.map +1 -1
- package/esm/simul/reference-data/isin-generator/fixtures/alphanumeric-values.js.map +1 -1
- package/esm/simul/reference-data/isin-generator/fixtures/base-ten-numbers.js.map +1 -1
- package/esm/simul/reference-data/isin-generator/generate-cusip-check-code.js.map +1 -1
- package/esm/simul/reference-data/isin-generator/generate-cusip-without-check-code.js.map +1 -1
- package/esm/simul/reference-data/isin-generator/generate-cusip.js.map +1 -1
- package/esm/simul/reference-data/isin-generator/generate-random-alphanumeric.js.map +1 -1
- package/esm/simul/reference-data/isin-generator/generate-random-base-ten-number.js.map +1 -1
- package/esm/simul/reference-data/isin-generator/generate-random-string-of-alphanumeric-chars.js.map +1 -1
- package/esm/simul/reference-data/isin-generator/generate-random-string-of-base-ten-chars.js.map +1 -1
- package/esm/simul/reference-data/isin-generator/index.js.map +1 -1
- package/esm/simul/reference-data/isin-generator/is-odd.js.map +1 -1
- package/esm/simul/reference-data/locations.js.map +1 -1
- package/esm/simul/reference-data/lotsizes.js.map +1 -1
- package/esm/simul/reference-data/orderStatus.js.map +1 -1
- package/esm/simul/reference-data/orders.js.map +1 -1
- package/esm/simul/reference-data/parent-child-orders.js +86 -64
- package/esm/simul/reference-data/parent-child-orders.js.map +1 -1
- package/esm/simul/reference-data/prices.js.map +1 -1
- package/esm/simul/reference-data/sides.js.map +1 -1
- package/esm/simul/simul-module.js +37 -1
- package/esm/simul/simul-module.js.map +1 -1
- package/esm/simul/simul-schemas.js.map +1 -1
- package/esm/test/test-module.js.map +1 -1
- package/esm/test/test-schemas.js.map +1 -1
- package/esm/vuu-modules.js.map +1 -1
- package/esm/vuu-row-generator.js.map +1 -1
- package/package.json +6 -6
- package/types/Table.d.ts +1 -1
- package/types/TickingArrayDataSource.d.ts +2 -0
- package/types/simul/reference-data/parent-child-orders.d.ts +2 -4
|
@@ -8,20 +8,30 @@ import { orderStatus } from './orderStatus.js';
|
|
|
8
8
|
import { sides } from './sides.js';
|
|
9
9
|
import { algos } from './algos.js';
|
|
10
10
|
|
|
11
|
-
const childOrderData = [];
|
|
12
|
-
const parentOrderData = [];
|
|
13
11
|
const instrumentMap = buildDataColumnMap(schemas, "instruments");
|
|
14
|
-
const PARENT_ORDER_COUNT =
|
|
15
|
-
const CHILD_ORDER_COUNT =
|
|
12
|
+
const PARENT_ORDER_COUNT = 5e3;
|
|
13
|
+
const CHILD_ORDER_COUNT = 2e4;
|
|
16
14
|
const avgChildOrderPerOrder = Math.round(
|
|
17
15
|
CHILD_ORDER_COUNT / PARENT_ORDER_COUNT
|
|
18
16
|
);
|
|
19
17
|
const childMaxMultiple = 10;
|
|
20
|
-
const clock = new Clock(
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
18
|
+
const clock = new Clock().goBack(120, "minutes");
|
|
19
|
+
console.log(`starting order generation at ${clock}`);
|
|
20
|
+
const parentOrdersTable = new Table(
|
|
21
|
+
schemas.parentOrders,
|
|
22
|
+
[],
|
|
23
|
+
buildDataColumnMap(schemas, "parentOrders")
|
|
24
|
+
);
|
|
25
|
+
const childOrdersTable = new Table(
|
|
26
|
+
schemas.childOrders,
|
|
27
|
+
[],
|
|
28
|
+
buildDataColumnMap(schemas, "childOrders")
|
|
29
|
+
);
|
|
30
|
+
let parentOrderCount = 0;
|
|
31
|
+
let childOrderCount = 0;
|
|
32
|
+
let notifyNewOrders = false;
|
|
33
|
+
function createParentAndChildOrders() {
|
|
34
|
+
parentOrderCount += 1;
|
|
25
35
|
const instrument = instrumentsData[random(0, instrumentsData.length - 1)];
|
|
26
36
|
const orderQuantity = 1e3 * random(1, 100);
|
|
27
37
|
const orderStatus$1 = orderStatus[random(0, orderStatus.length - 1)];
|
|
@@ -32,8 +42,8 @@ for (let i = 0; i < PARENT_ORDER_COUNT; i++) {
|
|
|
32
42
|
const averagePrice = 0;
|
|
33
43
|
const ccy = "GBP";
|
|
34
44
|
const exchange = instrument[instrumentMap.exchange];
|
|
35
|
-
const parentOrderIdAsInt =
|
|
36
|
-
const parentOrderId =
|
|
45
|
+
const parentOrderIdAsInt = parentOrderCount;
|
|
46
|
+
const parentOrderId = parentOrderCount.toString().padStart(10, "0");
|
|
37
47
|
const price = 100;
|
|
38
48
|
const quantity = orderQuantity;
|
|
39
49
|
const ric = instrument[instrumentMap.ric];
|
|
@@ -42,81 +52,93 @@ for (let i = 0; i < PARENT_ORDER_COUNT; i++) {
|
|
|
42
52
|
const volLimit = 100;
|
|
43
53
|
const lastUpdate = clock.now;
|
|
44
54
|
const created = clock.now;
|
|
45
|
-
const
|
|
55
|
+
const numberOfChildOrders = random(
|
|
46
56
|
0,
|
|
47
57
|
avgChildOrderPerOrder * random(1, childMaxMultiple)
|
|
48
58
|
);
|
|
49
59
|
let remainingQty = orderQuantity;
|
|
50
|
-
for (let j = 0; j <
|
|
60
|
+
for (let j = 0; j < numberOfChildOrders; j++) {
|
|
61
|
+
childOrderCount += 1;
|
|
51
62
|
const childOrderQuantity = Math.round(remainingQty / (childOrderCount - j));
|
|
52
63
|
remainingQty -= childOrderQuantity;
|
|
53
64
|
const childOrderStatus = orderStatus[random(0, orderStatus.length - 1)];
|
|
54
65
|
const childFilledQty = orderStatus$1 === "FILLED" ? childOrderQuantity : childOrderStatus === "NEW" ? 0 : childOrderQuantity - random(100, childOrderQuantity);
|
|
55
66
|
const childOpenQty = childOrderQuantity - childFilledQty;
|
|
56
67
|
const averagePrice2 = 0;
|
|
57
|
-
const childIdAsInt =
|
|
58
|
-
const childId =
|
|
68
|
+
const childIdAsInt = childOrderCount;
|
|
69
|
+
const childId = childOrderCount.toString().padStart(10, "0");
|
|
59
70
|
const lastUpdate2 = 0;
|
|
60
71
|
const price2 = 100;
|
|
61
72
|
const strategy = 0;
|
|
62
|
-
|
|
73
|
+
childOrdersTable.insert(
|
|
74
|
+
[
|
|
75
|
+
account,
|
|
76
|
+
averagePrice2,
|
|
77
|
+
ccy,
|
|
78
|
+
exchange,
|
|
79
|
+
childFilledQty,
|
|
80
|
+
childId,
|
|
81
|
+
childIdAsInt,
|
|
82
|
+
childOpenQty,
|
|
83
|
+
parentOrderId,
|
|
84
|
+
price2,
|
|
85
|
+
childOrderQuantity,
|
|
86
|
+
ric,
|
|
87
|
+
side,
|
|
88
|
+
childOrderStatus,
|
|
89
|
+
strategy,
|
|
90
|
+
volLimit,
|
|
91
|
+
lastUpdate2,
|
|
92
|
+
created
|
|
93
|
+
],
|
|
94
|
+
notifyNewOrders
|
|
95
|
+
);
|
|
96
|
+
}
|
|
97
|
+
parentOrdersTable.insert(
|
|
98
|
+
[
|
|
63
99
|
account,
|
|
64
|
-
|
|
100
|
+
algo,
|
|
101
|
+
averagePrice,
|
|
65
102
|
ccy,
|
|
103
|
+
childOrderCount,
|
|
66
104
|
exchange,
|
|
67
|
-
|
|
68
|
-
childId,
|
|
69
|
-
childIdAsInt,
|
|
70
|
-
childOpenQty,
|
|
105
|
+
filledQty,
|
|
71
106
|
parentOrderId,
|
|
72
|
-
|
|
73
|
-
|
|
107
|
+
parentOrderIdAsInt,
|
|
108
|
+
openQty,
|
|
109
|
+
price,
|
|
110
|
+
quantity,
|
|
74
111
|
ric,
|
|
75
112
|
side,
|
|
76
|
-
|
|
77
|
-
strategy,
|
|
113
|
+
status,
|
|
78
114
|
volLimit,
|
|
79
|
-
|
|
115
|
+
lastUpdate,
|
|
80
116
|
created
|
|
81
|
-
]
|
|
82
|
-
|
|
117
|
+
],
|
|
118
|
+
notifyNewOrders
|
|
119
|
+
);
|
|
120
|
+
}
|
|
121
|
+
function createInitialOrders() {
|
|
122
|
+
const start = performance.now();
|
|
123
|
+
for (let i = 0; i < PARENT_ORDER_COUNT; i++) {
|
|
124
|
+
clock.advance(random(0, 100));
|
|
125
|
+
createParentAndChildOrders();
|
|
83
126
|
}
|
|
84
|
-
const
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
ccy,
|
|
89
|
-
childOrderCount,
|
|
90
|
-
exchange,
|
|
91
|
-
filledQty,
|
|
92
|
-
parentOrderId,
|
|
93
|
-
parentOrderIdAsInt,
|
|
94
|
-
openQty,
|
|
95
|
-
price,
|
|
96
|
-
quantity,
|
|
97
|
-
ric,
|
|
98
|
-
side,
|
|
99
|
-
status,
|
|
100
|
-
volLimit,
|
|
101
|
-
lastUpdate,
|
|
102
|
-
created
|
|
103
|
-
];
|
|
104
|
-
parentOrderData.push(row);
|
|
127
|
+
const end = performance.now();
|
|
128
|
+
console.log(
|
|
129
|
+
`took ${end - start} to create ${parentOrdersTable.data.length} orders and ${childOrdersTable.data.length} child orders, last order created at ${clock}`
|
|
130
|
+
);
|
|
105
131
|
}
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
schemas.childOrders,
|
|
117
|
-
childOrderData,
|
|
118
|
-
buildDataColumnMap(schemas, "childOrders")
|
|
119
|
-
);
|
|
132
|
+
let newOrderInterval = void 0;
|
|
133
|
+
function startGeneratingNewOrders() {
|
|
134
|
+
newOrderInterval = setInterval(createParentAndChildOrders, 100);
|
|
135
|
+
}
|
|
136
|
+
function stopGeneratingNewOrders() {
|
|
137
|
+
clearInterval(newOrderInterval);
|
|
138
|
+
}
|
|
139
|
+
createInitialOrders();
|
|
140
|
+
clock.showCurrentTime = true;
|
|
141
|
+
notifyNewOrders = true;
|
|
120
142
|
|
|
121
|
-
export {
|
|
143
|
+
export { childOrdersTable, parentOrdersTable, startGeneratingNewOrders, stopGeneratingNewOrders };
|
|
122
144
|
//# sourceMappingURL=parent-child-orders.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parent-child-orders.js","sources":["
|
|
1
|
+
{"version":3,"file":"parent-child-orders.js","sources":["../../../../../packages/vuu-data-test/src/simul/reference-data/parent-child-orders.ts"],"sourcesContent":["import { Clock } from \"@vuu-ui/vuu-utils\";\nimport { random } from \"../../data-utils\";\nimport { buildDataColumnMap, Table } from \"../../Table\";\nimport { schemas } from \"../simul-schemas\";\nimport { accounts } from \"./accounts\";\nimport { instrumentsData } from \"./instruments\";\nimport { orderStatus as statusValues } from \"./orderStatus\";\nimport { sides } from \"./sides\";\nimport { algos } from \"./algos\";\n\nconst instrumentMap = buildDataColumnMap(schemas, \"instruments\");\n\n// const PARENT_ORDER_COUNT = 75_000;\nconst PARENT_ORDER_COUNT = 5_000;\nconst CHILD_ORDER_COUNT = 20_000;\n// const CHILD_ORDER_COUNT = 200_000;\n\nconst avgChildOrderPerOrder = Math.round(\n CHILD_ORDER_COUNT / PARENT_ORDER_COUNT,\n);\nconst childMaxMultiple = 10;\n\nconst clock = new Clock().goBack(120, \"minutes\");\nconsole.log(`starting order generation at ${clock}`);\n\nexport const parentOrdersTable = new Table(\n schemas.parentOrders,\n [],\n buildDataColumnMap(schemas, \"parentOrders\"),\n);\n\nexport const childOrdersTable = new Table(\n schemas.childOrders,\n [],\n buildDataColumnMap(schemas, \"childOrders\"),\n);\n\nlet parentOrderCount = 0;\nlet childOrderCount = 0;\nlet notifyNewOrders = false;\n\nfunction createParentAndChildOrders() {\n parentOrderCount += 1;\n const instrument = instrumentsData[random(0, instrumentsData.length - 1)];\n const orderQuantity = 1000 * random(1, 100);\n const orderStatus = statusValues[random(0, statusValues.length - 1)];\n const filledQty =\n orderStatus === \"FILLED\"\n ? orderQuantity\n : orderStatus === \"NEW\"\n ? 0\n : orderQuantity - random(100, orderQuantity);\n const openQty = orderQuantity - filledQty;\n const account = accounts[random(0, accounts.length - 1)];\n const algo = algos[random(0, algos.length - 1)];\n const averagePrice = 0;\n const ccy = \"GBP\";\n const exchange = instrument[instrumentMap.exchange];\n const parentOrderIdAsInt = parentOrderCount;\n const parentOrderId = parentOrderCount.toString().padStart(10, \"0\");\n const price = 100;\n const quantity = orderQuantity;\n const ric = instrument[instrumentMap.ric];\n const side = sides[random(0, sides.length - 1)];\n const status = orderStatus;\n const volLimit = 100;\n const lastUpdate = clock.now;\n const created = clock.now;\n\n const numberOfChildOrders = random(\n 0,\n avgChildOrderPerOrder * random(1, childMaxMultiple),\n );\n\n let remainingQty = orderQuantity;\n for (let j = 0; j < numberOfChildOrders; j++) {\n childOrderCount += 1;\n\n const childOrderQuantity = Math.round(remainingQty / (childOrderCount - j));\n remainingQty -= childOrderQuantity;\n const childOrderStatus = statusValues[random(0, statusValues.length - 1)];\n const childFilledQty =\n orderStatus === \"FILLED\"\n ? childOrderQuantity\n : childOrderStatus === \"NEW\"\n ? 0\n : childOrderQuantity - random(100, childOrderQuantity);\n const childOpenQty = childOrderQuantity - childFilledQty;\n const averagePrice = 0;\n const childIdAsInt = childOrderCount;\n const childId = childOrderCount.toString().padStart(10, \"0\");\n const lastUpdate = 0;\n const price = 100;\n const strategy = 0;\n\n childOrdersTable.insert(\n [\n account,\n averagePrice,\n ccy,\n exchange,\n childFilledQty,\n childId,\n childIdAsInt,\n childOpenQty,\n parentOrderId,\n price,\n childOrderQuantity,\n ric,\n side,\n childOrderStatus,\n strategy,\n volLimit,\n lastUpdate,\n created,\n ],\n notifyNewOrders,\n );\n }\n\n parentOrdersTable.insert(\n [\n account,\n algo,\n averagePrice,\n ccy,\n childOrderCount,\n exchange,\n filledQty,\n parentOrderId,\n parentOrderIdAsInt,\n openQty,\n price,\n quantity,\n ric,\n side,\n status,\n volLimit,\n lastUpdate,\n created,\n ],\n notifyNewOrders,\n );\n}\n\nfunction createInitialOrders() {\n const start = performance.now();\n for (let i = 0; i < PARENT_ORDER_COUNT; i++) {\n clock.advance(random(0, 100));\n createParentAndChildOrders();\n }\n const end = performance.now();\n console.log(\n `took ${end - start} to create ${parentOrdersTable.data.length} orders and ${childOrdersTable.data.length} child orders, last order created at ${clock}`,\n );\n}\n\nlet newOrderInterval: undefined | ReturnType<typeof setInterval> = undefined;\n\nexport function startGeneratingNewOrders() {\n newOrderInterval = setInterval(createParentAndChildOrders, 100);\n}\n\nexport function stopGeneratingNewOrders() {\n clearInterval(newOrderInterval);\n}\n\ncreateInitialOrders();\n\nclock.showCurrentTime = true;\nnotifyNewOrders = true;\n\n// startGeneratingNewOrders();\n"],"names":["orderStatus","statusValues","averagePrice","lastUpdate","price"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prices.js","sources":["
|
|
1
|
+
{"version":3,"file":"prices.js","sources":["../../../../../packages/vuu-data-test/src/simul/reference-data/prices.ts"],"sourcesContent":["import { buildDataColumnMap, Table } from \"../../Table\";\nimport { BaseUpdateGenerator } from \"../../UpdateGenerator\";\nimport { schemas } from \"../simul-schemas\";\nimport { instrumentsData, InstrumentColumnMap } from \"./instruments\";\nimport { random } from \"../../data-utils\";\nimport basketConstituentData from \"../../basket/reference-data/constituents\";\n\ntype ask = number;\ntype askSize = number;\ntype bid = number;\ntype bidSize = number;\ntype close = number;\ntype last = number;\ntype open = number;\ntype phase = \"C\";\ntype ric = string;\ntype scenario = \"close\";\ntype lastUpdate = number;\ntype created = number;\n\nexport type PricesDataRow = [\n ask,\n askSize,\n bid,\n bidSize,\n close,\n last,\n open,\n phase,\n ric,\n scenario,\n lastUpdate,\n created,\n];\n\nconst { bid, bidSize, ask, askSize } = buildDataColumnMap(schemas, \"prices\");\nconst pricesUpdateGenerator = new BaseUpdateGenerator({\n bid,\n bidSize,\n ask,\n askSize,\n});\n\nconst now = Date.now();\nconst lastUpdate = now;\nconst created = now;\n\n// const start = performance.now();\n// Create 100_000 Instruments\nconst requiredInstrumentFields = [\"ric\", \"price\"] as const;\nconst pricesData: Array<PricesDataRow> = instrumentsData.map((instrument) => {\n const { ric, price: priceSeed } = requiredInstrumentFields.reduce(\n (obj, f) => ({ ...obj, [f]: instrument[InstrumentColumnMap[f]] }),\n {} as { ric: string; price: number },\n );\n const spread = random(0, 10);\n\n const ask = priceSeed + spread / 2;\n const askSize = random(1000, 3000);\n const bid = priceSeed - spread / 2;\n const bidSize = random(1000, 3000);\n const close = priceSeed + random(0, 1) / 10;\n const last = priceSeed + random(0, 1) / 10;\n const open = priceSeed + random(0, 1) / 10;\n const phase = \"C\";\n const scenario = \"close\";\n const lastUpdate = now;\n const created = now;\n return [\n ask,\n askSize,\n bid,\n bidSize,\n close,\n last,\n open,\n phase,\n ric,\n scenario,\n lastUpdate,\n created,\n ];\n});\n\n// prettier-ignore\nfor (const [,,,lastTrade,ric] of basketConstituentData) {\n const priceSeed = parseFloat(String(lastTrade));\n if (!isNaN(priceSeed)) {\n const spread = random(0, 10);\n const ask = priceSeed + spread / 2;\n const askSize = random(1000, 3000);\n const bid = priceSeed - spread / 2;\n const bidSize = random(1000, 3000);\n const close = priceSeed + random(0, 1) / 10;\n const last = priceSeed + random(0, 1) / 10;\n const open = priceSeed + random(0, 1) / 10;\n const phase = \"C\";\n const scenario = \"close\";\n pricesData.push([\n ask,\n askSize,\n bid,\n bidSize,\n close,\n last,\n open,\n phase,\n ric as string,\n scenario,\n lastUpdate,\n created\n ]);\n }\n}\n\n// const end = performance.now();\n// console.log(`generating 100,000 prices took ${end - start} ms`);\n\nexport const pricesTable = new Table(\n schemas.prices,\n pricesData,\n buildDataColumnMap(schemas, \"prices\"),\n pricesUpdateGenerator,\n);\n\nexport { pricesData };\n"],"names":["ask","askSize","bid","bidSize","lastUpdate","created"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sides.js","sources":["
|
|
1
|
+
{"version":3,"file":"sides.js","sources":["../../../../../packages/vuu-data-test/src/simul/reference-data/sides.ts"],"sourcesContent":["export const sides = [\"BUY\", \"SELL\"];\n"],"names":[],"mappings":"AAAa,MAAA,KAAA,GAAQ,CAAC,KAAA,EAAO,MAAM;;;;"}
|
|
@@ -5,7 +5,7 @@ import { instrumentsTable } from './reference-data/instruments.js';
|
|
|
5
5
|
import { instrumentsExtendedTable } from './reference-data/instruments-extended.js';
|
|
6
6
|
import { ordersTable } from './reference-data/orders.js';
|
|
7
7
|
import { pricesTable } from './reference-data/prices.js';
|
|
8
|
-
import { childOrdersTable, parentOrdersTable } from './reference-data/parent-child-orders.js';
|
|
8
|
+
import { childOrdersTable, parentOrdersTable, startGeneratingNewOrders, stopGeneratingNewOrders } from './reference-data/parent-child-orders.js';
|
|
9
9
|
import { schemas } from './simul-schemas.js';
|
|
10
10
|
|
|
11
11
|
const undefinedTables = {
|
|
@@ -102,6 +102,32 @@ const cancelOrder = async (rpcRequest) => {
|
|
|
102
102
|
throw Error("cancelOrder invalid rpcRequest");
|
|
103
103
|
}
|
|
104
104
|
};
|
|
105
|
+
const startOrders = async () => {
|
|
106
|
+
startGeneratingNewOrders();
|
|
107
|
+
return {
|
|
108
|
+
type: "VIEW_PORT_RPC_REPONSE",
|
|
109
|
+
action: {
|
|
110
|
+
type: "VP_RPC_SUCCESS"
|
|
111
|
+
},
|
|
112
|
+
method: "???",
|
|
113
|
+
namedParams: {},
|
|
114
|
+
params: [],
|
|
115
|
+
vpId: ""
|
|
116
|
+
};
|
|
117
|
+
};
|
|
118
|
+
const stopOrders = async () => {
|
|
119
|
+
stopGeneratingNewOrders();
|
|
120
|
+
return {
|
|
121
|
+
type: "VIEW_PORT_RPC_REPONSE",
|
|
122
|
+
action: {
|
|
123
|
+
type: "VP_RPC_SUCCESS"
|
|
124
|
+
},
|
|
125
|
+
method: "???",
|
|
126
|
+
namedParams: {},
|
|
127
|
+
params: [],
|
|
128
|
+
vpId: ""
|
|
129
|
+
};
|
|
130
|
+
};
|
|
105
131
|
const services = {
|
|
106
132
|
...undefinedTables,
|
|
107
133
|
orders: [
|
|
@@ -109,6 +135,16 @@ const services = {
|
|
|
109
135
|
rpcName: "CANCEL_ORDER",
|
|
110
136
|
service: cancelOrder
|
|
111
137
|
}
|
|
138
|
+
],
|
|
139
|
+
parentOrders: [
|
|
140
|
+
{
|
|
141
|
+
rpcName: "startGeneratingNewOrders",
|
|
142
|
+
service: startOrders
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
rpcName: "stopGeneratingNewOrders",
|
|
146
|
+
service: stopOrders
|
|
147
|
+
}
|
|
112
148
|
]
|
|
113
149
|
};
|
|
114
150
|
const simulModule = new SimulModule({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simul-module.js","sources":["
|
|
1
|
+
{"version":3,"file":"simul-module.js","sources":["../../../../packages/vuu-data-test/src/simul/simul-module.ts"],"sourcesContent":["import {\n ClientToServerMenuRowRPC,\n VuuLink,\n VuuMenu,\n VuuRpcViewportResponse,\n} from \"@vuu-ui/vuu-protocol-types\";\nimport { isVuuMenuRpcRequest } from \"@vuu-ui/vuu-utils\";\nimport { Table, joinTables } from \"../Table\";\nimport { RpcService, ServiceHandler } from \"../VuuModule\";\nimport { SimulModule } from \"./SimulModule\";\nimport { instrumentsTable } from \"./reference-data/instruments\";\nimport { instrumentsExtendedTable } from \"./reference-data/instruments-extended\";\nimport { ordersTable } from \"./reference-data/orders\";\nimport { pricesTable } from \"./reference-data/prices\";\nimport {\n parentOrdersTable,\n childOrdersTable,\n startGeneratingNewOrders,\n stopGeneratingNewOrders,\n} from \"./reference-data/parent-child-orders\";\nimport { schemas, type SimulTableName } from \"./simul-schemas\";\n\nconst undefinedTables = {\n childOrders: undefined,\n instruments: undefined,\n instrumentsExtended: undefined,\n instrumentPrices: undefined,\n orders: undefined,\n parentOrders: undefined,\n prices: undefined,\n};\n\nconst tables: Record<SimulTableName, Table> = {\n childOrders: childOrdersTable,\n instruments: instrumentsTable,\n instrumentsExtended: instrumentsExtendedTable,\n instrumentPrices: joinTables(\n { module: \"SIMUL\", table: \"instrumentPrices\" },\n instrumentsTable,\n pricesTable,\n \"ric\",\n ),\n orders: ordersTable,\n parentOrders: parentOrdersTable,\n prices: pricesTable,\n};\n\nconst vuuLinks: Record<SimulTableName, VuuLink[] | undefined> = {\n ...undefinedTables,\n childOrders: [\n { fromColumn: \"parentOrderId\", toColumn: \"id\", toTable: \"parentOrders\" },\n ],\n parentOrders: [\n { fromColumn: \"ric\", toColumn: \"ric\", toTable: \"instruments\" },\n ],\n};\n\nconst menus: Record<SimulTableName, VuuMenu | undefined> = {\n childOrders: undefined,\n instruments: {\n name: \"ROOT\",\n menus: [\n {\n context: \"selected-rows\",\n filter: \"\",\n name: \"Add Instruments To Order\",\n rpcName: \"ADD_INSTRUMENTS_TO_ORDER\",\n },\n {\n context: \"selected-rows\",\n filter: \"\",\n name: \"Edit Row\",\n rpcName: \"EDIT_ROW\",\n },\n {\n context: \"selected-rows\",\n filter: \"\",\n name: \"Edit Rows\",\n rpcName: \"VP_BULK_EDIT_BEGIN_RPC\",\n },\n ],\n },\n instrumentsExtended: undefined,\n instrumentPrices: undefined,\n orders: {\n name: \"ROOT\",\n menus: [\n {\n context: \"row\",\n filter: `status in [\"New\",\"Partial Exec\"]`,\n name: \"Cancel Order\",\n rpcName: \"CANCEL_ORDER\",\n },\n ],\n },\n parentOrders: undefined,\n prices: undefined,\n};\n\nconst cancelOrder: ServiceHandler = async (rpcRequest) => {\n if (isVuuMenuRpcRequest(rpcRequest)) {\n const { rowKey, vpId } = rpcRequest as ClientToServerMenuRowRPC;\n const table = tables.orders;\n const row = table.findByKey(rowKey);\n row[table.map.status] = \"Cancelled\";\n table.updateRow(row);\n\n return {\n action: {\n type: \"SHOW_NOTIFICATION_ACTION\",\n message: `Order id: ${rowKey}`,\n title: \"Order cancelled\",\n },\n rpcName: \"CANCEL_ORDER\",\n type: \"VIEW_PORT_MENU_RESP\",\n vpId,\n };\n } else {\n throw Error(\"cancelOrder invalid rpcRequest\");\n }\n};\n\nconst startOrders = async () => {\n startGeneratingNewOrders();\n return {\n type: \"VIEW_PORT_RPC_REPONSE\",\n action: {\n type: \"VP_RPC_SUCCESS\",\n },\n method: \"???\",\n namedParams: {},\n params: [],\n vpId: \"\",\n } as VuuRpcViewportResponse;\n};\nconst stopOrders = async () => {\n stopGeneratingNewOrders();\n return {\n type: \"VIEW_PORT_RPC_REPONSE\",\n action: {\n type: \"VP_RPC_SUCCESS\",\n },\n method: \"???\",\n namedParams: {},\n params: [],\n vpId: \"\",\n } as VuuRpcViewportResponse;\n};\n\nconst services: Record<SimulTableName, RpcService[] | undefined> = {\n ...undefinedTables,\n orders: [\n {\n rpcName: \"CANCEL_ORDER\",\n service: cancelOrder,\n },\n ],\n parentOrders: [\n {\n rpcName: \"startGeneratingNewOrders\",\n service: startOrders,\n },\n {\n rpcName: \"stopGeneratingNewOrders\",\n service: stopOrders,\n },\n ],\n};\n\nexport const simulModule = new SimulModule({\n menus,\n name: \"SIMUL\",\n schemas,\n services,\n tables,\n vuuLinks,\n});\n"],"names":[],"mappings":";;;;;;;;;;AAsBA,MAAM,eAAkB,GAAA;AAAA,EACtB,WAAa,EAAA,KAAA,CAAA;AAAA,EACb,WAAa,EAAA,KAAA,CAAA;AAAA,EACb,mBAAqB,EAAA,KAAA,CAAA;AAAA,EACrB,gBAAkB,EAAA,KAAA,CAAA;AAAA,EAClB,MAAQ,EAAA,KAAA,CAAA;AAAA,EACR,YAAc,EAAA,KAAA,CAAA;AAAA,EACd,MAAQ,EAAA,KAAA;AACV,CAAA;AAEA,MAAM,MAAwC,GAAA;AAAA,EAC5C,WAAa,EAAA,gBAAA;AAAA,EACb,WAAa,EAAA,gBAAA;AAAA,EACb,mBAAqB,EAAA,wBAAA;AAAA,EACrB,gBAAkB,EAAA,UAAA;AAAA,IAChB,EAAE,MAAA,EAAQ,OAAS,EAAA,KAAA,EAAO,kBAAmB,EAAA;AAAA,IAC7C,gBAAA;AAAA,IACA,WAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,MAAQ,EAAA,WAAA;AAAA,EACR,YAAc,EAAA,iBAAA;AAAA,EACd,MAAQ,EAAA;AACV,CAAA;AAEA,MAAM,QAA0D,GAAA;AAAA,EAC9D,GAAG,eAAA;AAAA,EACH,WAAa,EAAA;AAAA,IACX,EAAE,UAAY,EAAA,eAAA,EAAiB,QAAU,EAAA,IAAA,EAAM,SAAS,cAAe;AAAA,GACzE;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,EAAE,UAAY,EAAA,KAAA,EAAO,QAAU,EAAA,KAAA,EAAO,SAAS,aAAc;AAAA;AAEjE,CAAA;AAEA,MAAM,KAAqD,GAAA;AAAA,EACzD,WAAa,EAAA,KAAA,CAAA;AAAA,EACb,WAAa,EAAA;AAAA,IACX,IAAM,EAAA,MAAA;AAAA,IACN,KAAO,EAAA;AAAA,MACL;AAAA,QACE,OAAS,EAAA,eAAA;AAAA,QACT,MAAQ,EAAA,EAAA;AAAA,QACR,IAAM,EAAA,0BAAA;AAAA,QACN,OAAS,EAAA;AAAA,OACX;AAAA,MACA;AAAA,QACE,OAAS,EAAA,eAAA;AAAA,QACT,MAAQ,EAAA,EAAA;AAAA,QACR,IAAM,EAAA,UAAA;AAAA,QACN,OAAS,EAAA;AAAA,OACX;AAAA,MACA;AAAA,QACE,OAAS,EAAA,eAAA;AAAA,QACT,MAAQ,EAAA,EAAA;AAAA,QACR,IAAM,EAAA,WAAA;AAAA,QACN,OAAS,EAAA;AAAA;AACX;AACF,GACF;AAAA,EACA,mBAAqB,EAAA,KAAA,CAAA;AAAA,EACrB,gBAAkB,EAAA,KAAA,CAAA;AAAA,EAClB,MAAQ,EAAA;AAAA,IACN,IAAM,EAAA,MAAA;AAAA,IACN,KAAO,EAAA;AAAA,MACL;AAAA,QACE,OAAS,EAAA,KAAA;AAAA,QACT,MAAQ,EAAA,CAAA,gCAAA,CAAA;AAAA,QACR,IAAM,EAAA,cAAA;AAAA,QACN,OAAS,EAAA;AAAA;AACX;AACF,GACF;AAAA,EACA,YAAc,EAAA,KAAA,CAAA;AAAA,EACd,MAAQ,EAAA,KAAA;AACV,CAAA;AAEA,MAAM,WAAA,GAA8B,OAAO,UAAe,KAAA;AACxD,EAAI,IAAA,mBAAA,CAAoB,UAAU,CAAG,EAAA;AACnC,IAAM,MAAA,EAAE,MAAQ,EAAA,IAAA,EAAS,GAAA,UAAA;AACzB,IAAA,MAAM,QAAQ,MAAO,CAAA,MAAA;AACrB,IAAM,MAAA,GAAA,GAAM,KAAM,CAAA,SAAA,CAAU,MAAM,CAAA;AAClC,IAAI,GAAA,CAAA,KAAA,CAAM,GAAI,CAAA,MAAM,CAAI,GAAA,WAAA;AACxB,IAAA,KAAA,CAAM,UAAU,GAAG,CAAA;AAEnB,IAAO,OAAA;AAAA,MACL,MAAQ,EAAA;AAAA,QACN,IAAM,EAAA,0BAAA;AAAA,QACN,OAAA,EAAS,aAAa,MAAM,CAAA,CAAA;AAAA,QAC5B,KAAO,EAAA;AAAA,OACT;AAAA,MACA,OAAS,EAAA,cAAA;AAAA,MACT,IAAM,EAAA,qBAAA;AAAA,MACN;AAAA,KACF;AAAA,GACK,MAAA;AACL,IAAA,MAAM,MAAM,gCAAgC,CAAA;AAAA;AAEhD,CAAA;AAEA,MAAM,cAAc,YAAY;AAC9B,EAAyB,wBAAA,EAAA;AACzB,EAAO,OAAA;AAAA,IACL,IAAM,EAAA,uBAAA;AAAA,IACN,MAAQ,EAAA;AAAA,MACN,IAAM,EAAA;AAAA,KACR;AAAA,IACA,MAAQ,EAAA,KAAA;AAAA,IACR,aAAa,EAAC;AAAA,IACd,QAAQ,EAAC;AAAA,IACT,IAAM,EAAA;AAAA,GACR;AACF,CAAA;AACA,MAAM,aAAa,YAAY;AAC7B,EAAwB,uBAAA,EAAA;AACxB,EAAO,OAAA;AAAA,IACL,IAAM,EAAA,uBAAA;AAAA,IACN,MAAQ,EAAA;AAAA,MACN,IAAM,EAAA;AAAA,KACR;AAAA,IACA,MAAQ,EAAA,KAAA;AAAA,IACR,aAAa,EAAC;AAAA,IACd,QAAQ,EAAC;AAAA,IACT,IAAM,EAAA;AAAA,GACR;AACF,CAAA;AAEA,MAAM,QAA6D,GAAA;AAAA,EACjE,GAAG,eAAA;AAAA,EACH,MAAQ,EAAA;AAAA,IACN;AAAA,MACE,OAAS,EAAA,cAAA;AAAA,MACT,OAAS,EAAA;AAAA;AACX,GACF;AAAA,EACA,YAAc,EAAA;AAAA,IACZ;AAAA,MACE,OAAS,EAAA,0BAAA;AAAA,MACT,OAAS,EAAA;AAAA,KACX;AAAA,IACA;AAAA,MACE,OAAS,EAAA,yBAAA;AAAA,MACT,OAAS,EAAA;AAAA;AACX;AAEJ,CAAA;AAEa,MAAA,WAAA,GAAc,IAAI,WAAY,CAAA;AAAA,EACzC,KAAA;AAAA,EACA,IAAM,EAAA,OAAA;AAAA,EACN,OAAA;AAAA,EACA,QAAA;AAAA,EACA,MAAA;AAAA,EACA;AACF,CAAC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simul-schemas.js","sources":["../../src/simul/simul-schemas.ts"],"sourcesContent":["import { TableSchema } from \"@vuu-ui/vuu-data-types\";\nimport { VuuTable } from \"@vuu-ui/vuu-protocol-types\";\n\nexport type SimulTableName =\n | \"instruments\"\n | \"instrumentsExtended\"\n | \"instrumentPrices\"\n | \"orders\"\n | \"childOrders\"\n | \"parentOrders\"\n | \"prices\";\n\n// These Schemas take the form of the schemas that we create\n// with TABLE_META returned by Vuu.\nexport const schemas: Readonly<Record<SimulTableName, Readonly<TableSchema>>> =\n {\n instruments: {\n columns: [\n { name: \"bbg\", serverDataType: \"string\" },\n { name: \"currency\", serverDataType: \"string\" },\n { name: \"description\", serverDataType: \"string\" },\n { name: \"exchange\", serverDataType: \"string\" },\n { name: \"isin\", serverDataType: \"string\" },\n { name: \"lotSize\", serverDataType: \"int\" },\n { name: \"ric\", serverDataType: \"string\" },\n ],\n key: \"ric\",\n table: { module: \"SIMUL\", table: \"instruments\" },\n },\n instrumentsExtended: {\n columns: [\n { name: \"bbg\", serverDataType: \"string\" },\n { name: \"currency\", serverDataType: \"string\" },\n { name: \"description\", serverDataType: \"string\" },\n { name: \"exchange\", serverDataType: \"string\" },\n { name: \"isin\", serverDataType: \"string\" },\n { name: \"lotSize\", serverDataType: \"int\" },\n { name: \"ric\", serverDataType: \"string\" },\n { name: \"supported\", serverDataType: \"boolean\" },\n { name: \"wishlist\", serverDataType: \"boolean\" },\n { name: \"lastUpdated\", serverDataType: \"long\" },\n { name: \"price\", serverDataType: \"double\" },\n { name: \"date\", serverDataType: \"long\" },\n ],\n key: \"ric\",\n table: { module: \"SIMUL\", table: \"instrumentsExtended\" },\n },\n instrumentPrices: {\n columns: [\n { name: \"ask\", serverDataType: \"double\" },\n { name: \"askSize\", serverDataType: \"double\" }, // type: \"int\"\n { name: \"bbg\", serverDataType: \"string\" },\n { name: \"bid\", serverDataType: \"double\" },\n { name: \"bidSize\", serverDataType: \"double\" },\n { name: \"close\", serverDataType: \"double\" },\n { name: \"currency\", serverDataType: \"string\" },\n { name: \"description\", serverDataType: \"string\" },\n { name: \"exchange\", serverDataType: \"string\" },\n { name: \"isin\", serverDataType: \"string\" },\n { name: \"last\", serverDataType: \"double\" },\n { name: \"lotSize\", serverDataType: \"int\" },\n { name: \"open\", serverDataType: \"double\" },\n { name: \"phase\", serverDataType: \"string\" },\n { name: \"ric\", serverDataType: \"string\" },\n { name: \"scenario\", serverDataType: \"string\" },\n ],\n key: \"ric\",\n table: { module: \"SIMUL\", table: \"instrumentPrices\" },\n },\n orders: {\n columns: [\n { name: \"status\", serverDataType: \"string\" },\n { name: \"ccy\", serverDataType: \"string\" },\n { name: \"created\", serverDataType: \"long\" },\n { name: \"filledQuantity\", serverDataType: \"double\" },\n { name: \"lastUpdate\", serverDataType: \"long\" },\n { name: \"orderId\", serverDataType: \"string\" },\n { name: \"quantity\", serverDataType: \"double\" },\n { name: \"ric\", serverDataType: \"string\" },\n { name: \"side\", serverDataType: \"string\" },\n { name: \"trader\", serverDataType: \"string\" },\n ],\n key: \"orderId\",\n table: { module: \"SIMUL\", table: \"orders\" },\n },\n childOrders: {\n columns: [\n { name: \"account\", serverDataType: \"string\" },\n { name: \"averagePrice\", serverDataType: \"double\" },\n { name: \"ccy\", serverDataType: \"string\" },\n { name: \"exchange\", serverDataType: \"string\" },\n { name: \"filledQty\", serverDataType: \"double\" },\n { name: \"id\", serverDataType: \"string\" },\n { name: \"idAsInt\", serverDataType: \"int\" },\n { name: \"openQty\", serverDataType: \"double\" },\n { name: \"parentOrderId\", serverDataType: \"string\" },\n { name: \"price\", serverDataType: \"double\" },\n { name: \"quantity\", serverDataType: \"double\" },\n { name: \"ric\", serverDataType: \"string\" },\n { name: \"side\", serverDataType: \"string\" },\n { name: \"status\", serverDataType: \"string\" },\n { name: \"strategy\", serverDataType: \"string\" },\n { name: \"volLimit\", serverDataType: \"int\" },\n { name: \"lastUpdate\", serverDataType: \"long\" },\n { name: \"created\", serverDataType: \"long\" },\n ],\n key: \"id\",\n table: { module: \"SIMUL\", table: \"childOrders\" },\n },\n parentOrders: {\n columns: [\n { name: \"account\", serverDataType: \"string\" },\n { name: \"algo\", serverDataType: \"string\" },\n { name: \"averagePrice\", serverDataType: \"double\" },\n { name: \"ccy\", serverDataType: \"string\" },\n { name: \"childCount\", serverDataType: \"int\" },\n { name: \"exchange\", serverDataType: \"string\" },\n { name: \"filledQty\", serverDataType: \"double\" },\n { name: \"id\", serverDataType: \"string\" },\n { name: \"idAsInt\", serverDataType: \"int\" },\n { name: \"openQty\", serverDataType: \"double\" },\n { name: \"price\", serverDataType: \"double\" },\n { name: \"quantity\", serverDataType: \"double\" },\n { name: \"ric\", serverDataType: \"string\" },\n { name: \"side\", serverDataType: \"string\" },\n { name: \"status\", serverDataType: \"string\" },\n { name: \"volLimit\", serverDataType: \"int\" },\n { name: \"lastUpdate\", serverDataType: \"long\" },\n { name: \"created\", serverDataType: \"long\" },\n ],\n key: \"id\",\n table: { module: \"SIMUL\", table: \"parentOrders\" },\n },\n prices: {\n columns: [\n { name: \"ask\", serverDataType: \"double\" },\n { name: \"askSize\", serverDataType: \"double\" }, // type: \"int\"\n { name: \"bid\", serverDataType: \"double\" },\n { name: \"bidSize\", serverDataType: \"double\" },\n { name: \"close\", serverDataType: \"double\" },\n { name: \"last\", serverDataType: \"double\" },\n { name: \"open\", serverDataType: \"double\" },\n { name: \"phase\", serverDataType: \"string\" },\n { name: \"ric\", serverDataType: \"string\" },\n { name: \"scenario\", serverDataType: \"string\" },\n { name: \"lastUpdate\", serverDataType: \"long\" },\n { name: \"created\", serverDataType: \"long\" },\n ],\n key: \"ric\",\n table: { module: \"SIMUL\", table: \"prices\" },\n },\n };\n\nexport type SimulVuuTable = {\n module: \"SIMUL\";\n table: SimulTableName;\n};\n\nexport const isSimulTable = (table: VuuTable): table is SimulVuuTable =>\n table.module === \"SIMUL\";\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"simul-schemas.js","sources":["../../../../packages/vuu-data-test/src/simul/simul-schemas.ts"],"sourcesContent":["import { TableSchema } from \"@vuu-ui/vuu-data-types\";\nimport { VuuTable } from \"@vuu-ui/vuu-protocol-types\";\n\nexport type SimulTableName =\n | \"instruments\"\n | \"instrumentsExtended\"\n | \"instrumentPrices\"\n | \"orders\"\n | \"childOrders\"\n | \"parentOrders\"\n | \"prices\";\n\n// These Schemas take the form of the schemas that we create\n// with TABLE_META returned by Vuu.\nexport const schemas: Readonly<Record<SimulTableName, Readonly<TableSchema>>> =\n {\n instruments: {\n columns: [\n { name: \"bbg\", serverDataType: \"string\" },\n { name: \"currency\", serverDataType: \"string\" },\n { name: \"description\", serverDataType: \"string\" },\n { name: \"exchange\", serverDataType: \"string\" },\n { name: \"isin\", serverDataType: \"string\" },\n { name: \"lotSize\", serverDataType: \"int\" },\n { name: \"ric\", serverDataType: \"string\" },\n ],\n key: \"ric\",\n table: { module: \"SIMUL\", table: \"instruments\" },\n },\n instrumentsExtended: {\n columns: [\n { name: \"bbg\", serverDataType: \"string\" },\n { name: \"currency\", serverDataType: \"string\" },\n { name: \"description\", serverDataType: \"string\" },\n { name: \"exchange\", serverDataType: \"string\" },\n { name: \"isin\", serverDataType: \"string\" },\n { name: \"lotSize\", serverDataType: \"int\" },\n { name: \"ric\", serverDataType: \"string\" },\n { name: \"supported\", serverDataType: \"boolean\" },\n { name: \"wishlist\", serverDataType: \"boolean\" },\n { name: \"lastUpdated\", serverDataType: \"long\" },\n { name: \"price\", serverDataType: \"double\" },\n { name: \"date\", serverDataType: \"long\" },\n ],\n key: \"ric\",\n table: { module: \"SIMUL\", table: \"instrumentsExtended\" },\n },\n instrumentPrices: {\n columns: [\n { name: \"ask\", serverDataType: \"double\" },\n { name: \"askSize\", serverDataType: \"double\" }, // type: \"int\"\n { name: \"bbg\", serverDataType: \"string\" },\n { name: \"bid\", serverDataType: \"double\" },\n { name: \"bidSize\", serverDataType: \"double\" },\n { name: \"close\", serverDataType: \"double\" },\n { name: \"currency\", serverDataType: \"string\" },\n { name: \"description\", serverDataType: \"string\" },\n { name: \"exchange\", serverDataType: \"string\" },\n { name: \"isin\", serverDataType: \"string\" },\n { name: \"last\", serverDataType: \"double\" },\n { name: \"lotSize\", serverDataType: \"int\" },\n { name: \"open\", serverDataType: \"double\" },\n { name: \"phase\", serverDataType: \"string\" },\n { name: \"ric\", serverDataType: \"string\" },\n { name: \"scenario\", serverDataType: \"string\" },\n ],\n key: \"ric\",\n table: { module: \"SIMUL\", table: \"instrumentPrices\" },\n },\n orders: {\n columns: [\n { name: \"status\", serverDataType: \"string\" },\n { name: \"ccy\", serverDataType: \"string\" },\n { name: \"created\", serverDataType: \"long\" },\n { name: \"filledQuantity\", serverDataType: \"double\" },\n { name: \"lastUpdate\", serverDataType: \"long\" },\n { name: \"orderId\", serverDataType: \"string\" },\n { name: \"quantity\", serverDataType: \"double\" },\n { name: \"ric\", serverDataType: \"string\" },\n { name: \"side\", serverDataType: \"string\" },\n { name: \"trader\", serverDataType: \"string\" },\n ],\n key: \"orderId\",\n table: { module: \"SIMUL\", table: \"orders\" },\n },\n childOrders: {\n columns: [\n { name: \"account\", serverDataType: \"string\" },\n { name: \"averagePrice\", serverDataType: \"double\" },\n { name: \"ccy\", serverDataType: \"string\" },\n { name: \"exchange\", serverDataType: \"string\" },\n { name: \"filledQty\", serverDataType: \"double\" },\n { name: \"id\", serverDataType: \"string\" },\n { name: \"idAsInt\", serverDataType: \"int\" },\n { name: \"openQty\", serverDataType: \"double\" },\n { name: \"parentOrderId\", serverDataType: \"string\" },\n { name: \"price\", serverDataType: \"double\" },\n { name: \"quantity\", serverDataType: \"double\" },\n { name: \"ric\", serverDataType: \"string\" },\n { name: \"side\", serverDataType: \"string\" },\n { name: \"status\", serverDataType: \"string\" },\n { name: \"strategy\", serverDataType: \"string\" },\n { name: \"volLimit\", serverDataType: \"int\" },\n { name: \"lastUpdate\", serverDataType: \"long\" },\n { name: \"created\", serverDataType: \"long\" },\n ],\n key: \"id\",\n table: { module: \"SIMUL\", table: \"childOrders\" },\n },\n parentOrders: {\n columns: [\n { name: \"account\", serverDataType: \"string\" },\n { name: \"algo\", serverDataType: \"string\" },\n { name: \"averagePrice\", serverDataType: \"double\" },\n { name: \"ccy\", serverDataType: \"string\" },\n { name: \"childCount\", serverDataType: \"int\" },\n { name: \"exchange\", serverDataType: \"string\" },\n { name: \"filledQty\", serverDataType: \"double\" },\n { name: \"id\", serverDataType: \"string\" },\n { name: \"idAsInt\", serverDataType: \"int\" },\n { name: \"openQty\", serverDataType: \"double\" },\n { name: \"price\", serverDataType: \"double\" },\n { name: \"quantity\", serverDataType: \"double\" },\n { name: \"ric\", serverDataType: \"string\" },\n { name: \"side\", serverDataType: \"string\" },\n { name: \"status\", serverDataType: \"string\" },\n { name: \"volLimit\", serverDataType: \"int\" },\n { name: \"lastUpdate\", serverDataType: \"long\" },\n { name: \"created\", serverDataType: \"long\" },\n ],\n key: \"id\",\n table: { module: \"SIMUL\", table: \"parentOrders\" },\n },\n prices: {\n columns: [\n { name: \"ask\", serverDataType: \"double\" },\n { name: \"askSize\", serverDataType: \"double\" }, // type: \"int\"\n { name: \"bid\", serverDataType: \"double\" },\n { name: \"bidSize\", serverDataType: \"double\" },\n { name: \"close\", serverDataType: \"double\" },\n { name: \"last\", serverDataType: \"double\" },\n { name: \"open\", serverDataType: \"double\" },\n { name: \"phase\", serverDataType: \"string\" },\n { name: \"ric\", serverDataType: \"string\" },\n { name: \"scenario\", serverDataType: \"string\" },\n { name: \"lastUpdate\", serverDataType: \"long\" },\n { name: \"created\", serverDataType: \"long\" },\n ],\n key: \"ric\",\n table: { module: \"SIMUL\", table: \"prices\" },\n },\n };\n\nexport type SimulVuuTable = {\n module: \"SIMUL\";\n table: SimulTableName;\n};\n\nexport const isSimulTable = (table: VuuTable): table is SimulVuuTable =>\n table.module === \"SIMUL\";\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-module.js","sources":["
|
|
1
|
+
{"version":3,"file":"test-module.js","sources":["../../../../packages/vuu-data-test/src/test/test-module.ts"],"sourcesContent":["import { buildDataColumnMap, Table } from \"../Table\";\nimport { defaultGenerators } from \"../vuu-row-generator\";\nimport { schemas, TestTableName } from \"./test-schemas\";\nimport { VuuModule } from \"../VuuModule\";\n\nconst { RowGenerator } = defaultGenerators;\n\nconst manyColumnGenerator = RowGenerator(\n schemas.TwoHundredColumns.columns.map((c) => c.name)\n);\n\nconst tables: Record<TestTableName, Table> = {\n TwoHundredColumns: new Table(\n schemas.TwoHundredColumns,\n new Array(100).fill(1).map((_, i) => manyColumnGenerator(i)),\n buildDataColumnMap(schemas, \"TwoHundredColumns\")\n ),\n};\n\nexport const testModule = new VuuModule<TestTableName>({\n name: \"TEST\",\n schemas,\n tables,\n});\n"],"names":[],"mappings":";;;;;AAKA,MAAM,EAAE,cAAiB,GAAA,iBAAA;AAEzB,MAAM,mBAAsB,GAAA,YAAA;AAAA,EAC1B,QAAQ,iBAAkB,CAAA,OAAA,CAAQ,IAAI,CAAC,CAAA,KAAM,EAAE,IAAI;AACrD,CAAA;AAEA,MAAM,MAAuC,GAAA;AAAA,EAC3C,mBAAmB,IAAI,KAAA;AAAA,IACrB,OAAQ,CAAA,iBAAA;AAAA,IACR,IAAI,KAAA,CAAM,GAAG,CAAA,CAAE,IAAK,CAAA,CAAC,CAAE,CAAA,GAAA,CAAI,CAAC,CAAA,EAAG,CAAM,KAAA,mBAAA,CAAoB,CAAC,CAAC,CAAA;AAAA,IAC3D,kBAAA,CAAmB,SAAS,mBAAmB;AAAA;AAEnD,CAAA;AAEa,MAAA,UAAA,GAAa,IAAI,SAAyB,CAAA;AAAA,EACrD,IAAM,EAAA,MAAA;AAAA,EACN,OAAA;AAAA,EACA;AACF,CAAC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-schemas.js","sources":["
|
|
1
|
+
{"version":3,"file":"test-schemas.js","sources":["../../../../packages/vuu-data-test/src/test/test-schemas.ts"],"sourcesContent":["import { TableSchema } from \"@vuu-ui/vuu-data-types\";\nimport { DefaultColumnGenerator } from \"../vuu-row-generator\";\n\nexport type TestTableName = \"TwoHundredColumns\";\n\nexport const schemas: Readonly<Record<TestTableName, Readonly<TableSchema>>> = {\n TwoHundredColumns: {\n columns: DefaultColumnGenerator(200).map((col) => ({\n ...col,\n serverDataType: \"string\",\n })),\n key: \"column01\",\n table: { module: \"TEST\", table: \"TwoHundredColumns\" },\n },\n};\n"],"names":[],"mappings":";;AAKO,MAAM,OAAkE,GAAA;AAAA,EAC7E,iBAAmB,EAAA;AAAA,IACjB,SAAS,sBAAuB,CAAA,GAAG,CAAE,CAAA,GAAA,CAAI,CAAC,GAAS,MAAA;AAAA,MACjD,GAAG,GAAA;AAAA,MACH,cAAgB,EAAA;AAAA,KAChB,CAAA,CAAA;AAAA,IACF,GAAK,EAAA,UAAA;AAAA,IACL,KAAO,EAAA,EAAE,MAAQ,EAAA,MAAA,EAAQ,OAAO,mBAAoB;AAAA;AAExD;;;;"}
|
package/esm/vuu-modules.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vuu-modules.js","sources":["
|
|
1
|
+
{"version":3,"file":"vuu-modules.js","sources":["../../../packages/vuu-data-test/src/vuu-modules.ts"],"sourcesContent":["import { VuuModule } from \"./VuuModule\";\nimport { basketModule } from \"./basket/basket-module\";\nimport { BasketsTableName } from \"./basket/basket-schemas\";\nimport { simulModule } from \"./simul/simul-module\";\nimport { SimulTableName } from \"./simul/simul-schemas\";\nimport { testModule } from \"./test/test-module\";\nimport { TestTableName } from \"./test/test-schemas\";\n\nexport type VuuModuleName = \"BASKET\" | \"SIMUL\" | \"TEST\";\n\nconst vuuModules: Record<\n VuuModuleName,\n | VuuModule<BasketsTableName>\n | VuuModule<SimulTableName>\n | VuuModule<TestTableName>\n> = {\n BASKET: basketModule,\n SIMUL: simulModule,\n TEST: testModule,\n};\n\n// Note, this is useful but be aware that all modules will be bundled if this is imported.\n// If only a single module is required, better to import it directly.\nexport const vuuModule = <T extends string = string>(\n moduleName: VuuModuleName\n) => vuuModules[moduleName] as VuuModule<T>;\n"],"names":[],"mappings":";;;;AAUA,MAAM,UAKF,GAAA;AAAA,EACF,MAAQ,EAAA,YAAA;AAAA,EACR,KAAO,EAAA,WAAA;AAAA,EACP,IAAM,EAAA;AACR,CAAA;AAIO,MAAM,SAAY,GAAA,CACvB,UACG,KAAA,UAAA,CAAW,UAAU;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vuu-row-generator.js","sources":["
|
|
1
|
+
{"version":3,"file":"vuu-row-generator.js","sources":["../../../packages/vuu-data-test/src/vuu-row-generator.ts"],"sourcesContent":["import type { ColumnDescriptor } from \"@vuu-ui/vuu-table-types\";\nimport type { VuuRowDataItemType, VuuTable } from \"@vuu-ui/vuu-protocol-types\";\nimport { UpdateGenerator } from \"./rowUpdates\";\n\ntype GenerateRowFunc = (index: number) => VuuRowDataItemType[];\n\nexport type RowGeneratorFactory = (columns: string[]) => GenerateRowFunc;\n\nexport type ColumnGeneratorFn = (\n columns?: number | string[],\n columnConfig?: { [key: string]: Partial<ColumnDescriptor> },\n) => ColumnDescriptor[];\n\nexport const DefaultRowGenerator: RowGeneratorFactory =\n (columns: string[]) => (index) => {\n return [`row ${index + 1}`].concat(\n Array(columns.length)\n .fill(true)\n .map((v, j) => `value ${j + 1} @ ${index + 1}`),\n );\n };\n\nexport const DefaultColumnGenerator: ColumnGeneratorFn = (\n columns,\n columnConfig = {},\n) => {\n if (typeof columns === \"number\") {\n return [{ label: \"Row Number\", name: \"rownum\", width: 150 }].concat(\n Array(columns)\n .fill(true)\n .map((_, i) => {\n const name = `column_${i + 1}`;\n const label = `Column ${i + 1}`;\n return { label, name, width: 100, ...columnConfig[name] };\n }),\n );\n } else {\n throw Error(\"DefaultColumnGenerator must be passed columns (number)\");\n }\n};\n\nexport const defaultGenerators = {\n ColumnGenerator: DefaultColumnGenerator,\n RowGenerator: DefaultRowGenerator,\n};\n\nexport const getColumnAndRowGenerator = (\n table?: VuuTable,\n):\n | [ColumnGeneratorFn, RowGeneratorFactory]\n | [ColumnGeneratorFn, RowGeneratorFactory, () => UpdateGenerator] => {\n const tableName = table?.table ?? \"\";\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n switch (table?.module) {\n case \"SIMUL\": {\n const { ColumnGenerator, RowGenerator, createUpdateGenerator } =\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n simulDataGenerators[tableName] ?? defaultGenerators;\n return [ColumnGenerator, RowGenerator, createUpdateGenerator];\n }\n\n case \"BASKET\": {\n const { ColumnGenerator, RowGenerator, createUpdateGenerator } =\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n basketDataGenerators[tableName] ?? defaultGenerators;\n return [ColumnGenerator, RowGenerator, createUpdateGenerator];\n }\n case undefined: {\n const { ColumnGenerator, RowGenerator } = defaultGenerators;\n return [ColumnGenerator, RowGenerator];\n }\n default:\n throw Error(\n `vuu-row-gererator table ${table?.table} was requested but no generator is registered`,\n );\n }\n};\n\nexport const populateArray = (\n count: number,\n colGen: ColumnGeneratorFn,\n rowGen: RowGeneratorFactory,\n columns?: number | string[],\n) => {\n const columnDescriptors = colGen(columns);\n const generateRow = rowGen(columnDescriptors.map((col) => col.name));\n const data: Array<VuuRowDataItemType[]> = [];\n for (let i = 0; i < count; i++) {\n const row = generateRow(i);\n if (row) {\n data[i] = row;\n } else {\n break;\n }\n }\n return data;\n};\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.13.
|
|
2
|
+
"version": "0.13.15",
|
|
3
3
|
"author": "heswell",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"@vuu-ui/vuu-data-local": "0.13.
|
|
7
|
-
"@vuu-ui/vuu-utils": "0.13.
|
|
6
|
+
"@vuu-ui/vuu-data-local": "0.13.15",
|
|
7
|
+
"@vuu-ui/vuu-utils": "0.13.15"
|
|
8
8
|
},
|
|
9
9
|
"devDependencies": {
|
|
10
|
-
"@vuu-ui/vuu-protocol-types": "0.13.
|
|
11
|
-
"@vuu-ui/vuu-data-types": "0.13.
|
|
12
|
-
"@vuu-ui/vuu-table-types": "0.13.
|
|
10
|
+
"@vuu-ui/vuu-protocol-types": "0.13.15",
|
|
11
|
+
"@vuu-ui/vuu-data-types": "0.13.15",
|
|
12
|
+
"@vuu-ui/vuu-table-types": "0.13.15"
|
|
13
13
|
},
|
|
14
14
|
"sideEffects": false,
|
|
15
15
|
"files": [
|
package/types/Table.d.ts
CHANGED
|
@@ -14,7 +14,7 @@ export declare class Table extends EventEmitter<TableEvents> {
|
|
|
14
14
|
get data(): VuuRowDataItemType[][];
|
|
15
15
|
get map(): ColumnMap;
|
|
16
16
|
get schema(): TableSchema;
|
|
17
|
-
insert(row: VuuRowDataItemType[]): void;
|
|
17
|
+
insert(row: VuuRowDataItemType[], emitEvent?: boolean): void;
|
|
18
18
|
findByKey(key: string): VuuRowDataItemType[];
|
|
19
19
|
update(key: string, columnName: string, value: VuuRowDataItemType): void;
|
|
20
20
|
updateRow(row: VuuRowDataItemType[]): void;
|
|
@@ -33,4 +33,6 @@ export declare class TickingArrayDataSource extends ArrayDataSource {
|
|
|
33
33
|
getTypeaheadSuggestions(column: string, pattern?: string): Promise<string[]>;
|
|
34
34
|
get visualLink(): LinkDescriptorWithLabel | undefined;
|
|
35
35
|
set visualLink(visualLink: LinkDescriptorWithLabel | undefined);
|
|
36
|
+
freeze(): void;
|
|
37
|
+
unfreeze(): void;
|
|
36
38
|
}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import { VuuRowDataItemType } from "@vuu-ui/vuu-protocol-types";
|
|
2
1
|
import { Table } from "../../Table";
|
|
3
|
-
declare const childOrderData: VuuRowDataItemType[][];
|
|
4
|
-
declare const parentOrderData: VuuRowDataItemType[][];
|
|
5
2
|
export declare const parentOrdersTable: Table;
|
|
6
3
|
export declare const childOrdersTable: Table;
|
|
7
|
-
export
|
|
4
|
+
export declare function startGeneratingNewOrders(): void;
|
|
5
|
+
export declare function stopGeneratingNewOrders(): void;
|