@vuu-ui/vuu-data-test 4.1.0 → 5.0.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/README.md +46 -0
  2. package/package.json +12 -10
  3. package/src/Table.js +8 -5
  4. package/src/basket/BasketModule.js +105 -40
  5. package/src/basket/basket-schemas.js +16 -0
  6. package/src/basket/reference-data/constituent-data.js +2 -0
  7. package/src/basket/reference-data/constituents.js +6 -74
  8. package/src/basket/reference-data/prices.js +9 -3
  9. package/src/core/filter/PermissionFilter.js +60 -0
  10. package/src/core/filter/PermissionFilteredTable.js +59 -0
  11. package/src/core/module/ModuleContainer.js +8 -0
  12. package/src/core/module/VuuModule.js +54 -6
  13. package/src/core/table/TableContainer.js +52 -9
  14. package/src/core/user/CurrentUser.js +13 -0
  15. package/src/index.js +7 -0
  16. package/src/local-datasource-provider/LocalDatasourceProvider.js +67 -43
  17. package/src/module-admin/ModuleAdminModule.js +124 -0
  18. package/src/module-admin/index.js +3 -0
  19. package/src/module-admin/module-admin-schemas.js +95 -0
  20. package/src/module-admin/snapshot-projection.js +29 -0
  21. package/src/notifications/NotificationModule.js +131 -0
  22. package/src/notifications/NotificationsSchema.js +52 -0
  23. package/src/notifications/index.js +6 -0
  24. package/src/notifications/simulated/DismissNotificationRpcHandler.js +36 -0
  25. package/src/notifications/simulated/SimulatedNotificationsModule.js +18 -0
  26. package/src/notifications/simulated/SimulatedNotificationsProvider.js +151 -0
  27. package/src/notifications/simulated/notificationsModule.js +3 -0
  28. package/src/schemas.js +8 -2
  29. package/src/user-admin/UserAdminModule.js +567 -0
  30. package/src/user-admin/index.js +3 -0
  31. package/src/user-admin/initialSnapshot.js +461 -0
  32. package/src/user-admin/snapshot-projection.js +151 -0
  33. package/types/basket/BasketModule.d.ts +2 -0
  34. package/types/basket/reference-data/constituents.d.ts +3 -3
  35. package/types/basket/reference-data/prices.d.ts +2 -1
  36. package/types/core/module/ModuleContainer.d.ts +6 -3
  37. package/types/core/module/VuuModule.d.ts +22 -0
  38. package/types/core/table/TableContainer.d.ts +6 -6
  39. package/types/index.d.ts +7 -0
  40. package/types/local-datasource-provider/LocalDatasourceProvider.d.ts +18 -2
  41. package/types/schemas.d.ts +5 -3
  42. package/types/vuu-row-generator.d.ts +1 -1
  43. package/src/basket/reference-data/ftse100.js +0 -686
  44. package/src/basket/reference-data/hsi.js +0 -1047
  45. package/src/basket/reference-data/nasdaq100.js +0 -812
  46. package/src/basket/reference-data/sp500.js +0 -315
  47. package/types/basket/reference-data/ftse100.d.ts +0 -2
  48. package/types/basket/reference-data/hsi.d.ts +0 -2
  49. package/types/basket/reference-data/nasdaq100.d.ts +0 -2
  50. package/types/basket/reference-data/sp500.d.ts +0 -2
  51. package/types/src/ArrayProxy.d.ts +0 -8
  52. package/types/src/RuntimeVisualLink.d.ts +0 -9
  53. package/types/src/Table.d.ts +0 -34
  54. package/types/src/TickingArrayDataSource.d.ts +0 -44
  55. package/types/src/UpdateGenerator.d.ts +0 -18
  56. package/types/src/basket/BasketModule.d.ts +0 -55
  57. package/types/src/basket/basket-schemas.d.ts +0 -9
  58. package/types/src/basket/index.d.ts +0 -2
  59. package/types/src/basket/reference-data/constituents.d.ts +0 -3
  60. package/types/src/basket/reference-data/ftse100.d.ts +0 -2
  61. package/types/src/basket/reference-data/hsi.d.ts +0 -2
  62. package/types/src/basket/reference-data/nasdaq100.d.ts +0 -2
  63. package/types/src/basket/reference-data/prices.d.ts +0 -24
  64. package/types/src/basket/reference-data/sp500.d.ts +0 -2
  65. package/types/src/core/module/ModuleContainer.d.ts +0 -11
  66. package/types/src/core/module/VuuModule.d.ts +0 -81
  67. package/types/src/core/table/TableContainer.d.ts +0 -16
  68. package/types/src/data-utils.d.ts +0 -7
  69. package/types/src/default-column-definitions.d.ts +0 -2
  70. package/types/src/index.d.ts +0 -12
  71. package/types/src/local-datasource-provider/LocalDatasourceProvider.d.ts +0 -4
  72. package/types/src/makeSuggestions.d.ts +0 -3
  73. package/types/src/rowUpdates.d.ts +0 -15
  74. package/types/src/schemas.d.ts +0 -8
  75. package/types/src/session-table-utils.d.ts +0 -6
  76. package/types/src/simul/SimulModule.d.ts +0 -24
  77. package/types/src/simul/index.d.ts +0 -2
  78. package/types/src/simul/reference-data/accounts.d.ts +0 -1
  79. package/types/src/simul/reference-data/algos.d.ts +0 -1
  80. package/types/src/simul/reference-data/currencies.d.ts +0 -1
  81. package/types/src/simul/reference-data/index.d.ts +0 -5
  82. package/types/src/simul/reference-data/instrument-prices.d.ts +0 -60
  83. package/types/src/simul/reference-data/instruments-extended.d.ts +0 -1
  84. package/types/src/simul/reference-data/instruments.d.ts +0 -35
  85. package/types/src/simul/reference-data/isin-generator/convert-string-to-base-ten-number.d.ts +0 -1
  86. package/types/src/simul/reference-data/isin-generator/fixtures/alphabet.d.ts +0 -1
  87. package/types/src/simul/reference-data/isin-generator/fixtures/alphanumeric-values.d.ts +0 -1
  88. package/types/src/simul/reference-data/isin-generator/fixtures/base-ten-numbers.d.ts +0 -1
  89. package/types/src/simul/reference-data/isin-generator/generate-cusip-check-code.d.ts +0 -1
  90. package/types/src/simul/reference-data/isin-generator/generate-cusip-without-check-code.d.ts +0 -1
  91. package/types/src/simul/reference-data/isin-generator/generate-cusip.d.ts +0 -1
  92. package/types/src/simul/reference-data/isin-generator/generate-random-alphanumeric.d.ts +0 -1
  93. package/types/src/simul/reference-data/isin-generator/generate-random-base-ten-number.d.ts +0 -1
  94. package/types/src/simul/reference-data/isin-generator/generate-random-string-of-alphanumeric-chars.d.ts +0 -1
  95. package/types/src/simul/reference-data/isin-generator/generate-random-string-of-base-ten-chars.d.ts +0 -1
  96. package/types/src/simul/reference-data/isin-generator/index.d.ts +0 -1
  97. package/types/src/simul/reference-data/isin-generator/is-odd.d.ts +0 -1
  98. package/types/src/simul/reference-data/locations.d.ts +0 -4
  99. package/types/src/simul/reference-data/lotsizes.d.ts +0 -1
  100. package/types/src/simul/reference-data/orderStatus.d.ts +0 -1
  101. package/types/src/simul/reference-data/orders.d.ts +0 -36
  102. package/types/src/simul/reference-data/parent-child-orders.d.ts +0 -4
  103. package/types/src/simul/reference-data/priceStrategies.d.ts +0 -1
  104. package/types/src/simul/reference-data/prices.d.ts +0 -34
  105. package/types/src/simul/reference-data/sides.d.ts +0 -1
  106. package/types/src/simul/simul-schemas.d.ts +0 -9
  107. package/types/src/test/TestModule.d.ts +0 -16
  108. package/types/src/test/index.d.ts +0 -1
  109. package/types/src/vuu-row-generator.d.ts +0 -17
