@vuu-ui/vuu-data-test 2.1.19-beta.1 → 2.1.19-beta.3

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 (228) hide show
  1. package/cjs/ArrayProxy.js +72 -0
  2. package/cjs/ArrayProxy.js.map +1 -0
  3. package/cjs/RuntimeVisualLink.js +73 -0
  4. package/cjs/RuntimeVisualLink.js.map +1 -0
  5. package/cjs/SessionTable.js +98 -0
  6. package/cjs/SessionTable.js.map +1 -0
  7. package/cjs/Table.js +128 -0
  8. package/cjs/Table.js.map +1 -0
  9. package/cjs/TickingArrayDataSource.js +397 -0
  10. package/cjs/TickingArrayDataSource.js.map +1 -0
  11. package/cjs/UpdateGenerator.js +94 -0
  12. package/cjs/UpdateGenerator.js.map +1 -0
  13. package/cjs/basket/BasketModule.js +282 -0
  14. package/cjs/basket/BasketModule.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/sp500.js +46 -0
  26. package/cjs/basket/reference-data/sp500.js.map +1 -0
  27. package/cjs/core/module/ModuleContainer.js +43 -0
  28. package/cjs/core/module/ModuleContainer.js.map +1 -0
  29. package/cjs/core/module/VuuModule.js +764 -0
  30. package/cjs/core/module/VuuModule.js.map +1 -0
  31. package/cjs/core/table/TableContainer.js +139 -0
  32. package/cjs/core/table/TableContainer.js.map +1 -0
  33. package/cjs/data-utils.js +55 -0
  34. package/cjs/data-utils.js.map +1 -0
  35. package/cjs/default-column-definitions.js +10 -0
  36. package/cjs/default-column-definitions.js.map +1 -0
  37. package/cjs/index.js +46 -0
  38. package/cjs/index.js.map +1 -0
  39. package/cjs/local-datasource-provider/LocalDatasourceProvider.js +70 -0
  40. package/cjs/local-datasource-provider/LocalDatasourceProvider.js.map +1 -0
  41. package/cjs/makeSuggestions.js +26 -0
  42. package/cjs/makeSuggestions.js.map +1 -0
  43. package/cjs/schemas.js +28 -0
  44. package/cjs/schemas.js.map +1 -0
  45. package/cjs/session-table-utils.js +12 -0
  46. package/cjs/session-table-utils.js.map +1 -0
  47. package/cjs/simul/SimulModule.js +187 -0
  48. package/cjs/simul/SimulModule.js.map +1 -0
  49. package/cjs/simul/reference-data/accounts.js +27 -0
  50. package/cjs/simul/reference-data/accounts.js.map +1 -0
  51. package/cjs/simul/reference-data/algos.js +6 -0
  52. package/cjs/simul/reference-data/algos.js.map +1 -0
  53. package/cjs/simul/reference-data/currencies.js +6 -0
  54. package/cjs/simul/reference-data/currencies.js.map +1 -0
  55. package/cjs/simul/reference-data/instruments-extended.js +19 -0
  56. package/cjs/simul/reference-data/instruments-extended.js.map +1 -0
  57. package/cjs/simul/reference-data/instruments.js +87 -0
  58. package/cjs/simul/reference-data/instruments.js.map +1 -0
  59. package/cjs/simul/reference-data/isin-generator/convert-string-to-base-ten-number.js +6 -0
  60. package/cjs/simul/reference-data/isin-generator/convert-string-to-base-ten-number.js.map +1 -0
  61. package/cjs/simul/reference-data/isin-generator/fixtures/alphabet.js +31 -0
  62. package/cjs/simul/reference-data/isin-generator/fixtures/alphabet.js.map +1 -0
  63. package/cjs/simul/reference-data/isin-generator/fixtures/alphanumeric-values.js +9 -0
  64. package/cjs/simul/reference-data/isin-generator/fixtures/alphanumeric-values.js.map +1 -0
  65. package/cjs/simul/reference-data/isin-generator/fixtures/base-ten-numbers.js +17 -0
  66. package/cjs/simul/reference-data/isin-generator/fixtures/base-ten-numbers.js.map +1 -0
  67. package/cjs/simul/reference-data/isin-generator/generate-cusip-check-code.js +24 -0
  68. package/cjs/simul/reference-data/isin-generator/generate-cusip-check-code.js.map +1 -0
  69. package/cjs/simul/reference-data/isin-generator/generate-cusip-without-check-code.js +13 -0
  70. package/cjs/simul/reference-data/isin-generator/generate-cusip-without-check-code.js.map +1 -0
  71. package/cjs/simul/reference-data/isin-generator/generate-cusip.js +13 -0
  72. package/cjs/simul/reference-data/isin-generator/generate-cusip.js.map +1 -0
  73. package/cjs/simul/reference-data/isin-generator/generate-random-alphanumeric.js +8 -0
  74. package/cjs/simul/reference-data/isin-generator/generate-random-alphanumeric.js.map +1 -0
  75. package/cjs/simul/reference-data/isin-generator/generate-random-base-ten-number.js +6 -0
  76. package/cjs/simul/reference-data/isin-generator/generate-random-base-ten-number.js.map +1 -0
  77. package/cjs/simul/reference-data/isin-generator/generate-random-string-of-alphanumeric-chars.js +14 -0
  78. package/cjs/simul/reference-data/isin-generator/generate-random-string-of-alphanumeric-chars.js.map +1 -0
  79. package/cjs/simul/reference-data/isin-generator/generate-random-string-of-base-ten-chars.js +14 -0
  80. package/cjs/simul/reference-data/isin-generator/generate-random-string-of-base-ten-chars.js.map +1 -0
  81. package/cjs/simul/reference-data/isin-generator/index.js +295 -0
  82. package/cjs/simul/reference-data/isin-generator/index.js.map +1 -0
  83. package/cjs/simul/reference-data/isin-generator/is-odd.js +6 -0
  84. package/cjs/simul/reference-data/isin-generator/is-odd.js.map +1 -0
  85. package/cjs/simul/reference-data/locations.js +17 -0
  86. package/cjs/simul/reference-data/locations.js.map +1 -0
  87. package/cjs/simul/reference-data/lotsizes.js +28 -0
  88. package/cjs/simul/reference-data/lotsizes.js.map +1 -0
  89. package/cjs/simul/reference-data/orderStatus.js +6 -0
  90. package/cjs/simul/reference-data/orderStatus.js.map +1 -0
  91. package/cjs/simul/reference-data/orders.js +55 -0
  92. package/cjs/simul/reference-data/orders.js.map +1 -0
  93. package/cjs/simul/reference-data/parent-child-orders.js +146 -0
  94. package/cjs/simul/reference-data/parent-child-orders.js.map +1 -0
  95. package/cjs/simul/reference-data/prices.js +91 -0
  96. package/cjs/simul/reference-data/prices.js.map +1 -0
  97. package/cjs/simul/reference-data/sides.js +6 -0
  98. package/cjs/simul/reference-data/sides.js.map +1 -0
  99. package/cjs/simul/simul-schemas.js +148 -0
  100. package/cjs/simul/simul-schemas.js.map +1 -0
  101. package/cjs/test/TestModule.js +190 -0
  102. package/cjs/test/TestModule.js.map +1 -0
  103. package/cjs/vuu-row-generator.js +74 -0
  104. package/cjs/vuu-row-generator.js.map +1 -0
  105. package/esm/ArrayProxy.js +70 -0
  106. package/esm/ArrayProxy.js.map +1 -0
  107. package/esm/RuntimeVisualLink.js +71 -0
  108. package/esm/RuntimeVisualLink.js.map +1 -0
  109. package/esm/SessionTable.js +95 -0
  110. package/esm/SessionTable.js.map +1 -0
  111. package/esm/Table.js +124 -0
  112. package/esm/Table.js.map +1 -0
  113. package/esm/TickingArrayDataSource.js +395 -0
  114. package/esm/TickingArrayDataSource.js.map +1 -0
  115. package/esm/UpdateGenerator.js +92 -0
  116. package/esm/UpdateGenerator.js.map +1 -0
  117. package/esm/basket/BasketModule.js +278 -0
  118. package/esm/basket/BasketModule.js.map +1 -0
  119. package/esm/basket/basket-schemas.js +120 -0
  120. package/esm/basket/basket-schemas.js.map +1 -0
  121. package/esm/basket/reference-data/constituents.js +38 -0
  122. package/esm/basket/reference-data/constituents.js.map +1 -0
  123. package/esm/basket/reference-data/ftse100.js +103 -0
  124. package/esm/basket/reference-data/ftse100.js.map +1 -0
  125. package/esm/basket/reference-data/hsi.js +85 -0
  126. package/esm/basket/reference-data/hsi.js.map +1 -0
  127. package/esm/basket/reference-data/nasdaq100.js +106 -0
  128. package/esm/basket/reference-data/nasdaq100.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/core/module/ModuleContainer.js +41 -0
  132. package/esm/core/module/ModuleContainer.js.map +1 -0
  133. package/esm/core/module/VuuModule.js +762 -0
  134. package/esm/core/module/VuuModule.js.map +1 -0
  135. package/esm/core/table/TableContainer.js +137 -0
  136. package/esm/core/table/TableContainer.js.map +1 -0
  137. package/esm/data-utils.js +50 -0
  138. package/esm/data-utils.js.map +1 -0
  139. package/esm/default-column-definitions.js +8 -0
  140. package/esm/default-column-definitions.js.map +1 -0
  141. package/esm/index.js +16 -0
  142. package/esm/index.js.map +1 -0
  143. package/esm/local-datasource-provider/LocalDatasourceProvider.js +68 -0
  144. package/esm/local-datasource-provider/LocalDatasourceProvider.js.map +1 -0
  145. package/esm/makeSuggestions.js +24 -0
  146. package/esm/makeSuggestions.js.map +1 -0
  147. package/esm/schemas.js +24 -0
  148. package/esm/schemas.js.map +1 -0
  149. package/esm/session-table-utils.js +10 -0
  150. package/esm/session-table-utils.js.map +1 -0
  151. package/esm/simul/SimulModule.js +184 -0
  152. package/esm/simul/SimulModule.js.map +1 -0
  153. package/esm/simul/reference-data/accounts.js +25 -0
  154. package/esm/simul/reference-data/accounts.js.map +1 -0
  155. package/esm/simul/reference-data/algos.js +4 -0
  156. package/esm/simul/reference-data/algos.js.map +1 -0
  157. package/esm/simul/reference-data/currencies.js +4 -0
  158. package/esm/simul/reference-data/currencies.js.map +1 -0
  159. package/esm/simul/reference-data/instruments-extended.js +17 -0
  160. package/esm/simul/reference-data/instruments-extended.js.map +1 -0
  161. package/esm/simul/reference-data/instruments.js +82 -0
  162. package/esm/simul/reference-data/instruments.js.map +1 -0
  163. package/esm/simul/reference-data/isin-generator/convert-string-to-base-ten-number.js +4 -0
  164. package/esm/simul/reference-data/isin-generator/convert-string-to-base-ten-number.js.map +1 -0
  165. package/esm/simul/reference-data/isin-generator/fixtures/alphabet.js +29 -0
  166. package/esm/simul/reference-data/isin-generator/fixtures/alphabet.js.map +1 -0
  167. package/esm/simul/reference-data/isin-generator/fixtures/alphanumeric-values.js +7 -0
  168. package/esm/simul/reference-data/isin-generator/fixtures/alphanumeric-values.js.map +1 -0
  169. package/esm/simul/reference-data/isin-generator/fixtures/base-ten-numbers.js +15 -0
  170. package/esm/simul/reference-data/isin-generator/fixtures/base-ten-numbers.js.map +1 -0
  171. package/esm/simul/reference-data/isin-generator/generate-cusip-check-code.js +22 -0
  172. package/esm/simul/reference-data/isin-generator/generate-cusip-check-code.js.map +1 -0
  173. package/esm/simul/reference-data/isin-generator/generate-cusip-without-check-code.js +11 -0
  174. package/esm/simul/reference-data/isin-generator/generate-cusip-without-check-code.js.map +1 -0
  175. package/esm/simul/reference-data/isin-generator/generate-cusip.js +11 -0
  176. package/esm/simul/reference-data/isin-generator/generate-cusip.js.map +1 -0
  177. package/esm/simul/reference-data/isin-generator/generate-random-alphanumeric.js +6 -0
  178. package/esm/simul/reference-data/isin-generator/generate-random-alphanumeric.js.map +1 -0
  179. package/esm/simul/reference-data/isin-generator/generate-random-base-ten-number.js +4 -0
  180. package/esm/simul/reference-data/isin-generator/generate-random-base-ten-number.js.map +1 -0
  181. package/esm/simul/reference-data/isin-generator/generate-random-string-of-alphanumeric-chars.js +12 -0
  182. package/esm/simul/reference-data/isin-generator/generate-random-string-of-alphanumeric-chars.js.map +1 -0
  183. package/esm/simul/reference-data/isin-generator/generate-random-string-of-base-ten-chars.js +12 -0
  184. package/esm/simul/reference-data/isin-generator/generate-random-string-of-base-ten-chars.js.map +1 -0
  185. package/esm/simul/reference-data/isin-generator/index.js +293 -0
  186. package/esm/simul/reference-data/isin-generator/index.js.map +1 -0
  187. package/esm/simul/reference-data/isin-generator/is-odd.js +4 -0
  188. package/esm/simul/reference-data/isin-generator/is-odd.js.map +1 -0
  189. package/esm/simul/reference-data/locations.js +14 -0
  190. package/esm/simul/reference-data/locations.js.map +1 -0
  191. package/esm/simul/reference-data/lotsizes.js +26 -0
  192. package/esm/simul/reference-data/lotsizes.js.map +1 -0
  193. package/esm/simul/reference-data/orderStatus.js +4 -0
  194. package/esm/simul/reference-data/orderStatus.js.map +1 -0
  195. package/esm/simul/reference-data/orders.js +52 -0
  196. package/esm/simul/reference-data/orders.js.map +1 -0
  197. package/esm/simul/reference-data/parent-child-orders.js +141 -0
  198. package/esm/simul/reference-data/parent-child-orders.js.map +1 -0
  199. package/esm/simul/reference-data/prices.js +88 -0
  200. package/esm/simul/reference-data/prices.js.map +1 -0
  201. package/esm/simul/reference-data/sides.js +4 -0
  202. package/esm/simul/reference-data/sides.js.map +1 -0
  203. package/esm/simul/simul-schemas.js +145 -0
  204. package/esm/simul/simul-schemas.js.map +1 -0
  205. package/esm/test/TestModule.js +188 -0
  206. package/esm/test/TestModule.js.map +1 -0
  207. package/esm/vuu-row-generator.js +68 -0
  208. package/esm/vuu-row-generator.js.map +1 -0
  209. package/package.json +11 -9
  210. package/types/RuntimeVisualLink.d.ts +2 -2
  211. package/types/Table.d.ts +8 -8
  212. package/types/TickingArrayDataSource.d.ts +25 -6
  213. package/types/basket/BasketModule.d.ts +9 -9
  214. package/types/basket/reference-data/prices.d.ts +1 -1
  215. package/types/core/module/VuuModule.d.ts +13 -6
  216. package/types/core/table/TableContainer.d.ts +1 -1
  217. package/types/data-utils.d.ts +1 -0
  218. package/types/default-column-definitions.d.ts +2 -0
  219. package/types/makeSuggestions.d.ts +2 -1
  220. package/types/schemas.d.ts +1 -1
  221. package/types/simul/reference-data/instruments-extended.d.ts +1 -1
  222. package/types/simul/reference-data/instruments.d.ts +4 -2
  223. package/types/simul/reference-data/orders.d.ts +1 -1
  224. package/types/simul/reference-data/parent-child-orders.d.ts +2 -2
  225. package/types/simul/reference-data/prices.d.ts +4 -2
  226. package/types/test/TestModule.d.ts +3 -2
  227. package/types/test/index.d.ts +0 -1
  228. package/types/test/test-schemas.d.ts +0 -3
