@vuu-ui/vuu-data-test 2.1.18 → 2.1.19-beta.2

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 (277) hide show
  1. package/package.json +10 -13
  2. package/src/ArrayProxy.js +38 -0
  3. package/src/RuntimeVisualLink.js +45 -0
  4. package/src/SessionTable.js +49 -0
  5. package/src/Table.js +96 -0
  6. package/src/TickingArrayDataSource.js +208 -0
  7. package/src/UpdateGenerator.js +72 -0
  8. package/src/basket/BasketModule.js +272 -0
  9. package/src/basket/basket-schemas.js +355 -0
  10. package/src/basket/index.js +2 -0
  11. package/src/basket/reference-data/constituents.js +76 -0
  12. package/src/basket/reference-data/ftse100.js +686 -0
  13. package/src/basket/reference-data/hsi.js +1047 -0
  14. package/src/basket/reference-data/nasdaq100.js +812 -0
  15. package/src/basket/reference-data/prices.js +43 -0
  16. package/src/basket/reference-data/sp500.js +315 -0
  17. package/src/core/module/ModuleContainer.js +21 -0
  18. package/src/core/module/VuuModule.js +476 -0
  19. package/src/core/table/TableContainer.js +97 -0
  20. package/src/data-utils.js +53 -0
  21. package/src/index.js +13 -0
  22. package/src/local-datasource-provider/LocalDatasourceProvider.js +44 -0
  23. package/src/makeSuggestions.js +20 -0
  24. package/src/rowUpdates.js +0 -0
  25. package/src/schemas.js +19 -0
  26. package/src/session-table-utils.js +16 -0
  27. package/src/simul/SimulModule.js +175 -0
  28. package/src/simul/index.js +2 -0
  29. package/src/simul/reference-data/accounts.js +23 -0
  30. package/src/simul/reference-data/algos.js +9 -0
  31. package/src/simul/reference-data/currencies.js +8 -0
  32. package/src/simul/reference-data/index.js +5 -0
  33. package/src/simul/reference-data/instrument-prices.js +48 -0
  34. package/src/simul/reference-data/instruments-extended.js +12 -0
  35. package/src/simul/reference-data/instruments.js +67 -0
  36. package/src/simul/reference-data/isin-generator/convert-string-to-base-ten-number.js +2 -0
  37. package/src/simul/reference-data/isin-generator/fixtures/alphabet.js +27 -0
  38. package/src/simul/reference-data/isin-generator/fixtures/alphanumeric-values.js +7 -0
  39. package/src/simul/reference-data/isin-generator/fixtures/base-ten-numbers.js +13 -0
  40. package/src/simul/reference-data/isin-generator/generate-cusip-check-code.js +17 -0
  41. package/src/simul/reference-data/isin-generator/generate-cusip-without-check-code.js +8 -0
  42. package/src/simul/reference-data/isin-generator/generate-cusip.js +8 -0
  43. package/src/simul/reference-data/isin-generator/generate-random-alphanumeric.js +3 -0
  44. package/src/simul/reference-data/isin-generator/generate-random-base-ten-number.js +2 -0
  45. package/src/simul/reference-data/isin-generator/generate-random-string-of-alphanumeric-chars.js +7 -0
  46. package/src/simul/reference-data/isin-generator/generate-random-string-of-base-ten-chars.js +7 -0
  47. package/src/simul/reference-data/isin-generator/index.js +280 -0
  48. package/src/simul/reference-data/isin-generator/is-odd.js +2 -0
  49. package/src/simul/reference-data/locations.js +45 -0
  50. package/src/simul/reference-data/lotsizes.js +24 -0
  51. package/src/simul/reference-data/orderStatus.js +6 -0
  52. package/src/simul/reference-data/orders.js +64 -0
  53. package/src/simul/reference-data/parent-child-orders.js +117 -0
  54. package/src/simul/reference-data/priceStrategies.js +8 -0
  55. package/src/simul/reference-data/prices.js +78 -0
  56. package/src/simul/reference-data/sides.js +5 -0
  57. package/src/simul/simul-schemas.js +428 -0
  58. package/src/test/TestModule.js +95 -0
  59. package/src/test/index.js +1 -0
  60. package/src/test/test-schemas.js +74 -0
  61. package/src/vuu-row-generator.js +71 -0
  62. package/types/TickingArrayDataSource.d.ts +1 -1
  63. package/types/basket/BasketModule.d.ts +9 -9
  64. package/types/basket/reference-data/prices.d.ts +1 -1
  65. package/types/simul/reference-data/instruments-extended.d.ts +1 -1
  66. package/types/simul/reference-data/instruments.d.ts +1 -1
  67. package/types/simul/reference-data/orders.d.ts +1 -1
  68. package/types/simul/reference-data/parent-child-orders.d.ts +2 -2
  69. package/types/simul/reference-data/prices.d.ts +1 -1
  70. package/cjs/ArrayProxy.js +0 -72
  71. package/cjs/ArrayProxy.js.map +0 -1
  72. package/cjs/RuntimeVisualLink.js +0 -73
  73. package/cjs/RuntimeVisualLink.js.map +0 -1
  74. package/cjs/SessionTable.js +0 -68
  75. package/cjs/SessionTable.js.map +0 -1
  76. package/cjs/Table.js +0 -128
  77. package/cjs/Table.js.map +0 -1
  78. package/cjs/TickingArrayDataSource.js +0 -316
  79. package/cjs/TickingArrayDataSource.js.map +0 -1
  80. package/cjs/UpdateGenerator.js +0 -94
  81. package/cjs/UpdateGenerator.js.map +0 -1
  82. package/cjs/basket/BasketModule.js +0 -282
  83. package/cjs/basket/BasketModule.js.map +0 -1
  84. package/cjs/basket/basket-schemas.js +0 -123
  85. package/cjs/basket/basket-schemas.js.map +0 -1
  86. package/cjs/basket/reference-data/constituents.js +0 -40
  87. package/cjs/basket/reference-data/constituents.js.map +0 -1
  88. package/cjs/basket/reference-data/ftse100.js +0 -105
  89. package/cjs/basket/reference-data/ftse100.js.map +0 -1
  90. package/cjs/basket/reference-data/hsi.js +0 -87
  91. package/cjs/basket/reference-data/hsi.js.map +0 -1
  92. package/cjs/basket/reference-data/nasdaq100.js +0 -108
  93. package/cjs/basket/reference-data/nasdaq100.js.map +0 -1
  94. package/cjs/basket/reference-data/sp500.js +0 -46
  95. package/cjs/basket/reference-data/sp500.js.map +0 -1
  96. package/cjs/core/module/ModuleContainer.js +0 -43
  97. package/cjs/core/module/ModuleContainer.js.map +0 -1
  98. package/cjs/core/module/VuuModule.js +0 -660
  99. package/cjs/core/module/VuuModule.js.map +0 -1
  100. package/cjs/core/table/TableContainer.js +0 -139
  101. package/cjs/core/table/TableContainer.js.map +0 -1
  102. package/cjs/data-utils.js +0 -47
  103. package/cjs/data-utils.js.map +0 -1
  104. package/cjs/index.js +0 -46
  105. package/cjs/index.js.map +0 -1
  106. package/cjs/local-datasource-provider/LocalDatasourceProvider.js +0 -70
  107. package/cjs/local-datasource-provider/LocalDatasourceProvider.js.map +0 -1
  108. package/cjs/makeSuggestions.js +0 -26
  109. package/cjs/makeSuggestions.js.map +0 -1
  110. package/cjs/schemas.js +0 -28
  111. package/cjs/schemas.js.map +0 -1
  112. package/cjs/session-table-utils.js +0 -12
  113. package/cjs/session-table-utils.js.map +0 -1
  114. package/cjs/simul/SimulModule.js +0 -187
  115. package/cjs/simul/SimulModule.js.map +0 -1
  116. package/cjs/simul/reference-data/accounts.js +0 -27
  117. package/cjs/simul/reference-data/accounts.js.map +0 -1
  118. package/cjs/simul/reference-data/algos.js +0 -6
  119. package/cjs/simul/reference-data/algos.js.map +0 -1
  120. package/cjs/simul/reference-data/currencies.js +0 -6
  121. package/cjs/simul/reference-data/currencies.js.map +0 -1
  122. package/cjs/simul/reference-data/instruments-extended.js +0 -19
  123. package/cjs/simul/reference-data/instruments-extended.js.map +0 -1
  124. package/cjs/simul/reference-data/instruments.js +0 -85
  125. package/cjs/simul/reference-data/instruments.js.map +0 -1
  126. package/cjs/simul/reference-data/isin-generator/convert-string-to-base-ten-number.js +0 -6
  127. package/cjs/simul/reference-data/isin-generator/convert-string-to-base-ten-number.js.map +0 -1
  128. package/cjs/simul/reference-data/isin-generator/fixtures/alphabet.js +0 -31
  129. package/cjs/simul/reference-data/isin-generator/fixtures/alphabet.js.map +0 -1
  130. package/cjs/simul/reference-data/isin-generator/fixtures/alphanumeric-values.js +0 -9
  131. package/cjs/simul/reference-data/isin-generator/fixtures/alphanumeric-values.js.map +0 -1
  132. package/cjs/simul/reference-data/isin-generator/fixtures/base-ten-numbers.js +0 -17
  133. package/cjs/simul/reference-data/isin-generator/fixtures/base-ten-numbers.js.map +0 -1
  134. package/cjs/simul/reference-data/isin-generator/generate-cusip-check-code.js +0 -24
  135. package/cjs/simul/reference-data/isin-generator/generate-cusip-check-code.js.map +0 -1
  136. package/cjs/simul/reference-data/isin-generator/generate-cusip-without-check-code.js +0 -13
  137. package/cjs/simul/reference-data/isin-generator/generate-cusip-without-check-code.js.map +0 -1
  138. package/cjs/simul/reference-data/isin-generator/generate-cusip.js +0 -13
  139. package/cjs/simul/reference-data/isin-generator/generate-cusip.js.map +0 -1
  140. package/cjs/simul/reference-data/isin-generator/generate-random-alphanumeric.js +0 -8
  141. package/cjs/simul/reference-data/isin-generator/generate-random-alphanumeric.js.map +0 -1
  142. package/cjs/simul/reference-data/isin-generator/generate-random-base-ten-number.js +0 -6
  143. package/cjs/simul/reference-data/isin-generator/generate-random-base-ten-number.js.map +0 -1
  144. package/cjs/simul/reference-data/isin-generator/generate-random-string-of-alphanumeric-chars.js +0 -14
  145. package/cjs/simul/reference-data/isin-generator/generate-random-string-of-alphanumeric-chars.js.map +0 -1
  146. package/cjs/simul/reference-data/isin-generator/generate-random-string-of-base-ten-chars.js +0 -14
  147. package/cjs/simul/reference-data/isin-generator/generate-random-string-of-base-ten-chars.js.map +0 -1
  148. package/cjs/simul/reference-data/isin-generator/index.js +0 -295
  149. package/cjs/simul/reference-data/isin-generator/index.js.map +0 -1
  150. package/cjs/simul/reference-data/isin-generator/is-odd.js +0 -6
  151. package/cjs/simul/reference-data/isin-generator/is-odd.js.map +0 -1
  152. package/cjs/simul/reference-data/locations.js +0 -17
  153. package/cjs/simul/reference-data/locations.js.map +0 -1
  154. package/cjs/simul/reference-data/lotsizes.js +0 -28
  155. package/cjs/simul/reference-data/lotsizes.js.map +0 -1
  156. package/cjs/simul/reference-data/orderStatus.js +0 -6
  157. package/cjs/simul/reference-data/orderStatus.js.map +0 -1
  158. package/cjs/simul/reference-data/orders.js +0 -55
  159. package/cjs/simul/reference-data/orders.js.map +0 -1
  160. package/cjs/simul/reference-data/parent-child-orders.js +0 -144
  161. package/cjs/simul/reference-data/parent-child-orders.js.map +0 -1
  162. package/cjs/simul/reference-data/prices.js +0 -89
  163. package/cjs/simul/reference-data/prices.js.map +0 -1
  164. package/cjs/simul/reference-data/sides.js +0 -6
  165. package/cjs/simul/reference-data/sides.js.map +0 -1
  166. package/cjs/simul/simul-schemas.js +0 -150
  167. package/cjs/simul/simul-schemas.js.map +0 -1
  168. package/cjs/test/TestModule.js +0 -86
  169. package/cjs/test/TestModule.js.map +0 -1
  170. package/cjs/test/test-schemas.js +0 -52
  171. package/cjs/test/test-schemas.js.map +0 -1
  172. package/cjs/vuu-row-generator.js +0 -74
  173. package/cjs/vuu-row-generator.js.map +0 -1
  174. package/esm/ArrayProxy.js +0 -70
  175. package/esm/ArrayProxy.js.map +0 -1
  176. package/esm/RuntimeVisualLink.js +0 -71
  177. package/esm/RuntimeVisualLink.js.map +0 -1
  178. package/esm/SessionTable.js +0 -65
  179. package/esm/SessionTable.js.map +0 -1
  180. package/esm/Table.js +0 -124
  181. package/esm/Table.js.map +0 -1
  182. package/esm/TickingArrayDataSource.js +0 -314
  183. package/esm/TickingArrayDataSource.js.map +0 -1
  184. package/esm/UpdateGenerator.js +0 -92
  185. package/esm/UpdateGenerator.js.map +0 -1
  186. package/esm/basket/BasketModule.js +0 -278
  187. package/esm/basket/BasketModule.js.map +0 -1
  188. package/esm/basket/basket-schemas.js +0 -120
  189. package/esm/basket/basket-schemas.js.map +0 -1
  190. package/esm/basket/reference-data/constituents.js +0 -38
  191. package/esm/basket/reference-data/constituents.js.map +0 -1
  192. package/esm/basket/reference-data/ftse100.js +0 -103
  193. package/esm/basket/reference-data/ftse100.js.map +0 -1
  194. package/esm/basket/reference-data/hsi.js +0 -85
  195. package/esm/basket/reference-data/hsi.js.map +0 -1
  196. package/esm/basket/reference-data/nasdaq100.js +0 -106
  197. package/esm/basket/reference-data/nasdaq100.js.map +0 -1
  198. package/esm/basket/reference-data/sp500.js +0 -44
  199. package/esm/basket/reference-data/sp500.js.map +0 -1
  200. package/esm/core/module/ModuleContainer.js +0 -41
  201. package/esm/core/module/ModuleContainer.js.map +0 -1
  202. package/esm/core/module/VuuModule.js +0 -658
  203. package/esm/core/module/VuuModule.js.map +0 -1
  204. package/esm/core/table/TableContainer.js +0 -137
  205. package/esm/core/table/TableContainer.js.map +0 -1
  206. package/esm/data-utils.js +0 -43
  207. package/esm/data-utils.js.map +0 -1
  208. package/esm/index.js +0 -16
  209. package/esm/index.js.map +0 -1
  210. package/esm/local-datasource-provider/LocalDatasourceProvider.js +0 -68
  211. package/esm/local-datasource-provider/LocalDatasourceProvider.js.map +0 -1
  212. package/esm/makeSuggestions.js +0 -24
  213. package/esm/makeSuggestions.js.map +0 -1
  214. package/esm/schemas.js +0 -24
  215. package/esm/schemas.js.map +0 -1
  216. package/esm/session-table-utils.js +0 -10
  217. package/esm/session-table-utils.js.map +0 -1
  218. package/esm/simul/SimulModule.js +0 -184
  219. package/esm/simul/SimulModule.js.map +0 -1
  220. package/esm/simul/reference-data/accounts.js +0 -25
  221. package/esm/simul/reference-data/accounts.js.map +0 -1
  222. package/esm/simul/reference-data/algos.js +0 -4
  223. package/esm/simul/reference-data/algos.js.map +0 -1
  224. package/esm/simul/reference-data/currencies.js +0 -4
  225. package/esm/simul/reference-data/currencies.js.map +0 -1
  226. package/esm/simul/reference-data/instruments-extended.js +0 -17
  227. package/esm/simul/reference-data/instruments-extended.js.map +0 -1
  228. package/esm/simul/reference-data/instruments.js +0 -80
  229. package/esm/simul/reference-data/instruments.js.map +0 -1
  230. package/esm/simul/reference-data/isin-generator/convert-string-to-base-ten-number.js +0 -4
  231. package/esm/simul/reference-data/isin-generator/convert-string-to-base-ten-number.js.map +0 -1
  232. package/esm/simul/reference-data/isin-generator/fixtures/alphabet.js +0 -29
  233. package/esm/simul/reference-data/isin-generator/fixtures/alphabet.js.map +0 -1
  234. package/esm/simul/reference-data/isin-generator/fixtures/alphanumeric-values.js +0 -7
  235. package/esm/simul/reference-data/isin-generator/fixtures/alphanumeric-values.js.map +0 -1
  236. package/esm/simul/reference-data/isin-generator/fixtures/base-ten-numbers.js +0 -15
  237. package/esm/simul/reference-data/isin-generator/fixtures/base-ten-numbers.js.map +0 -1
  238. package/esm/simul/reference-data/isin-generator/generate-cusip-check-code.js +0 -22
  239. package/esm/simul/reference-data/isin-generator/generate-cusip-check-code.js.map +0 -1
  240. package/esm/simul/reference-data/isin-generator/generate-cusip-without-check-code.js +0 -11
  241. package/esm/simul/reference-data/isin-generator/generate-cusip-without-check-code.js.map +0 -1
  242. package/esm/simul/reference-data/isin-generator/generate-cusip.js +0 -11
  243. package/esm/simul/reference-data/isin-generator/generate-cusip.js.map +0 -1
  244. package/esm/simul/reference-data/isin-generator/generate-random-alphanumeric.js +0 -6
  245. package/esm/simul/reference-data/isin-generator/generate-random-alphanumeric.js.map +0 -1
  246. package/esm/simul/reference-data/isin-generator/generate-random-base-ten-number.js +0 -4
  247. package/esm/simul/reference-data/isin-generator/generate-random-base-ten-number.js.map +0 -1
  248. package/esm/simul/reference-data/isin-generator/generate-random-string-of-alphanumeric-chars.js +0 -12
  249. package/esm/simul/reference-data/isin-generator/generate-random-string-of-alphanumeric-chars.js.map +0 -1
  250. package/esm/simul/reference-data/isin-generator/generate-random-string-of-base-ten-chars.js +0 -12
  251. package/esm/simul/reference-data/isin-generator/generate-random-string-of-base-ten-chars.js.map +0 -1
  252. package/esm/simul/reference-data/isin-generator/index.js +0 -293
  253. package/esm/simul/reference-data/isin-generator/index.js.map +0 -1
  254. package/esm/simul/reference-data/isin-generator/is-odd.js +0 -4
  255. package/esm/simul/reference-data/isin-generator/is-odd.js.map +0 -1
  256. package/esm/simul/reference-data/locations.js +0 -14
  257. package/esm/simul/reference-data/locations.js.map +0 -1
  258. package/esm/simul/reference-data/lotsizes.js +0 -26
  259. package/esm/simul/reference-data/lotsizes.js.map +0 -1
  260. package/esm/simul/reference-data/orderStatus.js +0 -4
  261. package/esm/simul/reference-data/orderStatus.js.map +0 -1
  262. package/esm/simul/reference-data/orders.js +0 -52
  263. package/esm/simul/reference-data/orders.js.map +0 -1
  264. package/esm/simul/reference-data/parent-child-orders.js +0 -139
  265. package/esm/simul/reference-data/parent-child-orders.js.map +0 -1
  266. package/esm/simul/reference-data/prices.js +0 -86
  267. package/esm/simul/reference-data/prices.js.map +0 -1
  268. package/esm/simul/reference-data/sides.js +0 -4
  269. package/esm/simul/reference-data/sides.js.map +0 -1
  270. package/esm/simul/simul-schemas.js +0 -147
  271. package/esm/simul/simul-schemas.js.map +0 -1
  272. package/esm/test/TestModule.js +0 -84
  273. package/esm/test/TestModule.js.map +0 -1
  274. package/esm/test/test-schemas.js +0 -50
  275. package/esm/test/test-schemas.js.map +0 -1
  276. package/esm/vuu-row-generator.js +0 -68
  277. package/esm/vuu-row-generator.js.map +0 -1