@@ -1,315 +0,0 @@
1
- const sp500 = [
2
- [
3
- "Apple Inc",
4
- "AAPL",
5
- 6.992488,
6
- 171.9,
7
- 1.47,
8
- "(0.86%)"
9
- ],
10
- [
11
- "Microsoft Corp",
12
- "MSFT",
13
- 6.487978,
14
- 314.55,
15
- 1.76,
16
- "(0.56%)"
17
- ],
18
- [
19
- "Amazon.com Inc",
20
- "AMZN",
21
- 3.193379,
22
- 126.25,
23
- 0.27,
24
- "(0.22%)"
25
- ],
26
- [
27
- "Nvidia Corp",
28
- "NVDA",
29
- 2.928461,
30
- 433.11,
31
- 8.43,
32
- "(1.99%)"
33
- ],
34
- [
35
- "Alphabet Inc Cl A",
36
- "GOOGL",
37
- 2.162218,
38
- 132.93,
39
- 2.39,
40
- "(1.83%)"
41
- ],
42
- [
43
- "Tesla Inc",
44
- "TSLA",
45
- 1.854311,
46
- 246.56,
47
- 6.06,
48
- "(2.52%)"
49
- ],
50
- [
51
- "Alphabet Inc Cl C",
52
- "GOOG",
53
- 1.85251,
54
- 133.81,
55
- 2.35,
56
- "(1.78%)"
57
- ],
58
- [
59
- "Meta Platforms Inc Class A",
60
- "META",
61
- 1.847731,
62
- 305.93,
63
- 8.19,
64
- "(2.75%)"
65
- ],
66
- [
67
- "Berkshire Hathaway Inc Cl B",
68
- "BRK.B",
69
- 1.82184,
70
- 358.67,
71
- 0.89,
72
- "(0.25%)"
73
- ],
74
- [
75
- "Exxon Mobil Corp",
76
- "XOM",
77
- 1.343563,
78
- 118.97,
79
- -1.23,
80
- "(-1.03%)"
81
- ],
82
- [
83
- "Unitedhealth Group Inc",
84
- "UNH",
85
- 1.302884,
86
- 510.04,
87
- 6.31,
88
- "(1.25%)"
89
- ],
90
- [
91
- "Eli Lilly & Co",
92
- "LLY",
93
- 1.224046,
94
- 546.65,
95
- -3.11,
96
- "(-0.57%)"
97
- ],
98
- [
99
- "Jpmorgan Chase & Co",
100
- "JPM",
101
- 1.182918,
102
- 148.23,
103
- 2.45,
104
- "(1.68%)"
105
- ],
106
- [
107
- "Johnson & Johnson W/d",
108
- "JNJ",
109
- 1.056344,
110
- 156.83,
111
- -0.28,
112
- "(-0.18%)"
113
- ],
114
- [
115
- "Visa Inc Class a Shares",
116
- "V",
117
- 1.029636,
118
- 231.97,
119
- 2.47,
120
- "(1.08%)"
121
- ],
122
- [
123
- "Procter & Gamble Co",
124
- "PG",
125
- 0.969793,
126
- 145.75,
127
- -1.59,
128
- "(-1.08%)"
129
- ],
130
- [
131
- "Broadcom Inc",
132
- "AVGO",
133
- 0.941177,
134
- 835.33,
135
- 18.52,
136
- "(2.27%)"
137
- ],
138
- [
139
- "Mastercard Inc A",
140
- "MA",
141
- 0.918779,
142
- 400.65,
143
- 5.17,
144
- "(1.31%)"
145
- ],
146
- [
147
- "Chevron Corp",
148
- "CVX",
149
- 0.847353,
150
- 170.55,
151
- -0.49,
152
- "(-0.28%)"
153
- ],
154
- [
155
- "Home Depot Inc",
156
- "HD",
157
- 0.847289,
158
- 304.35,
159
- 2.53,
160
- "(0.84%)"
161
- ],
162
- [
163
- "Abbvie Inc",
164
- "BBV",
165
- 0.754672,
166
- 152.14,
167
- -0.99,
168
- "(-0.65%)"
169
- ],
170
- [
171
- "Merck & Co. Inc.",
172
- "MRK",
173
- 0.736434,
174
- 104.2,
175
- 0.26,
176
- "(0.25%)"
177
- ],
178
- [
179
- "Costco Wholesale Corp",
180
- "COST",
181
- 0.697258,
182
- 569.05,
183
- 5.52,
184
- "(0.98%)"
185
- ],
186
- [
187
- "Pepsico Inc",
188
- "PEP",
189
- 0.651768,
190
- 168.92,
191
- -0.65,
192
- "(-0.38%)"
193
- ],
194
- [
195
- "Walmart Inc",
196
- "WMT",
197
- 0.644449,
198
- 161.87,
199
- 0.15,
200
- "(0.09%)"
201
- ],
202
- [
203
- "Adobe Inc",
204
- "ADBE",
205
- 0.639652,
206
- 507.17,
207
- 4.57,
208
- "(0.91%)"
209
- ],
210
- [
211
- "Coca Cola Co",
212
- "KO",
213
- 0.60801,
214
- 55.82,
215
- -0.13,
216
- "(-0.23%)"
217
- ],
218
- [
219
- "Cisco Systems Inc",
220
- "CSCO",
221
- 0.605326,
222
- 53.97,
223
- 0.77,
224
- "(1.44%)"
225
- ],
226
- [
227
- "Accenture Plc Cl A",
228
- "ACN",
229
- 0.55372,
230
- 298.5,
231
- -15.9,
232
- "(-5.05%)"
233
- ],
234
- [
235
- "Salesforce Inc",
236
- "CRM",
237
- 0.551342,
238
- 204.46,
239
- 1.73,
240
- "(0.85%)"
241
- ],
242
- [
243
- "Thermo Fisher Scientific Inc",
244
- "TMO",
245
- 0.536951,
246
- 503.47,
247
- 5.18,
248
- "(1.04%)"
249
- ],
250
- [
251
- "Mcdonald S Corp",
252
- "MCD",
253
- 0.536457,
254
- 265.83,
255
- 2.19,
256
- "(0.83%)"
257
- ],
258
- [
259
- "Bank of America Corp",
260
- "BAC",
261
- 0.526405,
262
- 27.51,
263
- 0.24,
264
- "(0.86%)"
265
- ],
266
- [
267
- "Comcast Corp Class A",
268
- "CMCSA",
269
- 0.512537,
270
- 45.17,
271
- 0.57,
272
- "(1.27%)"
273
- ],
274
- [
275
- "Linde Plc",
276
- "LIN",
277
- 0.506835,
278
- 375.48,
279
- 3.47,
280
- "(0.93%)"
281
- ],
282
- [
283
- "Pfizer Inc",
284
- "PFE",
285
- 0.506043,
286
- 32.09,
287
- -0.02,
288
- "(-0.05%)"
289
- ],
290
- [
291
- "Netflix Inc",
292
- "NFLX",
293
- 0.467192,
294
- 377.77,
295
- 0.18,
296
- "(0.05%)"
297
- ],
298
- [
299
- "Abbott Laboratories",
300
- "ABT",
301
- 0.462893,
302
- 97.52,
303
- 1.99,
304
- "(2.08%)"
305
- ],
306
- [
307
- "Oracle Corp",
308
- "ORCL",
309
- 0.459877,
310
- 106.29,
311
- 1.67,
312
- "(1.60%)"
313
- ]
314
- ];
315
- export default sp500;
@@ -1,2 +0,0 @@
1
- declare const _default: string[][];
2
- export default _default;
@@ -1,2 +0,0 @@
1
- declare const _default: (string | number)[][];
2
- export default _default;
@@ -1,2 +0,0 @@
1
- declare const _default: (string | number)[][];
2
- export default _default;
@@ -1,2 +0,0 @@
1
- declare const _default: (string | number)[][];
2
- export default _default;
@@ -1,8 +0,0 @@
1
- export type RowAtIndexFunc<T = unknown> = (index: number) => T | undefined;
2
- export declare class ArrayProxy<T = string> {
3
- #private;
4
- length: number;
5
- constructor(size: number, getRow: RowAtIndexFunc);
6
- map: (func: (item: T, i: number) => unknown) => ArrayProxy<string>;
7
- slice: (from: number, to: number) => unknown[];
8
- }
@@ -1,9 +0,0 @@
1
- import { DataSourceBase, DataSourceRowWithBigint, RowSelectionEventHandler } from "@vuu-ui/vuu-data-types";
2
- export declare class RuntimeVisualLink {
3
- #private;
4
- constructor(childDataSource: DataSourceBase<DataSourceRowWithBigint>, parentDataSource: DataSourceBase<DataSourceRowWithBigint>, childColumnName: string, parentColumnName: string);
5
- destroy(): void;
6
- remove(): void;
7
- handleParentSelectEvent: RowSelectionEventHandler;
8
- private pickUniqueSelectedValues;
9
- }
@@ -1,34 +0,0 @@
1
- import { TableSchema } from "@vuu-ui/vuu-data-types";
2
- import { VuuRowDataItemType } from "@vuu-ui/vuu-protocol-types";
3
- import { ColumnMap, EventEmitter } from "@vuu-ui/vuu-utils";
4
- import { UpdateGenerator } from "./rowUpdates";
5
- export type TableEvents = {
6
- delete: (key: string) => void;
7
- insert: (row: Array<bigint | VuuRowDataItemType>) => void;
8
- update: (row: Array<bigint | VuuRowDataItemType>, columnName?: string, sessionId?: string) => void;
9
- };
10
- export declare class Table extends EventEmitter<TableEvents> {
11
- #private;
12
- constructor(schema: TableSchema, data: Array<Array<VuuRowDataItemType | bigint>>, dataMap: ColumnMap, updateGenerator?: UpdateGenerator);
13
- private buildIndex;
14
- get data(): (bigint | VuuRowDataItemType)[][];
15
- get map(): ColumnMap;
16
- get schema(): TableSchema;
17
- get name(): string;
18
- delete(key: string, emitEvent?: boolean): 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
- }
24
- export declare function buildDataColumnMapFromSchema(schema: Readonly<TableSchema>): ColumnMap;
25
- /**
26
- * Build a data ColumnMap for a table in the provided schema.
27
- * A data ColumnMap is a mapping from a raw data array to a map, keyed
28
- * by column name with no additional metadata.
29
- *
30
- * @param schemas
31
- * @param tableName
32
- * @returns
33
- */
34
- export declare function buildDataColumnMap<TableName extends string = string>(schemas: Readonly<Record<TableName, Readonly<TableSchema>>>, tableName: TableName): ColumnMap;
@@ -1,44 +0,0 @@
1
- import { ArrayDataSource, type ArrayDataSourceConstructorProps } from "@vuu-ui/vuu-data-local";
2
- import type { DataSourceBase, DataSource, DataSourceRowWithBigint, DataSourceSubscribeCallback, DataSourceSubscribeProps, DataSourceVisualLinkCreatedMessage, DeleteRowMode, CopyOption, EditSessionMode, SessionDataSourceOverrides, SessionType } from "@vuu-ui/vuu-data-types";
3
- import type { LinkDescriptorWithLabel, RpcResult, RpcResultError, RpcResultSuccess, VuuCreateVisualLink, VuuMenu, VuuRemoveVisualLink, VuuRowDataItemType, VuuRpcMenuRequest, VuuRpcMenuResponse, VuuRpcServiceRequest } from "@vuu-ui/vuu-protocol-types";
4
- import type { IVuuModule, RpcMenuService, RpcService } from "./core/module/VuuModule";
5
- import type { Table } from "./Table";
6
- export type VisualLinkHandler = (message: VuuCreateVisualLink | VuuRemoveVisualLink) => Promise<DataSourceVisualLinkCreatedMessage | void>;
7
- export interface TickingArrayDataSourceConstructorProps extends Omit<ArrayDataSourceConstructorProps, "data"> {
8
- data?: Array<VuuRowDataItemType[]>;
9
- getVisualLinks?: (tableName: string) => LinkDescriptorWithLabel[] | undefined;
10
- menu?: VuuMenu;
11
- rpcMenuServices?: RpcMenuService[];
12
- rpcServices?: RpcService[];
13
- table?: Table;
14
- visualLinkService?: VisualLinkHandler;
15
- vuuModule?: IVuuModule;
16
- }
17
- export declare class TickingArrayDataSource extends ArrayDataSource {
18
- #private;
19
- constructor({ data, getVisualLinks, rpcServices, rpcMenuServices, session, table, menu, visualLink, visualLinkService, vuuModule, ...arrayDataSourceProps }: TickingArrayDataSourceConstructorProps);
20
- updateRowWithSessionCheck: (row: Array<bigint | VuuRowDataItemType>, columnName?: string, sessionId?: string) => void;
21
- subscribe(subscribeProps: DataSourceSubscribeProps, callback: DataSourceSubscribeCallback): Promise<void>;
22
- unsubscribe(): void;
23
- set links(links: LinkDescriptorWithLabel[] | undefined);
24
- get links(): LinkDescriptorWithLabel[] | undefined;
25
- getSelectedRowIds(): string[];
26
- isSessionDataSourceOf(dataSource: DataSource): boolean;
27
- createSessionDataSource(copyOption: CopyOption, sessionType?: SessionType, overrides?: SessionDataSourceOverrides): Promise<DataSourceBase<DataSourceRowWithBigint> | undefined>;
28
- beginEditSession(editSessionMode?: EditSessionMode, overrides?: SessionDataSourceOverrides): Promise<DataSourceBase<DataSourceRowWithBigint> | undefined>;
29
- editCell(key: string, column: string, data: VuuRowDataItemType): Promise<RpcResultError | RpcResultSuccess>;
30
- addRow: (rowData?: Record<string, VuuRowDataItemType>) => Promise<RpcResult>;
31
- deleteRow: (key: string, mode?: DeleteRowMode) => Promise<true | string>;
32
- deleteSelectedRows: (mode?: DeleteRowMode) => Promise<RpcResultSuccess | RpcResultError>;
33
- undoRowChange: (key: string) => Promise<RpcResultSuccess | RpcResultError>;
34
- set columns(columns: string[]);
35
- get columns(): string[];
36
- endEditSession(saveChanges?: boolean): Promise<void>;
37
- rpcRequest(rpcRequest: Omit<VuuRpcServiceRequest, "context">): Promise<RpcResultSuccess | RpcResultError>;
38
- menuRpcCall(rpcRequest: Omit<VuuRpcMenuRequest, "vpId">): Promise<VuuRpcMenuResponse>;
39
- getTypeaheadSuggestions(column: string, pattern?: string): Promise<string[]>;
40
- get visualLink(): LinkDescriptorWithLabel | undefined;
41
- set visualLink(visualLink: LinkDescriptorWithLabel | undefined);
42
- freeze(): void;
43
- unfreeze(): void;
44
- }
@@ -1,18 +0,0 @@
1
- import { VuuRange } from "@vuu-ui/vuu-protocol-types";
2
- import type { UpdateGenerator } from "./rowUpdates";
3
- import { Table } from "./Table";
4
- export declare class BaseUpdateGenerator implements UpdateGenerator {
5
- private table;
6
- private range;
7
- private updating;
8
- private timer;
9
- private tickingColumns;
10
- constructor(tickingColumns: {
11
- [key: string]: number;
12
- });
13
- setRange(range: VuuRange): void;
14
- setTable(table: Table): void;
15
- private startUpdating;
16
- private stopUpdating;
17
- update: () => void;
18
- }
@@ -1,55 +0,0 @@
1
- import { VuuMenu } from "@vuu-ui/vuu-protocol-types";
2
- import { RpcMenuService, ServiceHandler, VuuModule } from "../core/module/VuuModule";
3
- import { BasketsTableName } from "./basket-schemas";
4
- import { type Table } from "../Table";
5
- export declare const createBasketTradingRow: (basketId: string, basketName: string, side?: string, status?: string) => (string | number)[];
6
- /**
7
- * This is an example of how we might extend the built-in VuuModule to
8
- * implement a module-specific service in such a way that it can invoke
9
- * methods on the VuuModule.
10
- */
11
- export declare class BasketModule extends VuuModule<BasketsTableName> {
12
- #private;
13
- constructor();
14
- get menus(): Record<BasketsTableName, VuuMenu | undefined>;
15
- get schemas(): Readonly<Record<BasketsTableName, Readonly<import("@vuu-ui/vuu-data-types").TableSchema>>>;
16
- get services(): {
17
- algoType: undefined;
18
- basketTradingConstituent: undefined;
19
- basketConstituent: undefined;
20
- priceStrategyType: undefined;
21
- basket: {
22
- rpcName: string;
23
- service: ServiceHandler;
24
- }[];
25
- basketTrading: {
26
- rpcName: string;
27
- service: ServiceHandler;
28
- }[];
29
- basketTradingConstituentJoin: {
30
- rpcName: string;
31
- service: ServiceHandler;
32
- }[];
33
- };
34
- get menuServices(): Record<BasketsTableName, RpcMenuService[] | undefined> | undefined;
35
- get tables(): Record<BasketsTableName, Table>;
36
- get visualLinks(): {
37
- algoType: undefined;
38
- basket: undefined;
39
- basketTrading: undefined;
40
- basketTradingConstituent: undefined;
41
- basketTradingConstituentJoin: undefined;
42
- priceStrategyType: undefined;
43
- basketConstituent: {
44
- fromColumn: string;
45
- toColumn: string;
46
- toTable: string;
47
- }[];
48
- };
49
- private createTradingBasket;
50
- private createNewBasket;
51
- private sendToMarket;
52
- private takeOffMarket;
53
- private addConstituent;
54
- }
55
- export declare const basketModule: BasketModule;
@@ -1,9 +0,0 @@
1
- import { TableSchema } from "@vuu-ui/vuu-data-types";
2
- import { VuuTable } from "@vuu-ui/vuu-protocol-types";
3
- export type BasketsTableName = "algoType" | "basket" | "basketConstituent" | "basketTrading" | "basketTradingConstituent" | "basketTradingConstituentJoin" | "priceStrategyType";
4
- export declare const schemas: Readonly<Record<BasketsTableName, Readonly<TableSchema>>>;
5
- export type BasketVuuTable = {
6
- module: "BASKET";
7
- table: BasketsTableName;
8
- };
9
- export declare const isBasketTable: (table: VuuTable) => table is BasketVuuTable;
@@ -1,2 +0,0 @@
1
- export { type BasketsTableName, schemas as basketSchemas, isBasketTable, } from "./basket-schemas";
2
- export { basketModule } from "./BasketModule";
@@ -1,3 +0,0 @@
1
- import { VuuRowDataItemType } from "@vuu-ui/vuu-protocol-types";
2
- declare const _default: VuuRowDataItemType[][];
3
- export default _default;
@@ -1,2 +0,0 @@
1
- declare const _default: string[][];
2
- export default _default;
@@ -1,2 +0,0 @@
1
- declare const _default: (string | number)[][];
2
- export default _default;
@@ -1,2 +0,0 @@
1
- declare const _default: (string | number)[][];
2
- export default _default;
@@ -1,24 +0,0 @@
1
- export type ask = number;
2
- export type askSize = number;
3
- export type bid = number;
4
- export type bidSize = number;
5
- export type close = number;
6
- export type last = number;
7
- export type open = number;
8
- export type phase = "C";
9
- export type ric = string;
10
- export type scenario = "close";
11
- export type PricesDataRow = [
12
- ask,
13
- askSize,
14
- bid,
15
- bidSize,
16
- close,
17
- last,
18
- open,
19
- phase,
20
- ric,
21
- scenario
22
- ];
23
- declare const pricesTable: import("../..").Table;
24
- export default pricesTable;
@@ -1,2 +0,0 @@
1
- declare const _default: (string | number)[][];
2
- export default _default;
@@ -1,11 +0,0 @@
1
- import { VuuModule } from "./VuuModule";
2
- declare class ModuleContainer {
3
- #private;
4
- private constructor();
5
- static get instance(): ModuleContainer;
6
- register(module: VuuModule<any>): void;
7
- get(name: string): VuuModule<string>;
8
- get moduleNames(): MapIterator<string>;
9
- }
10
- declare const _default: ModuleContainer;
11
- export default _default;
@@ -1,81 +0,0 @@
1
- import type { DataSourceBase, DataSourceConfig, DataSourceRowWithBigint, DataSourceSubscribedMessage, DataSourceVisualLinkCreatedMessage, EditSessionMode, CopyOption, SessionDataSourceOverrides, SessionType, TableSchema } from "@vuu-ui/vuu-data-types";
2
- import type { VuuMenu, VuuLink, LinkDescriptorWithLabel, VuuRpcMenuResponse, VuuCreateVisualLink, VuuRemoveVisualLink, VuuRpcServiceRequest, RpcResultSuccess, RpcResultError, VuuRpcMenuRequest } from "@vuu-ui/vuu-protocol-types";
3
- import { Table } from "../../Table";
4
- import { TickingArrayDataSource } from "../../TickingArrayDataSource";
5
- export interface IVuuModule<T extends string = string> {
6
- createDataSource: (tableName: T, viewport?: string, config?: DataSourceConfig & {
7
- session?: SessionDataSourceOverrides;
8
- }) => DataSourceBase<DataSourceRowWithBigint>;
9
- }
10
- export type SessionTableMap = Record<string, Table>;
11
- export type ServiceHandler = (rpcRequest: VuuRpcServiceRequest) => Promise<RpcResultSuccess | RpcResultError>;
12
- export type MenuServiceHandler = (rpcRequest: VuuRpcMenuRequest) => Promise<VuuRpcMenuResponse>;
13
- export type RpcService = {
14
- rpcName: string;
15
- service: ServiceHandler;
16
- };
17
- export type RpcMenuService = {
18
- rpcName: string;
19
- service: MenuServiceHandler;
20
- };
21
- export type VuuModuleOptions = {
22
- /** Column written by session services (deleteRow, endEditSession) to report row-level status.
23
- * Defaults to `"vuuMsg"` which matches the column added by `sessionTableSchema`. */
24
- sessionTableMessageColumn?: string;
25
- };
26
- type Subscription = {
27
- viewportId: string;
28
- dataSource: DataSourceBase<DataSourceRowWithBigint>;
29
- sessionTableName?: string;
30
- sourceTableName?: string;
31
- };
32
- export declare abstract class VuuModule<T extends string = string> implements IVuuModule<T> {
33
- #private;
34
- constructor(name: string, { sessionTableMessageColumn }?: VuuModuleOptions);
35
- protected abstract menus?: Record<T, VuuMenu | undefined> | undefined;
36
- protected abstract schemas: Record<T, Readonly<TableSchema>>;
37
- protected abstract tables: Record<T, Table>;
38
- protected abstract menuServices?: Record<T, RpcMenuService[] | undefined> | undefined;
39
- protected abstract services?: Record<T, RpcService[] | undefined> | undefined;
40
- protected abstract visualLinks?: Record<T, VuuLink[] | undefined>;
41
- getTableSchema(tableName: string): Record<T, Readonly<TableSchema>>[T];
42
- getTableList(): string[];
43
- protected handlePostSubscribeActivities: ({ clientViewportId, tableSchema, }: DataSourceSubscribedMessage) => void;
44
- protected unregisterViewport: (viewportId: string) => void;
45
- get name(): string;
46
- getSubscriptionByViewport(viewportId: string): Subscription;
47
- getSubscribedDataSource(vpId: string): DataSourceBase<DataSourceRowWithBigint>;
48
- getLinks: (subscriptionMap: Map<string, Subscription[]>, vuuLinks: VuuLink[]) => LinkDescriptorWithLabel[];
49
- visualLinkService: (message: VuuCreateVisualLink | VuuRemoveVisualLink) => Promise<DataSourceVisualLinkCreatedMessage | void>;
50
- getVisualLinks: (tableName: string) => LinkDescriptorWithLabel[] | undefined;
51
- createDataSource: (tableName: T, viewport?: string, config?: DataSourceConfig & {
52
- session?: SessionDataSourceOverrides;
53
- }) => DataSourceBase<DataSourceRowWithBigint>;
54
- getServices(tableName: T): RpcService[];
55
- getMenuServices(tableName: T): RpcMenuService[];
56
- protected get sessionTableMap(): SessionTableMap;
57
- protected getSessionTable(sessionTableName: string): Table;
58
- protected getSessionTable(sessionTableName: string, throwIfNotFound: true): Table;
59
- protected getSessionTable(sessionTableName: string, throwIfNotFound: false): Table | undefined;
60
- protected deleteRow: ServiceHandler;
61
- private deleteSelectedRows;
62
- private undoRowChange;
63
- private getColumnDescriptors;
64
- private editCell;
65
- private beginEditSessionMenuHandler;
66
- /**
67
- * Creates a standalone session table.
68
- * The `copyOption` determines which rows are copied into the session table.
69
- * Returns the session table reference so the caller can subscribe to it.
70
- */
71
- private createSessionTableService;
72
- private beginEditSession;
73
- private addRow;
74
- private endEditSession;
75
- private applyBulkEdits;
76
- protected createSessionTable(sourceTable: Table, sessionTableName: string, editSessionMode: EditSessionMode | CopyOption, dataSource: TickingArrayDataSource, sessionType?: SessionType): Table;
77
- protected createSessionTableWithAllRows({ data, schema }: Table, _sessionTableName: string): Table;
78
- protected createEmptySessionTable({ schema }: Table, sessionTableName: string, sessionType?: SessionType): Table;
79
- protected createSessionTableFromSelectedRows({ data, map, schema }: Table, sessionTableName: string, dataSource: TickingArrayDataSource): Table;
80
- }
81
- export {};
@@ -1,16 +0,0 @@
1
- import { TableSchema } from "@vuu-ui/vuu-data-types";
2
- import { Table } from "../../Table";
3
- import { VuuRowDataItemType, VuuTable } from "@vuu-ui/vuu-protocol-types";
4
- import { ColumnMap } from "@vuu-ui/vuu-utils";
5
- import { UpdateGenerator } from "../../rowUpdates";
6
- declare class TableContainer {
7
- #private;
8
- private constructor();
9
- static get instance(): TableContainer;
10
- createTable: (schema: TableSchema, data: Array<Array<VuuRowDataItemType | bigint>>, dataMap: ColumnMap, updateGenerator?: UpdateGenerator) => Table;
11
- createJoinTable(joinTable: VuuTable, { table: t1 }: VuuTable, { table: t2 }: VuuTable, joinColumn: string): Table;
12
- addTable(table: Table): void;
13
- getTable<T = Table>(tableName: string): NonNullable<T>;
14
- }
15
- declare const _default: TableContainer;
16
- export default _default;