@vuu-ui/vuu-data-test 3.3.17 → 4.0.0-alpha.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 (32) hide show
  1. package/README.md +8 -0
  2. package/package.json +10 -7
  3. package/src/Table.js +8 -5
  4. package/src/core/module/ModuleContainer.js +8 -0
  5. package/src/core/module/VuuModule.js +27 -3
  6. package/src/core/table/TableContainer.js +1 -1
  7. package/src/index.js +3 -0
  8. package/src/local-datasource-provider/LocalDatasourceProvider.js +8 -3
  9. package/src/module-admin/ModuleAdminModule.js +60 -0
  10. package/src/module-admin/index.js +3 -0
  11. package/src/module-admin/module-admin-schemas.js +99 -0
  12. package/src/module-admin/snapshot-projection.js +57 -0
  13. package/src/schemas.js +8 -2
  14. package/src/user-admin/UserAdminModule.js +412 -0
  15. package/src/user-admin/index.js +3 -0
  16. package/src/user-admin/initialSnapshot.js +477 -0
  17. package/src/user-admin/snapshot-projection.js +151 -0
  18. package/types/TickingArrayDataSource.d.ts +1 -1
  19. package/types/basket/BasketModule.d.ts +9 -9
  20. package/types/basket/reference-data/prices.d.ts +1 -1
  21. package/types/core/module/ModuleContainer.d.ts +6 -3
  22. package/types/core/module/VuuModule.d.ts +3 -0
  23. package/types/core/table/TableContainer.d.ts +5 -5
  24. package/types/index.d.ts +3 -0
  25. package/types/local-datasource-provider/LocalDatasourceProvider.d.ts +2 -2
  26. package/types/schemas.d.ts +5 -3
  27. package/types/simul/reference-data/instruments-extended.d.ts +1 -1
  28. package/types/simul/reference-data/instruments.d.ts +1 -1
  29. package/types/simul/reference-data/orders.d.ts +1 -1
  30. package/types/simul/reference-data/parent-child-orders.d.ts +2 -2
  31. package/types/simul/reference-data/prices.d.ts +1 -1
  32. package/types/vuu-row-generator.d.ts +1 -1
@@ -1,11 +1,14 @@
1
- import { VuuModule } from "./VuuModule";
1
+ import type { VuuModule } from "./VuuModule";
2
+ type RegisteredVuuModule = VuuModule<any>;
2
3
  declare class ModuleContainer {
3
4
  #private;
4
5
  private constructor();
5
6
  static get instance(): ModuleContainer;
6
- register(module: VuuModule<any>): void;
7
- get(name: string): VuuModule<string>;
7
+ register(module: RegisteredVuuModule): void;
8
+ has(name: string): boolean;
9
+ get(name: string): RegisteredVuuModule;
8
10
  get moduleNames(): MapIterator<string>;
9
11
  }
10
12
  declare const _default: ModuleContainer;
11
13
  export default _default;
14
+ export declare const ensureVuuModule: <T extends RegisteredVuuModule>(module: T) => T;
@@ -38,6 +38,9 @@ export declare abstract class VuuModule<T extends string = string> implements IV
38
38
  protected abstract menuServices?: Record<T, RpcMenuService[] | undefined> | undefined;
39
39
  protected abstract services?: Record<T, RpcService[] | undefined> | undefined;
40
40
  protected abstract visualLinks?: Record<T, VuuLink[] | undefined>;
41
+ protected get includeDefaultServices(): boolean;
42
+ protected beforeSessionSave(_sourceTable: Table, _sessionTable: Table): Promise<void>;
43
+ protected afterSessionSave(_sourceTable: Table, _sessionTable: Table): Promise<void>;
41
44
  getTableSchema(tableName: string): Record<T, Readonly<TableSchema>>[T];
42
45
  getTableList(): string[];
43
46
  protected handlePostSubscribeActivities: ({ clientViewportId, tableSchema, }: DataSourceSubscribedMessage) => void;