package/types/Table.d.ts CHANGED
@@ -4,22 +4,22 @@ import { ColumnMap, EventEmitter } from "@vuu-ui/vuu-utils";
4
4
  import { UpdateGenerator } from "./rowUpdates";
5
5
  export type TableEvents = {
6
6
  delete: (key: string) => void;
7
- insert: (row: VuuRowDataItemType[]) => void;
8
- update: (row: VuuRowDataItemType[], columnName?: string, sessionId?: string) => void;
7
+ insert: (row: Array<bigint | VuuRowDataItemType>) => void;
8
+ update: (row: Array<bigint | VuuRowDataItemType>, columnName?: string, sessionId?: string) => void;
9
9
  };
10
10
  export declare class Table extends EventEmitter<TableEvents> {
11
11
  #private;
12
- constructor(schema: TableSchema, data: VuuRowDataItemType[][], dataMap: ColumnMap, updateGenerator?: UpdateGenerator);
12
+ constructor(schema: TableSchema, data: Array<Array<VuuRowDataItemType | bigint>>, dataMap: ColumnMap, updateGenerator?: UpdateGenerator);
13
13
  private buildIndex;
14
- get data(): VuuRowDataItemType[][];
14
+ get data(): (bigint | VuuRowDataItemType)[][];
15
15
  get map(): ColumnMap;
16
16
  get schema(): TableSchema;
17
17
  get name(): string;
18
18
  delete(key: string, emitEvent?: boolean): void;
19
- insert(row: VuuRowDataItemType[], emitEvent?: boolean): void;
20
- findByKey(key: string): VuuRowDataItemType[];
21
- update(key: string, columnName: string, value: VuuRowDataItemType): void;
22
- updateRow(row: VuuRowDataItemType[]): void;
19
+ insert(row: Array<bigint | VuuRowDataItemType>, emitEvent?: boolean): void;
20
+ findByKey(key: string): (bigint | VuuRowDataItemType)[];
21
+ update(key: string, columnName: string, value: bigint | VuuRowDataItemType): void;
22
+ updateRow(row: Array<bigint | VuuRowDataItemType>): void;
23
23
  }
