@vuu-ui/vuu-data-test 0.13.8 → 0.13.10

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 (205) hide show
  1. package/cjs/ArrayProxy.js +72 -0
  2. package/cjs/ArrayProxy.js.map +1 -0
  3. package/cjs/RuntimeVisualLink.js +89 -0
  4. package/cjs/RuntimeVisualLink.js.map +1 -0
  5. package/cjs/Table.js +184 -0
  6. package/cjs/Table.js.map +1 -0
  7. package/cjs/TickingArrayDataSource.js +208 -0
  8. package/cjs/TickingArrayDataSource.js.map +1 -0
  9. package/cjs/UpdateGenerator.js +94 -0
  10. package/cjs/UpdateGenerator.js.map +1 -0
  11. package/cjs/VuuModule.js +370 -0
  12. package/cjs/VuuModule.js.map +1 -0
  13. package/cjs/basket/basket-module.js +255 -0
  14. package/cjs/basket/basket-module.js.map +1 -0
  15. package/cjs/basket/basket-schemas.js +123 -0
  16. package/cjs/basket/basket-schemas.js.map +1 -0
  17. package/cjs/basket/reference-data/constituents.js +40 -0
  18. package/cjs/basket/reference-data/constituents.js.map +1 -0
  19. package/cjs/basket/reference-data/ftse100.js +105 -0
  20. package/cjs/basket/reference-data/ftse100.js.map +1 -0
  21. package/cjs/basket/reference-data/hsi.js +87 -0
  22. package/cjs/basket/reference-data/hsi.js.map +1 -0
  23. package/cjs/basket/reference-data/nasdaq100.js +108 -0
  24. package/cjs/basket/reference-data/nasdaq100.js.map +1 -0
  25. package/cjs/basket/reference-data/prices.js +54 -0
  26. package/cjs/basket/reference-data/prices.js.map +1 -0
  27. package/cjs/basket/reference-data/sp500.js +46 -0
  28. package/cjs/basket/reference-data/sp500.js.map +1 -0
  29. package/cjs/data-utils.js +57 -0
  30. package/cjs/data-utils.js.map +1 -0
  31. package/cjs/index.js +46 -3047
  32. package/cjs/index.js.map +1 -1
  33. package/cjs/local-datasource-provider/LocalDatasourceProvider.js +84 -0
  34. package/cjs/local-datasource-provider/LocalDatasourceProvider.js.map +1 -0
  35. package/cjs/makeSuggestions.js +43 -0
  36. package/cjs/makeSuggestions.js.map +1 -0
  37. package/cjs/schemas.js +28 -0
  38. package/cjs/schemas.js.map +1 -0
  39. package/cjs/simul/SimulModule.js +24 -0
  40. package/cjs/simul/SimulModule.js.map +1 -0
  41. package/cjs/simul/reference-data/accounts.js +27 -0
  42. package/cjs/simul/reference-data/accounts.js.map +1 -0
  43. package/cjs/simul/reference-data/algos.js +6 -0
  44. package/cjs/simul/reference-data/algos.js.map +1 -0
  45. package/cjs/simul/reference-data/currencies.js +6 -0
  46. package/cjs/simul/reference-data/currencies.js.map +1 -0
  47. package/cjs/simul/reference-data/instruments-extended.js +18 -0
  48. package/cjs/simul/reference-data/instruments-extended.js.map +1 -0
  49. package/cjs/simul/reference-data/instruments.js +77 -0
  50. package/cjs/simul/reference-data/instruments.js.map +1 -0
  51. package/cjs/simul/reference-data/isin-generator/convert-string-to-base-ten-number.js +6 -0
  52. package/cjs/simul/reference-data/isin-generator/convert-string-to-base-ten-number.js.map +1 -0
  53. package/cjs/simul/reference-data/isin-generator/fixtures/alphabet.js +31 -0
  54. package/cjs/simul/reference-data/isin-generator/fixtures/alphabet.js.map +1 -0
  55. package/cjs/simul/reference-data/isin-generator/fixtures/alphanumeric-values.js +9 -0
  56. package/cjs/simul/reference-data/isin-generator/fixtures/alphanumeric-values.js.map +1 -0
  57. package/cjs/simul/reference-data/isin-generator/fixtures/base-ten-numbers.js +17 -0
  58. package/cjs/simul/reference-data/isin-generator/fixtures/base-ten-numbers.js.map +1 -0
  59. package/cjs/simul/reference-data/isin-generator/generate-cusip-check-code.js +24 -0
  60. package/cjs/simul/reference-data/isin-generator/generate-cusip-check-code.js.map +1 -0
  61. package/cjs/simul/reference-data/isin-generator/generate-cusip-without-check-code.js +13 -0
  62. package/cjs/simul/reference-data/isin-generator/generate-cusip-without-check-code.js.map +1 -0
  63. package/cjs/simul/reference-data/isin-generator/generate-cusip.js +13 -0
  64. package/cjs/simul/reference-data/isin-generator/generate-cusip.js.map +1 -0
  65. package/cjs/simul/reference-data/isin-generator/generate-random-alphanumeric.js +8 -0
  66. package/cjs/simul/reference-data/isin-generator/generate-random-alphanumeric.js.map +1 -0
  67. package/cjs/simul/reference-data/isin-generator/generate-random-base-ten-number.js +6 -0
  68. package/cjs/simul/reference-data/isin-generator/generate-random-base-ten-number.js.map +1 -0
  69. package/cjs/simul/reference-data/isin-generator/generate-random-string-of-alphanumeric-chars.js +14 -0
  70. package/cjs/simul/reference-data/isin-generator/generate-random-string-of-alphanumeric-chars.js.map +1 -0
  71. package/cjs/simul/reference-data/isin-generator/generate-random-string-of-base-ten-chars.js +14 -0
  72. package/cjs/simul/reference-data/isin-generator/generate-random-string-of-base-ten-chars.js.map +1 -0
  73. package/cjs/simul/reference-data/isin-generator/index.js +295 -0
  74. package/cjs/simul/reference-data/isin-generator/index.js.map +1 -0
  75. package/cjs/simul/reference-data/isin-generator/is-odd.js +6 -0
  76. package/cjs/simul/reference-data/isin-generator/is-odd.js.map +1 -0
  77. package/cjs/simul/reference-data/locations.js +17 -0
  78. package/cjs/simul/reference-data/locations.js.map +1 -0
  79. package/cjs/simul/reference-data/lotsizes.js +28 -0
  80. package/cjs/simul/reference-data/lotsizes.js.map +1 -0
  81. package/cjs/simul/reference-data/orderStatus.js +6 -0
  82. package/cjs/simul/reference-data/orderStatus.js.map +1 -0
  83. package/cjs/simul/reference-data/orders.js +54 -0
  84. package/cjs/simul/reference-data/orders.js.map +1 -0
  85. package/cjs/simul/reference-data/parent-child-orders.js +122 -0
  86. package/cjs/simul/reference-data/parent-child-orders.js.map +1 -0
  87. package/cjs/simul/reference-data/prices.js +71 -0
  88. package/cjs/simul/reference-data/prices.js.map +1 -0
  89. package/cjs/simul/reference-data/sides.js +6 -0
  90. package/cjs/simul/reference-data/sides.js.map +1 -0
  91. package/cjs/simul/simul-module.js +126 -0
  92. package/cjs/simul/simul-module.js.map +1 -0
  93. package/cjs/simul/simul-schemas.js +142 -0
  94. package/cjs/simul/simul-schemas.js.map +1 -0
  95. package/cjs/test/test-module.js +26 -0
  96. package/cjs/test/test-module.js.map +1 -0
  97. package/cjs/test/test-schemas.js +17 -0
  98. package/cjs/test/test-schemas.js.map +1 -0
  99. package/cjs/vuu-modules.js +15 -0
  100. package/cjs/vuu-modules.js.map +1 -0
  101. package/cjs/vuu-row-generator.js +74 -0
  102. package/cjs/vuu-row-generator.js.map +1 -0
  103. package/esm/ArrayProxy.js +70 -0
  104. package/esm/ArrayProxy.js.map +1 -0
  105. package/esm/RuntimeVisualLink.js +87 -0
  106. package/esm/RuntimeVisualLink.js.map +1 -0
  107. package/esm/Table.js +179 -0
  108. package/esm/Table.js.map +1 -0
  109. package/esm/TickingArrayDataSource.js +206 -0
  110. package/esm/TickingArrayDataSource.js.map +1 -0
  111. package/esm/UpdateGenerator.js +92 -0
  112. package/esm/UpdateGenerator.js.map +1 -0
  113. package/esm/VuuModule.js +366 -0
  114. package/esm/VuuModule.js.map +1 -0
  115. package/esm/basket/basket-module.js +251 -0
  116. package/esm/basket/basket-module.js.map +1 -0
  117. package/esm/basket/basket-schemas.js +120 -0
  118. package/esm/basket/basket-schemas.js.map +1 -0
  119. package/esm/basket/reference-data/constituents.js +38 -0
  120. package/esm/basket/reference-data/constituents.js.map +1 -0
  121. package/esm/basket/reference-data/ftse100.js +103 -0
  122. package/esm/basket/reference-data/ftse100.js.map +1 -0
  123. package/esm/basket/reference-data/hsi.js +85 -0
  124. package/esm/basket/reference-data/hsi.js.map +1 -0
  125. package/esm/basket/reference-data/nasdaq100.js +106 -0
  126. package/esm/basket/reference-data/nasdaq100.js.map +1 -0
  127. package/esm/basket/reference-data/prices.js +52 -0
  128. package/esm/basket/reference-data/prices.js.map +1 -0
  129. package/esm/basket/reference-data/sp500.js +44 -0
  130. package/esm/basket/reference-data/sp500.js.map +1 -0
  131. package/esm/data-utils.js +52 -0
  132. package/esm/data-utils.js.map +1 -0
  133. package/esm/index.js +14 -3019
  134. package/esm/index.js.map +1 -1
  135. package/esm/local-datasource-provider/LocalDatasourceProvider.js +82 -0
  136. package/esm/local-datasource-provider/LocalDatasourceProvider.js.map +1 -0
  137. package/esm/makeSuggestions.js +41 -0
  138. package/esm/makeSuggestions.js.map +1 -0
  139. package/esm/schemas.js +24 -0
  140. package/esm/schemas.js.map +1 -0
  141. package/esm/simul/SimulModule.js +22 -0
  142. package/esm/simul/SimulModule.js.map +1 -0
  143. package/esm/simul/reference-data/accounts.js +25 -0
  144. package/esm/simul/reference-data/accounts.js.map +1 -0
  145. package/esm/simul/reference-data/algos.js +4 -0
  146. package/esm/simul/reference-data/algos.js.map +1 -0
  147. package/esm/simul/reference-data/currencies.js +4 -0
  148. package/esm/simul/reference-data/currencies.js.map +1 -0
  149. package/esm/simul/reference-data/instruments-extended.js +16 -0
  150. package/esm/simul/reference-data/instruments-extended.js.map +1 -0
  151. package/esm/simul/reference-data/instruments.js +72 -0
  152. package/esm/simul/reference-data/instruments.js.map +1 -0
  153. package/esm/simul/reference-data/isin-generator/convert-string-to-base-ten-number.js +4 -0
  154. package/esm/simul/reference-data/isin-generator/convert-string-to-base-ten-number.js.map +1 -0
  155. package/esm/simul/reference-data/isin-generator/fixtures/alphabet.js +29 -0
  156. package/esm/simul/reference-data/isin-generator/fixtures/alphabet.js.map +1 -0
  157. package/esm/simul/reference-data/isin-generator/fixtures/alphanumeric-values.js +7 -0
  158. package/esm/simul/reference-data/isin-generator/fixtures/alphanumeric-values.js.map +1 -0
  159. package/esm/simul/reference-data/isin-generator/fixtures/base-ten-numbers.js +15 -0
  160. package/esm/simul/reference-data/isin-generator/fixtures/base-ten-numbers.js.map +1 -0
  161. package/esm/simul/reference-data/isin-generator/generate-cusip-check-code.js +22 -0
  162. package/esm/simul/reference-data/isin-generator/generate-cusip-check-code.js.map +1 -0
  163. package/esm/simul/reference-data/isin-generator/generate-cusip-without-check-code.js +11 -0
  164. package/esm/simul/reference-data/isin-generator/generate-cusip-without-check-code.js.map +1 -0
  165. package/esm/simul/reference-data/isin-generator/generate-cusip.js +11 -0
  166. package/esm/simul/reference-data/isin-generator/generate-cusip.js.map +1 -0
  167. package/esm/simul/reference-data/isin-generator/generate-random-alphanumeric.js +6 -0
  168. package/esm/simul/reference-data/isin-generator/generate-random-alphanumeric.js.map +1 -0
  169. package/esm/simul/reference-data/isin-generator/generate-random-base-ten-number.js +4 -0
  170. package/esm/simul/reference-data/isin-generator/generate-random-base-ten-number.js.map +1 -0
  171. package/esm/simul/reference-data/isin-generator/generate-random-string-of-alphanumeric-chars.js +12 -0
  172. package/esm/simul/reference-data/isin-generator/generate-random-string-of-alphanumeric-chars.js.map +1 -0
  173. package/esm/simul/reference-data/isin-generator/generate-random-string-of-base-ten-chars.js +12 -0
  174. package/esm/simul/reference-data/isin-generator/generate-random-string-of-base-ten-chars.js.map +1 -0
  175. package/esm/simul/reference-data/isin-generator/index.js +293 -0
  176. package/esm/simul/reference-data/isin-generator/index.js.map +1 -0
  177. package/esm/simul/reference-data/isin-generator/is-odd.js +4 -0
  178. package/esm/simul/reference-data/isin-generator/is-odd.js.map +1 -0
  179. package/esm/simul/reference-data/locations.js +14 -0
  180. package/esm/simul/reference-data/locations.js.map +1 -0
  181. package/esm/simul/reference-data/lotsizes.js +26 -0
  182. package/esm/simul/reference-data/lotsizes.js.map +1 -0
  183. package/esm/simul/reference-data/orderStatus.js +4 -0
  184. package/esm/simul/reference-data/orderStatus.js.map +1 -0
  185. package/esm/simul/reference-data/orders.js +51 -0
  186. package/esm/simul/reference-data/orders.js.map +1 -0
  187. package/esm/simul/reference-data/parent-child-orders.js +117 -0
  188. package/esm/simul/reference-data/parent-child-orders.js.map +1 -0
  189. package/esm/simul/reference-data/prices.js +68 -0
  190. package/esm/simul/reference-data/prices.js.map +1 -0
  191. package/esm/simul/reference-data/sides.js +4 -0
  192. package/esm/simul/reference-data/sides.js.map +1 -0
  193. package/esm/simul/simul-module.js +124 -0
  194. package/esm/simul/simul-module.js.map +1 -0
  195. package/esm/simul/simul-schemas.js +139 -0
  196. package/esm/simul/simul-schemas.js.map +1 -0
  197. package/esm/test/test-module.js +24 -0
  198. package/esm/test/test-module.js.map +1 -0
  199. package/esm/test/test-schemas.js +15 -0
  200. package/esm/test/test-schemas.js.map +1 -0
  201. package/esm/vuu-modules.js +13 -0
  202. package/esm/vuu-modules.js.map +1 -0
  203. package/esm/vuu-row-generator.js +68 -0
  204. package/esm/vuu-row-generator.js.map +1 -0
  205. package/package.json +6 -6