@@ -1,13 +1,13 @@
1
- import { TableSchema } from "@vuu-ui/vuu-data-types";
1
+ import type { TableSchema } from "@vuu-ui/vuu-data-types";
2
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";
3
+ import type { VuuRowDataItemType, VuuTable } from "@vuu-ui/vuu-protocol-types";
4
+ import type { ColumnMap } from "@vuu-ui/vuu-utils";
5
+ import type { UpdateGenerator } from "../../rowUpdates";
6
6
  declare class TableContainer {
7
7
  #private;
8
8
  private constructor();
9
9
  static get instance(): TableContainer;
10
- createTable: (schema: TableSchema, data: Array<Array<VuuRowDataItemType | bigint>>, 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>;
package/types/index.d.ts CHANGED
@@ -1,11 +1,14 @@
1
1
  export * from "./ArrayProxy";
2
2
  export * from "./core/module/VuuModule";
3
+ export { ensureVuuModule } from "./core/module/ModuleContainer";
3
4
  export { default as tableContainer } from "./core/table/TableContainer";
4
5
  export * from "./local-datasource-provider/LocalDatasourceProvider";
5
6
  export * from "./makeSuggestions";
6
7
  export * from "./schemas";
7
8
  export * from "./simul";
8
9
  export * from "./basket";
10
+ export * from "./module-admin";
11
+ export * from "./user-admin";
9
12
  export { buildDataColumnMap, buildDataColumnMapFromSchema, Table, type TableEvents, } from "./Table";
10
13
  export * from "./test";
11
14
  export * from "./TickingArrayDataSource";
@@ -1,4 +1,4 @@
1
- import { ReactNode } from "react";
1
+ import type { ReactNode } from "react";
2
2
  export declare const LocalDataSourceProvider: ({ children, }: {
3
3
  children: ReactNode;
4
- }) => import("react/jsx-runtime").JSX.Element;
4
+ }) => import("react").JSX.Element;
@@ -1,8 +1,10 @@
1
- import { TableSchema } from "@vuu-ui/vuu-data-types";
1
+ import type { 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 { TestTableName } from "./test/TestModule";
5
- export type VuuTableName = BasketsTableName | SimulTableName | TestTableName;
4
+ import { type TestTableName } from "./test/TestModule";
5
+ import { type UserAdminTableName } from "@heswell/user-admin/contracts";
6
+ import { type ModuleAdminTableName } from "./module-admin";
7
+ export type VuuTableName = BasketsTableName | SimulTableName | TestTableName | UserAdminTableName | ModuleAdminTableName;
6
8
  export declare const schemas: Record<VuuTableName, TableSchema>;
7
9
  export declare const getAllSchemas: () => Record<VuuTableName, TableSchema>;
8
10
  export declare const getSchema: (tableName: VuuTableName) => Readonly<TableSchema>;
@@ -1 +1 @@
1
- export declare const instrumentsExtendedTable: import("../../Table").Table;
1
+ export declare const instrumentsExtendedTable: import("../..").Table;
@@ -31,5 +31,5 @@ export declare const InstrumentColumnMap: {
31
31
  };
32
32
  declare const instrumentsData: InstrumentsDataRow[];
33
33
  export declare const getRic: (defaultRic: string) => string;
34
- export declare const instrumentsTable: import("../../Table").Table;
34
+ export declare const instrumentsTable: import("../..").Table;
35
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").Table;
35
+ export declare const ordersTable: import("../..").Table;
36
36
  export { ordersData };
@@ -1,4 +1,4 @@
1
- export declare const parentOrdersTable: import("../../Table").Table;
2
- export declare const childOrdersTable: import("../../Table").Table;
1
+ export declare const parentOrdersTable: import("../..").Table;
2
+ export declare const childOrdersTable: import("../..").Table;
3
3
  export declare function startGeneratingNewOrders(): void;
4
4
  export declare function stopGeneratingNewOrders(): void;
@@ -30,5 +30,5 @@ declare const bid: number, bidSize: number, ask: number, askSize: number;
30
30
  declare const lastUpdate: number;
31
31
  declare const created: number;
32
32
  declare const pricesData: Array<PricesDataRow>;
33
- export declare const pricesTable: import("../../Table").Table;
33
+ export declare const pricesTable: import("../..").Table;
34
34
  export { pricesData };
@@ -1,6 +1,6 @@
1
1
  import type { ColumnDescriptor } from "@vuu-ui/vuu-table-types";
2
2
  import type { VuuRowDataItemType, VuuTable } from "@vuu-ui/vuu-protocol-types";
3
- import { UpdateGenerator } from "./rowUpdates";
3
+ import type { UpdateGenerator } from "./rowUpdates";
4
4
  type GenerateRowFunc = (index: number) => VuuRowDataItemType[];
5
5
  export type RowGeneratorFactory = (columns: string[]) => GenerateRowFunc;
6
6
  export type ColumnGeneratorFn = (columns?: number | string[], columnConfig?: {