24
24
  export declare function buildDataColumnMapFromSchema(schema: Readonly<TableSchema>): ColumnMap;
25
25
  /**
@@ -1,6 +1,6 @@
1
1
  import { ArrayDataSource, ArrayDataSourceConstructorProps } from "@vuu-ui/vuu-data-local";
2
- import type { DataSource, DataSourceCallbackMessage, DataSourceSubscribeCallback, DataSourceSubscribeProps, DataSourceVisualLinkCreatedMessage, EditSessionMode } from "@vuu-ui/vuu-data-types";
3
- import type { LinkDescriptorWithLabel, RpcResultError, RpcResultSuccess, VuuCreateVisualLink, VuuMenu, VuuRemoveVisualLink, VuuRowDataItemType, VuuRpcMenuRequest, VuuRpcMenuResponse, VuuRpcServiceRequest, VuuTable } from "@vuu-ui/vuu-protocol-types";
2
+ import type { DataSourceBase, DataSourceCallbackMessage, DataSourceRowWithBigint, DataSourceSubscribeCallback, DataSourceSubscribeProps, DataSourceVisualLinkCreatedMessage, DeleteRowMode, EditSessionMode } from "@vuu-ui/vuu-data-types";
3
+ import type { LinkDescriptorWithLabel, RpcResultError, RpcResultSuccess, SelectRequest, VuuCreateVisualLink, VuuMenu, VuuRemoveVisualLink, VuuRowDataItemType, VuuRpcMenuRequest, VuuRpcMenuResponse, VuuRpcServiceRequest, VuuTable } from "@vuu-ui/vuu-protocol-types";
4
4
  import { Range } from "@vuu-ui/vuu-utils";
5
5
  import { IVuuModule, RpcMenuService, RpcService, SessionTableMap } from "./core/module/VuuModule";
6
6
  import { Table } from "./Table";
@@ -19,7 +19,7 @@ export interface TickingArrayDataSourceConstructorProps extends Omit<ArrayDataSo
19
19
  export declare class TickingArrayDataSource extends ArrayDataSource {
20
20
  #private;
21
21
  constructor({ data, getVisualLinks, rpcServices, rpcMenuServices, sessionTables, table, menu, visualLink, visualLinkService, vuuModule, ...arrayDataSourceProps }: TickingArrayDataSourceConstructorProps);
22
- updateRowWithSessionCheck: (row: VuuRowDataItemType[], columnName?: string, sessionId?: string) => void;
22
+ updateRowWithSessionCheck: (row: Array<bigint | VuuRowDataItemType>, columnName?: string, sessionId?: string) => void;
23
23
  subscribe(subscribeProps: DataSourceSubscribeProps, callback: DataSourceSubscribeCallback): Promise<void>;
24
24
  unsubscribe(): void;
25
25
  set range(range: Range);
@@ -27,10 +27,29 @@ export declare class TickingArrayDataSource extends ArrayDataSource {
27
27
  set links(links: LinkDescriptorWithLabel[] | undefined);
28
28
  get links(): LinkDescriptorWithLabel[] | undefined;
29
29
  getSelectedRowIds(): string[];
30
+ /**
31
+ * Suppress row flushes from the source datasource while a session is active.
32
+ *
33
+ * `updateRowWithSessionCheck` already blocks individual row updates arriving
34
+ * via the table's "update" event. However, `sendRowsToClient` can also be
35
+ * reached through other paths that bypass that handler:
36
+ * - `setRange` (user scrolls the viewport)
37
+ * - config changes (filter / sort / group-by)
38
+ * - row inserts into the backing table
39
+ *
40
+ * Without this guard those paths would push source-table rows to the
41
+ * client and overwrite the edited session view.
42
+ */
43
+ sendRowsToClient(forceFullRefresh?: boolean, row?: DataSourceRowWithBigint): void;
44
+ select(selectRequest: Omit<SelectRequest, "vpId">): void;
30
45
  handleSessionMessage: (msg: DataSourceCallbackMessage) => void;