@@ -0,0 +1,20 @@
1
+ const checkPattern = (value, pattern)=>new RegExp(`^${pattern}`, "i").test(value);
2
+ const getUniqueValues = (data, columnIndex, pattern = "")=>{
3
+ const uniqueValues = [];
4
+ const set = new Set();
5
+ for (const row of data){
6
+ const value = row[columnIndex];
7
+ if (void 0 !== value && !set.has(value)) {
8
+ set.add(value);
9
+ uniqueValues.push(value);
10
+ }
11
+ }
12
+ uniqueValues.sort();
13
+ return pattern ? uniqueValues.filter((value)=>checkPattern(value.toString(), pattern)).slice(0, 10) : uniqueValues.slice(0, 10);
14
+ };
15
+ const makeSuggestions = (data, columnIndex, pattern)=>new Promise((resolve)=>{
16
+ const uniqueValues = getUniqueValues(data, columnIndex, pattern);
17
+ const result = uniqueValues.length > 20 ? uniqueValues?.slice(0, 20).map((v)=>v.toString()) : uniqueValues.map((v)=>v.toString());
18
+ setTimeout(()=>resolve(result), 100);
19
+ });
20
+ export { makeSuggestions };
File without changes
package/src/schemas.js ADDED
@@ -0,0 +1,19 @@
1
+ import { schemas } from "./basket/basket-schemas.js";
2
+ import { schemas as simul_schemas_js_schemas } from "./simul/simul-schemas.js";
3
+ import { schemas as test_schemas_js_schemas } from "./test/test-schemas.js";
4
+ const schemas_schemas = {
5
+ ...schemas,
6
+ ...simul_schemas_js_schemas,
7
+ ...test_schemas_js_schemas
8
+ };
9
+ const allSchemas = {
10
+ ...schemas,
11
+ ...simul_schemas_js_schemas,
12
+ ...test_schemas_js_schemas
13
+ };
14
+ const getAllSchemas = ()=>schemas_schemas;
15
+ const getSchema = (tableName)=>{
16
+ if (allSchemas[tableName]) return allSchemas[tableName];
17
+ throw Error(`getSchema no schema for table ${tableName}`);
18
+ };
19
+ export { getAllSchemas, getSchema, schemas_schemas as schemas };
@@ -0,0 +1,16 @@
1
+ import { Table, buildDataColumnMapFromSchema } from "./Table.js";
2
+ import { metadataKeys } from "@vuu-ui/vuu-utils";
3
+ const { KEY: KEY } = metadataKeys;
4
+ const createSessionTableFromSelectedRows = (table, selectedRowIds)=>{
5
+ const sessionData = [];
6
+ for(let i = 0; i < selectedRowIds.length; i++)for(let j = 0; j < table.data.length; j++)if (table.data[j][KEY] === selectedRowIds[i]) sessionData.push(table.data[j]);
7
+ return new Table(table.schema, sessionData, buildDataColumnMapFromSchema(table.schema));
8
+ };
9
+ const sessionTableSchema = (schema)=>({
10
+ ...schema,
11
+ columns: schema.columns.concat({
12
+ name: "vuuMsg",
13
+ serverDataType: "string"
14
+ })
15
+ });
16
+ export { createSessionTableFromSelectedRows, sessionTableSchema };
@@ -0,0 +1,175 @@
1
+ import { VuuModule } from "../core/module/VuuModule.js";
2
+ import { instrumentsTable } from "./reference-data/instruments.js";
3
+ import { instrumentsExtendedTable } from "./reference-data/instruments-extended.js";
4
+ import { ordersTable } from "./reference-data/orders.js";
5
+ import { childOrdersTable, parentOrdersTable, startGeneratingNewOrders, stopGeneratingNewOrders } from "./reference-data/parent-child-orders.js";
6
+ import { pricesTable } from "./reference-data/prices.js";
7
+ import { schemas } from "./simul-schemas.js";
8
+ import TableContainer from "../core/table/TableContainer.js";
9
+ const undefinedTables = {
10
+ childOrders: void 0,
11
+ instruments: void 0,
12
+ instrumentsExtended: void 0,
13
+ instrumentPrices: void 0,
14
+ orders: void 0,
15
+ parentOrders: void 0,
16
+ prices: void 0
17
+ };
18
+ class SimulModule extends VuuModule {
19
+ constructor(){
20
+ super("SIMUL");
21
+ }
22
+ #schemas = schemas;
23
+ #tables = {
24
+ childOrders: childOrdersTable,
25
+ instruments: instrumentsTable,
26
+ instrumentsExtended: instrumentsExtendedTable,
27
+ instrumentPrices: TableContainer.createJoinTable({
28
+ module: "SIMUL",
29
+ table: "instrumentPrices"
30
+ }, {
31
+ module: "SIMUL",
32
+ table: "instruments"
33
+ }, {
34
+ module: "SIMUL",
35
+ table: "prices"
36
+ }, "ric"),
37
+ orders: ordersTable,
38
+ parentOrders: parentOrdersTable,
39
+ prices: pricesTable
40
+ };
41
+ get menus() {
42
+ return {
43
+ childOrders: void 0,
44
+ instruments: {
45
+ name: "ROOT",
46
+ menus: [
47
+ {
48
+ context: "selected-rows",
49
+ filter: "",
50
+ name: "Add Instruments To Order",
51
+ rpcName: "ADD_INSTRUMENTS_TO_ORDER"
52
+ },
53
+ {
54
+ context: "selected-rows",
55
+ filter: "",
56
+ name: "Edit Row (server)",
57
+ rpcName: "EDIT_ROW"
58
+ },
59
+ {
60
+ context: "selected-rows",
61
+ filter: "",
62
+ name: "Edit Rows (server)",
63
+ rpcName: "beginEditSession"
64
+ }
65
+ ]
66
+ },
67
+ instrumentsExtended: void 0,
68
+ instrumentPrices: void 0,
69
+ orders: {
70
+ name: "ROOT",
71
+ menus: [
72
+ {
73
+ context: "row",
74
+ filter: 'status in ["New","Partial Exec"]',
75
+ name: "Cancel Order",
76
+ rpcName: "CANCEL_ORDER"
77
+ }
78
+ ]
79
+ },
80
+ parentOrders: void 0,
81
+ prices: void 0
82
+ };
83
+ }
84
+ get schemas() {
85
+ return this.#schemas;
86
+ }
87
+ get editServices() {}
88
+ get menuServices() {
89
+ return {
90
+ ...undefinedTables,
91
+ orders: [
92
+ {
93
+ rpcName: "CANCEL_ORDER",
94
+ service: this.cancelOrder
95
+ }
96
+ ]
97
+ };
98
+ }
99
+ get services() {
100
+ return {
101
+ ...undefinedTables,
102
+ instruments: [
103
+ {
104
+ rpcName: "DELETE_ROW",
105
+ service: this.deleteRow
106
+ }
107
+ ],
108
+ parentOrders: [
109
+ {
110
+ rpcName: "startGeneratingNewOrders",
111
+ service: this.startOrders
112
+ },
113
+ {
114
+ rpcName: "stopGeneratingNewOrders",
115
+ service: this.stopOrders
116
+ }
117
+ ]
118
+ };
119
+ }
120
+ get tables() {
121
+ return this.#tables;
122
+ }
123
+ get visualLinks() {
124
+ return {
125
+ ...undefinedTables,
126
+ childOrders: [
127
+ {
128
+ fromColumn: "parentOrderId",
129
+ toColumn: "id",
130
+ toTable: "parentOrders"
131
+ }
132
+ ],
133
+ parentOrders: [
134
+ {
135
+ fromColumn: "ric",
136
+ toColumn: "ric",
137
+ toTable: "instruments"
138
+ }
139
+ ]
140
+ };
141
+ }
142
+ cancelOrder = async (rpcRequest)=>{
143
+ const { rowKey, vpId } = rpcRequest;
144
+ const table = this.tables.orders;
145
+ const row = table.findByKey(rowKey);
146
+ row[table.map.status] = "Cancelled";
147
+ table.updateRow(row);
148
+ return {
149
+ action: {
150
+ type: "SHOW_NOTIFICATION_ACTION",
151
+ message: `Order id: ${rowKey}`,
152
+ title: "Order cancelled"
153
+ },
154
+ rpcName: "CANCEL_ORDER",
155
+ type: "VIEW_PORT_MENU_RESP",
156
+ vpId
157
+ };
158
+ };
159
+ startOrders = async ()=>{
160
+ startGeneratingNewOrders();
161
+ return {
162
+ type: "SUCCESS_RESULT",
163
+ data: void 0
164
+ };
165
+ };
166
+ stopOrders = async ()=>{
167
+ stopGeneratingNewOrders();
168
+ return {
169
+ type: "SUCCESS_RESULT",
170
+ data: void 0
171
+ };
172
+ };
173
+ }
174
+ const simulModule = new SimulModule();
175
+ export { SimulModule, simulModule };
@@ -0,0 +1,2 @@
1
+ export { isSimulTable, schemas as simulSchemas } from "./simul-schemas.js";
2
+ export { simulModule } from "./SimulModule.js";
@@ -0,0 +1,23 @@
1
+ const accounts = [
2
+ "Account 01",
3
+ "Account 02",
4
+ "Account 03",
5
+ "Account 04",
6
+ "Account 105",
7
+ "Account 06",
8
+ "Account 07",
9
+ "Account 08",
10
+ "Account 09",
11
+ "Account 10",
12
+ "Account 11",
13
+ "Account 12",
14
+ "Account 13",
15
+ "Account 14",
16
+ "Account 15",
17
+ "Account 16",
18
+ "Account 17",
19
+ "Account 18",
20
+ "Account 19",
21
+ "Account 20"
22
+ ];
23
+ export { accounts };
@@ -0,0 +1,9 @@
1
+ const algos = [
2
+ "DARKLIQ",
3
+ "IS",
4
+ "SURESHOT",
5
+ "VWAP",
6
+ "LITLIQ",
7
+ "TWAP"
8
+ ];
9
+ export { algos };
@@ -0,0 +1,8 @@
1
+ const currencies = [
2
+ "CAD",
3
+ "GBX",
4
+ "USD",
5
+ "EUR",
6
+ "GBP"
7
+ ];
8
+ export { currencies };
@@ -0,0 +1,5 @@
1
+ export * from "./currencies.js";
2
+ export * from "./instruments.js";
3
+ export * from "./instrument-prices.js";
4
+ export * from "./prices.js";
5
+ export * from "./locations.js";
@@ -0,0 +1,48 @@
1
+ import { instrumentsData } from "./instruments.js";
2
+ import { pricesData } from "./prices.js";
3
+ const InstrumentPricesColumnMap = {
4
+ ask: 0,
5
+ askSize: 1,
6
+ bbg: 2,
7
+ bid: 3,
8
+ bidSize: 4,
9
+ close: 5,
10
+ currency: 6,
11
+ description: 7,
12
+ exchange: 8,
13
+ isin: 9,
14
+ last: 10,
15
+ lotSize: 11,
16
+ open: 12,
17
+ phase: 13,
18
+ ric: 14,
19
+ scenario: 15,
20
+ vuuCreatedTimestamp: 16,
21
+ vuuUpdatedTimestamp: 17
22
+ };
23
+ const instrumentPrices = [];
24
+ for(let i = 0; i < instrumentsData.length; i++){
25
+ const [bbg, currency, description, exchange, isin, lotSize, ric] = instrumentsData[i];
26
+ const [ask, askSize, bid, bidSize, close, last, open, phase, , scenario] = pricesData[i];
27
+ instrumentPrices.push([
28
+ ask,
29
+ askSize,
30
+ bbg,
31
+ bid,
32
+ bidSize,
33
+ close,
34
+ currency,
35
+ description,
36
+ exchange,
37
+ isin,
38
+ last,
39
+ lotSize,
40
+ open,
41
+ phase,
42
+ ric,
43
+ scenario,
44
+ 0,
45
+ 0
46
+ ]);
47
+ }
48
+ export { InstrumentPricesColumnMap, instrumentPrices };
@@ -0,0 +1,12 @@
1
+ import { random } from "../../data-utils.js";
2
+ import { buildDataColumnMap } from "../../Table.js";
3
+ import { schemas } from "../simul-schemas.js";
4
+ import { instrumentsData } from "./instruments.js";
5
+ import TableContainer from "../../core/table/TableContainer.js";
6
+ const instrumentsExtendedData = instrumentsData.map((row)=>row.slice(0, -1).concat([
7
+ 1 === random(0, 1),
8
+ 1 === random(0, 1),
9
+ new Date().getTime()
10
+ ]));
11
+ const instrumentsExtendedTable = TableContainer.createTable(schemas.instrumentsExtended, instrumentsExtendedData, buildDataColumnMap(schemas, "instrumentsExtended"));
12
+ export { instrumentsExtendedTable };
@@ -0,0 +1,67 @@
1
+ import { isinGenerator } from "./isin-generator/index.js";
2
+ import TableContainer from "../../core/table/TableContainer.js";
3
+ import { currencies } from "./currencies.js";
4
+ import { locations, suffixes } from "./locations.js";
5
+ import { lotsizes } from "./lotsizes.js";
6
+ import { random } from "../../data-utils.js";
7
+ import { buildDataColumnMap } from "../../Table.js";
8
+ import { schemas } from "../simul-schemas.js";
9
+ import { Clock } from "@vuu-ui/vuu-utils";
10
+ const { createTable: createTable } = TableContainer;
11
+ const today = new Date();
12
+ const clock = new Clock({
13
+ year: today.getFullYear(),
14
+ month: today.getMonth() + 1,
15
+ day: today.getDate(),
16
+ hours: 7,
17
+ minutes: 0,
18
+ seconds: 0,
19
+ milliseconds: 0
20
+ });
21
+ const InstrumentColumnMap = {
22
+ bbg: 0,
23
+ currency: 1,
24
+ description: 2,
25
+ exchange: 3,
26
+ string: 4,
27
+ number: 5,
28
+ ric: 6,
29
+ vuuCreatedTimestamp: 7,
30
+ vuuUpdatedTimestamp: 8
31
+ };
32
+ const instrumentsData = [];
33
+ const chars1 = Array.from("ABCEFGHKMN");
34
+ const chars2 = Array.from("ABCEFGHKMN");
35
+ const chars3 = Array.from("OPQRTUVWYZ");
36
+ const chars4 = Array.from("OPQRTUVWYZ");
37
+ let count = 0;
38
+ for (const char1 of chars1)for (const char2 of chars2)for (const char3 of chars3)for (const char4 of chars4){
39
+ const suffix = suffixes[count % 8];
40
+ const ric = char1 + char2 + char3 + char4 + "." + suffix;
41
+ const bbg = char1 + char2 + char3 + char4 + " " + suffix;
42
+ const description = `${ric} description`;
43
+ const currency = currencies[random(0, 4)];
44
+ const isin = isinGenerator();
45
+ const lotSize = lotsizes[random(0, lotsizes.length - 1)];
46
+ const exchange = locations[suffix][1];
47
+ const timestamp = clock.now;
48
+ instrumentsData.push([
49
+ bbg,
50
+ currency,
51
+ description,
52
+ exchange,
53
+ String(isin),
54
+ lotSize,
55
+ ric,
56
+ timestamp,
57
+ timestamp
58
+ ]);
59
+ count++;
60
+ clock.advance(random(0, 10000));
61
+ }
62
+ const getRic = (defaultRic)=>{
63
+ const row = instrumentsData.at(random(0, instrumentsData.length));
64
+ return row?.[InstrumentColumnMap.ric] ?? defaultRic;
65
+ };
66
+ const instrumentsTable = createTable(schemas.instruments, instrumentsData, buildDataColumnMap(schemas, "instruments"));
67
+ export { InstrumentColumnMap, getRic, instrumentsData, instrumentsTable };
@@ -0,0 +1,2 @@
1
+ const convertStringToBaseTenNumber = (value)=>parseInt(value, 10);
2
+ export { convertStringToBaseTenNumber };
@@ -0,0 +1,27 @@
1
+ const alphabet = [
2
+ "A",
3
+ "B",
4
+ "C",
5
+ "D",
6
+ "E",
7
+ "F",
8
+ "G",
9
+ "H",
10
+ "J",
11
+ "K",
12
+ "L",
13
+ "M",
14
+ "N",
15
+ "P",
16
+ "Q",
17
+ "R",
18
+ "S",
19
+ "T",
20
+ "U",
21
+ "V",
22
+ "W",
23
+ "X",
24
+ "Y",
25
+ "Z"
26
+ ];
27
+ export { alphabet };
@@ -0,0 +1,7 @@
1
+ import { alphabet } from "./alphabet.js";
2
+ import { baseTenNumbers } from "./base-ten-numbers.js";
3
+ const alphanumeric = [
4
+ ...alphabet,
5
+ ...baseTenNumbers
6
+ ];
7
+ export { alphanumeric };
@@ -0,0 +1,13 @@
1
+ const baseTenNumbers = [
2
+ 0,
3
+ 1,
4
+ 2,
5
+ 3,
6
+ 4,
7
+ 5,
8
+ 6,
9
+ 7,
10
+ 8,
11
+ 9
12
+ ];
13
+ export { baseTenNumbers };
@@ -0,0 +1,17 @@
1
+ import { convertStringToBaseTenNumber } from "./convert-string-to-base-ten-number.js";
2
+ import { isOdd } from "./is-odd.js";
3
+ const generateCusipCheckCode = (cusip)=>{
4
+ const cusipLength = cusip.length;
5
+ let currentValue;
6
+ let total = 0;
7
+ for(let i = 0; i < cusipLength; i++){
8
+ currentValue = cusip[i];
9
+ const currentNumberToBaseTen = convertStringToBaseTenNumber(currentValue);
10
+ let currentNumberOrPosition = isNaN(currentNumberToBaseTen) ? currentValue.charCodeAt(0) - "A".charCodeAt(0) + 10 : parseInt(currentValue);
11
+ if (isOdd(i)) currentNumberOrPosition *= 2;
12
+ total = total + Math.floor(currentNumberOrPosition / 10) + currentNumberOrPosition % 10;
13
+ }
14
+ const check = (10 - total % 10) % 10;
15
+ return check;
16
+ };
17
+ export { generateCusipCheckCode };
@@ -0,0 +1,8 @@
1
+ import { generateRandomStringOfAlphanumericChars } from "./generate-random-string-of-alphanumeric-chars.js";
2
+ import { generateRandomStringOfBaseTenChars } from "./generate-random-string-of-base-ten-chars.js";
3
+ const generateCusipWithoutCheckCode = ()=>{
4
+ const randomBaseTenString = generateRandomStringOfBaseTenChars();
5
+ const randomAlphanumericString = generateRandomStringOfAlphanumericChars();
6
+ return randomBaseTenString + randomAlphanumericString;
7
+ };
8
+ export { generateCusipWithoutCheckCode };
@@ -0,0 +1,8 @@
1
+ import { generateCusipCheckCode } from "./generate-cusip-check-code.js";
2
+ import { generateCusipWithoutCheckCode } from "./generate-cusip-without-check-code.js";
3
+ const generateCusip = ()=>{
4
+ const cusip = generateCusipWithoutCheckCode();
5
+ const check = generateCusipCheckCode(cusip);
6
+ return cusip + check;
7
+ };
8
+ export { generateCusip };
@@ -0,0 +1,3 @@
1
+ import { alphanumeric } from "./fixtures/alphanumeric-values.js";
2
+ const generateRandomAlphanumeric = ()=>alphanumeric[Math.floor(Math.random() * alphanumeric.length)];
3
+ export { generateRandomAlphanumeric };
@@ -0,0 +1,2 @@
1
+ const generateRandomBaseTenNumber = ()=>Math.floor(10 * Math.random());
2
+ export { generateRandomBaseTenNumber };
@@ -0,0 +1,7 @@
1
+ import { generateRandomAlphanumeric } from "./generate-random-alphanumeric.js";
2
+ const generateRandomStringOfAlphanumericChars = ()=>{
3
+ let string = "";
4
+ for(let i = 0; i < 2; i++)string += generateRandomAlphanumeric();
5
+ return string;
6
+ };
7
+ export { generateRandomStringOfAlphanumericChars };
@@ -0,0 +1,7 @@
1
+ import { generateRandomBaseTenNumber } from "./generate-random-base-ten-number.js";
2
+ const generateRandomStringOfBaseTenChars = ()=>{
3
+ let string = "";
4
+ for(let i = 0; i < 6; i++)string += generateRandomBaseTenNumber();
5
+ return string;
6
+ };
7
+ export { generateRandomStringOfBaseTenChars };