@vuu-ui/vuu-data-test 3.0.0 → 3.1.0-beta.1

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 (264) hide show
  1. package/package.json +15 -12
  2. package/src/ArrayProxy.mjs +38 -0
  3. package/src/RuntimeVisualLink.mjs +45 -0
  4. package/src/Table.mjs +96 -0
  5. package/src/TickingArrayDataSource.mjs +265 -0
  6. package/src/UpdateGenerator.mjs +72 -0
  7. package/src/basket/BasketModule.mjs +272 -0
  8. package/src/basket/basket-schemas.mjs +366 -0
  9. package/src/basket/index.mjs +2 -0
  10. package/src/basket/reference-data/constituents.mjs +76 -0
  11. package/src/basket/reference-data/ftse100.mjs +686 -0
  12. package/src/basket/reference-data/hsi.mjs +1047 -0
  13. package/src/basket/reference-data/nasdaq100.mjs +812 -0
  14. package/src/basket/reference-data/prices.mjs +43 -0
  15. package/src/basket/reference-data/sp500.mjs +315 -0
  16. package/src/core/module/ModuleContainer.mjs +21 -0
  17. package/src/core/module/VuuModule.mjs +635 -0
  18. package/src/core/table/TableContainer.mjs +102 -0
  19. package/src/data-utils.mjs +57 -0
  20. package/src/default-column-definitions.mjs +15 -0
  21. package/src/index.mjs +12 -0
  22. package/src/local-datasource-provider/LocalDatasourceProvider.mjs +44 -0
  23. package/src/makeSuggestions.mjs +20 -0
  24. package/src/rowUpdates.mjs +0 -0
  25. package/src/schemas.mjs +19 -0
  26. package/src/session-table-utils.mjs +31 -0
  27. package/src/simul/SimulModule.mjs +175 -0
  28. package/src/simul/index.mjs +2 -0
  29. package/src/simul/reference-data/accounts.mjs +23 -0
  30. package/src/simul/reference-data/algos.mjs +9 -0
  31. package/src/simul/reference-data/currencies.mjs +8 -0
  32. package/src/simul/reference-data/index.mjs +5 -0
  33. package/src/simul/reference-data/instrument-prices.mjs +48 -0
  34. package/src/simul/reference-data/instruments-extended.mjs +12 -0
  35. package/src/simul/reference-data/instruments.mjs +69 -0
  36. package/src/simul/reference-data/isin-generator/convert-string-to-base-ten-number.mjs +2 -0
  37. package/src/simul/reference-data/isin-generator/fixtures/alphabet.mjs +27 -0
  38. package/src/simul/reference-data/isin-generator/fixtures/alphanumeric-values.mjs +7 -0
  39. package/src/simul/reference-data/isin-generator/fixtures/base-ten-numbers.mjs +13 -0
  40. package/src/simul/reference-data/isin-generator/generate-cusip-check-code.mjs +17 -0
  41. package/src/simul/reference-data/isin-generator/generate-cusip-without-check-code.mjs +8 -0
  42. package/src/simul/reference-data/isin-generator/generate-cusip.mjs +8 -0
  43. package/src/simul/reference-data/isin-generator/generate-random-alphanumeric.mjs +3 -0
  44. package/src/simul/reference-data/isin-generator/generate-random-base-ten-number.mjs +2 -0
  45. package/src/simul/reference-data/isin-generator/generate-random-string-of-alphanumeric-chars.mjs +7 -0
  46. package/src/simul/reference-data/isin-generator/generate-random-string-of-base-ten-chars.mjs +7 -0
  47. package/src/simul/reference-data/isin-generator/index.mjs +280 -0
  48. package/src/simul/reference-data/isin-generator/is-odd.mjs +2 -0
  49. package/src/simul/reference-data/locations.mjs +45 -0
  50. package/src/simul/reference-data/lotsizes.mjs +24 -0
  51. package/src/simul/reference-data/orderStatus.mjs +6 -0
  52. package/src/simul/reference-data/orders.mjs +64 -0
  53. package/src/simul/reference-data/parent-child-orders.mjs +119 -0
  54. package/src/simul/reference-data/priceStrategies.mjs +8 -0
  55. package/src/simul/reference-data/prices.mjs +80 -0
  56. package/src/simul/reference-data/sides.mjs +5 -0
  57. package/src/simul/simul-schemas.mjs +430 -0
  58. package/src/test/TestModule.mjs +582 -0
  59. package/src/test/index.mjs +1 -0
  60. package/src/vuu-row-generator.mjs +71 -0
  61. package/cjs/ArrayProxy.js +0 -72
  62. package/cjs/ArrayProxy.js.map +0 -1
  63. package/cjs/RuntimeVisualLink.js +0 -73
  64. package/cjs/RuntimeVisualLink.js.map +0 -1
  65. package/cjs/Table.js +0 -128
  66. package/cjs/Table.js.map +0 -1
  67. package/cjs/TickingArrayDataSource.js +0 -343
  68. package/cjs/TickingArrayDataSource.js.map +0 -1
  69. package/cjs/UpdateGenerator.js +0 -94
  70. package/cjs/UpdateGenerator.js.map +0 -1
  71. package/cjs/basket/BasketModule.js +0 -282
  72. package/cjs/basket/BasketModule.js.map +0 -1
  73. package/cjs/basket/basket-schemas.js +0 -134
  74. package/cjs/basket/basket-schemas.js.map +0 -1
  75. package/cjs/basket/reference-data/constituents.js +0 -40
  76. package/cjs/basket/reference-data/constituents.js.map +0 -1
  77. package/cjs/basket/reference-data/ftse100.js +0 -105
  78. package/cjs/basket/reference-data/ftse100.js.map +0 -1
  79. package/cjs/basket/reference-data/hsi.js +0 -87
  80. package/cjs/basket/reference-data/hsi.js.map +0 -1
  81. package/cjs/basket/reference-data/nasdaq100.js +0 -108
  82. package/cjs/basket/reference-data/nasdaq100.js.map +0 -1
  83. package/cjs/basket/reference-data/sp500.js +0 -46
  84. package/cjs/basket/reference-data/sp500.js.map +0 -1
  85. package/cjs/core/module/ModuleContainer.js +0 -43
  86. package/cjs/core/module/ModuleContainer.js.map +0 -1
  87. package/cjs/core/module/VuuModule.js +0 -843
  88. package/cjs/core/module/VuuModule.js.map +0 -1
  89. package/cjs/core/table/TableContainer.js +0 -144
  90. package/cjs/core/table/TableContainer.js.map +0 -1
  91. package/cjs/data-utils.js +0 -55
  92. package/cjs/data-utils.js.map +0 -1
  93. package/cjs/default-column-definitions.js +0 -10
  94. package/cjs/default-column-definitions.js.map +0 -1
  95. package/cjs/index.js +0 -44
  96. package/cjs/index.js.map +0 -1
  97. package/cjs/local-datasource-provider/LocalDatasourceProvider.js +0 -70
  98. package/cjs/local-datasource-provider/LocalDatasourceProvider.js.map +0 -1
  99. package/cjs/makeSuggestions.js +0 -26
  100. package/cjs/makeSuggestions.js.map +0 -1
  101. package/cjs/schemas.js +0 -28
  102. package/cjs/schemas.js.map +0 -1
  103. package/cjs/session-table-utils.js +0 -29
  104. package/cjs/session-table-utils.js.map +0 -1
  105. package/cjs/simul/SimulModule.js +0 -187
  106. package/cjs/simul/SimulModule.js.map +0 -1
  107. package/cjs/simul/reference-data/accounts.js +0 -27
  108. package/cjs/simul/reference-data/accounts.js.map +0 -1
  109. package/cjs/simul/reference-data/algos.js +0 -6
  110. package/cjs/simul/reference-data/algos.js.map +0 -1
  111. package/cjs/simul/reference-data/currencies.js +0 -6
  112. package/cjs/simul/reference-data/currencies.js.map +0 -1
  113. package/cjs/simul/reference-data/instruments-extended.js +0 -19
  114. package/cjs/simul/reference-data/instruments-extended.js.map +0 -1
  115. package/cjs/simul/reference-data/instruments.js +0 -87
  116. package/cjs/simul/reference-data/instruments.js.map +0 -1
  117. package/cjs/simul/reference-data/isin-generator/convert-string-to-base-ten-number.js +0 -6
  118. package/cjs/simul/reference-data/isin-generator/convert-string-to-base-ten-number.js.map +0 -1
  119. package/cjs/simul/reference-data/isin-generator/fixtures/alphabet.js +0 -31
  120. package/cjs/simul/reference-data/isin-generator/fixtures/alphabet.js.map +0 -1
  121. package/cjs/simul/reference-data/isin-generator/fixtures/alphanumeric-values.js +0 -9
  122. package/cjs/simul/reference-data/isin-generator/fixtures/alphanumeric-values.js.map +0 -1
  123. package/cjs/simul/reference-data/isin-generator/fixtures/base-ten-numbers.js +0 -17
  124. package/cjs/simul/reference-data/isin-generator/fixtures/base-ten-numbers.js.map +0 -1
  125. package/cjs/simul/reference-data/isin-generator/generate-cusip-check-code.js +0 -24
  126. package/cjs/simul/reference-data/isin-generator/generate-cusip-check-code.js.map +0 -1
  127. package/cjs/simul/reference-data/isin-generator/generate-cusip-without-check-code.js +0 -13
  128. package/cjs/simul/reference-data/isin-generator/generate-cusip-without-check-code.js.map +0 -1
  129. package/cjs/simul/reference-data/isin-generator/generate-cusip.js +0 -13
  130. package/cjs/simul/reference-data/isin-generator/generate-cusip.js.map +0 -1
  131. package/cjs/simul/reference-data/isin-generator/generate-random-alphanumeric.js +0 -8
  132. package/cjs/simul/reference-data/isin-generator/generate-random-alphanumeric.js.map +0 -1
  133. package/cjs/simul/reference-data/isin-generator/generate-random-base-ten-number.js +0 -6
  134. package/cjs/simul/reference-data/isin-generator/generate-random-base-ten-number.js.map +0 -1
  135. package/cjs/simul/reference-data/isin-generator/generate-random-string-of-alphanumeric-chars.js +0 -14
  136. package/cjs/simul/reference-data/isin-generator/generate-random-string-of-alphanumeric-chars.js.map +0 -1
  137. package/cjs/simul/reference-data/isin-generator/generate-random-string-of-base-ten-chars.js +0 -14
  138. package/cjs/simul/reference-data/isin-generator/generate-random-string-of-base-ten-chars.js.map +0 -1
  139. package/cjs/simul/reference-data/isin-generator/index.js +0 -295
  140. package/cjs/simul/reference-data/isin-generator/index.js.map +0 -1
  141. package/cjs/simul/reference-data/isin-generator/is-odd.js +0 -6
  142. package/cjs/simul/reference-data/isin-generator/is-odd.js.map +0 -1
  143. package/cjs/simul/reference-data/locations.js +0 -17
  144. package/cjs/simul/reference-data/locations.js.map +0 -1
  145. package/cjs/simul/reference-data/lotsizes.js +0 -28
  146. package/cjs/simul/reference-data/lotsizes.js.map +0 -1
  147. package/cjs/simul/reference-data/orderStatus.js +0 -6
  148. package/cjs/simul/reference-data/orderStatus.js.map +0 -1
  149. package/cjs/simul/reference-data/orders.js +0 -55
  150. package/cjs/simul/reference-data/orders.js.map +0 -1
  151. package/cjs/simul/reference-data/parent-child-orders.js +0 -146
  152. package/cjs/simul/reference-data/parent-child-orders.js.map +0 -1
  153. package/cjs/simul/reference-data/prices.js +0 -91
  154. package/cjs/simul/reference-data/prices.js.map +0 -1
  155. package/cjs/simul/reference-data/sides.js +0 -6
  156. package/cjs/simul/reference-data/sides.js.map +0 -1
  157. package/cjs/simul/simul-schemas.js +0 -159
  158. package/cjs/simul/simul-schemas.js.map +0 -1
  159. package/cjs/test/TestModule.js +0 -255
  160. package/cjs/test/TestModule.js.map +0 -1
  161. package/cjs/vuu-row-generator.js +0 -74
  162. package/cjs/vuu-row-generator.js.map +0 -1
  163. package/esm/ArrayProxy.js +0 -70
  164. package/esm/ArrayProxy.js.map +0 -1
  165. package/esm/RuntimeVisualLink.js +0 -71
  166. package/esm/RuntimeVisualLink.js.map +0 -1
  167. package/esm/Table.js +0 -124
  168. package/esm/Table.js.map +0 -1
  169. package/esm/TickingArrayDataSource.js +0 -341
  170. package/esm/TickingArrayDataSource.js.map +0 -1
  171. package/esm/UpdateGenerator.js +0 -92
  172. package/esm/UpdateGenerator.js.map +0 -1
  173. package/esm/basket/BasketModule.js +0 -278
  174. package/esm/basket/BasketModule.js.map +0 -1
  175. package/esm/basket/basket-schemas.js +0 -131
  176. package/esm/basket/basket-schemas.js.map +0 -1
  177. package/esm/basket/reference-data/constituents.js +0 -38
  178. package/esm/basket/reference-data/constituents.js.map +0 -1
  179. package/esm/basket/reference-data/ftse100.js +0 -103
  180. package/esm/basket/reference-data/ftse100.js.map +0 -1
  181. package/esm/basket/reference-data/hsi.js +0 -85
  182. package/esm/basket/reference-data/hsi.js.map +0 -1
  183. package/esm/basket/reference-data/nasdaq100.js +0 -106
  184. package/esm/basket/reference-data/nasdaq100.js.map +0 -1
  185. package/esm/basket/reference-data/sp500.js +0 -44
  186. package/esm/basket/reference-data/sp500.js.map +0 -1
  187. package/esm/core/module/ModuleContainer.js +0 -41
  188. package/esm/core/module/ModuleContainer.js.map +0 -1
  189. package/esm/core/module/VuuModule.js +0 -841
  190. package/esm/core/module/VuuModule.js.map +0 -1
  191. package/esm/core/table/TableContainer.js +0 -142
  192. package/esm/core/table/TableContainer.js.map +0 -1
  193. package/esm/data-utils.js +0 -50
  194. package/esm/data-utils.js.map +0 -1
  195. package/esm/default-column-definitions.js +0 -8
  196. package/esm/default-column-definitions.js.map +0 -1
  197. package/esm/index.js +0 -15
  198. package/esm/index.js.map +0 -1
  199. package/esm/local-datasource-provider/LocalDatasourceProvider.js +0 -68
  200. package/esm/local-datasource-provider/LocalDatasourceProvider.js.map +0 -1
  201. package/esm/makeSuggestions.js +0 -24
  202. package/esm/makeSuggestions.js.map +0 -1
  203. package/esm/schemas.js +0 -24
  204. package/esm/schemas.js.map +0 -1
  205. package/esm/session-table-utils.js +0 -26
  206. package/esm/session-table-utils.js.map +0 -1
  207. package/esm/simul/SimulModule.js +0 -184
  208. package/esm/simul/SimulModule.js.map +0 -1
  209. package/esm/simul/reference-data/accounts.js +0 -25
  210. package/esm/simul/reference-data/accounts.js.map +0 -1
  211. package/esm/simul/reference-data/algos.js +0 -4
  212. package/esm/simul/reference-data/algos.js.map +0 -1
  213. package/esm/simul/reference-data/currencies.js +0 -4
  214. package/esm/simul/reference-data/currencies.js.map +0 -1
  215. package/esm/simul/reference-data/instruments-extended.js +0 -17
  216. package/esm/simul/reference-data/instruments-extended.js.map +0 -1
  217. package/esm/simul/reference-data/instruments.js +0 -82
  218. package/esm/simul/reference-data/instruments.js.map +0 -1
  219. package/esm/simul/reference-data/isin-generator/convert-string-to-base-ten-number.js +0 -4
  220. package/esm/simul/reference-data/isin-generator/convert-string-to-base-ten-number.js.map +0 -1
  221. package/esm/simul/reference-data/isin-generator/fixtures/alphabet.js +0 -29
  222. package/esm/simul/reference-data/isin-generator/fixtures/alphabet.js.map +0 -1
  223. package/esm/simul/reference-data/isin-generator/fixtures/alphanumeric-values.js +0 -7
  224. package/esm/simul/reference-data/isin-generator/fixtures/alphanumeric-values.js.map +0 -1
  225. package/esm/simul/reference-data/isin-generator/fixtures/base-ten-numbers.js +0 -15
  226. package/esm/simul/reference-data/isin-generator/fixtures/base-ten-numbers.js.map +0 -1
  227. package/esm/simul/reference-data/isin-generator/generate-cusip-check-code.js +0 -22
  228. package/esm/simul/reference-data/isin-generator/generate-cusip-check-code.js.map +0 -1
  229. package/esm/simul/reference-data/isin-generator/generate-cusip-without-check-code.js +0 -11
  230. package/esm/simul/reference-data/isin-generator/generate-cusip-without-check-code.js.map +0 -1
  231. package/esm/simul/reference-data/isin-generator/generate-cusip.js +0 -11
  232. package/esm/simul/reference-data/isin-generator/generate-cusip.js.map +0 -1
  233. package/esm/simul/reference-data/isin-generator/generate-random-alphanumeric.js +0 -6
  234. package/esm/simul/reference-data/isin-generator/generate-random-alphanumeric.js.map +0 -1
  235. package/esm/simul/reference-data/isin-generator/generate-random-base-ten-number.js +0 -4
  236. package/esm/simul/reference-data/isin-generator/generate-random-base-ten-number.js.map +0 -1
  237. package/esm/simul/reference-data/isin-generator/generate-random-string-of-alphanumeric-chars.js +0 -12
  238. package/esm/simul/reference-data/isin-generator/generate-random-string-of-alphanumeric-chars.js.map +0 -1
  239. package/esm/simul/reference-data/isin-generator/generate-random-string-of-base-ten-chars.js +0 -12
  240. package/esm/simul/reference-data/isin-generator/generate-random-string-of-base-ten-chars.js.map +0 -1
  241. package/esm/simul/reference-data/isin-generator/index.js +0 -293
  242. package/esm/simul/reference-data/isin-generator/index.js.map +0 -1
  243. package/esm/simul/reference-data/isin-generator/is-odd.js +0 -4
  244. package/esm/simul/reference-data/isin-generator/is-odd.js.map +0 -1
  245. package/esm/simul/reference-data/locations.js +0 -14
  246. package/esm/simul/reference-data/locations.js.map +0 -1
  247. package/esm/simul/reference-data/lotsizes.js +0 -26
  248. package/esm/simul/reference-data/lotsizes.js.map +0 -1
  249. package/esm/simul/reference-data/orderStatus.js +0 -4
  250. package/esm/simul/reference-data/orderStatus.js.map +0 -1
  251. package/esm/simul/reference-data/orders.js +0 -52
  252. package/esm/simul/reference-data/orders.js.map +0 -1
  253. package/esm/simul/reference-data/parent-child-orders.js +0 -141
  254. package/esm/simul/reference-data/parent-child-orders.js.map +0 -1
  255. package/esm/simul/reference-data/prices.js +0 -88
  256. package/esm/simul/reference-data/prices.js.map +0 -1
  257. package/esm/simul/reference-data/sides.js +0 -4
  258. package/esm/simul/reference-data/sides.js.map +0 -1
  259. package/esm/simul/simul-schemas.js +0 -156
  260. package/esm/simul/simul-schemas.js.map +0 -1
  261. package/esm/test/TestModule.js +0 -253
  262. package/esm/test/TestModule.js.map +0 -1
  263. package/esm/vuu-row-generator.js +0 -68
  264. package/esm/vuu-row-generator.js.map +0 -1