31
- createSessionDataSource(sessionTable: VuuTable): DataSource;
32
- beginEditSession(editSessionMode?: EditSessionMode): Promise<DataSource | undefined>;
33
- editCell(key: string, column: string, data: VuuRowDataItemType): Promise<RpcResultError | RpcResultSuccess | undefined>;
46
+ createSessionDataSource(sessionTable: VuuTable): DataSourceBase<DataSourceRowWithBigint>;
47
+ beginEditSession(editSessionMode?: EditSessionMode): Promise<DataSourceBase<DataSourceRowWithBigint> | undefined>;
48
+ editCell(key: string, column: string, data: VuuRowDataItemType): Promise<RpcResultSuccess | RpcResultError | undefined>;
49
+ addRow: (rowData?: Record<string, VuuRowDataItemType>) => Promise<true | string>;
50
+ deleteRow: (key: string, mode?: DeleteRowMode) => Promise<true | string>;
51
+ deleteSelectedRows: (mode?: DeleteRowMode) => Promise<RpcResultSuccess | RpcResultError>;
52
+ undoRowChange: (key: string) => Promise<RpcResultSuccess | RpcResultError>;
34
53
  endEditSession(saveChanges?: boolean): Promise<void>;
35
54
  rpcRequest(rpcRequest: Omit<VuuRpcServiceRequest, "context">): Promise<RpcResultSuccess | RpcResultError>;