@@ -0,0 +1,82 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { isBasketTable, schemas as schemas$1 } from '../basket/basket-schemas.js';
3
+ import { basketModule } from '../basket/basket-module.js';
4
+ import { isSimulTable, schemas } from '../simul/simul-schemas.js';
5
+ import { simulModule } from '../simul/simul-module.js';
6
+ import { DataProvider } from '@vuu-ui/vuu-utils';
7
+
8
+ const serverAPI = {
9
+ getTableList: async () => {
10
+ return {
11
+ tables: Object.values(schemas).concat(Object.values(schemas$1)).map((schema) => schema.table)
12
+ };
13
+ },
14
+ getTableSchema: async (vuuTable) => {
15
+ if (isSimulTable(vuuTable)) {
16
+ return schemas[vuuTable.table];
17
+ } else if (isBasketTable(vuuTable)) {
18
+ return schemas$1[vuuTable.table];
19
+ } else {
20
+ throw Error(
21
+ `unsupported module/table ${vuuTable.module}/${vuuTable.table}`
22
+ );
23
+ }
24
+ },
25
+ rpcCall: async (message) => {
26
+ if (message.type === "RPC_CALL" && message.service === "TypeAheadRpcHandler") {
27
+ const [vuuTable] = message.params;
28
+ if (isSimulTable(vuuTable)) {
29
+ const typeahead = simulModule.typeaheadHook();
30
+ return typeahead(message.params);
31
+ } else if (isBasketTable(vuuTable)) {
32
+ const typeahead = basketModule.typeaheadHook();
33
+ return typeahead(message.params);
34
+ }
35
+ }
36
+ throw Error("LocalDataSource provider only handles TypeAhead rpc calls");
37
+ }
38
+ };
39
+ const getServerAPI = async () => serverAPI;
40
+ class VuuDataSource {
41
+ constructor({
42
+ aggregations,
43
+ columns,
44
+ filterSpec,
45
+ groupBy,
46
+ sort,
47
+ table,
48
+ viewport,
49
+ visualLink
50
+ }) {
51
+ const config = {
52
+ aggregations,
53
+ columns,
54
+ filterSpec,
55
+ groupBy,
56
+ sort,
57
+ visualLink
58
+ };
59
+ if (isSimulTable(table)) {
60
+ return simulModule.createDataSource(table.table, viewport, config);
61
+ } else if (isBasketTable(table)) {
62
+ return basketModule.createDataSource(table.table, viewport, config);
63
+ } else {
64
+ throw Error(`unsupported module/table ${table.module}/${table.table}`);
65
+ }
66
+ }
67
+ }
68
+ const LocalDataSourceProvider = ({
69
+ children
70
+ }) => {
71
+ return /* @__PURE__ */ jsx(
72
+ DataProvider,
73
+ {
74
+ VuuDataSource,
75
+ getServerAPI,
76
+ children
77
+ }
78
+ );
79
+ };
80
+
81
+ export { LocalDataSourceProvider };
82
+ //# sourceMappingURL=LocalDatasourceProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LocalDatasourceProvider.js","sources":["../../src/local-datasource-provider/LocalDatasourceProvider.tsx"],"sourcesContent":["import type {\n DataSourceConfig,\n DataSourceConstructorProps,\n ServerAPI,\n} from \"@vuu-ui/vuu-data-types\";\nimport type {\n VuuCreateVisualLink,\n VuuRemoveVisualLink,\n VuuRpcMenuRequest,\n VuuRpcServiceRequest,\n VuuRpcViewportRequest,\n VuuTable,\n} from \"@vuu-ui/vuu-protocol-types\";\nimport { basketModule, basketSchemas, isBasketTable } from \"../basket\";\nimport { isSimulTable, simulModule, simulSchemas } from \"../simul\";\nimport { ReactNode } from \"react\";\nimport { DataProvider } from \"@vuu-ui/vuu-utils\";\n\nconst serverAPI: Pick<\n ServerAPI,\n \"getTableList\" | \"getTableSchema\" | \"rpcCall\"\n> = {\n getTableList: async () => {\n return {\n tables: Object.values(simulSchemas)\n .concat(Object.values(basketSchemas))\n .map((schema) => schema.table),\n };\n },\n getTableSchema: async (vuuTable: VuuTable) => {\n if (isSimulTable(vuuTable)) {\n return simulSchemas[vuuTable.table];\n } else if (isBasketTable(vuuTable)) {\n return basketSchemas[vuuTable.table];\n } else {\n throw Error(\n `unsupported module/table ${vuuTable.module}/${vuuTable.table}`,\n );\n }\n },\n rpcCall: async <T = unknown,>(\n message:\n | VuuRpcServiceRequest\n | VuuRpcMenuRequest\n | VuuRpcViewportRequest\n | VuuCreateVisualLink\n | VuuRemoveVisualLink,\n ) => {\n if (\n message.type === \"RPC_CALL\" &&\n message.service === \"TypeAheadRpcHandler\"\n ) {\n const [vuuTable] = message.params;\n\n if (isSimulTable(vuuTable)) {\n const typeahead = simulModule.typeaheadHook();\n return typeahead(message.params) as T;\n } else if (isBasketTable(vuuTable)) {\n const typeahead = basketModule.typeaheadHook();\n return typeahead(message.params) as T;\n }\n }\n throw Error(\"LocalDataSource provider only handles TypeAhead rpc calls\");\n },\n};\n\nconst getServerAPI = async () => serverAPI;\n\nclass VuuDataSource {\n constructor({\n aggregations,\n columns,\n filterSpec,\n groupBy,\n sort,\n table,\n viewport,\n visualLink,\n }: DataSourceConstructorProps) {\n const config: DataSourceConfig = {\n aggregations,\n columns,\n filterSpec,\n groupBy,\n sort,\n visualLink,\n };\n\n if (isSimulTable(table)) {\n return simulModule.createDataSource(table.table, viewport, config);\n } else if (isBasketTable(table)) {\n return basketModule.createDataSource(table.table, viewport, config);\n } else {\n throw Error(`unsupported module/table ${table.module}/${table.table}`);\n }\n }\n}\n\nexport const LocalDataSourceProvider = ({\n children,\n}: {\n children: ReactNode;\n}) => {\n return (\n <DataProvider\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n VuuDataSource={VuuDataSource as any}\n getServerAPI={getServerAPI}\n >\n {children}\n </DataProvider>\n );\n};\n"],"names":["simulSchemas","basketSchemas"],"mappings":";;;;;;;AAkBA,MAAM,SAGF,GAAA;AAAA,EACF,cAAc,YAAY;AACxB,IAAO,OAAA;AAAA,MACL,MAAQ,EAAA,MAAA,CAAO,MAAO,CAAAA,OAAY,EAC/B,MAAO,CAAA,MAAA,CAAO,MAAO,CAAAC,SAAa,CAAC,CACnC,CAAA,GAAA,CAAI,CAAC,MAAA,KAAW,OAAO,KAAK;AAAA,KACjC;AAAA,GACF;AAAA,EACA,cAAA,EAAgB,OAAO,QAAuB,KAAA;AAC5C,IAAI,IAAA,YAAA,CAAa,QAAQ,CAAG,EAAA;AAC1B,MAAO,OAAAD,OAAA,CAAa,SAAS,KAAK,CAAA;AAAA,KACpC,MAAA,IAAW,aAAc,CAAA,QAAQ,CAAG,EAAA;AAClC,MAAO,OAAAC,SAAA,CAAc,SAAS,KAAK,CAAA;AAAA,KAC9B,MAAA;AACL,MAAM,MAAA,KAAA;AAAA,QACJ,CAA4B,yBAAA,EAAA,QAAA,CAAS,MAAM,CAAA,CAAA,EAAI,SAAS,KAAK,CAAA;AAAA,OAC/D;AAAA;AACF,GACF;AAAA,EACA,OAAA,EAAS,OACP,OAMG,KAAA;AACH,IAAA,IACE,OAAQ,CAAA,IAAA,KAAS,UACjB,IAAA,OAAA,CAAQ,YAAY,qBACpB,EAAA;AACA,MAAM,MAAA,CAAC,QAAQ,CAAA,GAAI,OAAQ,CAAA,MAAA;AAE3B,MAAI,IAAA,YAAA,CAAa,QAAQ,CAAG,EAAA;AAC1B,QAAM,MAAA,SAAA,GAAY,YAAY,aAAc,EAAA;AAC5C,QAAO,OAAA,SAAA,CAAU,QAAQ,MAAM,CAAA;AAAA,OACjC,MAAA,IAAW,aAAc,CAAA,QAAQ,CAAG,EAAA;AAClC,QAAM,MAAA,SAAA,GAAY,aAAa,aAAc,EAAA;AAC7C,QAAO,OAAA,SAAA,CAAU,QAAQ,MAAM,CAAA;AAAA;AACjC;AAEF,IAAA,MAAM,MAAM,2DAA2D,CAAA;AAAA;AAE3E,CAAA;AAEA,MAAM,eAAe,YAAY,SAAA;AAEjC,MAAM,aAAc,CAAA;AAAA,EAClB,WAAY,CAAA;AAAA,IACV,YAAA;AAAA,IACA,OAAA;AAAA,IACA,UAAA;AAAA,IACA,OAAA;AAAA,IACA,IAAA;AAAA,IACA,KAAA;AAAA,IACA,QAAA;AAAA,IACA;AAAA,GAC6B,EAAA;AAC7B,IAAA,MAAM,MAA2B,GAAA;AAAA,MAC/B,YAAA;AAAA,MACA,OAAA;AAAA,MACA,UAAA;AAAA,MACA,OAAA;AAAA,MACA,IAAA;AAAA,MACA;AAAA,KACF;AAEA,IAAI,IAAA,YAAA,CAAa,KAAK,CAAG,EAAA;AACvB,MAAA,OAAO,WAAY,CAAA,gBAAA,CAAiB,KAAM,CAAA,KAAA,EAAO,UAAU,MAAM,CAAA;AAAA,KACnE,MAAA,IAAW,aAAc,CAAA,KAAK,CAAG,EAAA;AAC/B,MAAA,OAAO,YAAa,CAAA,gBAAA,CAAiB,KAAM,CAAA,KAAA,EAAO,UAAU,MAAM,CAAA;AAAA,KAC7D,MAAA;AACL,MAAA,MAAM,MAAM,CAA4B,yBAAA,EAAA,KAAA,CAAM,MAAM,CAAI,CAAA,EAAA,KAAA,CAAM,KAAK,CAAE,CAAA,CAAA;AAAA;AACvE;AAEJ;AAEO,MAAM,0BAA0B,CAAC;AAAA,EACtC;AACF,CAEM,KAAA;AACJ,EACE,uBAAA,GAAA;AAAA,IAAC,YAAA;AAAA,IAAA;AAAA,MAEC,aAAA;AAAA,MACA,YAAA;AAAA,MAEC;AAAA;AAAA,GACH;AAEJ;;;;"}
@@ -0,0 +1,41 @@
1
+ const cachedValues = /* @__PURE__ */ new Map();
2
+ const checkPattern = (value, pattern) => {
3
+ return new RegExp(`^${pattern}`, "i").test(value);
4
+ };
5
+ const getUniqueValues = (table, column, pattern = "") => {
6
+ let uniqueValues;
7
+ const cachedEntry = cachedValues.get(table);
8
+ if (cachedEntry && cachedEntry.has(column)) {
9
+ uniqueValues = cachedEntry.get(column);
10
+ } else {
11
+ const { data, map } = table;
12
+ const key = map[column];
13
+ if (key === void 0) {
14
+ throw Error(`table ${table.schema.table.table} has no column ${column}`);
15
+ }
16
+ uniqueValues = [];
17
+ const set = /* @__PURE__ */ new Set();
18
+ for (const row of data) {
19
+ const value = row[key];
20
+ if (!set.has(value)) {
21
+ set.add(value);
22
+ uniqueValues.push(value);
23
+ }
24
+ }
25
+ uniqueValues.sort();
26
+ if (cachedEntry) {
27
+ cachedEntry.set(column, uniqueValues);
28
+ } else {
29
+ cachedValues.set(table, /* @__PURE__ */ new Map([[column, uniqueValues]]));
30
+ }
31
+ }
32
+ return pattern ? uniqueValues.filter((value) => checkPattern(value.toString(), pattern)).slice(0, 10) : uniqueValues.slice(0, 10);
33
+ };
34
+ const makeSuggestions = (table, column, pattern) => new Promise((resolve) => {
35
+ const uniqueValues = getUniqueValues(table, column, pattern);
36
+ const result = uniqueValues.length > 20 ? uniqueValues?.slice(0, 20).map((v) => v.toString()) : uniqueValues.map((v) => v.toString());
37
+ setTimeout(() => resolve(result), 100);
38
+ });
39
+
40
+ export { makeSuggestions };
41
+ //# sourceMappingURL=makeSuggestions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"makeSuggestions.js","sources":["../src/makeSuggestions.ts"],"sourcesContent":["import { DataItem } from \"@vuu-ui/vuu-utils\";\nimport { Table } from \"./Table\";\n\nconst cachedValues = new Map<Table, Map<string, DataItem[]>>();\n\nconst checkPattern = (value: string, pattern: string) => {\n return new RegExp(`^${pattern}`, \"i\").test(value);\n};\n\nconst getUniqueValues = (table: Table, column: string, pattern = \"\") => {\n let uniqueValues;\n const cachedEntry = cachedValues.get(table);\n if (cachedEntry && cachedEntry.has(column)) {\n uniqueValues = cachedEntry.get(column) as DataItem[];\n } else {\n const { data, map } = table;\n const key = map[column];\n if (key === undefined) {\n throw Error(`table ${table.schema.table.table} has no column ${column}`);\n }\n uniqueValues = [];\n const set = new Set();\n for (const row of data) {\n const value = row[key];\n if (!set.has(value)) {\n set.add(value);\n uniqueValues.push(value);\n }\n }\n uniqueValues.sort();\n if (cachedEntry) {\n cachedEntry.set(column, uniqueValues);\n } else {\n cachedValues.set(table, new Map([[column, uniqueValues]]));\n }\n }\n return pattern\n ? uniqueValues\n // case insentitive regex\n // .filter((value) => value.toString().startsWith(pattern))\n .filter((value) => checkPattern(value.toString(), pattern))\n .slice(0, 10)\n : uniqueValues.slice(0, 10);\n};\n\n// export const makeSuggestions = (\n// table: Table,\n// column: string,\n// pattern?: string\n// ) => {\n// const uniqueValues = getUniqueValues(table, column, pattern);\n// if (uniqueValues.length > 20) {\n// return uniqueValues?.slice(0, 20).map((v) => v.toString());\n// } else {\n// return uniqueValues.map((v) => v.toString());\n// }\n// };\nexport const makeSuggestions = (\n table: Table,\n column: string,\n pattern?: string,\n): Promise<string[]> =>\n new Promise((resolve) => {\n const uniqueValues = getUniqueValues(table, column, pattern);\n const result =\n uniqueValues.length > 20\n ? uniqueValues?.slice(0, 20).map((v) => v.toString())\n : uniqueValues.map((v) => v.toString());\n setTimeout(() => resolve(result), 100);\n });\n"],"names":[],"mappings":"AAGA,MAAM,YAAA,uBAAmB,GAAoC,EAAA;AAE7D,MAAM,YAAA,GAAe,CAAC,KAAA,EAAe,OAAoB,KAAA;AACvD,EAAO,OAAA,IAAI,OAAO,CAAI,CAAA,EAAA,OAAO,IAAI,GAAG,CAAA,CAAE,KAAK,KAAK,CAAA;AAClD,CAAA;AAEA,MAAM,eAAkB,GAAA,CAAC,KAAc,EAAA,MAAA,EAAgB,UAAU,EAAO,KAAA;AACtE,EAAI,IAAA,YAAA;AACJ,EAAM,MAAA,WAAA,GAAc,YAAa,CAAA,GAAA,CAAI,KAAK,CAAA;AAC1C,EAAA,IAAI,WAAe,IAAA,WAAA,CAAY,GAAI,CAAA,MAAM,CAAG,EAAA;AAC1C,IAAe,YAAA,GAAA,WAAA,CAAY,IAAI,MAAM,CAAA;AAAA,GAChC,MAAA;AACL,IAAM,MAAA,EAAE,IAAM,EAAA,GAAA,EAAQ,GAAA,KAAA;AACtB,IAAM,MAAA,GAAA,GAAM,IAAI,MAAM,CAAA;AACtB,IAAA,IAAI,QAAQ,KAAW,CAAA,EAAA;AACrB,MAAM,MAAA,KAAA,CAAM,SAAS,KAAM,CAAA,MAAA,CAAO,MAAM,KAAK,CAAA,eAAA,EAAkB,MAAM,CAAE,CAAA,CAAA;AAAA;AAEzE,IAAA,YAAA,GAAe,EAAC;AAChB,IAAM,MAAA,GAAA,uBAAU,GAAI,EAAA;AACpB,IAAA,KAAA,MAAW,OAAO,IAAM,EAAA;AACtB,MAAM,MAAA,KAAA,GAAQ,IAAI,GAAG,CAAA;AACrB,MAAA,IAAI,CAAC,GAAA,CAAI,GAAI,CAAA,KAAK,CAAG,EAAA;AACnB,QAAA,GAAA,CAAI,IAAI,KAAK,CAAA;AACb,QAAA,YAAA,CAAa,KAAK,KAAK,CAAA;AAAA;AACzB;AAEF,IAAA,YAAA,CAAa,IAAK,EAAA;AAClB,IAAA,IAAI,WAAa,EAAA;AACf,MAAY,WAAA,CAAA,GAAA,CAAI,QAAQ,YAAY,CAAA;AAAA,KAC/B,MAAA;AACL,MAAa,YAAA,CAAA,GAAA,CAAI,KAAO,kBAAA,IAAI,GAAI,CAAA,CAAC,CAAC,MAAQ,EAAA,YAAY,CAAC,CAAC,CAAC,CAAA;AAAA;AAC3D;AAEF,EAAA,OAAO,UACH,YAGG,CAAA,MAAA,CAAO,CAAC,KAAU,KAAA,YAAA,CAAa,MAAM,QAAS,EAAA,EAAG,OAAO,CAAC,CAAA,CACzD,MAAM,CAAG,EAAA,EAAE,IACd,YAAa,CAAA,KAAA,CAAM,GAAG,EAAE,CAAA;AAC9B,CAAA;AAca,MAAA,eAAA,GAAkB,CAC7B,KACA,EAAA,MAAA,EACA,YAEA,IAAI,OAAA,CAAQ,CAAC,OAAY,KAAA;AACvB,EAAA,MAAM,YAAe,GAAA,eAAA,CAAgB,KAAO,EAAA,MAAA,EAAQ,OAAO,CAAA;AAC3D,EAAM,MAAA,MAAA,GACJ,aAAa,MAAS,GAAA,EAAA,GAClB,cAAc,KAAM,CAAA,CAAA,EAAG,EAAE,CAAA,CAAE,GAAI,CAAA,CAAC,MAAM,CAAE,CAAA,QAAA,EAAU,CAClD,GAAA,YAAA,CAAa,IAAI,CAAC,CAAA,KAAM,CAAE,CAAA,QAAA,EAAU,CAAA;AAC1C,EAAA,UAAA,CAAW,MAAM,OAAA,CAAQ,MAAM,CAAA,EAAG,GAAG,CAAA;AACvC,CAAC;;;;"}
package/esm/schemas.js ADDED
@@ -0,0 +1,24 @@
1
+ import { schemas as schemas$1 } from './basket/basket-schemas.js';
2
+ import { schemas as schemas$2 } from './simul/simul-schemas.js';
3
+ import { schemas as schemas$3 } from './test/test-schemas.js';
4
+
5
+ const schemas = {
6
+ ...schemas$1,
7
+ ...schemas$2,
8
+ ...schemas$3
9
+ };
10
+ const allSchemas = {
11
+ ...schemas$1,
12
+ ...schemas$2,
13
+ ...schemas$3
14
+ };
15
+ const getAllSchemas = () => schemas;
16
+ const getSchema = (tableName) => {
17
+ if (allSchemas[tableName]) {
18
+ return allSchemas[tableName];
19
+ }
20
+ throw Error(`getSchema no schema for table ${tableName}`);
21
+ };
22
+
23
+ export { getAllSchemas, getSchema, schemas };
24
+ //# sourceMappingURL=schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.js","sources":["../src/schemas.ts"],"sourcesContent":["import { TableSchema } from \"@vuu-ui/vuu-data-types\";\nimport {\n type BasketsTableName,\n schemas as basketSchemas,\n} from \"./basket/basket-schemas\";\nimport {\n type SimulTableName,\n schemas as simulSchemas,\n} from \"./simul/simul-schemas\";\nimport {\n type TestTableName,\n schemas as testSchemas,\n} from \"./test/test-schemas\";\n\nexport type VuuTableName = BasketsTableName | SimulTableName | TestTableName;\nexport const schemas: Record<VuuTableName, TableSchema> = {\n ...basketSchemas,\n ...simulSchemas,\n ...testSchemas,\n};\n\nconst allSchemas: Readonly<Record<VuuTableName, Readonly<TableSchema>>> = {\n ...basketSchemas,\n ...simulSchemas,\n ...testSchemas,\n};\n\nexport const getAllSchemas = () => schemas;\n\nexport const getSchema = (tableName: VuuTableName) => {\n if (allSchemas[tableName]) {\n return allSchemas[tableName];\n }\n throw Error(`getSchema no schema for table ${tableName}`);\n};\n"],"names":["basketSchemas","simulSchemas","testSchemas"],"mappings":";;;;AAeO,MAAM,OAA6C,GAAA;AAAA,EACxD,GAAGA,SAAA;AAAA,EACH,GAAGC,SAAA;AAAA,EACH,GAAGC;AACL;AAEA,MAAM,UAAoE,GAAA;AAAA,EACxE,GAAGF,SAAA;AAAA,EACH,GAAGC,SAAA;AAAA,EACH,GAAGC;AACL,CAAA;AAEO,MAAM,gBAAgB,MAAM;AAEtB,MAAA,SAAA,GAAY,CAAC,SAA4B,KAAA;AACpD,EAAI,IAAA,UAAA,CAAW,SAAS,CAAG,EAAA;AACzB,IAAA,OAAO,WAAW,SAAS,CAAA;AAAA;AAE7B,EAAM,MAAA,KAAA,CAAM,CAAiC,8BAAA,EAAA,SAAS,CAAE,CAAA,CAAA;AAC1D;;;;"}
@@ -0,0 +1,22 @@
1
+ import { VuuModule } from '../VuuModule.js';
2
+
3
+ var __typeError = (msg) => {
4
+ throw TypeError(msg);
5
+ };
6
+ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
7
+ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
8
+ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
9
+ var _services;
10
+ class SimulModule extends VuuModule {
11
+ constructor(props) {
12
+ super(props);
13
+ __privateAdd(this, _services, []);
14
+ }
15
+ getServices(tableName) {
16
+ return __privateGet(this, _services).concat(super.getServices(tableName));
17
+ }
18
+ }
19
+ _services = new WeakMap();
20
+
21
+ export { SimulModule };
22
+ //# sourceMappingURL=SimulModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SimulModule.js","sources":["../../src/simul/SimulModule.ts"],"sourcesContent":["import { RpcService, VuuModule, VuuModuleConstructorProps } from \"../VuuModule\";\nimport { SimulTableName } from \"./simul-schemas\";\n\n/**\n * This is an example of how we might extend the built-in VuuModule to\n * implement a module-specific service in such a way that it can invoke\n * methods on the VuuModule.\n */\nexport class SimulModule extends VuuModule<SimulTableName> {\n constructor(props: VuuModuleConstructorProps) {\n super(props);\n }\n\n getServices(tableName: SimulTableName) {\n return this.#services.concat(super.getServices(tableName));\n }\n\n #services: RpcService[] = [];\n}\n"],"names":[],"mappings":";;;;;;;;AAAA,IAAA,SAAA;AAQO,MAAM,oBAAoB,SAA0B,CAAA;AAAA,EACzD,YAAY,KAAkC,EAAA;AAC5C,IAAA,KAAA,CAAM,KAAK,CAAA;AAOb,IAAA,YAAA,CAAA,IAAA,EAAA,SAAA,EAA0B,EAAC,CAAA;AAAA;AAN3B,EAEA,YAAY,SAA2B,EAAA;AACrC,IAAA,OAAO,mBAAK,SAAU,CAAA,CAAA,MAAA,CAAO,KAAM,CAAA,WAAA,CAAY,SAAS,CAAC,CAAA;AAAA;AAI7D;AADE,SAAA,GAAA,IAAA,OAAA,EAAA;;;;"}
@@ -0,0 +1,25 @@
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
+
24
+ export { accounts };
25
+ //# sourceMappingURL=accounts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accounts.js","sources":["../../../src/simul/reference-data/accounts.ts"],"sourcesContent":["export const accounts = [\n \"Account 01\",\n \"Account 02\",\n \"Account 03\",\n \"Account 04\",\n \"Account 105\",\n \"Account 06\",\n \"Account 07\",\n \"Account 08\",\n \"Account 09\",\n \"Account 10\",\n \"Account 11\",\n \"Account 12\",\n \"Account 13\",\n \"Account 14\",\n \"Account 15\",\n \"Account 16\",\n \"Account 17\",\n \"Account 18\",\n \"Account 19\",\n \"Account 20\",\n];\n"],"names":[],"mappings":"AAAO,MAAM,QAAW,GAAA;AAAA,EACtB,YAAA;AAAA,EACA,YAAA;AAAA,EACA,YAAA;AAAA,EACA,YAAA;AAAA,EACA,aAAA;AAAA,EACA,YAAA;AAAA,EACA,YAAA;AAAA,EACA,YAAA;AAAA,EACA,YAAA;AAAA,EACA,YAAA;AAAA,EACA,YAAA;AAAA,EACA,YAAA;AAAA,EACA,YAAA;AAAA,EACA,YAAA;AAAA,EACA,YAAA;AAAA,EACA,YAAA;AAAA,EACA,YAAA;AAAA,EACA,YAAA;AAAA,EACA,YAAA;AAAA,EACA;AACF;;;;"}
@@ -0,0 +1,4 @@
1
+ const algos = ["DARKLIQ", "IS", "SURESHOT", "VWAP", "LITLIQ", "TWAP"];
2
+
3
+ export { algos };
4
+ //# sourceMappingURL=algos.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"algos.js","sources":["../../../src/simul/reference-data/algos.ts"],"sourcesContent":["export const algos = [\"DARKLIQ\", \"IS\", \"SURESHOT\", \"VWAP\", \"LITLIQ\", \"TWAP\"];\n"],"names":[],"mappings":"AAAO,MAAM,QAAQ,CAAC,SAAA,EAAW,MAAM,UAAY,EAAA,MAAA,EAAQ,UAAU,MAAM;;;;"}
@@ -0,0 +1,4 @@
1
+ const currencies = ["CAD", "GBX", "USD", "EUR", "GBP"];
2
+
3
+ export { currencies };
4
+ //# sourceMappingURL=currencies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"currencies.js","sources":["../../../src/simul/reference-data/currencies.ts"],"sourcesContent":["export const currencies = [\"CAD\", \"GBX\", \"USD\", \"EUR\", \"GBP\"];\n"],"names":[],"mappings":"AAAO,MAAM,aAAa,CAAC,KAAA,EAAO,KAAO,EAAA,KAAA,EAAO,OAAO,KAAK;;;;"}
@@ -0,0 +1,16 @@
1
+ import { random } from '../../data-utils.js';
2
+ import { Table, buildDataColumnMap } from '../../Table.js';
3
+ import { schemas } from '../simul-schemas.js';
4
+ import { instrumentsData } from './instruments.js';
5
+
6
+ const instrumentsExtendedData = instrumentsData.map(
7
+ (row) => row.slice(0, -1).concat([random(0, 1) === 1, random(0, 1) === 1, (/* @__PURE__ */ new Date()).getTime()])
8
+ );
9
+ const instrumentsExtendedTable = new Table(
10
+ schemas.instrumentsExtended,
11
+ instrumentsExtendedData,
12
+ buildDataColumnMap(schemas, "instrumentsExtended")
13
+ );
14
+
15
+ export { instrumentsExtendedTable };
16
+ //# sourceMappingURL=instruments-extended.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instruments-extended.js","sources":["../../../src/simul/reference-data/instruments-extended.ts"],"sourcesContent":["import { VuuRowDataItemType } from \"@vuu-ui/vuu-protocol-types\";\nimport { random } from \"../../data-utils\";\nimport { buildDataColumnMap, Table } from \"../../Table\";\nimport { schemas } from \"../simul-schemas\";\nimport { instrumentsData } from \"./instruments\";\n\nconst instrumentsExtendedData = instrumentsData.map((row) =>\n (row as VuuRowDataItemType[])\n .slice(0, -1)\n .concat([random(0, 1) === 1, random(0, 1) === 1, new Date().getTime()]),\n);\n\nexport const instrumentsExtendedTable = new Table(\n schemas.instrumentsExtended,\n instrumentsExtendedData,\n buildDataColumnMap(schemas, \"instrumentsExtended\"),\n);\n"],"names":[],"mappings":";;;;;AAMA,MAAM,0BAA0B,eAAgB,CAAA,GAAA;AAAA,EAAI,CAAC,GAClD,KAAA,GAAA,CACE,KAAM,CAAA,CAAA,EAAG,EAAE,CACX,CAAA,MAAA,CAAO,CAAC,MAAA,CAAO,CAAG,EAAA,CAAC,MAAM,CAAG,EAAA,MAAA,CAAO,CAAG,EAAA,CAAC,CAAM,KAAA,CAAA,EAAA,qBAAO,IAAK,EAAA,EAAE,OAAQ,EAAC,CAAC;AAC1E,CAAA;AAEO,MAAM,2BAA2B,IAAI,KAAA;AAAA,EAC1C,OAAQ,CAAA,mBAAA;AAAA,EACR,uBAAA;AAAA,EACA,kBAAA,CAAmB,SAAS,qBAAqB;AACnD;;;;"}
@@ -0,0 +1,72 @@
1
+ import { isinGenerator } from './isin-generator/index.js';
2
+ import { currencies } from './currencies.js';
3
+ import { suffixes, locations } from './locations.js';
4
+ import { lotsizes } from './lotsizes.js';
5
+ import { random } from '../../data-utils.js';
6
+ import { Table, buildDataColumnMap } from '../../Table.js';
7
+ import { schemas } from '../simul-schemas.js';
8
+
9
+ const InstrumentColumnMap = {
10
+ bbg: 0,
11
+ currency: 1,
12
+ description: 2,
13
+ exchange: 3,
14
+ string: 4,
15
+ number: 5,
16
+ ric: 6,
17
+ price: 7,
18
+ date: 8
19
+ };
20
+ const instrumentsData = [];
21
+ const chars1 = Array.from("ABCEFGHKMN");
22
+ const chars2 = Array.from("ABCEFGHKMN");
23
+ const chars3 = Array.from("OPQRTUVWYZ");
24
+ const chars4 = Array.from("OPQRTUVWYZ");
25
+ const randomPrice = () => {
26
+ const price = random(0, 1e4);
27
+ const multiplier = random(1, 10);
28
+ return price / multiplier;
29
+ };
30
+ let count = 0;
31
+ for (const char1 of chars1) {
32
+ for (const char2 of chars2) {
33
+ for (const char3 of chars3) {
34
+ for (const char4 of chars4) {
35
+ const suffix = suffixes[count % 8];
36
+ const ric = char1 + char2 + char3 + char4 + "." + suffix;
37
+ const bbg = char1 + char2 + char3 + char4 + " " + suffix;
38
+ const description = `${ric} description`;
39
+ const currency = currencies[random(0, 4)];
40
+ const isin = isinGenerator();
41
+ const lotSize = lotsizes[random(0, lotsizes.length - 1)];
42
+ const exchange = locations[suffix][1];
43
+ const price = randomPrice();
44
+ const date = (/* @__PURE__ */ new Date()).getTime();
45
+ instrumentsData.push([
46
+ bbg,
47
+ currency,
48
+ description,
49
+ exchange,
50
+ String(isin),
51
+ lotSize,
52
+ ric,
53
+ price,
54
+ date
55
+ ]);
56
+ count++;
57
+ }
58
+ }
59
+ }
60
+ }
61
+ const getRic = (defaultRic) => {
62
+ const row = instrumentsData.at(random(0, instrumentsData.length));
63
+ return row?.[InstrumentColumnMap.ric] ?? defaultRic;
64
+ };
65
+ const instrumentsTable = new Table(
66
+ schemas.instruments,
67
+ instrumentsData,
68
+ buildDataColumnMap(schemas, "instruments")
69
+ );
70
+
71
+ export { InstrumentColumnMap, getRic, instrumentsData, instrumentsTable };
72
+ //# sourceMappingURL=instruments.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instruments.js","sources":["../../../src/simul/reference-data/instruments.ts"],"sourcesContent":["import { isinGenerator } from \"./isin-generator\";\nimport { currencies } from \"./currencies\";\nimport { locations, suffixes } from \"./locations\";\nimport { lotsizes } from \"./lotsizes\";\nimport { random } from \"../../data-utils\";\nimport { buildDataColumnMap, Table } from \"../../Table\";\nimport { schemas } from \"../simul-schemas\";\n\nexport type bbg = string;\nexport type currency = string;\nexport type ric = string;\nexport type description = string;\nexport type exchange = string;\n// seed for price generation\nexport type price = number;\nexport type date = number;\n\nexport type InstrumentsDataRow = [\n bbg,\n currency,\n description,\n exchange,\n string,\n number,\n ric,\n price,\n date,\n];\n\nexport const InstrumentColumnMap = {\n bbg: 0,\n currency: 1,\n description: 2,\n exchange: 3,\n string: 4,\n number: 5,\n ric: 6,\n price: 7,\n date: 8,\n} as const;\n\nconst instrumentsData: InstrumentsDataRow[] = [];\n\nconst chars1 = Array.from(\"ABCEFGHKMN\");\nconst chars2 = Array.from(\"ABCEFGHKMN\");\nconst chars3 = Array.from(\"OPQRTUVWYZ\");\nconst chars4 = Array.from(\"OPQRTUVWYZ\");\n\nconst randomPrice = () => {\n const price = random(0, 10000);\n const multiplier = random(1, 10);\n return price / multiplier;\n};\n\n// const start = performance.now();\n// Create 10_000 Instruments\nlet count = 0;\nfor (const char1 of chars1) {\n for (const char2 of chars2) {\n for (const char3 of chars3) {\n for (const char4 of chars4) {\n const suffix = suffixes[count % 8];\n const ric = char1 + char2 + char3 + char4 + \".\" + suffix;\n const bbg = char1 + char2 + char3 + char4 + \" \" + suffix;\n const description = `${ric} description`;\n const currency = currencies[random(0, 4)];\n const isin = isinGenerator();\n const lotSize = lotsizes[random(0, lotsizes.length - 1)];\n\n const exchange = locations[suffix][1];\n const price = randomPrice();\n const date = new Date().getTime();\n\n instrumentsData.push([\n bbg,\n currency,\n description,\n exchange,\n String(isin),\n lotSize,\n ric,\n price,\n date,\n ]);\n count++;\n }\n }\n }\n}\n\n// const end = performance.now();\n// console.log(`generating 10,000 instruments took ${end - start} ms`);\n\nexport const getRic = (defaultRic: string) => {\n const row = instrumentsData.at(random(0, instrumentsData.length));\n return row?.[InstrumentColumnMap.ric] ?? defaultRic;\n};\n\nexport const instrumentsTable = new Table(\n schemas.instruments,\n instrumentsData,\n buildDataColumnMap(schemas, \"instruments\"),\n);\n\nexport { instrumentsData };\n"],"names":[],"mappings":";;;;;;;;AA6BO,MAAM,mBAAsB,GAAA;AAAA,EACjC,GAAK,EAAA,CAAA;AAAA,EACL,QAAU,EAAA,CAAA;AAAA,EACV,WAAa,EAAA,CAAA;AAAA,EACb,QAAU,EAAA,CAAA;AAAA,EACV,MAAQ,EAAA,CAAA;AAAA,EACR,MAAQ,EAAA,CAAA;AAAA,EACR,GAAK,EAAA,CAAA;AAAA,EACL,KAAO,EAAA,CAAA;AAAA,EACP,IAAM,EAAA;AACR;AAEA,MAAM,kBAAwC;AAE9C,MAAM,MAAA,GAAS,KAAM,CAAA,IAAA,CAAK,YAAY,CAAA;AACtC,MAAM,MAAA,GAAS,KAAM,CAAA,IAAA,CAAK,YAAY,CAAA;AACtC,MAAM,MAAA,GAAS,KAAM,CAAA,IAAA,CAAK,YAAY,CAAA;AACtC,MAAM,MAAA,GAAS,KAAM,CAAA,IAAA,CAAK,YAAY,CAAA;AAEtC,MAAM,cAAc,MAAM;AACxB,EAAM,MAAA,KAAA,GAAQ,MAAO,CAAA,CAAA,EAAG,GAAK,CAAA;AAC7B,EAAM,MAAA,UAAA,GAAa,MAAO,CAAA,CAAA,EAAG,EAAE,CAAA;AAC/B,EAAA,OAAO,KAAQ,GAAA,UAAA;AACjB,CAAA;AAIA,IAAI,KAAQ,GAAA,CAAA;AACZ,KAAA,MAAW,SAAS,MAAQ,EAAA;AAC1B,EAAA,KAAA,MAAW,SAAS,MAAQ,EAAA;AAC1B,IAAA,KAAA,MAAW,SAAS,MAAQ,EAAA;AAC1B,MAAA,KAAA,MAAW,SAAS,MAAQ,EAAA;AAC1B,QAAM,MAAA,MAAA,GAAS,QAAS,CAAA,KAAA,GAAQ,CAAC,CAAA;AACjC,QAAA,MAAM,GAAM,GAAA,KAAA,GAAQ,KAAQ,GAAA,KAAA,GAAQ,QAAQ,GAAM,GAAA,MAAA;AAClD,QAAA,MAAM,GAAM,GAAA,KAAA,GAAQ,KAAQ,GAAA,KAAA,GAAQ,QAAQ,GAAM,GAAA,MAAA;AAClD,QAAM,MAAA,WAAA,GAAc,GAAG,GAAG,CAAA,YAAA,CAAA;AAC1B,QAAA,MAAM,QAAW,GAAA,UAAA,CAAW,MAAO,CAAA,CAAA,EAAG,CAAC,CAAC,CAAA;AACxC,QAAA,MAAM,OAAO,aAAc,EAAA;AAC3B,QAAA,MAAM,UAAU,QAAS,CAAA,MAAA,CAAO,GAAG,QAAS,CAAA,MAAA,GAAS,CAAC,CAAC,CAAA;AAEvD,QAAA,MAAM,QAAW,GAAA,SAAA,CAAU,MAAM,CAAA,CAAE,CAAC,CAAA;AACpC,QAAA,MAAM,QAAQ,WAAY,EAAA;AAC1B,QAAA,MAAM,IAAO,GAAA,iBAAA,IAAI,IAAK,EAAA,EAAE,OAAQ,EAAA;AAEhC,QAAA,eAAA,CAAgB,IAAK,CAAA;AAAA,UACnB,GAAA;AAAA,UACA,QAAA;AAAA,UACA,WAAA;AAAA,UACA,QAAA;AAAA,UACA,OAAO,IAAI,CAAA;AAAA,UACX,OAAA;AAAA,UACA,GAAA;AAAA,UACA,KAAA;AAAA,UACA;AAAA,SACD,CAAA;AACD,QAAA,KAAA,EAAA;AAAA;AACF;AACF;AAEJ;AAKa,MAAA,MAAA,GAAS,CAAC,UAAuB,KAAA;AAC5C,EAAA,MAAM,MAAM,eAAgB,CAAA,EAAA,CAAG,OAAO,CAAG,EAAA,eAAA,CAAgB,MAAM,CAAC,CAAA;AAChE,EAAO,OAAA,GAAA,GAAM,mBAAoB,CAAA,GAAG,CAAK,IAAA,UAAA;AAC3C;AAEO,MAAM,mBAAmB,IAAI,KAAA;AAAA,EAClC,OAAQ,CAAA,WAAA;AAAA,EACR,eAAA;AAAA,EACA,kBAAA,CAAmB,SAAS,aAAa;AAC3C;;;;"}
@@ -0,0 +1,4 @@
1
+ const convertStringToBaseTenNumber = (value) => parseInt(value, 10);
2
+
3
+ export { convertStringToBaseTenNumber };
4
+ //# sourceMappingURL=convert-string-to-base-ten-number.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convert-string-to-base-ten-number.js","sources":["../../../../src/simul/reference-data/isin-generator/convert-string-to-base-ten-number.ts"],"sourcesContent":["export const convertStringToBaseTenNumber = (value: string): number =>\n parseInt(value, 10);\n"],"names":[],"mappings":"AAAO,MAAM,4BAA+B,GAAA,CAAC,KAC3C,KAAA,QAAA,CAAS,OAAO,EAAE;;;;"}
@@ -0,0 +1,29 @@
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
+
28
+ export { alphabet };
29
+ //# sourceMappingURL=alphabet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alphabet.js","sources":["../../../../../src/simul/reference-data/isin-generator/fixtures/alphabet.ts"],"sourcesContent":["export const alphabet = [\n \"A\",\n \"B\",\n \"C\",\n \"D\",\n \"E\",\n \"F\",\n \"G\",\n \"H\",\n \"J\",\n \"K\",\n \"L\",\n \"M\",\n \"N\",\n \"P\",\n \"Q\",\n \"R\",\n \"S\",\n \"T\",\n \"U\",\n \"V\",\n \"W\",\n \"X\",\n \"Y\",\n \"Z\",\n];\n"],"names":[],"mappings":"AAAO,MAAM,QAAW,GAAA;AAAA,EACtB,GAAA;AAAA,EACA,GAAA;AAAA,EACA,GAAA;AAAA,EACA,GAAA;AAAA,EACA,GAAA;AAAA,EACA,GAAA;AAAA,EACA,GAAA;AAAA,EACA,GAAA;AAAA,EACA,GAAA;AAAA,EACA,GAAA;AAAA,EACA,GAAA;AAAA,EACA,GAAA;AAAA,EACA,GAAA;AAAA,EACA,GAAA;AAAA,EACA,GAAA;AAAA,EACA,GAAA;AAAA,EACA,GAAA;AAAA,EACA,GAAA;AAAA,EACA,GAAA;AAAA,EACA,GAAA;AAAA,EACA,GAAA;AAAA,EACA,GAAA;AAAA,EACA,GAAA;AAAA,EACA;AACF;;;;"}
@@ -0,0 +1,7 @@
1
+ import { alphabet } from './alphabet.js';
2
+ import { baseTenNumbers } from './base-ten-numbers.js';
3
+
4
+ const alphanumeric = [...alphabet, ...baseTenNumbers];
5
+
6
+ export { alphanumeric };
7
+ //# sourceMappingURL=alphanumeric-values.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alphanumeric-values.js","sources":["../../../../../src/simul/reference-data/isin-generator/fixtures/alphanumeric-values.ts"],"sourcesContent":["import { alphabet } from \"./alphabet\";\nimport { baseTenNumbers } from \"./base-ten-numbers\";\n\nexport const alphanumeric = [...alphabet, ...baseTenNumbers];\n"],"names":[],"mappings":";;;AAGO,MAAM,YAAe,GAAA,CAAC,GAAG,QAAA,EAAU,GAAG,cAAc;;;;"}
@@ -0,0 +1,15 @@
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
+
14
+ export { baseTenNumbers };
15
+ //# sourceMappingURL=base-ten-numbers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-ten-numbers.js","sources":["../../../../../src/simul/reference-data/isin-generator/fixtures/base-ten-numbers.ts"],"sourcesContent":["export const baseTenNumbers = [\n 0,\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n];\n"],"names":[],"mappings":"AAAO,MAAM,cAAiB,GAAA;AAAA,EAC5B,CAAA;AAAA,EACA,CAAA;AAAA,EACA,CAAA;AAAA,EACA,CAAA;AAAA,EACA,CAAA;AAAA,EACA,CAAA;AAAA,EACA,CAAA;AAAA,EACA,CAAA;AAAA,EACA,CAAA;AAAA,EACA;AACF;;;;"}
@@ -0,0 +1,22 @@
1
+ import { convertStringToBaseTenNumber } from './convert-string-to-base-ten-number.js';
2
+ import { isOdd } from './is-odd.js';
3
+
4
+ const generateCusipCheckCode = (cusip) => {
5
+ const cusipLength = cusip.length;
6
+ let currentValue;
7
+ let total = 0;
8
+ for (let i = 0; i < cusipLength; i++) {
9
+ currentValue = cusip[i];
10
+ const currentNumberToBaseTen = convertStringToBaseTenNumber(currentValue);
11
+ let currentNumberOrPosition = isNaN(currentNumberToBaseTen) ? currentValue.charCodeAt(0) - "A".charCodeAt(0) + 10 : parseInt(currentValue);
12
+ if (isOdd(i)) {
13
+ currentNumberOrPosition = currentNumberOrPosition * 2;
14
+ }
15
+ total = total + Math.floor(currentNumberOrPosition / 10) + currentNumberOrPosition % 10;
16
+ }
17
+ const check = (10 - total % 10) % 10;
18
+ return check;
19
+ };
20
+
21
+ export { generateCusipCheckCode };
22
+ //# sourceMappingURL=generate-cusip-check-code.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-cusip-check-code.js","sources":["../../../../src/simul/reference-data/isin-generator/generate-cusip-check-code.ts"],"sourcesContent":["import { convertStringToBaseTenNumber } from \"./convert-string-to-base-ten-number\";\nimport { isOdd } from \"./is-odd\";\n\nexport const generateCusipCheckCode = (cusip: string): number => {\n const cusipLength = cusip.length;\n let currentValue;\n let total = 0;\n\n for (let i = 0; i < cusipLength; i++) {\n currentValue = cusip[i];\n\n const currentNumberToBaseTen = convertStringToBaseTenNumber(currentValue);\n\n let currentNumberOrPosition = isNaN(currentNumberToBaseTen)\n ? currentValue.charCodeAt(0) - \"A\".charCodeAt(0) + 10\n : parseInt(currentValue);\n\n if (isOdd(i)) {\n currentNumberOrPosition = currentNumberOrPosition * 2;\n }\n\n total =\n total +\n Math.floor(currentNumberOrPosition / 10) +\n (currentNumberOrPosition % 10);\n }\n const check = (10 - (total % 10)) % 10;\n return check;\n};\n"],"names":[],"mappings":";;;AAGa,MAAA,sBAAA,GAAyB,CAAC,KAA0B,KAAA;AAC/D,EAAA,MAAM,cAAc,KAAM,CAAA,MAAA;AAC1B,EAAI,IAAA,YAAA;AACJ,EAAA,IAAI,KAAQ,GAAA,CAAA;AAEZ,EAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,WAAA,EAAa,CAAK,EAAA,EAAA;AACpC,IAAA,YAAA,GAAe,MAAM,CAAC,CAAA;AAEtB,IAAM,MAAA,sBAAA,GAAyB,6BAA6B,YAAY,CAAA;AAExE,IAAA,IAAI,uBAA0B,GAAA,KAAA,CAAM,sBAAsB,CAAA,GACtD,aAAa,UAAW,CAAA,CAAC,CAAI,GAAA,GAAA,CAAI,UAAW,CAAA,CAAC,CAAI,GAAA,EAAA,GACjD,SAAS,YAAY,CAAA;AAEzB,IAAI,IAAA,KAAA,CAAM,CAAC,CAAG,EAAA;AACZ,MAAA,uBAAA,GAA0B,uBAA0B,GAAA,CAAA;AAAA;AAGtD,IAAA,KAAA,GACE,QACA,IAAK,CAAA,KAAA,CAAM,uBAA0B,GAAA,EAAE,IACtC,uBAA0B,GAAA,EAAA;AAAA;AAE/B,EAAM,MAAA,KAAA,GAAA,CAAS,EAAM,GAAA,KAAA,GAAQ,EAAO,IAAA,EAAA;AACpC,EAAO,OAAA,KAAA;AACT;;;;"}
@@ -0,0 +1,11 @@
1
+ import { generateRandomStringOfAlphanumericChars } from './generate-random-string-of-alphanumeric-chars.js';
2
+ import { generateRandomStringOfBaseTenChars } from './generate-random-string-of-base-ten-chars.js';
3
+
4
+ const generateCusipWithoutCheckCode = () => {
5
+ const randomBaseTenString = generateRandomStringOfBaseTenChars();
6
+ const randomAlphanumericString = generateRandomStringOfAlphanumericChars();
7
+ return randomBaseTenString + randomAlphanumericString;
8
+ };
9
+
10
+ export { generateCusipWithoutCheckCode };
11
+ //# sourceMappingURL=generate-cusip-without-check-code.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-cusip-without-check-code.js","sources":["../../../../src/simul/reference-data/isin-generator/generate-cusip-without-check-code.ts"],"sourcesContent":["import { generateRandomStringOfAlphanumericChars } from \"./generate-random-string-of-alphanumeric-chars\";\nimport { generateRandomStringOfBaseTenChars } from \"./generate-random-string-of-base-ten-chars\";\n\nexport const generateCusipWithoutCheckCode = (): string => {\n const randomBaseTenString = generateRandomStringOfBaseTenChars();\n const randomAlphanumericString = generateRandomStringOfAlphanumericChars();\n return randomBaseTenString + randomAlphanumericString;\n};\n"],"names":[],"mappings":";;;AAGO,MAAM,gCAAgC,MAAc;AACzD,EAAA,MAAM,sBAAsB,kCAAmC,EAAA;AAC/D,EAAA,MAAM,2BAA2B,uCAAwC,EAAA;AACzE,EAAA,OAAO,mBAAsB,GAAA,wBAAA;AAC/B;;;;"}
@@ -0,0 +1,11 @@
1
+ import { generateCusipCheckCode } from './generate-cusip-check-code.js';
2
+ import { generateCusipWithoutCheckCode } from './generate-cusip-without-check-code.js';
3
+
4
+ const generateCusip = () => {
5
+ const cusip = generateCusipWithoutCheckCode();
6
+ const check = generateCusipCheckCode(cusip);
7
+ return cusip + check;
8
+ };
9
+
10
+ export { generateCusip };
11
+ //# sourceMappingURL=generate-cusip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-cusip.js","sources":["../../../../src/simul/reference-data/isin-generator/generate-cusip.ts"],"sourcesContent":["import { generateCusipCheckCode } from \"./generate-cusip-check-code\";\nimport { generateCusipWithoutCheckCode } from \"./generate-cusip-without-check-code\";\n\nexport const generateCusip = (): string => {\n const cusip = generateCusipWithoutCheckCode();\n const check = generateCusipCheckCode(cusip);\n\n return cusip + check;\n};\n"],"names":[],"mappings":";;;AAGO,MAAM,gBAAgB,MAAc;AACzC,EAAA,MAAM,QAAQ,6BAA8B,EAAA;AAC5C,EAAM,MAAA,KAAA,GAAQ,uBAAuB,KAAK,CAAA;AAE1C,EAAA,OAAO,KAAQ,GAAA,KAAA;AACjB;;;;"}
@@ -0,0 +1,6 @@
1
+ import { alphanumeric } from './fixtures/alphanumeric-values.js';
2
+
3
+ const generateRandomAlphanumeric = () => alphanumeric[Math.floor(Math.random() * alphanumeric.length)];
4
+
5
+ export { generateRandomAlphanumeric };
6
+ //# sourceMappingURL=generate-random-alphanumeric.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-random-alphanumeric.js","sources":["../../../../src/simul/reference-data/isin-generator/generate-random-alphanumeric.ts"],"sourcesContent":["import { alphanumeric } from \"./fixtures/alphanumeric-values\";\n\nexport const generateRandomAlphanumeric = (): string | number =>\n alphanumeric[Math.floor(Math.random() * alphanumeric.length)];\n"],"names":[],"mappings":";;AAEa,MAAA,0BAAA,GAA6B,MACxC,YAAA,CAAa,IAAK,CAAA,KAAA,CAAM,KAAK,MAAO,EAAA,GAAI,YAAa,CAAA,MAAM,CAAC;;;;"}
@@ -0,0 +1,4 @@
1
+ const generateRandomBaseTenNumber = () => Math.floor(Math.random() * 10);
2
+
3
+ export { generateRandomBaseTenNumber };
4
+ //# sourceMappingURL=generate-random-base-ten-number.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-random-base-ten-number.js","sources":["../../../../src/simul/reference-data/isin-generator/generate-random-base-ten-number.ts"],"sourcesContent":["export const generateRandomBaseTenNumber = (): number =>\n Math.floor(Math.random() * 10);\n"],"names":[],"mappings":"AAAO,MAAM,8BAA8B,MACzC,IAAA,CAAK,MAAM,IAAK,CAAA,MAAA,KAAW,EAAE;;;;"}
@@ -0,0 +1,12 @@
1
+ import { generateRandomAlphanumeric } from './generate-random-alphanumeric.js';
2
+
3
+ const generateRandomStringOfAlphanumericChars = () => {
4
+ let string = "";
5
+ for (let i = 0; i < 2; i++) {
6
+ string = string + generateRandomAlphanumeric();
7
+ }
8
+ return string;
9
+ };
10
+
11
+ export { generateRandomStringOfAlphanumericChars };
12
+ //# sourceMappingURL=generate-random-string-of-alphanumeric-chars.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-random-string-of-alphanumeric-chars.js","sources":["../../../../src/simul/reference-data/isin-generator/generate-random-string-of-alphanumeric-chars.ts"],"sourcesContent":["import { generateRandomAlphanumeric } from \"./generate-random-alphanumeric\";\n\nexport const generateRandomStringOfAlphanumericChars = () => {\n let string = \"\";\n for (let i = 0; i < 2; i++) {\n string = string + generateRandomAlphanumeric();\n }\n return string;\n};\n"],"names":[],"mappings":";;AAEO,MAAM,0CAA0C,MAAM;AAC3D,EAAA,IAAI,MAAS,GAAA,EAAA;AACb,EAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,CAAA,EAAG,CAAK,EAAA,EAAA;AAC1B,IAAA,MAAA,GAAS,SAAS,0BAA2B,EAAA;AAAA;AAE/C,EAAO,OAAA,MAAA;AACT;;;;"}
@@ -0,0 +1,12 @@
1
+ import { generateRandomBaseTenNumber } from './generate-random-base-ten-number.js';
2
+
3
+ const generateRandomStringOfBaseTenChars = () => {
4
+ let string = "";
5
+ for (let i = 0; i < 6; i++) {
6
+ string = string + generateRandomBaseTenNumber();
7
+ }
8
+ return string;
9
+ };
10
+
11
+ export { generateRandomStringOfBaseTenChars };
12
+ //# sourceMappingURL=generate-random-string-of-base-ten-chars.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-random-string-of-base-ten-chars.js","sources":["../../../../src/simul/reference-data/isin-generator/generate-random-string-of-base-ten-chars.ts"],"sourcesContent":["import { generateRandomBaseTenNumber } from \"./generate-random-base-ten-number\";\n\nexport const generateRandomStringOfBaseTenChars = () => {\n let string = \"\";\n for (let i = 0; i < 6; i++) {\n string = string + generateRandomBaseTenNumber();\n }\n return string;\n};\n"],"names":[],"mappings":";;AAEO,MAAM,qCAAqC,MAAM;AACtD,EAAA,IAAI,MAAS,GAAA,EAAA;AACb,EAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,CAAA,EAAG,CAAK,EAAA,EAAA;AAC1B,IAAA,MAAA,GAAS,SAAS,2BAA4B,EAAA;AAAA;AAEhD,EAAO,OAAA,MAAA;AACT;;;;"}