@@ -0,0 +1,582 @@
1
+ import { VuuModule } from "../core/module/VuuModule.mjs";
2
+ import { buildDataColumnMap } from "../Table.mjs";
3
+ import { DefaultColumnGenerator, defaultGenerators } from "../vuu-row-generator.mjs";
4
+ import TableContainer from "../core/table/TableContainer.mjs";
5
+ import { withNanoMs } from "../data-utils.mjs";
6
+ import { toSchemaColumn } from "@vuu-ui/vuu-utils";
7
+ const DEFAULT_RANGE_LIMITS = {
8
+ maxRangeEnd: 1000000,
9
+ maxRangeWidth: 1000
10
+ };
11
+ const { RowGenerator: RowGenerator } = defaultGenerators;
12
+ const generateRows = (tableSchema, count)=>{
13
+ const columnGenerator = RowGenerator(tableSchema.columns.map((c)=>c.name));
14
+ return new Array(count).fill(1).map((_, i)=>columnGenerator(i));
15
+ };
16
+ const testEditColumns = [
17
+ {
18
+ name: "id",
19
+ serverDataType: "string"
20
+ },
21
+ {
22
+ name: "description",
23
+ serverDataType: "string"
24
+ },
25
+ {
26
+ name: "quantity",
27
+ serverDataType: "int"
28
+ },
29
+ {
30
+ name: "price",
31
+ serverDataType: "double"
32
+ },
33
+ {
34
+ name: "enabled",
35
+ serverDataType: "boolean"
36
+ },
37
+ {
38
+ name: "externalId",
39
+ serverDataType: "long"
40
+ }
41
+ ];
42
+ class TestModule extends VuuModule {
43
+ #schemas = {
44
+ TestDates: {
45
+ columns: [
46
+ {
47
+ name: "id",
48
+ serverDataType: "long"
49
+ },
50
+ {
51
+ name: "tradeDate",
52
+ serverDataType: "epochtimestamp"
53
+ },
54
+ {
55
+ name: "settlementDate",
56
+ serverDataType: "epochtimestamp"
57
+ },
58
+ {
59
+ name: "nanoTimestamp",
60
+ serverDataType: "epochtimestampnano"
61
+ }
62
+ ],
63
+ key: "id",
64
+ rangeLimits: DEFAULT_RANGE_LIMITS,
65
+ table: {
66
+ module: "TEST",
67
+ table: "TestDates"
68
+ }
69
+ },
70
+ TwoHundredColumns: {
71
+ columns: DefaultColumnGenerator(200).map((col)=>toSchemaColumn({
72
+ ...col,
73
+ serverDataType: "string"
74
+ })),
75
+ key: "column_1",
76
+ rangeLimits: DEFAULT_RANGE_LIMITS,
77
+ table: {
78
+ module: "TEST",
79
+ table: "TwoHundredColumns"
80
+ }
81
+ },
82
+ LinkParent: {
83
+ columns: [
84
+ {
85
+ name: "id",
86
+ serverDataType: "string"
87
+ },
88
+ {
89
+ name: "data",
90
+ serverDataType: "string"
91
+ }
92
+ ],
93
+ key: "id",
94
+ rangeLimits: DEFAULT_RANGE_LIMITS,
95
+ table: {
96
+ module: "TEST",
97
+ table: "LinkParent"
98
+ }
99
+ },
100
+ LinkChild: {
101
+ columns: [
102
+ {
103
+ name: "id",
104
+ serverDataType: "string"
105
+ },
106
+ {
107
+ name: "parentId",
108
+ serverDataType: "string"
109
+ },
110
+ {
111
+ name: "data",
112
+ serverDataType: "string"
113
+ }
114
+ ],
115
+ key: "id",
116
+ rangeLimits: DEFAULT_RANGE_LIMITS,
117
+ table: {
118
+ module: "TEST",
119
+ table: "LinkChild"
120
+ }
121
+ },
122
+ ChartTable: {
123
+ columns: [
124
+ {
125
+ name: "id",
126
+ serverDataType: "string"
127
+ },
128
+ {
129
+ name: "date",
130
+ serverDataType: "string"
131
+ },
132
+ {
133
+ name: "price",
134
+ serverDataType: "double"
135
+ },
136
+ {
137
+ name: "price_excluded",
138
+ serverDataType: "boolean"
139
+ },
140
+ {
141
+ name: "volume",
142
+ serverDataType: "double"
143
+ },
144
+ {
145
+ name: "volume_excluded",
146
+ serverDataType: "boolean"
147
+ }
148
+ ],
149
+ key: "id",
150
+ rangeLimits: DEFAULT_RANGE_LIMITS,
151
+ table: {
152
+ module: "TEST",
153
+ table: "ChartTable"
154
+ }
155
+ },
156
+ MaxScrollEndTable: {
157
+ columns: DefaultColumnGenerator(6).map((col)=>toSchemaColumn({
158
+ ...col,
159
+ serverDataType: "string"
160
+ })),
161
+ key: "column_1",
162
+ rangeLimits: {
163
+ maxRangeEnd: 500,
164
+ maxRangeWidth: 1000
165
+ },
166
+ table: {
167
+ module: "TEST",
168
+ table: "MaxScrollEndTable"
169
+ }
170
+ },
171
+ TestEditEmpty: {
172
+ columns: testEditColumns,
173
+ key: "id",
174
+ rangeLimits: DEFAULT_RANGE_LIMITS,
175
+ table: {
176
+ module: "TEST",
177
+ table: "TestEditEmpty"
178
+ }
179
+ },
180
+ TestEdit: {
181
+ columns: testEditColumns,
182
+ key: "id",
183
+ rangeLimits: DEFAULT_RANGE_LIMITS,
184
+ table: {
185
+ module: "TEST",
186
+ table: "TestEdit"
187
+ }
188
+ }
189
+ };
190
+ #tables = {
191
+ TestDates: TableContainer.createTable(this.#schemas.TestDates, [
192
+ [
193
+ 1000000000000000001n,
194
+ Date.now(),
195
+ Date.now()
196
+ ],
197
+ [
198
+ 1000000000000000002n,
199
+ Date.now(),
200
+ Date.now()
201
+ ],
202
+ [
203
+ 1000000000000000003n,
204
+ Date.now(),
205
+ Date.now()
206
+ ],
207
+ [
208
+ 1000000000000000004n,
209
+ Date.now(),
210
+ Date.now()
211
+ ],
212
+ [
213
+ 1000000000000000005n,
214
+ Date.now(),
215
+ Date.now()
216
+ ],
217
+ [
218
+ 1000000000000000006n,
219
+ Date.now(),
220
+ Date.now()
221
+ ],
222
+ [
223
+ 1000000000000000007n,
224
+ Date.now(),
225
+ Date.now()
226
+ ],
227
+ [
228
+ 1000000000000000008n,
229
+ Date.now(),
230
+ Date.now()
231
+ ],
232
+ [
233
+ 1000000000000000009n,
234
+ Date.now(),
235
+ Date.now()
236
+ ],
237
+ [
238
+ 1000000000000000010n,
239
+ Date.now(),
240
+ Date.now()
241
+ ]
242
+ ], buildDataColumnMap(this.#schemas, "TestDates")),
243
+ TwoHundredColumns: TableContainer.createTable(this.#schemas.TwoHundredColumns, generateRows(this.#schemas.TwoHundredColumns, 100), buildDataColumnMap(this.#schemas, "TwoHundredColumns")),
244
+ LinkParent: TableContainer.createTable(this.#schemas.LinkParent, [
245
+ [
246
+ "1000000001",
247
+ "data 1"
248
+ ],
249
+ [
250
+ "1000000002",
251
+ "data 2"
252
+ ],
253
+ [
254
+ "1000000003",
255
+ "data 2"
256
+ ]
257
+ ], buildDataColumnMap(this.#schemas, "LinkParent")),
258
+ LinkChild: TableContainer.createTable(this.#schemas.LinkChild, [
259
+ [
260
+ "200001",
261
+ "1000000001",
262
+ "child 1 (linked to 001)"
263
+ ],
264
+ [
265
+ "200002",
266
+ "1000000001",
267
+ "child 2 (linked to 001)"
268
+ ],
269
+ [
270
+ "200003",
271
+ "1000000001",
272
+ "child 3 (linked to 001)"
273
+ ],
274
+ [
275
+ "200004",
276
+ "1000000001",
277
+ "child 4 (linked to 001)"
278
+ ],
279
+ [
280
+ "200005",
281
+ "1000000001",
282
+ "child 5 (linked to 001)"
283
+ ],
284
+ [
285
+ "200006",
286
+ "1000000001",
287
+ "child 6 (linked to 001)"
288
+ ],
289
+ [
290
+ "200007",
291
+ "1000000001",
292
+ "child 7 (linked to 001)"
293
+ ],
294
+ [
295
+ "200008",
296
+ "1000000001",
297
+ "child 8 (linked to 001)"
298
+ ],
299
+ [
300
+ "200009",
301
+ "1000000002",
302
+ "child 9 (linked to 002)"
303
+ ],
304
+ [
305
+ "200010",
306
+ "1000000003",
307
+ "child 10 (linked to 003)"
308
+ ]
309
+ ], buildDataColumnMap(this.#schemas, "LinkChild")),
310
+ ChartTable: TableContainer.createTable(this.#schemas.ChartTable, [
311
+ [
312
+ "001",
313
+ "2026-04-02",
314
+ 100,
315
+ false,
316
+ 1000,
317
+ false
318
+ ],
319
+ [
320
+ "002",
321
+ "2026-04-03",
322
+ 101,
323
+ false,
324
+ 999,
325
+ false
326
+ ],
327
+ [
328
+ "003",
329
+ "2026-04-04",
330
+ 102,
331
+ false,
332
+ 1500,
333
+ false
334
+ ],
335
+ [
336
+ "004",
337
+ "2026-04-05",
338
+ 103,
339
+ false,
340
+ 1300,
341
+ false
342
+ ],
343
+ [
344
+ "005",
345
+ "2026-04-06",
346
+ 104,
347
+ false,
348
+ 1002,
349
+ false
350
+ ],
351
+ [
352
+ "006",
353
+ "2026-04-07",
354
+ 105,
355
+ false,
356
+ 1000,
357
+ true
358
+ ],
359
+ [
360
+ "007",
361
+ "2026-04-08",
362
+ 106,
363
+ false,
364
+ 1004,
365
+ false
366
+ ],
367
+ [
368
+ "008",
369
+ "2026-04-09",
370
+ 107,
371
+ false,
372
+ 1040,
373
+ false
374
+ ],
375
+ [
376
+ "009",
377
+ "2026-04-10",
378
+ 108,
379
+ false,
380
+ 1080,
381
+ false
382
+ ],
383
+ [
384
+ "010",
385
+ "2026-04-11",
386
+ 109,
387
+ false,
388
+ 1100,
389
+ false
390
+ ],
391
+ [
392
+ "011",
393
+ "2026-04-12",
394
+ 109,
395
+ false,
396
+ 1102,
397
+ false
398
+ ],
399
+ [
400
+ "012",
401
+ "2026-04-13",
402
+ 114,
403
+ false,
404
+ 1105,
405
+ false
406
+ ],
407
+ [
408
+ "013",
409
+ "2026-04-14",
410
+ 118,
411
+ false,
412
+ 1106,
413
+ false
414
+ ],
415
+ [
416
+ "014",
417
+ "2026-04-15",
418
+ 125,
419
+ false,
420
+ 1107,
421
+ false
422
+ ],
423
+ [
424
+ "015",
425
+ "2026-04-16",
426
+ 136,
427
+ false,
428
+ 1104,
429
+ false
430
+ ],
431
+ [
432
+ "016",
433
+ "2026-04-17",
434
+ 170,
435
+ false,
436
+ 1103,
437
+ false
438
+ ],
439
+ [
440
+ "017",
441
+ "2026-04-18",
442
+ 145,
443
+ false,
444
+ 1100,
445
+ false
446
+ ],
447
+ [
448
+ "018",
449
+ "2026-04-19",
450
+ 147,
451
+ false,
452
+ 1100,
453
+ false
454
+ ],
455
+ [
456
+ "019",
457
+ "2026-04-20",
458
+ 140,
459
+ false,
460
+ 1100,
461
+ false
462
+ ],
463
+ [
464
+ "020",
465
+ "2026-04-21",
466
+ 138,
467
+ false,
468
+ 1100,
469
+ false
470
+ ],
471
+ [
472
+ "021",
473
+ "2026-04-22",
474
+ 138,
475
+ false,
476
+ 1100,
477
+ false
478
+ ],
479
+ [
480
+ "022",
481
+ "2026-04-23",
482
+ 138,
483
+ false,
484
+ 1100,
485
+ false
486
+ ],
487
+ [
488
+ "023",
489
+ "2026-04-24",
490
+ 120,
491
+ false,
492
+ 1200,
493
+ false
494
+ ],
495
+ [
496
+ "024",
497
+ "2026-04-25",
498
+ 120,
499
+ false,
500
+ 1200,
501
+ false
502
+ ],
503
+ [
504
+ "025",
505
+ "2026-04-26",
506
+ 120,
507
+ false,
508
+ 1350,
509
+ false
510
+ ]
511
+ ], buildDataColumnMap(this.#schemas, "ChartTable")),
512
+ MaxScrollEndTable: TableContainer.createTable(this.#schemas.MaxScrollEndTable, generateRows(this.#schemas.MaxScrollEndTable, 1000), buildDataColumnMap(this.#schemas, "MaxScrollEndTable")),
513
+ TestEditEmpty: TableContainer.createTable(this.#schemas.TestEditEmpty, [], buildDataColumnMap(this.#schemas, "TestEditEmpty")),
514
+ TestEdit: TableContainer.createTable(this.#schemas.TestEdit, [
515
+ [
516
+ "TEST-001",
517
+ "Alpha",
518
+ 12,
519
+ 101.25,
520
+ true,
521
+ Date.now(),
522
+ withNanoMs(Date.now(), 1),
523
+ 1000000000000000001n
524
+ ],
525
+ [
526
+ "TEST-002",
527
+ "Bravo",
528
+ 24,
529
+ 202.5,
530
+ false,
531
+ Date.now(),
532
+ withNanoMs(Date.now(), 2),
533
+ 1000000000000000002n
534
+ ],
535
+ [
536
+ "TEST-003",
537
+ "Charlie",
538
+ 36,
539
+ 303.75,
540
+ true,
541
+ Date.now(),
542
+ withNanoMs(Date.now(), 3),
543
+ 1000000000000000003n
544
+ ],
545
+ [
546
+ "TEST-004",
547
+ "Delta",
548
+ 48,
549
+ 405,
550
+ true,
551
+ Date.now(),
552
+ withNanoMs(Date.now(), 4),
553
+ 1000000000000000004n
554
+ ],
555
+ [
556
+ "TEST-005",
557
+ "Echo",
558
+ 60,
559
+ 506.25,
560
+ false,
561
+ Date.now(),
562
+ withNanoMs(Date.now(), 5),
563
+ 1000000000000000005n
564
+ ]
565
+ ], buildDataColumnMap(this.#schemas, "TestEdit"))
566
+ };
567
+ constructor(){
568
+ super("TEST");
569
+ }
570
+ get menus() {}
571
+ get services() {}
572
+ get menuServices() {}
573
+ get schemas() {
574
+ return this.#schemas;
575
+ }
576
+ get tables() {
577
+ return this.#tables;
578
+ }
579
+ get visualLinks() {}
580
+ }
581
+ const testModule = new TestModule();
582
+ export { testModule };
@@ -0,0 +1 @@
1
+ export * from "./TestModule.mjs";
@@ -0,0 +1,71 @@
1
+ const DefaultRowGenerator = (columns)=>(index)=>[
2
+ `row ${index + 1}`
3
+ ].concat(Array(columns.length).fill(true).map((v, j)=>`value ${j + 1} @ ${index + 1}`));
4
+ const DefaultColumnGenerator = (columns, columnConfig = {})=>{
5
+ if ("number" == typeof columns) return [
6
+ {
7
+ label: "Row Number",
8
+ name: "rownum",
9
+ width: 150
10
+ }
11
+ ].concat(Array(columns).fill(true).map((_, i)=>{
12
+ const name = `column_${i + 1}`;
13
+ const label = `Column ${i + 1}`;
14
+ return {
15
+ label,
16
+ name,
17
+ width: 100,
18
+ ...columnConfig[name]
19
+ };
20
+ }));
21
+ throw Error("DefaultColumnGenerator must be passed columns (number)");
22
+ };
23
+ const defaultGenerators = {
24
+ ColumnGenerator: DefaultColumnGenerator,
25
+ RowGenerator: DefaultRowGenerator
26
+ };
27
+ const getColumnAndRowGenerator = (table)=>{
28
+ const tableName = table?.table ?? "";
29
+ switch(table?.module){
30
+ case "SIMUL":
31
+ {
32
+ const { ColumnGenerator, RowGenerator, createUpdateGenerator } = simulDataGenerators[tableName] ?? defaultGenerators;
33
+ return [
34
+ ColumnGenerator,
35
+ RowGenerator,
36
+ createUpdateGenerator
37
+ ];
38
+ }
39
+ case "BASKET":
40
+ {
41
+ const { ColumnGenerator, RowGenerator, createUpdateGenerator } = basketDataGenerators[tableName] ?? defaultGenerators;
42
+ return [
43
+ ColumnGenerator,
44
+ RowGenerator,
45
+ createUpdateGenerator
46
+ ];
47
+ }
48
+ case void 0:
49
+ {
50
+ const { ColumnGenerator, RowGenerator } = defaultGenerators;
51
+ return [
52
+ ColumnGenerator,
53
+ RowGenerator
54
+ ];
55
+ }
56
+ default:
57
+ throw Error(`vuu-row-gererator table ${table?.table} was requested but no generator is registered`);
58
+ }
59
+ };
60
+ const populateArray = (count, colGen, rowGen, columns)=>{
61
+ const columnDescriptors = colGen(columns);
62
+ const generateRow = rowGen(columnDescriptors.map((col)=>col.name));
63
+ const data = [];
64
+ for(let i = 0; i < count; i++){
65
+ const row = generateRow(i);
66
+ if (row) data[i] = row;
67
+ else break;
68
+ }
69
+ return data;
70
+ };
71
+ export { DefaultColumnGenerator, DefaultRowGenerator, defaultGenerators, getColumnAndRowGenerator, populateArray };