36
55
  menuRpcCall(rpcRequest: Omit<VuuRpcMenuRequest, "vpId">): Promise<VuuRpcMenuResponse>;
@@ -14,10 +14,6 @@ export declare class BasketModule extends VuuModule<BasketsTableName> {
14
14
  get menus(): Record<BasketsTableName, VuuMenu | undefined>;
15
15
  get schemas(): Readonly<Record<BasketsTableName, Readonly<import("@vuu-ui/vuu-data-types").TableSchema>>>;
16
16
  get services(): {
17
- algoType: undefined;
18
- basketTradingConstituent: undefined;
19
- basketConstituent: undefined;
20
- priceStrategyType: undefined;
21
17
  basket: {
22
18
  rpcName: string;
23
19
  service: ServiceHandler;
@@ -30,21 +26,25 @@ export declare class BasketModule extends VuuModule<BasketsTableName> {
30
26
  rpcName: string;
31
27
  service: ServiceHandler;
32
28
  }[];
29
+ algoType: undefined;
30
+ basketTradingConstituent: undefined;
31
+ basketConstituent: undefined;
32
+ priceStrategyType: undefined;
33
33
  };
34
34
  get menuServices(): Record<BasketsTableName, RpcMenuService[] | undefined> | undefined;
35
35
  get tables(): Record<BasketsTableName, Table>;
36
36
  get visualLinks(): {
37
+ basketConstituent: {
38
+ fromColumn: string;
39
+ toColumn: string;
40
+ toTable: string;
41
+ }[];
37
42
  algoType: undefined;
38
43
  basket: undefined;
39
44
  basketTrading: undefined;
40
45
  basketTradingConstituent: undefined;
41
46
  basketTradingConstituentJoin: undefined;
42
47
  priceStrategyType: undefined;
43
- basketConstituent: {
44
- fromColumn: string;
45
- toColumn: string;
46
- toTable: string;
47
- }[];
48
48
  };
49
49
  private createTradingBasket;
50
50
  private createNewBasket;
@@ -20,5 +20,5 @@ export type PricesDataRow = [
20
20
  ric,
21
21
  scenario
22
22
  ];
23
- declare const pricesTable: import("../..").Table;
23
+ declare const pricesTable: import("../../Table").Table;
24
24
  export default pricesTable;
@@ -1,10 +1,10 @@
1
- import { DataSource, DataSourceConfig, DataSourceSubscribedMessage, DataSourceVisualLinkCreatedMessage, EditSessionMode, TableSchema } from "@vuu-ui/vuu-data-types";
1
+ import { DataSourceBase, DataSourceConfig, DataSourceRowWithBigint, DataSourceSubscribedMessage, DataSourceVisualLinkCreatedMessage, EditSessionMode, TableSchema } from "@vuu-ui/vuu-data-types";
2
2
  import { VuuMenu, VuuLink, LinkDescriptorWithLabel, VuuRpcMenuResponse, VuuCreateVisualLink, VuuRemoveVisualLink, VuuRpcServiceRequest, RpcResultSuccess, RpcResultError, VuuRpcMenuRequest } from "@vuu-ui/vuu-protocol-types";
3
3
  import { Table } from "../../Table";
4
4
  import { SessionTable } from "../../SessionTable";
5
5
  import { TickingArrayDataSource } from "../../TickingArrayDataSource";
6
6
  export interface IVuuModule<T extends string = string> {
7
- createDataSource: (tableName: T, viewport?: string, config?: DataSourceConfig) => DataSource;
7
+ createDataSource: (tableName: T, viewport?: string, config?: DataSourceConfig) => DataSourceBase<DataSourceRowWithBigint>;
8
8
  }
9
9
  export type SessionTableMap = Record<string, SessionTable | Table>;
10
10
  export type ServiceHandler = (rpcRequest: VuuRpcServiceRequest) => Promise<RpcResultSuccess | RpcResultError>;
@@ -17,14 +17,19 @@ export type RpcMenuService = {
17
17
  rpcName: string;
18
18
  service: MenuServiceHandler;
19
19
  };
20
+ export type VuuModuleOptions = {
21
+ /** Column written by session services (deleteRow, endEditSession) to report row-level status.
22
+ * Defaults to `"vuuMsg"` which matches the column added by `sessionTableSchema`. */
23
+ sessionTableMessageColumn?: string;
24
+ };
20
25
  type Subscription = {
21
26
  viewportId: string;
22
- dataSource: DataSource;
27
+ dataSource: DataSourceBase<DataSourceRowWithBigint>;
23
28
  sessionTableName?: string;
24
29
  };
25
30
  export declare abstract class VuuModule<T extends string = string> implements IVuuModule<T> {
26
31
  #private;
27
- constructor(name: string);
32
+ constructor(name: string, { sessionTableMessageColumn }?: VuuModuleOptions);
28
33
  protected abstract menus?: Record<T, VuuMenu | undefined> | undefined;
29
34
  protected abstract schemas: Record<T, Readonly<TableSchema>>;
30
35
  protected abstract tables: Record<T, Table>;
@@ -37,11 +42,11 @@ export declare abstract class VuuModule<T extends string = string> implements IV
37
42
  protected unregisterViewport: (viewportId: string) => void;
38
43
  get name(): string;
39
44
  getSubscriptionByViewport(viewportId: string): Subscription;
40
- getSubscribedDataSource(vpId: string): DataSource;
45
+ getSubscribedDataSource(vpId: string): DataSourceBase<DataSourceRowWithBigint>;
41
46
  getLinks: (subscriptionMap: Map<string, Subscription[]>, vuuLinks: VuuLink[]) => LinkDescriptorWithLabel[];
42
47
  visualLinkService: (message: VuuCreateVisualLink | VuuRemoveVisualLink) => Promise<DataSourceVisualLinkCreatedMessage | void>;
43
48
  getVisualLinks: (tableName: string) => LinkDescriptorWithLabel[] | undefined;
44
- createDataSource: (tableName: T, viewport?: string, config?: DataSourceConfig) => DataSource;
49
+ createDataSource: (tableName: T, viewport?: string, config?: DataSourceConfig) => DataSourceBase<DataSourceRowWithBigint>;
45
50
  getServices(tableName: T): RpcService[];
46
51
  getMenuServices(tableName: T): RpcMenuService[];
47
52
  protected get sessionTableMap(): SessionTableMap;
@@ -49,6 +54,8 @@ export declare abstract class VuuModule<T extends string = string> implements IV
49
54
  protected getSessionTable(sessionTableName: string, throwIfNotFound: true): SessionTable;
50
55
  protected getSessionTable(sessionTableName: string, throwIfNotFound: false): SessionTable | undefined;
51
56
  protected deleteRow: ServiceHandler;
57
+ private deleteSelectedRows;
58
+ private undoRowChange;
52
59
  private getColumnDescriptors;
53
60
  private editCell;
54
61
  private beginEditSessionMenuHandler;
@@ -7,7 +7,7 @@ declare class TableContainer {
7
7
  #private;
8
8
  private constructor();
9
9
  static get instance(): TableContainer;
10
- createTable: (schema: TableSchema, data: VuuRowDataItemType[][], dataMap: ColumnMap, updateGenerator?: UpdateGenerator) => Table;
10
+ createTable: (schema: TableSchema, data: Array<Array<VuuRowDataItemType | bigint>>, dataMap: ColumnMap, updateGenerator?: UpdateGenerator) => Table;
11
11
  createJoinTable(joinTable: VuuTable, { table: t1 }: VuuTable, { table: t2 }: VuuTable, joinColumn: string): Table;
12
12
  addTable(table: Table): void;
13
13
  getTable<T = Table>(tableName: string): NonNullable<T>;
@@ -4,3 +4,4 @@ export type PriceGenerator = (min: number, max: number) => number;
4
4
  export declare const nextRandomDouble: PriceGenerator;
5
5
  export declare const initBidAsk: (priceMaxDelta: number, nextRandomDouble: PriceGenerator) => number[];
6
6
  export declare const generateNextBidAsk: (bid: number, ask: number, spreadMultipler: number, priceMaxDelta: number, nextRandomDouble: PriceGenerator) => number[];
7
+ export declare const withNanoMs: (ts: number, nanos?: number) => bigint;
@@ -0,0 +1,2 @@
1
+ import { SchemaColumn } from "@vuu-ui/vuu-data-types";
2
+ export declare const VUU_DEFAULT_COLUMNS: SchemaColumn[];
@@ -1,2 +1,3 @@
1
1
  import { DataSourceRow } from "@vuu-ui/vuu-data-types";
2
- export declare const makeSuggestions: (data: DataSourceRow[], columnIndex: number, pattern?: string) => Promise<string[]>;
2
+ import { VuuRowDataItemType } from "@vuu-ui/vuu-protocol-types";
3
+ export declare const makeSuggestions: (data: DataSourceRow<bigint | VuuRowDataItemType>[], columnIndex: number, pattern?: string) => Promise<string[]>;
@@ -1,7 +1,7 @@
1
1
  import { TableSchema } from "@vuu-ui/vuu-data-types";
2
2
  import { type BasketsTableName } from "./basket/basket-schemas";
3
3
  import { type SimulTableName } from "./simul/simul-schemas";
4
- import { type TestTableName } from "./test/test-schemas";
4
+ import { TestTableName } from "./test/TestModule";
5
5
  export type VuuTableName = BasketsTableName | SimulTableName | TestTableName;
6
6
  export declare const schemas: Record<VuuTableName, TableSchema>;
7
7
  export declare const getAllSchemas: () => Record<VuuTableName, TableSchema>;
@@ -1 +1 @@
1
- export declare const instrumentsExtendedTable: import("../..").Table;
1
+ export declare const instrumentsExtendedTable: import("../../Table").Table;
@@ -14,7 +14,8 @@ export type InstrumentsDataRow = [
14
14
  number,
15
15
  ric,
16
16
  date,
17
- date
17
+ date,
18
+ string
18
19
  ];
19
20
  export declare const InstrumentColumnMap: {
20
21
  readonly bbg: 0;
@@ -26,8 +27,9 @@ export declare const InstrumentColumnMap: {
26
27
  readonly ric: 6;
27
28
  readonly vuuCreatedTimestamp: 7;
28
29
  readonly vuuUpdatedTimestamp: 8;
30
+ readonly vuuMsg: 9;
29
31
  };
30
32
  declare const instrumentsData: InstrumentsDataRow[];
31
33
  export declare const getRic: (defaultRic: string) => string;
32
- export declare const instrumentsTable: import("../..").Table;
34
+ export declare const instrumentsTable: import("../../Table").Table;
33
35
  export { instrumentsData };
@@ -32,5 +32,5 @@ export declare const OrderColumnMap: {
32
32
  readonly trader: 8;
33
33
  };
34
34
  declare const ordersData: OrdersDataRow[];
35
- export declare const ordersTable: import("../..").Table;
35
+ export declare const ordersTable: import("../../Table").Table;
36
36
  export { ordersData };
@@ -1,4 +1,4 @@
1
- export declare const parentOrdersTable: import("../..").Table;
2
- export declare const childOrdersTable: import("../..").Table;
1
+ export declare const parentOrdersTable: import("../../Table").Table;
2
+ export declare const childOrdersTable: import("../../Table").Table;
3
3
  export declare function startGeneratingNewOrders(): void;
4
4
  export declare function stopGeneratingNewOrders(): void;
@@ -10,6 +10,7 @@ type ric = string;
10
10
  type scenario = "close";
11
11
  type lastUpdate = number;
12
12
  type created = number;
13
+ type vuuMsg = string;
13
14
  export type PricesDataRow = [
14
15
  ask,
15
16
  askSize,
@@ -22,11 +23,12 @@ export type PricesDataRow = [
22
23
  ric,
23
24
  scenario,
24
25
  lastUpdate,
25
- created
26
+ created,
27
+ vuuMsg
26
28
  ];
27
29
  declare const bid: number, bidSize: number, ask: number, askSize: number;
28
30
  declare const lastUpdate: number;
29
31
  declare const created: number;
30
32
  declare const pricesData: Array<PricesDataRow>;
31
- export declare const pricesTable: import("../..").Table;
33
+ export declare const pricesTable: import("../../Table").Table;
32
34
  export { pricesData };
@@ -1,13 +1,14 @@
1
1
  import { RpcMenuService, VuuModule } from "../core/module/VuuModule";
2
2
  import { Table } from "../Table";
3
- import { TestTableName } from "./test-schemas";
3
+ import { TableSchema } from "@vuu-ui/vuu-data-types";
4
+ export type TestTableName = "TestDates" | "TwoHundredColumns" | "LinkParent" | "LinkChild" | "ChartTable";
4
5
  declare class TestModule extends VuuModule<TestTableName> {
5
6
  #private;
6
7
  constructor();
7
8
  get menus(): undefined;
8
9
  get services(): undefined;
9
10
  get menuServices(): Record<TestTableName, RpcMenuService[] | undefined> | undefined;
10
- get schemas(): Readonly<Record<TestTableName, Readonly<import("@vuu-ui/vuu-data-types").TableSchema>>>;
11
+ get schemas(): Record<TestTableName, TableSchema>;
11
12
  get tables(): Record<TestTableName, Table>;
12
13
  get visualLinks(): undefined;
13
14
  }
@@ -1,2 +1 @@
1
- export { type TestTableName } from "./test-schemas";
2
1
  export * from "./TestModule";
@@ -1,3 +0,0 @@
1
- import { TableSchema } from "@vuu-ui/vuu-data-types";
2
- export type TestTableName = "TestDates" | "TwoHundredColumns" | "LinkParent" | "LinkChild";
3
- export declare const schemas: Readonly<Record<TestTableName, Readonly<TableSchema>>>;