@vuu-ui/vuu-data-test 2.1.19 → 2.2.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.
@@ -1,5 +1,9 @@
1
1
  'use strict';
2
2
 
3
+ const DEFAULT_RANGE_LIMITS = {
4
+ maxRangeEnd: 1e6,
5
+ maxRangeWidth: 1e3
6
+ };
3
7
  const schemas = {
4
8
  algoType: {
5
9
  columns: [
@@ -7,6 +11,7 @@ const schemas = {
7
11
  { name: "id", serverDataType: "int" }
8
12
  ],
9
13
  key: "id",
14
+ rangeLimits: DEFAULT_RANGE_LIMITS,
10
15
  table: { module: "BASKET", table: "algoType" }
11
16
  },
12
17
  basket: {
@@ -17,6 +22,7 @@ const schemas = {
17
22
  { name: "notionalValueUsd", serverDataType: "double" }
18
23
  ],
19
24
  key: "id",
25
+ rangeLimits: DEFAULT_RANGE_LIMITS,
20
26
  table: { module: "BASKET", table: "basket" }
21
27
  },
22
28
  basketConstituent: {
@@ -32,6 +38,7 @@ const schemas = {
32
38
  { name: "weighting", serverDataType: "double" }
33
39
  ],
34
40
  key: "ricBasketId",
41
+ rangeLimits: DEFAULT_RANGE_LIMITS,
35
42
  table: { module: "BASKET", table: "basketConstituent" }
36
43
  },
37
44
  basketTrading: {
@@ -48,6 +55,7 @@ const schemas = {
48
55
  { name: "units", serverDataType: "int" }
49
56
  ],
50
57
  key: "instanceId",
58
+ rangeLimits: DEFAULT_RANGE_LIMITS,
51
59
  table: { module: "BASKET", table: "basketTrading" }
52
60
  },
53
61
  basketTradingConstituent: {
@@ -72,6 +80,7 @@ const schemas = {
72
80
  { name: "weighting", serverDataType: "double" }
73
81
  ],
74
82
  key: "instanceIdRic",
83
+ rangeLimits: DEFAULT_RANGE_LIMITS,
75
84
  table: { module: "BASKET", table: "basketTradingConstituent" }
76
85
  },
77
86
  basketTradingConstituentJoin: {
@@ -105,6 +114,7 @@ const schemas = {
105
114
  { name: "weighting", serverDataType: "double" }
106
115
  ],
107
116
  key: "instanceIdRic",
117
+ rangeLimits: DEFAULT_RANGE_LIMITS,
108
118
  table: { module: "BASKET", table: "basketTradingConstituentJoin" }
109
119
  },
110
120
  priceStrategyType: {
@@ -113,6 +123,7 @@ const schemas = {
113
123
  { name: "id", serverDataType: "int" }
114
124
  ],
115
125
  key: "",
126
+ rangeLimits: DEFAULT_RANGE_LIMITS,
116
127
  table: { module: "BASKET", table: "priceStrategyType" }
117
128
  }
118
129
  };
@@ -1 +1 @@
1
- {"version":3,"file":"basket-schemas.js","sources":["../../../../packages/vuu-data-test/src/basket/basket-schemas.ts"],"sourcesContent":["import { TableSchema } from \"@vuu-ui/vuu-data-types\";\nimport { VuuTable } from \"@vuu-ui/vuu-protocol-types\";\n\nexport type BasketsTableName =\n | \"algoType\"\n | \"basket\"\n | \"basketConstituent\"\n | \"basketTrading\"\n | \"basketTradingConstituent\"\n | \"basketTradingConstituentJoin\"\n | \"priceStrategyType\";\n\nexport const schemas: Readonly<\n Record<BasketsTableName, Readonly<TableSchema>>\n> = {\n algoType: {\n columns: [\n { name: \"algoType\", serverDataType: \"string\" },\n { name: \"id\", serverDataType: \"int\" },\n ],\n key: \"id\",\n table: { module: \"BASKET\", table: \"algoType\" },\n },\n basket: {\n columns: [\n { name: \"id\", serverDataType: \"string\" },\n { name: \"name\", serverDataType: \"string\" },\n { name: \"notionalValue\", serverDataType: \"double\" },\n { name: \"notionalValueUsd\", serverDataType: \"double\" },\n ],\n key: \"id\",\n table: { module: \"BASKET\", table: \"basket\" },\n },\n basketConstituent: {\n columns: [\n { name: \"basketId\", serverDataType: \"string\" },\n { name: \"change\", serverDataType: \"string\" },\n { name: \"description\", serverDataType: \"string\" },\n { name: \"lastTrade\", serverDataType: \"string\" },\n { name: \"ric\", serverDataType: \"string\" },\n { name: \"ricBasketId\", serverDataType: \"string\" },\n { name: \"side\", serverDataType: \"string\" },\n { name: \"volume\", serverDataType: \"string\" },\n { name: \"weighting\", serverDataType: \"double\" },\n ],\n key: \"ricBasketId\",\n table: { module: \"BASKET\", table: \"basketConstituent\" },\n },\n basketTrading: {\n columns: [\n { name: \"basketId\", serverDataType: \"string\" },\n { name: \"basketName\", serverDataType: \"string\" },\n { name: \"filledPct\", serverDataType: \"double\" },\n { name: \"fxRateToUsd\", serverDataType: \"double\" },\n { name: \"instanceId\", serverDataType: \"string\" },\n { name: \"side\", serverDataType: \"string\" },\n { name: \"status\", serverDataType: \"string\" },\n { name: \"totalNotional\", serverDataType: \"double\" },\n { name: \"totalNotionalUsd\", serverDataType: \"double\" },\n { name: \"units\", serverDataType: \"int\" },\n ],\n key: \"instanceId\",\n table: { module: \"BASKET\", table: \"basketTrading\" },\n },\n basketTradingConstituent: {\n columns: [\n { name: \"algo\", serverDataType: \"string\" },\n { name: \"algoParams\", serverDataType: \"string\" },\n { name: \"basketId\", serverDataType: \"string\" },\n { name: \"description\", serverDataType: \"string\" },\n { name: \"instanceId\", serverDataType: \"string\" },\n { name: \"instanceIdRic\", serverDataType: \"string\" },\n { name: \"limitPrice\", serverDataType: \"double\" },\n { name: \"notionalLocal\", serverDataType: \"double\" },\n { name: \"notionalUsd\", serverDataType: \"double\" },\n { name: \"pctFilled\", serverDataType: \"double\" },\n { name: \"priceSpread\", serverDataType: \"int\" },\n { name: \"priceStrategyId\", serverDataType: \"int\" },\n { name: \"quantity\", serverDataType: \"long\" },\n { name: \"ric\", serverDataType: \"string\" },\n { name: \"side\", serverDataType: \"string\" },\n { name: \"status\", serverDataType: \"string\" },\n { name: \"venue\", serverDataType: \"string\" },\n { name: \"weighting\", serverDataType: \"double\" },\n ],\n key: \"instanceIdRic\",\n table: { module: \"BASKET\", table: \"basketTradingConstituent\" },\n },\n\n basketTradingConstituentJoin: {\n columns: [\n { name: \"algo\", serverDataType: \"string\" },\n { name: \"algoParams\", serverDataType: \"string\" },\n { name: \"ask\", serverDataType: \"double\" },\n { name: \"askSize\", serverDataType: \"double\" },\n { name: \"basketId\", serverDataType: \"string\" },\n { name: \"bid\", serverDataType: \"double\" },\n { name: \"bidSize\", serverDataType: \"double\" },\n { name: \"close\", serverDataType: \"double\" },\n { name: \"description\", serverDataType: \"string\" },\n { name: \"instanceId\", serverDataType: \"string\" },\n { name: \"instanceIdRic\", serverDataType: \"string\" },\n { name: \"last\", serverDataType: \"double\" },\n { name: \"limitPrice\", serverDataType: \"double\" },\n { name: \"notionalLocal\", serverDataType: \"double\" },\n { name: \"notionalUsd\", serverDataType: \"double\" },\n { name: \"open\", serverDataType: \"double\" },\n { name: \"pctFilled\", serverDataType: \"double\" },\n { name: \"phase\", serverDataType: \"string\" },\n { name: \"priceSpread\", serverDataType: \"int\" },\n { name: \"priceStrategyId\", serverDataType: \"int\" },\n { name: \"quantity\", serverDataType: \"long\" },\n { name: \"ric\", serverDataType: \"string\" },\n { name: \"scenario\", serverDataType: \"string\" },\n { name: \"side\", serverDataType: \"string\" },\n { name: \"status\", serverDataType: \"string\" },\n { name: \"venue\", serverDataType: \"string\" },\n { name: \"weighting\", serverDataType: \"double\" },\n ],\n key: \"instanceIdRic\",\n table: { module: \"BASKET\", table: \"basketTradingConstituentJoin\" },\n },\n priceStrategyType: {\n columns: [\n { name: \"priceStrategy\", serverDataType: \"string\" },\n { name: \"id\", serverDataType: \"int\" },\n ],\n key: \"\",\n table: { module: \"BASKET\", table: \"priceStrategyType\" },\n },\n};\n\nexport type BasketVuuTable = {\n module: \"BASKET\";\n table: BasketsTableName;\n};\n\nexport const isBasketTable = (table: VuuTable): table is BasketVuuTable =>\n table.module === \"BASKET\";\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"basket-schemas.js","sources":["../../../../packages/vuu-data-test/src/basket/basket-schemas.ts"],"sourcesContent":["import { TableSchema } from \"@vuu-ui/vuu-data-types\";\nimport { VuuTable } from \"@vuu-ui/vuu-protocol-types\";\n\nconst DEFAULT_RANGE_LIMITS = {\n maxRangeEnd: 1_000_000,\n maxRangeWidth: 1_000,\n};\n\nexport type BasketsTableName =\n | \"algoType\"\n | \"basket\"\n | \"basketConstituent\"\n | \"basketTrading\"\n | \"basketTradingConstituent\"\n | \"basketTradingConstituentJoin\"\n | \"priceStrategyType\";\n\nexport const schemas: Readonly<\n Record<BasketsTableName, Readonly<TableSchema>>\n> = {\n algoType: {\n columns: [\n { name: \"algoType\", serverDataType: \"string\" },\n { name: \"id\", serverDataType: \"int\" },\n ],\n key: \"id\",\n rangeLimits: DEFAULT_RANGE_LIMITS,\n table: { module: \"BASKET\", table: \"algoType\" },\n },\n basket: {\n columns: [\n { name: \"id\", serverDataType: \"string\" },\n { name: \"name\", serverDataType: \"string\" },\n { name: \"notionalValue\", serverDataType: \"double\" },\n { name: \"notionalValueUsd\", serverDataType: \"double\" },\n ],\n key: \"id\",\n rangeLimits: DEFAULT_RANGE_LIMITS,\n table: { module: \"BASKET\", table: \"basket\" },\n },\n basketConstituent: {\n columns: [\n { name: \"basketId\", serverDataType: \"string\" },\n { name: \"change\", serverDataType: \"string\" },\n { name: \"description\", serverDataType: \"string\" },\n { name: \"lastTrade\", serverDataType: \"string\" },\n { name: \"ric\", serverDataType: \"string\" },\n { name: \"ricBasketId\", serverDataType: \"string\" },\n { name: \"side\", serverDataType: \"string\" },\n { name: \"volume\", serverDataType: \"string\" },\n { name: \"weighting\", serverDataType: \"double\" },\n ],\n key: \"ricBasketId\",\n rangeLimits: DEFAULT_RANGE_LIMITS,\n table: { module: \"BASKET\", table: \"basketConstituent\" },\n },\n basketTrading: {\n columns: [\n { name: \"basketId\", serverDataType: \"string\" },\n { name: \"basketName\", serverDataType: \"string\" },\n { name: \"filledPct\", serverDataType: \"double\" },\n { name: \"fxRateToUsd\", serverDataType: \"double\" },\n { name: \"instanceId\", serverDataType: \"string\" },\n { name: \"side\", serverDataType: \"string\" },\n { name: \"status\", serverDataType: \"string\" },\n { name: \"totalNotional\", serverDataType: \"double\" },\n { name: \"totalNotionalUsd\", serverDataType: \"double\" },\n { name: \"units\", serverDataType: \"int\" },\n ],\n key: \"instanceId\",\n rangeLimits: DEFAULT_RANGE_LIMITS,\n table: { module: \"BASKET\", table: \"basketTrading\" },\n },\n basketTradingConstituent: {\n columns: [\n { name: \"algo\", serverDataType: \"string\" },\n { name: \"algoParams\", serverDataType: \"string\" },\n { name: \"basketId\", serverDataType: \"string\" },\n { name: \"description\", serverDataType: \"string\" },\n { name: \"instanceId\", serverDataType: \"string\" },\n { name: \"instanceIdRic\", serverDataType: \"string\" },\n { name: \"limitPrice\", serverDataType: \"double\" },\n { name: \"notionalLocal\", serverDataType: \"double\" },\n { name: \"notionalUsd\", serverDataType: \"double\" },\n { name: \"pctFilled\", serverDataType: \"double\" },\n { name: \"priceSpread\", serverDataType: \"int\" },\n { name: \"priceStrategyId\", serverDataType: \"int\" },\n { name: \"quantity\", serverDataType: \"long\" },\n { name: \"ric\", serverDataType: \"string\" },\n { name: \"side\", serverDataType: \"string\" },\n { name: \"status\", serverDataType: \"string\" },\n { name: \"venue\", serverDataType: \"string\" },\n { name: \"weighting\", serverDataType: \"double\" },\n ],\n key: \"instanceIdRic\",\n rangeLimits: DEFAULT_RANGE_LIMITS,\n table: { module: \"BASKET\", table: \"basketTradingConstituent\" },\n },\n\n basketTradingConstituentJoin: {\n columns: [\n { name: \"algo\", serverDataType: \"string\" },\n { name: \"algoParams\", serverDataType: \"string\" },\n { name: \"ask\", serverDataType: \"double\" },\n { name: \"askSize\", serverDataType: \"double\" },\n { name: \"basketId\", serverDataType: \"string\" },\n { name: \"bid\", serverDataType: \"double\" },\n { name: \"bidSize\", serverDataType: \"double\" },\n { name: \"close\", serverDataType: \"double\" },\n { name: \"description\", serverDataType: \"string\" },\n { name: \"instanceId\", serverDataType: \"string\" },\n { name: \"instanceIdRic\", serverDataType: \"string\" },\n { name: \"last\", serverDataType: \"double\" },\n { name: \"limitPrice\", serverDataType: \"double\" },\n { name: \"notionalLocal\", serverDataType: \"double\" },\n { name: \"notionalUsd\", serverDataType: \"double\" },\n { name: \"open\", serverDataType: \"double\" },\n { name: \"pctFilled\", serverDataType: \"double\" },\n { name: \"phase\", serverDataType: \"string\" },\n { name: \"priceSpread\", serverDataType: \"int\" },\n { name: \"priceStrategyId\", serverDataType: \"int\" },\n { name: \"quantity\", serverDataType: \"long\" },\n { name: \"ric\", serverDataType: \"string\" },\n { name: \"scenario\", serverDataType: \"string\" },\n { name: \"side\", serverDataType: \"string\" },\n { name: \"status\", serverDataType: \"string\" },\n { name: \"venue\", serverDataType: \"string\" },\n { name: \"weighting\", serverDataType: \"double\" },\n ],\n key: \"instanceIdRic\",\n rangeLimits: DEFAULT_RANGE_LIMITS,\n table: { module: \"BASKET\", table: \"basketTradingConstituentJoin\" },\n },\n priceStrategyType: {\n columns: [\n { name: \"priceStrategy\", serverDataType: \"string\" },\n { name: \"id\", serverDataType: \"int\" },\n ],\n key: \"\",\n rangeLimits: DEFAULT_RANGE_LIMITS,\n table: { module: \"BASKET\", table: \"priceStrategyType\" },\n },\n};\n\nexport type BasketVuuTable = {\n module: \"BASKET\";\n table: BasketsTableName;\n};\n\nexport const isBasketTable = (table: VuuTable): table is BasketVuuTable =>\n table.module === \"BASKET\";\n"],"names":[],"mappings":"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"}
@@ -13,6 +13,10 @@ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read fr
13
13
  var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
14
14
  var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), member.set(obj, value), value);
15
15
  var _instance, _tables;
16
+ const DEFAULT_RANGE_LIMITS = {
17
+ maxRangeEnd: 1e6,
18
+ maxRangeWidth: 1e3
19
+ };
16
20
  const _TableContainer = class _TableContainer {
17
21
  constructor() {
18
22
  __privateAdd(this, _tables, /* @__PURE__ */ new Map());
@@ -44,6 +48,7 @@ const _TableContainer = class _TableContainer {
44
48
  const combinedSchema = {
45
49
  key: joinColumn,
46
50
  table: joinTable,
51
+ rangeLimits: DEFAULT_RANGE_LIMITS,
47
52
  columns: Array.from(combinedColumns).map((columnName) => ({
48
53
  name: columnName,
49
54
  serverDataType: getServerDataType(columnName, schema1, schema2)
@@ -1 +1 @@
1
- {"version":3,"file":"TableContainer.js","sources":["../../../../../packages/vuu-data-test/src/core/table/TableContainer.ts"],"sourcesContent":["import { SchemaColumn, TableSchema } from \"@vuu-ui/vuu-data-types\";\nimport { buildDataColumnMapFromSchema, Table } from \"../../Table\";\nimport { VuuRowDataItemType, VuuTable } from \"@vuu-ui/vuu-protocol-types\";\nimport { ColumnMap } from \"@vuu-ui/vuu-utils\";\nimport { UpdateGenerator } from \"../../rowUpdates\";\n\nclass TableContainer {\n private constructor() {\n // empty constructor is all we need\n }\n static #instance: TableContainer;\n\n public static get instance(): TableContainer {\n if (!TableContainer.#instance) {\n TableContainer.#instance = new TableContainer();\n }\n return TableContainer.#instance;\n }\n\n #tables = new Map<string, Table>();\n\n createTable = (\n schema: TableSchema,\n data: Array<Array<VuuRowDataItemType | bigint>>,\n dataMap: ColumnMap,\n updateGenerator?: UpdateGenerator,\n ) => {\n const table = new Table(schema, data, dataMap, updateGenerator);\n this.addTable(table);\n return table;\n };\n\n // TODO this is problematic in that it assumes both tables are already created\n // depends on the order in which modules are imported\n // Make this independent of base table creation order\n createJoinTable(\n joinTable: VuuTable,\n { table: t1 }: VuuTable,\n { table: t2 }: VuuTable,\n joinColumn: string,\n ) {\n const table1 = this.getTable(t1);\n const table2 = this.getTable(t2);\n\n // Just copies source tables, then registers update listeners.\n // Not terribly efficient, but good enough for showcase\n\n const { map: m1, schema: schema1 } = table1;\n const { map: m2, schema: schema2 } = table2;\n const k1 = m1[joinColumn];\n const k2 = m2[joinColumn];\n\n const combinedColumns = new Set(\n [...schema1.columns, ...schema2.columns].map((col) => col.name).sort(),\n );\n\n const combinedSchema: TableSchema = {\n key: joinColumn,\n table: joinTable,\n columns: Array.from(combinedColumns).map<SchemaColumn>((columnName) => ({\n name: columnName,\n serverDataType: getServerDataType(columnName, schema1, schema2),\n })),\n };\n\n const data: Array<bigint | VuuRowDataItemType>[] = [];\n const combinedColumnMap = buildDataColumnMapFromSchema(combinedSchema);\n // const start = performance.now();\n for (const row of table1.data) {\n const row2 = table2.findByKey(String(row[k1]));\n if (row2) {\n const out = [];\n for (const column of table1.schema.columns) {\n const value = row[m1[column.name]];\n out[combinedColumnMap[column.name]] = value;\n }\n for (const column of table2.schema.columns) {\n const value = row2[m2[column.name]];\n out[combinedColumnMap[column.name]] = value;\n }\n data.push(out);\n }\n }\n // const end = performance.now();\n // console.log(`took ${end - start} ms to create join table ${joinTable.table}`);\n\n const newTable = new Table(combinedSchema, data, combinedColumnMap);\n\n table1.on(\"insert\", (row) => {\n const row2 = table2.findByKey(String(row[k1]));\n if (row2) {\n const out = [];\n for (const column of table1.schema.columns) {\n const value = row[m1[column.name]];\n out[combinedColumnMap[column.name]] = value;\n }\n for (const column of table2.schema.columns) {\n const value = row2[m2[column.name]];\n out[combinedColumnMap[column.name]] = value;\n }\n newTable.insert(out);\n }\n });\n\n table2.on(\"update\", (row) => {\n const keyValue = row[k2] as string;\n const targetRow = newTable.findByKey(keyValue);\n if (targetRow) {\n const updatedRow = targetRow.slice();\n for (const { name } of table2.schema.columns) {\n if (row[m2[name]] !== updatedRow[combinedColumnMap[name]]) {\n updatedRow[combinedColumnMap[name]] = row[m2[name]];\n }\n }\n newTable.updateRow(updatedRow);\n }\n });\n\n this.addTable(newTable);\n\n return newTable;\n }\n\n addTable(table: Table) {\n this.#tables.set(table.name, table);\n }\n getTable<T = Table>(tableName: string) {\n const table = this.#tables.get(tableName) as T;\n if (table) {\n return table;\n } else {\n throw Error(`[TableContainer] no table ${tableName}`);\n }\n }\n}\n\nexport default TableContainer.instance;\n\nconst getServerDataType = (\n columnName: string,\n { columns: cols1, table: t1 }: TableSchema,\n { columns: cols2, table: t2 }: TableSchema,\n) => {\n const col1 = cols1.find((col) => col.name === columnName);\n const col2 = cols2.find((col) => col.name === columnName);\n if (col1 && col2) {\n if (col1.serverDataType === col2.serverDataType) {\n return col1.serverDataType;\n } else {\n throw Error(\n `both tables ${t1.table} and ${t2.table} implement column ${columnName}, but with types differ`,\n );\n }\n } else if (col1) {\n return col1.serverDataType;\n } else if (col2) {\n return col2.serverDataType;\n } else {\n throw Error(`how is this possible`);\n }\n};\n"],"names":["Table","buildDataColumnMapFromSchema"],"mappings":"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"}
1
+ {"version":3,"file":"TableContainer.js","sources":["../../../../../packages/vuu-data-test/src/core/table/TableContainer.ts"],"sourcesContent":["import { SchemaColumn, TableSchema } from \"@vuu-ui/vuu-data-types\";\nimport { buildDataColumnMapFromSchema, Table } from \"../../Table\";\nimport { VuuRowDataItemType, VuuTable } from \"@vuu-ui/vuu-protocol-types\";\nimport { ColumnMap } from \"@vuu-ui/vuu-utils\";\nimport { UpdateGenerator } from \"../../rowUpdates\";\n\nconst DEFAULT_RANGE_LIMITS = {\n maxRangeEnd: 1_000_000,\n maxRangeWidth: 1_000,\n};\n\nclass TableContainer {\n private constructor() {\n // empty constructor is all we need\n }\n static #instance: TableContainer;\n\n public static get instance(): TableContainer {\n if (!TableContainer.#instance) {\n TableContainer.#instance = new TableContainer();\n }\n return TableContainer.#instance;\n }\n\n #tables = new Map<string, Table>();\n\n createTable = (\n schema: TableSchema,\n data: Array<Array<VuuRowDataItemType | bigint>>,\n dataMap: ColumnMap,\n updateGenerator?: UpdateGenerator,\n ) => {\n const table = new Table(schema, data, dataMap, updateGenerator);\n this.addTable(table);\n return table;\n };\n\n // TODO this is problematic in that it assumes both tables are already created\n // depends on the order in which modules are imported\n // Make this independent of base table creation order\n createJoinTable(\n joinTable: VuuTable,\n { table: t1 }: VuuTable,\n { table: t2 }: VuuTable,\n joinColumn: string,\n ) {\n const table1 = this.getTable(t1);\n const table2 = this.getTable(t2);\n\n // Just copies source tables, then registers update listeners.\n // Not terribly efficient, but good enough for showcase\n\n const { map: m1, schema: schema1 } = table1;\n const { map: m2, schema: schema2 } = table2;\n const k1 = m1[joinColumn];\n const k2 = m2[joinColumn];\n\n const combinedColumns = new Set(\n [...schema1.columns, ...schema2.columns].map((col) => col.name).sort(),\n );\n\n const combinedSchema: TableSchema = {\n key: joinColumn,\n table: joinTable,\n rangeLimits: DEFAULT_RANGE_LIMITS,\n columns: Array.from(combinedColumns).map<SchemaColumn>((columnName) => ({\n name: columnName,\n serverDataType: getServerDataType(columnName, schema1, schema2),\n })),\n };\n\n const data: Array<bigint | VuuRowDataItemType>[] = [];\n const combinedColumnMap = buildDataColumnMapFromSchema(combinedSchema);\n // const start = performance.now();\n for (const row of table1.data) {\n const row2 = table2.findByKey(String(row[k1]));\n if (row2) {\n const out = [];\n for (const column of table1.schema.columns) {\n const value = row[m1[column.name]];\n out[combinedColumnMap[column.name]] = value;\n }\n for (const column of table2.schema.columns) {\n const value = row2[m2[column.name]];\n out[combinedColumnMap[column.name]] = value;\n }\n data.push(out);\n }\n }\n // const end = performance.now();\n // console.log(`took ${end - start} ms to create join table ${joinTable.table}`);\n\n const newTable = new Table(combinedSchema, data, combinedColumnMap);\n\n table1.on(\"insert\", (row) => {\n const row2 = table2.findByKey(String(row[k1]));\n if (row2) {\n const out = [];\n for (const column of table1.schema.columns) {\n const value = row[m1[column.name]];\n out[combinedColumnMap[column.name]] = value;\n }\n for (const column of table2.schema.columns) {\n const value = row2[m2[column.name]];\n out[combinedColumnMap[column.name]] = value;\n }\n newTable.insert(out);\n }\n });\n\n table2.on(\"update\", (row) => {\n const keyValue = row[k2] as string;\n const targetRow = newTable.findByKey(keyValue);\n if (targetRow) {\n const updatedRow = targetRow.slice();\n for (const { name } of table2.schema.columns) {\n if (row[m2[name]] !== updatedRow[combinedColumnMap[name]]) {\n updatedRow[combinedColumnMap[name]] = row[m2[name]];\n }\n }\n newTable.updateRow(updatedRow);\n }\n });\n\n this.addTable(newTable);\n\n return newTable;\n }\n\n addTable(table: Table) {\n this.#tables.set(table.name, table);\n }\n getTable<T = Table>(tableName: string) {\n const table = this.#tables.get(tableName) as T;\n if (table) {\n return table;\n } else {\n throw Error(`[TableContainer] no table ${tableName}`);\n }\n }\n}\n\nexport default TableContainer.instance;\n\nconst getServerDataType = (\n columnName: string,\n { columns: cols1, table: t1 }: TableSchema,\n { columns: cols2, table: t2 }: TableSchema,\n) => {\n const col1 = cols1.find((col) => col.name === columnName);\n const col2 = cols2.find((col) => col.name === columnName);\n if (col1 && col2) {\n if (col1.serverDataType === col2.serverDataType) {\n return col1.serverDataType;\n } else {\n throw Error(\n `both tables ${t1.table} and ${t2.table} implement column ${columnName}, but with types differ`,\n );\n }\n } else if (col1) {\n return col1.serverDataType;\n } else if (col2) {\n return col2.serverDataType;\n } else {\n throw Error(`how is this possible`);\n }\n};\n"],"names":["Table","buildDataColumnMapFromSchema"],"mappings":"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"}
@@ -2,6 +2,10 @@
2
2
 
3
3
  var defaultColumnDefinitions = require('../default-column-definitions.js');
4
4
 
5
+ const DEFAULT_RANGE_LIMITS = {
6
+ maxRangeEnd: 1e6,
7
+ maxRangeWidth: 1e3
8
+ };
5
9
  const schemas = {
6
10
  instruments: {
7
11
  columns: [
@@ -15,6 +19,7 @@ const schemas = {
15
19
  ...defaultColumnDefinitions.VUU_DEFAULT_COLUMNS
16
20
  ],
17
21
  key: "ric",
22
+ rangeLimits: DEFAULT_RANGE_LIMITS,
18
23
  table: { module: "SIMUL", table: "instruments" }
19
24
  },
20
25
  instrumentsExtended: {
@@ -34,6 +39,7 @@ const schemas = {
34
39
  ...defaultColumnDefinitions.VUU_DEFAULT_COLUMNS
35
40
  ],
36
41
  key: "ric",
42
+ rangeLimits: DEFAULT_RANGE_LIMITS,
37
43
  table: { module: "SIMUL", table: "instrumentsExtended" }
38
44
  },
39
45
  instrumentPrices: {
@@ -58,6 +64,7 @@ const schemas = {
58
64
  ...defaultColumnDefinitions.VUU_DEFAULT_COLUMNS
59
65
  ],
60
66
  key: "ric",
67
+ rangeLimits: DEFAULT_RANGE_LIMITS,
61
68
  table: { module: "SIMUL", table: "instrumentPrices" }
62
69
  },
63
70
  orders: {
@@ -74,6 +81,7 @@ const schemas = {
74
81
  ...defaultColumnDefinitions.VUU_DEFAULT_COLUMNS
75
82
  ],
76
83
  key: "orderId",
84
+ rangeLimits: DEFAULT_RANGE_LIMITS,
77
85
  table: { module: "SIMUL", table: "orders" }
78
86
  },
79
87
  childOrders: {
@@ -97,6 +105,7 @@ const schemas = {
97
105
  ...defaultColumnDefinitions.VUU_DEFAULT_COLUMNS
98
106
  ],
99
107
  key: "id",
108
+ rangeLimits: DEFAULT_RANGE_LIMITS,
100
109
  table: { module: "SIMUL", table: "childOrders" }
101
110
  },
102
111
  parentOrders: {
@@ -120,6 +129,7 @@ const schemas = {
120
129
  ...defaultColumnDefinitions.VUU_DEFAULT_COLUMNS
121
130
  ],
122
131
  key: "id",
132
+ rangeLimits: DEFAULT_RANGE_LIMITS,
123
133
  table: { module: "SIMUL", table: "parentOrders" }
124
134
  },
125
135
  prices: {
@@ -138,6 +148,7 @@ const schemas = {
138
148
  ...defaultColumnDefinitions.VUU_DEFAULT_COLUMNS
139
149
  ],
140
150
  key: "ric",
151
+ rangeLimits: DEFAULT_RANGE_LIMITS,
141
152
  table: { module: "SIMUL", table: "prices" }
142
153
  }
143
154
  };
@@ -1 +1 @@
1
- {"version":3,"file":"simul-schemas.js","sources":["../../../../packages/vuu-data-test/src/simul/simul-schemas.ts"],"sourcesContent":["import { TableSchema } from \"@vuu-ui/vuu-data-types\";\nimport { VuuTable } from \"@vuu-ui/vuu-protocol-types\";\nimport { VUU_DEFAULT_COLUMNS } from \"../default-column-definitions\";\n\nexport type SimulTableName =\n | \"instruments\"\n | \"instrumentsExtended\"\n | \"instrumentPrices\"\n | \"orders\"\n | \"childOrders\"\n | \"parentOrders\"\n | \"prices\";\n\n// These Schemas take the form of the schemas that we create\n// with TABLE_META returned by Vuu.\nexport const schemas: Readonly<Record<SimulTableName, Readonly<TableSchema>>> =\n {\n instruments: {\n columns: [\n { name: \"bbg\", serverDataType: \"string\" },\n { name: \"currency\", serverDataType: \"string\" },\n { name: \"description\", serverDataType: \"string\" },\n { name: \"exchange\", serverDataType: \"string\" },\n { name: \"isin\", serverDataType: \"string\" },\n { name: \"lotSize\", serverDataType: \"int\" },\n { name: \"ric\", serverDataType: \"string\" },\n ...VUU_DEFAULT_COLUMNS,\n ],\n key: \"ric\",\n table: { module: \"SIMUL\", table: \"instruments\" },\n },\n instrumentsExtended: {\n columns: [\n { name: \"bbg\", serverDataType: \"string\" },\n { name: \"currency\", serverDataType: \"string\" },\n { name: \"description\", serverDataType: \"string\" },\n { name: \"exchange\", serverDataType: \"string\" },\n { name: \"isin\", serverDataType: \"string\" },\n { name: \"lotSize\", serverDataType: \"int\" },\n { name: \"ric\", serverDataType: \"string\" },\n { name: \"supported\", serverDataType: \"boolean\" },\n { name: \"wishlist\", serverDataType: \"boolean\" },\n { name: \"lastUpdated\", serverDataType: \"long\" },\n { name: \"price\", serverDataType: \"double\" },\n { name: \"date\", serverDataType: \"long\" },\n ...VUU_DEFAULT_COLUMNS,\n ],\n key: \"ric\",\n table: { module: \"SIMUL\", table: \"instrumentsExtended\" },\n },\n instrumentPrices: {\n columns: [\n { name: \"ask\", serverDataType: \"double\" },\n { name: \"askSize\", serverDataType: \"double\" }, // type: \"int\"\n { name: \"bbg\", serverDataType: \"string\" },\n { name: \"bid\", serverDataType: \"double\" },\n { name: \"bidSize\", serverDataType: \"double\" },\n { name: \"close\", serverDataType: \"double\" },\n { name: \"currency\", serverDataType: \"string\" },\n { name: \"description\", serverDataType: \"string\" },\n { name: \"exchange\", serverDataType: \"string\" },\n { name: \"isin\", serverDataType: \"string\" },\n { name: \"last\", serverDataType: \"double\" },\n { name: \"lotSize\", serverDataType: \"int\" },\n { name: \"open\", serverDataType: \"double\" },\n { name: \"phase\", serverDataType: \"string\" },\n { name: \"ric\", serverDataType: \"string\" },\n { name: \"scenario\", serverDataType: \"string\" },\n ...VUU_DEFAULT_COLUMNS,\n ],\n key: \"ric\",\n table: { module: \"SIMUL\", table: \"instrumentPrices\" },\n },\n orders: {\n columns: [\n { name: \"status\", serverDataType: \"string\" },\n { name: \"ccy\", serverDataType: \"string\" },\n { name: \"filledQuantity\", serverDataType: \"double\" },\n { name: \"lastUpdate\", serverDataType: \"long\" },\n { name: \"orderId\", serverDataType: \"string\" },\n { name: \"quantity\", serverDataType: \"double\" },\n { name: \"ric\", serverDataType: \"string\" },\n { name: \"side\", serverDataType: \"string\" },\n { name: \"trader\", serverDataType: \"string\" },\n ...VUU_DEFAULT_COLUMNS,\n ],\n key: \"orderId\",\n table: { module: \"SIMUL\", table: \"orders\" },\n },\n childOrders: {\n columns: [\n { name: \"account\", serverDataType: \"string\" },\n { name: \"averagePrice\", serverDataType: \"double\" },\n { name: \"ccy\", serverDataType: \"string\" },\n { name: \"exchange\", serverDataType: \"string\" },\n { name: \"filledQty\", serverDataType: \"double\" },\n { name: \"id\", serverDataType: \"string\" },\n { name: \"idAsInt\", serverDataType: \"int\" },\n { name: \"openQty\", serverDataType: \"double\" },\n { name: \"parentOrderId\", serverDataType: \"string\" },\n { name: \"price\", serverDataType: \"double\" },\n { name: \"quantity\", serverDataType: \"double\" },\n { name: \"ric\", serverDataType: \"string\" },\n { name: \"side\", serverDataType: \"string\" },\n { name: \"status\", serverDataType: \"string\" },\n { name: \"strategy\", serverDataType: \"string\" },\n { name: \"volLimit\", serverDataType: \"int\" },\n ...VUU_DEFAULT_COLUMNS,\n ],\n key: \"id\",\n table: { module: \"SIMUL\", table: \"childOrders\" },\n },\n parentOrders: {\n columns: [\n { name: \"account\", serverDataType: \"string\" },\n { name: \"algo\", serverDataType: \"string\" },\n { name: \"averagePrice\", serverDataType: \"double\" },\n { name: \"ccy\", serverDataType: \"string\" },\n { name: \"childCount\", serverDataType: \"int\" },\n { name: \"exchange\", serverDataType: \"string\" },\n { name: \"filledQty\", serverDataType: \"double\" },\n { name: \"id\", serverDataType: \"string\" },\n { name: \"idAsInt\", serverDataType: \"int\" },\n { name: \"openQty\", serverDataType: \"double\" },\n { name: \"price\", serverDataType: \"double\" },\n { name: \"quantity\", serverDataType: \"double\" },\n { name: \"ric\", serverDataType: \"string\" },\n { name: \"side\", serverDataType: \"string\" },\n { name: \"status\", serverDataType: \"string\" },\n { name: \"volLimit\", serverDataType: \"int\" },\n ...VUU_DEFAULT_COLUMNS,\n ],\n key: \"id\",\n table: { module: \"SIMUL\", table: \"parentOrders\" },\n },\n prices: {\n columns: [\n { name: \"ask\", serverDataType: \"double\" },\n { name: \"askSize\", serverDataType: \"double\" }, // type: \"int\"\n { name: \"bid\", serverDataType: \"double\" },\n { name: \"bidSize\", serverDataType: \"double\" },\n { name: \"close\", serverDataType: \"double\" },\n { name: \"last\", serverDataType: \"double\" },\n { name: \"open\", serverDataType: \"double\" },\n { name: \"phase\", serverDataType: \"string\" },\n { name: \"ric\", serverDataType: \"string\" },\n { name: \"scenario\", serverDataType: \"string\" },\n ...VUU_DEFAULT_COLUMNS,\n ],\n key: \"ric\",\n table: { module: \"SIMUL\", table: \"prices\" },\n },\n };\n\nexport type SimulVuuTable = {\n module: \"SIMUL\";\n table: SimulTableName;\n};\n\nexport const isSimulTable = (table: VuuTable): table is SimulVuuTable =>\n table.module === \"SIMUL\";\n"],"names":["VUU_DEFAULT_COLUMNS"],"mappings":"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"}
1
+ {"version":3,"file":"simul-schemas.js","sources":["../../../../packages/vuu-data-test/src/simul/simul-schemas.ts"],"sourcesContent":["import { TableSchema } from \"@vuu-ui/vuu-data-types\";\nimport { VuuTable } from \"@vuu-ui/vuu-protocol-types\";\nimport { VUU_DEFAULT_COLUMNS } from \"../default-column-definitions\";\n\nconst DEFAULT_RANGE_LIMITS = {\n maxRangeEnd: 1_000_000,\n maxRangeWidth: 1_000,\n};\n\nexport type SimulTableName =\n | \"instruments\"\n | \"instrumentsExtended\"\n | \"instrumentPrices\"\n | \"orders\"\n | \"childOrders\"\n | \"parentOrders\"\n | \"prices\";\n\n// These Schemas take the form of the schemas that we create\n// with TABLE_META returned by Vuu.\nexport const schemas: Readonly<Record<SimulTableName, Readonly<TableSchema>>> =\n{\n instruments: {\n columns: [\n { name: \"bbg\", serverDataType: \"string\" },\n { name: \"currency\", serverDataType: \"string\" },\n { name: \"description\", serverDataType: \"string\" },\n { name: \"exchange\", serverDataType: \"string\" },\n { name: \"isin\", serverDataType: \"string\" },\n { name: \"lotSize\", serverDataType: \"int\" },\n { name: \"ric\", serverDataType: \"string\" },\n ...VUU_DEFAULT_COLUMNS,\n ],\n key: \"ric\",\n rangeLimits: DEFAULT_RANGE_LIMITS,\n table: { module: \"SIMUL\", table: \"instruments\" },\n },\n instrumentsExtended: {\n columns: [\n { name: \"bbg\", serverDataType: \"string\" },\n { name: \"currency\", serverDataType: \"string\" },\n { name: \"description\", serverDataType: \"string\" },\n { name: \"exchange\", serverDataType: \"string\" },\n { name: \"isin\", serverDataType: \"string\" },\n { name: \"lotSize\", serverDataType: \"int\" },\n { name: \"ric\", serverDataType: \"string\" },\n { name: \"supported\", serverDataType: \"boolean\" },\n { name: \"wishlist\", serverDataType: \"boolean\" },\n { name: \"lastUpdated\", serverDataType: \"long\" },\n { name: \"price\", serverDataType: \"double\" },\n { name: \"date\", serverDataType: \"long\" },\n ...VUU_DEFAULT_COLUMNS,\n ],\n key: \"ric\",\n rangeLimits: DEFAULT_RANGE_LIMITS,\n table: { module: \"SIMUL\", table: \"instrumentsExtended\" },\n },\n instrumentPrices: {\n columns: [\n { name: \"ask\", serverDataType: \"double\" },\n { name: \"askSize\", serverDataType: \"double\" }, // type: \"int\"\n { name: \"bbg\", serverDataType: \"string\" },\n { name: \"bid\", serverDataType: \"double\" },\n { name: \"bidSize\", serverDataType: \"double\" },\n { name: \"close\", serverDataType: \"double\" },\n { name: \"currency\", serverDataType: \"string\" },\n { name: \"description\", serverDataType: \"string\" },\n { name: \"exchange\", serverDataType: \"string\" },\n { name: \"isin\", serverDataType: \"string\" },\n { name: \"last\", serverDataType: \"double\" },\n { name: \"lotSize\", serverDataType: \"int\" },\n { name: \"open\", serverDataType: \"double\" },\n { name: \"phase\", serverDataType: \"string\" },\n { name: \"ric\", serverDataType: \"string\" },\n { name: \"scenario\", serverDataType: \"string\" },\n ...VUU_DEFAULT_COLUMNS,\n ],\n key: \"ric\",\n rangeLimits: DEFAULT_RANGE_LIMITS,\n table: { module: \"SIMUL\", table: \"instrumentPrices\" },\n },\n orders: {\n columns: [\n { name: \"status\", serverDataType: \"string\" },\n { name: \"ccy\", serverDataType: \"string\" },\n { name: \"filledQuantity\", serverDataType: \"double\" },\n { name: \"lastUpdate\", serverDataType: \"long\" },\n { name: \"orderId\", serverDataType: \"string\" },\n { name: \"quantity\", serverDataType: \"double\" },\n { name: \"ric\", serverDataType: \"string\" },\n { name: \"side\", serverDataType: \"string\" },\n { name: \"trader\", serverDataType: \"string\" },\n ...VUU_DEFAULT_COLUMNS,\n ],\n key: \"orderId\",\n rangeLimits: DEFAULT_RANGE_LIMITS,\n table: { module: \"SIMUL\", table: \"orders\" },\n },\n childOrders: {\n columns: [\n { name: \"account\", serverDataType: \"string\" },\n { name: \"averagePrice\", serverDataType: \"double\" },\n { name: \"ccy\", serverDataType: \"string\" },\n { name: \"exchange\", serverDataType: \"string\" },\n { name: \"filledQty\", serverDataType: \"double\" },\n { name: \"id\", serverDataType: \"string\" },\n { name: \"idAsInt\", serverDataType: \"int\" },\n { name: \"openQty\", serverDataType: \"double\" },\n { name: \"parentOrderId\", serverDataType: \"string\" },\n { name: \"price\", serverDataType: \"double\" },\n { name: \"quantity\", serverDataType: \"double\" },\n { name: \"ric\", serverDataType: \"string\" },\n { name: \"side\", serverDataType: \"string\" },\n { name: \"status\", serverDataType: \"string\" },\n { name: \"strategy\", serverDataType: \"string\" },\n { name: \"volLimit\", serverDataType: \"int\" },\n ...VUU_DEFAULT_COLUMNS,\n ],\n key: \"id\",\n rangeLimits: DEFAULT_RANGE_LIMITS,\n table: { module: \"SIMUL\", table: \"childOrders\" },\n },\n parentOrders: {\n columns: [\n { name: \"account\", serverDataType: \"string\" },\n { name: \"algo\", serverDataType: \"string\" },\n { name: \"averagePrice\", serverDataType: \"double\" },\n { name: \"ccy\", serverDataType: \"string\" },\n { name: \"childCount\", serverDataType: \"int\" },\n { name: \"exchange\", serverDataType: \"string\" },\n { name: \"filledQty\", serverDataType: \"double\" },\n { name: \"id\", serverDataType: \"string\" },\n { name: \"idAsInt\", serverDataType: \"int\" },\n { name: \"openQty\", serverDataType: \"double\" },\n { name: \"price\", serverDataType: \"double\" },\n { name: \"quantity\", serverDataType: \"double\" },\n { name: \"ric\", serverDataType: \"string\" },\n { name: \"side\", serverDataType: \"string\" },\n { name: \"status\", serverDataType: \"string\" },\n { name: \"volLimit\", serverDataType: \"int\" },\n ...VUU_DEFAULT_COLUMNS,\n ],\n key: \"id\",\n rangeLimits: DEFAULT_RANGE_LIMITS,\n table: { module: \"SIMUL\", table: \"parentOrders\" },\n },\n prices: {\n columns: [\n { name: \"ask\", serverDataType: \"double\" },\n { name: \"askSize\", serverDataType: \"double\" }, // type: \"int\"\n { name: \"bid\", serverDataType: \"double\" },\n { name: \"bidSize\", serverDataType: \"double\" },\n { name: \"close\", serverDataType: \"double\" },\n { name: \"last\", serverDataType: \"double\" },\n { name: \"open\", serverDataType: \"double\" },\n { name: \"phase\", serverDataType: \"string\" },\n { name: \"ric\", serverDataType: \"string\" },\n { name: \"scenario\", serverDataType: \"string\" },\n ...VUU_DEFAULT_COLUMNS,\n ],\n key: \"ric\",\n rangeLimits: DEFAULT_RANGE_LIMITS,\n table: { module: \"SIMUL\", table: \"prices\" },\n },\n};\n\nexport type SimulVuuTable = {\n module: \"SIMUL\";\n table: SimulTableName;\n};\n\nexport const isSimulTable = (table: VuuTable): table is SimulVuuTable =>\n table.module === \"SIMUL\";\n"],"names":["VUU_DEFAULT_COLUMNS"],"mappings":"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"}
@@ -13,6 +13,10 @@ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot
13
13
  var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
14
14
  var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
15
15
  var _schemas, _tables;
16
+ const DEFAULT_RANGE_LIMITS = {
17
+ maxRangeEnd: 1e6,
18
+ maxRangeWidth: 1e3
19
+ };
16
20
  const { RowGenerator } = vuuRowGenerator.defaultGenerators;
17
21
  const generateRows = (tableSchema, count) => {
18
22
  const columnGenerator = RowGenerator(tableSchema.columns.map((c) => c.name));
@@ -42,6 +46,7 @@ class TestModule extends VuuModule.VuuModule {
42
46
  }
43
47
  ],
44
48
  key: "id",
49
+ rangeLimits: DEFAULT_RANGE_LIMITS,
45
50
  table: { module: "TEST", table: "TestDates" }
46
51
  },
47
52
  TwoHundredColumns: {
@@ -50,6 +55,7 @@ class TestModule extends VuuModule.VuuModule {
50
55
  serverDataType: "string"
51
56
  })),
52
57
  key: "column_1",
58
+ rangeLimits: DEFAULT_RANGE_LIMITS,
53
59
  table: { module: "TEST", table: "TwoHundredColumns" }
54
60
  },
55
61
  LinkParent: {
@@ -58,6 +64,7 @@ class TestModule extends VuuModule.VuuModule {
58
64
  { name: "data", serverDataType: "string" }
59
65
  ],
60
66
  key: "id",
67
+ rangeLimits: DEFAULT_RANGE_LIMITS,
61
68
  table: { module: "TEST", table: "LinkParent" }
62
69
  },
63
70
  LinkChild: {
@@ -67,6 +74,7 @@ class TestModule extends VuuModule.VuuModule {
67
74
  { name: "data", serverDataType: "string" }
68
75
  ],
69
76
  key: "id",
77
+ rangeLimits: DEFAULT_RANGE_LIMITS,
70
78
  table: { module: "TEST", table: "LinkChild" }
71
79
  },
72
80
  ChartTable: {
@@ -79,7 +87,20 @@ class TestModule extends VuuModule.VuuModule {
79
87
  { name: "volume_excluded", serverDataType: "boolean" }
80
88
  ],
81
89
  key: "id",
90
+ rangeLimits: DEFAULT_RANGE_LIMITS,
82
91
  table: { module: "TEST", table: "ChartTable" }
92
+ },
93
+ MaxScrollEndTable: {
94
+ columns: vuuRowGenerator.DefaultColumnGenerator(6).map((col) => ({
95
+ ...col,
96
+ serverDataType: "string"
97
+ })),
98
+ key: "column_1",
99
+ rangeLimits: {
100
+ maxRangeEnd: 500,
101
+ maxRangeWidth: 1e3
102
+ },
103
+ table: { module: "TEST", table: "MaxScrollEndTable" }
83
104
  }
84
105
  });
85
106
  __privateAdd(this, _tables, {
@@ -160,6 +181,11 @@ class TestModule extends VuuModule.VuuModule {
160
181
  ["025", "2026-04-26", 120, false, 1350, false]
161
182
  ],
162
183
  Table.buildDataColumnMap(__privateGet(this, _schemas), "ChartTable")
184
+ ),
185
+ MaxScrollEndTable: TableContainer.createTable(
186
+ __privateGet(this, _schemas).MaxScrollEndTable,
187
+ generateRows(__privateGet(this, _schemas).MaxScrollEndTable, 1e3),
188
+ Table.buildDataColumnMap(__privateGet(this, _schemas), "MaxScrollEndTable")
163
189
  )
164
190
  });
165
191
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TestModule.js","sources":["../../../../packages/vuu-data-test/src/test/TestModule.ts"],"sourcesContent":["import { RpcMenuService, VuuModule } from \"../core/module/VuuModule\";\nimport { buildDataColumnMap, Table } from \"../Table\";\nimport {\n DefaultColumnGenerator,\n defaultGenerators,\n} from \"../vuu-row-generator\";\nimport tableContainer from \"../core/table/TableContainer\";\nimport { TableSchema } from \"@vuu-ui/vuu-data-types\";\nimport { withNanoMs } from \"../data-utils\";\n\nexport type TestTableName =\n | \"TestDates\"\n | \"TwoHundredColumns\"\n | \"LinkParent\"\n | \"LinkChild\"\n | \"ChartTable\";\n\nconst { RowGenerator } = defaultGenerators;\n\nconst generateRows = (tableSchema: TableSchema, count: number) => {\n const columnGenerator = RowGenerator(tableSchema.columns.map((c) => c.name));\n return new Array(count).fill(1).map((_, i) => columnGenerator(i));\n};\n\nclass TestModule extends VuuModule<TestTableName> {\n #schemas: Record<TestTableName, TableSchema> = {\n TestDates: {\n columns: [\n {\n name: \"id\",\n serverDataType: \"long\",\n },\n {\n name: \"tradeDate\",\n serverDataType: \"epochtimestamp\",\n },\n {\n name: \"settlementDate\",\n serverDataType: \"epochtimestamp\",\n },\n {\n name: \"nanoTimestamp\",\n serverDataType: \"epochtimestampnano\",\n },\n ],\n key: \"id\",\n table: { module: \"TEST\", table: \"TestDates\" },\n },\n TwoHundredColumns: {\n columns: DefaultColumnGenerator(200).map((col) => ({\n ...col,\n serverDataType: \"string\",\n })),\n key: \"column_1\",\n table: { module: \"TEST\", table: \"TwoHundredColumns\" },\n },\n LinkParent: {\n columns: [\n { name: \"id\", serverDataType: \"string\" },\n { name: \"data\", serverDataType: \"string\" },\n ],\n key: \"id\",\n table: { module: \"TEST\", table: \"LinkParent\" },\n },\n\n LinkChild: {\n columns: [\n { name: \"id\", serverDataType: \"string\" },\n { name: \"parentId\", serverDataType: \"string\" },\n { name: \"data\", serverDataType: \"string\" },\n ],\n key: \"id\",\n table: { module: \"TEST\", table: \"LinkChild\" },\n },\n ChartTable: {\n columns: [\n { name: \"id\", serverDataType: \"string\" },\n { name: \"date\", serverDataType: \"string\" },\n { name: \"price\", serverDataType: \"double\" },\n { name: \"price_excluded\", serverDataType: \"boolean\" },\n { name: \"volume\", serverDataType: \"double\" },\n { name: \"volume_excluded\", serverDataType: \"boolean\" },\n ],\n key: \"id\",\n table: { module: \"TEST\", table: \"ChartTable\" },\n },\n };\n\n #tables: Record<TestTableName, Table> = {\n TestDates: tableContainer.createTable(\n this.#schemas.TestDates,\n // prettier-ignore\n [\n [1000000000000000001n, Date.now(), Date.now(), withNanoMs(Date.now(),1)],\n [1000000000000000002n, Date.now(), Date.now(), withNanoMs(Date.now(),2)],\n [1000000000000000003n, Date.now(), Date.now(), withNanoMs(Date.now(),3)],\n [1000000000000000004n, Date.now(), Date.now(), withNanoMs(Date.now(),4)],\n [1000000000000000005n, Date.now(), Date.now(), withNanoMs(Date.now(),5)],\n [1000000000000000006n, Date.now(), Date.now(), withNanoMs(Date.now(),6)],\n [1000000000000000007n, Date.now(), Date.now(), withNanoMs(Date.now(),7)],\n [1000000000000000008n, Date.now(), Date.now(), withNanoMs(Date.now(),8)],\n [1000000000000000009n, Date.now(), Date.now(), withNanoMs(Date.now(),9)],\n [1000000000000000010n, Date.now(), Date.now(), withNanoMs(Date.now(),10)],\n ],\n buildDataColumnMap(this.#schemas, \"TestDates\"),\n ),\n TwoHundredColumns: tableContainer.createTable(\n this.#schemas.TwoHundredColumns,\n generateRows(this.#schemas.TwoHundredColumns, 100),\n buildDataColumnMap(this.#schemas, \"TwoHundredColumns\"),\n ),\n LinkParent: tableContainer.createTable(\n this.#schemas.LinkParent,\n [\n [\"1000000001\", \"data 1\"],\n [\"1000000002\", \"data 2\"],\n [\"1000000003\", \"data 2\"],\n ],\n buildDataColumnMap(this.#schemas, \"LinkParent\"),\n ),\n LinkChild: tableContainer.createTable(\n this.#schemas.LinkChild,\n [\n [\"200001\", \"1000000001\", \"child 1 (linked to 001)\"],\n [\"200002\", \"1000000001\", \"child 2 (linked to 001)\"],\n [\"200003\", \"1000000001\", \"child 3 (linked to 001)\"],\n [\"200004\", \"1000000001\", \"child 4 (linked to 001)\"],\n [\"200005\", \"1000000001\", \"child 5 (linked to 001)\"],\n [\"200006\", \"1000000001\", \"child 6 (linked to 001)\"],\n [\"200007\", \"1000000001\", \"child 7 (linked to 001)\"],\n [\"200008\", \"1000000001\", \"child 8 (linked to 001)\"],\n [\"200009\", \"1000000002\", \"child 9 (linked to 002)\"],\n [\"200010\", \"1000000003\", \"child 10 (linked to 003)\"],\n ],\n buildDataColumnMap(this.#schemas, \"LinkChild\"),\n ),\n ChartTable: tableContainer.createTable(\n this.#schemas.ChartTable,\n [\n [\"001\", \"2026-04-02\", 100, false, 1000, false],\n [\"002\", \"2026-04-03\", 101, false, 999, false],\n [\"003\", \"2026-04-04\", 102, false, 1500, false],\n [\"004\", \"2026-04-05\", 103, false, 1300, false],\n [\"005\", \"2026-04-06\", 104, false, 1002, false],\n [\"006\", \"2026-04-07\", 105, false, 1000, true],\n [\"007\", \"2026-04-08\", 106, false, 1004, false],\n [\"008\", \"2026-04-09\", 107, false, 1040, false],\n [\"009\", \"2026-04-10\", 108, false, 1080, false],\n [\"010\", \"2026-04-11\", 109, false, 1100, false],\n [\"011\", \"2026-04-12\", 109, false, 1102, false],\n [\"012\", \"2026-04-13\", 114, false, 1105, false],\n [\"013\", \"2026-04-14\", 118, false, 1106, false],\n [\"014\", \"2026-04-15\", 125, false, 1107, false],\n [\"015\", \"2026-04-16\", 136, false, 1104, false],\n [\"016\", \"2026-04-17\", 170, false, 1103, false],\n [\"017\", \"2026-04-18\", 145, false, 1100, false],\n [\"018\", \"2026-04-19\", 147, false, 1100, false],\n [\"019\", \"2026-04-20\", 140, false, 1100, false],\n [\"020\", \"2026-04-21\", 138, false, 1100, false],\n [\"021\", \"2026-04-22\", 138, false, 1100, false],\n [\"022\", \"2026-04-23\", 138, false, 1100, false],\n [\"023\", \"2026-04-24\", 120, false, 1200, false],\n [\"024\", \"2026-04-25\", 120, false, 1200, false],\n [\"025\", \"2026-04-26\", 120, false, 1350, false],\n ],\n buildDataColumnMap(this.#schemas, \"ChartTable\"),\n ),\n };\n constructor() {\n super(\"TEST\");\n }\n\n get menus() {\n return undefined;\n }\n get services() {\n return undefined;\n }\n\n get menuServices():\n | Record<TestTableName, RpcMenuService[] | undefined>\n | undefined {\n return undefined;\n }\n\n get schemas() {\n return this.#schemas;\n }\n\n get tables() {\n return this.#tables;\n }\n get visualLinks() {\n return undefined;\n }\n}\n\nexport const testModule = new TestModule();\n"],"names":["defaultGenerators","VuuModule","DefaultColumnGenerator","tableContainer","withNanoMs","buildDataColumnMap"],"mappings":";;;;;;;;;;;;;;AAAA,IAAA,QAAA,EAAA,OAAA;AAiBA,MAAM,EAAE,cAAiB,GAAAA,iCAAA;AAEzB,MAAM,YAAA,GAAe,CAAC,WAAA,EAA0B,KAAkB,KAAA;AAChE,EAAM,MAAA,eAAA,GAAkB,aAAa,WAAY,CAAA,OAAA,CAAQ,IAAI,CAAC,CAAA,KAAM,CAAE,CAAA,IAAI,CAAC,CAAA;AAC3E,EAAA,OAAO,IAAI,KAAA,CAAM,KAAK,CAAA,CAAE,IAAK,CAAA,CAAC,CAAE,CAAA,GAAA,CAAI,CAAC,CAAA,EAAG,CAAM,KAAA,eAAA,CAAgB,CAAC,CAAC,CAAA;AAClE,CAAA;AAEA,MAAM,mBAAmBC,mBAAyB,CAAA;AAAA,EAgJhD,WAAc,GAAA;AACZ,IAAA,KAAA,CAAM,MAAM,CAAA;AAhJd,IAA+C,YAAA,CAAA,IAAA,EAAA,QAAA,EAAA;AAAA,MAC7C,SAAW,EAAA;AAAA,QACT,OAAS,EAAA;AAAA,UACP;AAAA,YACE,IAAM,EAAA,IAAA;AAAA,YACN,cAAgB,EAAA;AAAA,WAClB;AAAA,UACA;AAAA,YACE,IAAM,EAAA,WAAA;AAAA,YACN,cAAgB,EAAA;AAAA,WAClB;AAAA,UACA;AAAA,YACE,IAAM,EAAA,gBAAA;AAAA,YACN,cAAgB,EAAA;AAAA,WAClB;AAAA,UACA;AAAA,YACE,IAAM,EAAA,eAAA;AAAA,YACN,cAAgB,EAAA;AAAA;AAClB,SACF;AAAA,QACA,GAAK,EAAA,IAAA;AAAA,QACL,KAAO,EAAA,EAAE,MAAQ,EAAA,MAAA,EAAQ,OAAO,WAAY;AAAA,OAC9C;AAAA,MACA,iBAAmB,EAAA;AAAA,QACjB,SAASC,sCAAuB,CAAA,GAAG,CAAE,CAAA,GAAA,CAAI,CAAC,GAAS,MAAA;AAAA,UACjD,GAAG,GAAA;AAAA,UACH,cAAgB,EAAA;AAAA,SAChB,CAAA,CAAA;AAAA,QACF,GAAK,EAAA,UAAA;AAAA,QACL,KAAO,EAAA,EAAE,MAAQ,EAAA,MAAA,EAAQ,OAAO,mBAAoB;AAAA,OACtD;AAAA,MACA,UAAY,EAAA;AAAA,QACV,OAAS,EAAA;AAAA,UACP,EAAE,IAAA,EAAM,IAAM,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,UACvC,EAAE,IAAA,EAAM,MAAQ,EAAA,cAAA,EAAgB,QAAS;AAAA,SAC3C;AAAA,QACA,GAAK,EAAA,IAAA;AAAA,QACL,KAAO,EAAA,EAAE,MAAQ,EAAA,MAAA,EAAQ,OAAO,YAAa;AAAA,OAC/C;AAAA,MAEA,SAAW,EAAA;AAAA,QACT,OAAS,EAAA;AAAA,UACP,EAAE,IAAA,EAAM,IAAM,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,UACvC,EAAE,IAAA,EAAM,UAAY,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,UAC7C,EAAE,IAAA,EAAM,MAAQ,EAAA,cAAA,EAAgB,QAAS;AAAA,SAC3C;AAAA,QACA,GAAK,EAAA,IAAA;AAAA,QACL,KAAO,EAAA,EAAE,MAAQ,EAAA,MAAA,EAAQ,OAAO,WAAY;AAAA,OAC9C;AAAA,MACA,UAAY,EAAA;AAAA,QACV,OAAS,EAAA;AAAA,UACP,EAAE,IAAA,EAAM,IAAM,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,UACvC,EAAE,IAAA,EAAM,MAAQ,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,UACzC,EAAE,IAAA,EAAM,OAAS,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,UAC1C,EAAE,IAAA,EAAM,gBAAkB,EAAA,cAAA,EAAgB,SAAU,EAAA;AAAA,UACpD,EAAE,IAAA,EAAM,QAAU,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,UAC3C,EAAE,IAAA,EAAM,iBAAmB,EAAA,cAAA,EAAgB,SAAU;AAAA,SACvD;AAAA,QACA,GAAK,EAAA,IAAA;AAAA,QACL,KAAO,EAAA,EAAE,MAAQ,EAAA,MAAA,EAAQ,OAAO,YAAa;AAAA;AAC/C,KACF,CAAA;AAEA,IAAwC,YAAA,CAAA,IAAA,EAAA,OAAA,EAAA;AAAA,MACtC,WAAWC,cAAe,CAAA,WAAA;AAAA,QACxB,mBAAK,QAAS,CAAA,CAAA,SAAA;AAAA;AAAA,QAEd;AAAA,UACE,CAAC,oBAAA,EAAsB,IAAK,CAAA,GAAA,EAAO,EAAA,IAAA,CAAK,GAAI,EAAA,EAAGC,oBAAW,CAAA,IAAA,CAAK,GAAI,EAAA,EAAE,CAAC,CAAC,CAAA;AAAA,UACvE,CAAC,oBAAA,EAAsB,IAAK,CAAA,GAAA,EAAO,EAAA,IAAA,CAAK,GAAI,EAAA,EAAGA,oBAAW,CAAA,IAAA,CAAK,GAAI,EAAA,EAAE,CAAC,CAAC,CAAA;AAAA,UACvE,CAAC,oBAAA,EAAsB,IAAK,CAAA,GAAA,EAAO,EAAA,IAAA,CAAK,GAAI,EAAA,EAAGA,oBAAW,CAAA,IAAA,CAAK,GAAI,EAAA,EAAE,CAAC,CAAC,CAAA;AAAA,UACvE,CAAC,oBAAA,EAAsB,IAAK,CAAA,GAAA,EAAO,EAAA,IAAA,CAAK,GAAI,EAAA,EAAGA,oBAAW,CAAA,IAAA,CAAK,GAAI,EAAA,EAAE,CAAC,CAAC,CAAA;AAAA,UACvE,CAAC,oBAAA,EAAsB,IAAK,CAAA,GAAA,EAAO,EAAA,IAAA,CAAK,GAAI,EAAA,EAAGA,oBAAW,CAAA,IAAA,CAAK,GAAI,EAAA,EAAE,CAAC,CAAC,CAAA;AAAA,UACvE,CAAC,oBAAA,EAAsB,IAAK,CAAA,GAAA,EAAO,EAAA,IAAA,CAAK,GAAI,EAAA,EAAGA,oBAAW,CAAA,IAAA,CAAK,GAAI,EAAA,EAAE,CAAC,CAAC,CAAA;AAAA,UACvE,CAAC,oBAAA,EAAsB,IAAK,CAAA,GAAA,EAAO,EAAA,IAAA,CAAK,GAAI,EAAA,EAAGA,oBAAW,CAAA,IAAA,CAAK,GAAI,EAAA,EAAE,CAAC,CAAC,CAAA;AAAA,UACvE,CAAC,oBAAA,EAAsB,IAAK,CAAA,GAAA,EAAO,EAAA,IAAA,CAAK,GAAI,EAAA,EAAGA,oBAAW,CAAA,IAAA,CAAK,GAAI,EAAA,EAAE,CAAC,CAAC,CAAA;AAAA,UACvE,CAAC,oBAAA,EAAsB,IAAK,CAAA,GAAA,EAAO,EAAA,IAAA,CAAK,GAAI,EAAA,EAAGA,oBAAW,CAAA,IAAA,CAAK,GAAI,EAAA,EAAE,CAAC,CAAC,CAAA;AAAA,UACvE,CAAC,oBAAA,EAAsB,IAAK,CAAA,GAAA,EAAO,EAAA,IAAA,CAAK,GAAI,EAAA,EAAGA,oBAAW,CAAA,IAAA,CAAK,GAAI,EAAA,EAAE,EAAE,CAAC;AAAA,SAC1E;AAAA,QACAC,wBAAA,CAAmB,YAAK,CAAA,IAAA,EAAA,QAAA,CAAA,EAAU,WAAW;AAAA,OAC/C;AAAA,MACA,mBAAmBF,cAAe,CAAA,WAAA;AAAA,QAChC,mBAAK,QAAS,CAAA,CAAA,iBAAA;AAAA,QACd,YAAa,CAAA,YAAA,CAAA,IAAA,EAAK,QAAS,CAAA,CAAA,iBAAA,EAAmB,GAAG,CAAA;AAAA,QACjDE,wBAAA,CAAmB,YAAK,CAAA,IAAA,EAAA,QAAA,CAAA,EAAU,mBAAmB;AAAA,OACvD;AAAA,MACA,YAAYF,cAAe,CAAA,WAAA;AAAA,QACzB,mBAAK,QAAS,CAAA,CAAA,UAAA;AAAA,QACd;AAAA,UACE,CAAC,cAAc,QAAQ,CAAA;AAAA,UACvB,CAAC,cAAc,QAAQ,CAAA;AAAA,UACvB,CAAC,cAAc,QAAQ;AAAA,SACzB;AAAA,QACAE,wBAAA,CAAmB,YAAK,CAAA,IAAA,EAAA,QAAA,CAAA,EAAU,YAAY;AAAA,OAChD;AAAA,MACA,WAAWF,cAAe,CAAA,WAAA;AAAA,QACxB,mBAAK,QAAS,CAAA,CAAA,SAAA;AAAA,QACd;AAAA,UACE,CAAC,QAAU,EAAA,YAAA,EAAc,yBAAyB,CAAA;AAAA,UAClD,CAAC,QAAU,EAAA,YAAA,EAAc,yBAAyB,CAAA;AAAA,UAClD,CAAC,QAAU,EAAA,YAAA,EAAc,yBAAyB,CAAA;AAAA,UAClD,CAAC,QAAU,EAAA,YAAA,EAAc,yBAAyB,CAAA;AAAA,UAClD,CAAC,QAAU,EAAA,YAAA,EAAc,yBAAyB,CAAA;AAAA,UAClD,CAAC,QAAU,EAAA,YAAA,EAAc,yBAAyB,CAAA;AAAA,UAClD,CAAC,QAAU,EAAA,YAAA,EAAc,yBAAyB,CAAA;AAAA,UAClD,CAAC,QAAU,EAAA,YAAA,EAAc,yBAAyB,CAAA;AAAA,UAClD,CAAC,QAAU,EAAA,YAAA,EAAc,yBAAyB,CAAA;AAAA,UAClD,CAAC,QAAU,EAAA,YAAA,EAAc,2BAA2B;AAAA,SACtD;AAAA,QACAE,wBAAA,CAAmB,YAAK,CAAA,IAAA,EAAA,QAAA,CAAA,EAAU,WAAW;AAAA,OAC/C;AAAA,MACA,YAAYF,cAAe,CAAA,WAAA;AAAA,QACzB,mBAAK,QAAS,CAAA,CAAA,UAAA;AAAA,QACd;AAAA,UACE,CAAC,KAAO,EAAA,YAAA,EAAc,GAAK,EAAA,KAAA,EAAO,KAAM,KAAK,CAAA;AAAA,UAC7C,CAAC,KAAO,EAAA,YAAA,EAAc,GAAK,EAAA,KAAA,EAAO,KAAK,KAAK,CAAA;AAAA,UAC5C,CAAC,KAAO,EAAA,YAAA,EAAc,GAAK,EAAA,KAAA,EAAO,MAAM,KAAK,CAAA;AAAA,UAC7C,CAAC,KAAO,EAAA,YAAA,EAAc,GAAK,EAAA,KAAA,EAAO,MAAM,KAAK,CAAA;AAAA,UAC7C,CAAC,KAAO,EAAA,YAAA,EAAc,GAAK,EAAA,KAAA,EAAO,MAAM,KAAK,CAAA;AAAA,UAC7C,CAAC,KAAO,EAAA,YAAA,EAAc,GAAK,EAAA,KAAA,EAAO,KAAM,IAAI,CAAA;AAAA,UAC5C,CAAC,KAAO,EAAA,YAAA,EAAc,GAAK,EAAA,KAAA,EAAO,MAAM,KAAK,CAAA;AAAA,UAC7C,CAAC,KAAO,EAAA,YAAA,EAAc,GAAK,EAAA,KAAA,EAAO,MAAM,KAAK,CAAA;AAAA,UAC7C,CAAC,KAAO,EAAA,YAAA,EAAc,GAAK,EAAA,KAAA,EAAO,MAAM,KAAK,CAAA;AAAA,UAC7C,CAAC,KAAO,EAAA,YAAA,EAAc,GAAK,EAAA,KAAA,EAAO,MAAM,KAAK,CAAA;AAAA,UAC7C,CAAC,KAAO,EAAA,YAAA,EAAc,GAAK,EAAA,KAAA,EAAO,MAAM,KAAK,CAAA;AAAA,UAC7C,CAAC,KAAO,EAAA,YAAA,EAAc,GAAK,EAAA,KAAA,EAAO,MAAM,KAAK,CAAA;AAAA,UAC7C,CAAC,KAAO,EAAA,YAAA,EAAc,GAAK,EAAA,KAAA,EAAO,MAAM,KAAK,CAAA;AAAA,UAC7C,CAAC,KAAO,EAAA,YAAA,EAAc,GAAK,EAAA,KAAA,EAAO,MAAM,KAAK,CAAA;AAAA,UAC7C,CAAC,KAAO,EAAA,YAAA,EAAc,GAAK,EAAA,KAAA,EAAO,MAAM,KAAK,CAAA;AAAA,UAC7C,CAAC,KAAO,EAAA,YAAA,EAAc,GAAK,EAAA,KAAA,EAAO,MAAM,KAAK,CAAA;AAAA,UAC7C,CAAC,KAAO,EAAA,YAAA,EAAc,GAAK,EAAA,KAAA,EAAO,MAAM,KAAK,CAAA;AAAA,UAC7C,CAAC,KAAO,EAAA,YAAA,EAAc,GAAK,EAAA,KAAA,EAAO,MAAM,KAAK,CAAA;AAAA,UAC7C,CAAC,KAAO,EAAA,YAAA,EAAc,GAAK,EAAA,KAAA,EAAO,MAAM,KAAK,CAAA;AAAA,UAC7C,CAAC,KAAO,EAAA,YAAA,EAAc,GAAK,EAAA,KAAA,EAAO,MAAM,KAAK,CAAA;AAAA,UAC7C,CAAC,KAAO,EAAA,YAAA,EAAc,GAAK,EAAA,KAAA,EAAO,MAAM,KAAK,CAAA;AAAA,UAC7C,CAAC,KAAO,EAAA,YAAA,EAAc,GAAK,EAAA,KAAA,EAAO,MAAM,KAAK,CAAA;AAAA,UAC7C,CAAC,KAAO,EAAA,YAAA,EAAc,GAAK,EAAA,KAAA,EAAO,MAAM,KAAK,CAAA;AAAA,UAC7C,CAAC,KAAO,EAAA,YAAA,EAAc,GAAK,EAAA,KAAA,EAAO,MAAM,KAAK,CAAA;AAAA,UAC7C,CAAC,KAAO,EAAA,YAAA,EAAc,GAAK,EAAA,KAAA,EAAO,MAAM,KAAK;AAAA,SAC/C;AAAA,QACAE,wBAAA,CAAmB,YAAK,CAAA,IAAA,EAAA,QAAA,CAAA,EAAU,YAAY;AAAA;AAChD,KACF,CAAA;AAAA;AAGA,EAEA,IAAI,KAAQ,GAAA;AACV,IAAO,OAAA,KAAA,CAAA;AAAA;AACT,EACA,IAAI,QAAW,GAAA;AACb,IAAO,OAAA,KAAA,CAAA;AAAA;AACT,EAEA,IAAI,YAEU,GAAA;AACZ,IAAO,OAAA,KAAA,CAAA;AAAA;AACT,EAEA,IAAI,OAAU,GAAA;AACZ,IAAA,OAAO,YAAK,CAAA,IAAA,EAAA,QAAA,CAAA;AAAA;AACd,EAEA,IAAI,MAAS,GAAA;AACX,IAAA,OAAO,YAAK,CAAA,IAAA,EAAA,OAAA,CAAA;AAAA;AACd,EACA,IAAI,WAAc,GAAA;AAChB,IAAO,OAAA,KAAA,CAAA;AAAA;AAEX;AA1KE,QAAA,GAAA,IAAA,OAAA,EAAA;AA+DA,OAAA,GAAA,IAAA,OAAA,EAAA;AA6GW,MAAA,UAAA,GAAa,IAAI,UAAW;;;;"}
1
+ {"version":3,"file":"TestModule.js","sources":["../../../../packages/vuu-data-test/src/test/TestModule.ts"],"sourcesContent":["import { RpcMenuService, VuuModule } from \"../core/module/VuuModule\";\nimport { buildDataColumnMap, Table } from \"../Table\";\nimport {\n DefaultColumnGenerator,\n defaultGenerators,\n} from \"../vuu-row-generator\";\nimport tableContainer from \"../core/table/TableContainer\";\nimport { TableSchema } from \"@vuu-ui/vuu-data-types\";\nimport { withNanoMs } from \"../data-utils\";\n\nconst DEFAULT_RANGE_LIMITS = {\n maxRangeEnd: 1_000_000,\n maxRangeWidth: 1_000,\n};\n\nexport type TestTableName =\n | \"TestDates\"\n | \"TwoHundredColumns\"\n | \"LinkParent\"\n | \"LinkChild\"\n | \"ChartTable\"\n | \"MaxScrollEndTable\";\n\nconst { RowGenerator } = defaultGenerators;\n\nconst generateRows = (tableSchema: TableSchema, count: number) => {\n const columnGenerator = RowGenerator(tableSchema.columns.map((c) => c.name));\n return new Array(count).fill(1).map((_, i) => columnGenerator(i));\n};\n\nclass TestModule extends VuuModule<TestTableName> {\n #schemas: Record<TestTableName, TableSchema> = {\n TestDates: {\n columns: [\n {\n name: \"id\",\n serverDataType: \"long\",\n },\n {\n name: \"tradeDate\",\n serverDataType: \"epochtimestamp\",\n },\n {\n name: \"settlementDate\",\n serverDataType: \"epochtimestamp\",\n },\n {\n name: \"nanoTimestamp\",\n serverDataType: \"epochtimestampnano\",\n },\n ],\n key: \"id\",\n rangeLimits: DEFAULT_RANGE_LIMITS,\n table: { module: \"TEST\", table: \"TestDates\" },\n },\n TwoHundredColumns: {\n columns: DefaultColumnGenerator(200).map((col) => ({\n ...col,\n serverDataType: \"string\",\n })),\n key: \"column_1\",\n rangeLimits: DEFAULT_RANGE_LIMITS,\n table: { module: \"TEST\", table: \"TwoHundredColumns\" },\n },\n LinkParent: {\n columns: [\n { name: \"id\", serverDataType: \"string\" },\n { name: \"data\", serverDataType: \"string\" },\n ],\n key: \"id\",\n rangeLimits: DEFAULT_RANGE_LIMITS,\n table: { module: \"TEST\", table: \"LinkParent\" },\n },\n\n LinkChild: {\n columns: [\n { name: \"id\", serverDataType: \"string\" },\n { name: \"parentId\", serverDataType: \"string\" },\n { name: \"data\", serverDataType: \"string\" },\n ],\n key: \"id\",\n rangeLimits: DEFAULT_RANGE_LIMITS,\n table: { module: \"TEST\", table: \"LinkChild\" },\n },\n ChartTable: {\n columns: [\n { name: \"id\", serverDataType: \"string\" },\n { name: \"date\", serverDataType: \"string\" },\n { name: \"price\", serverDataType: \"double\" },\n { name: \"price_excluded\", serverDataType: \"boolean\" },\n { name: \"volume\", serverDataType: \"double\" },\n { name: \"volume_excluded\", serverDataType: \"boolean\" },\n ],\n key: \"id\",\n rangeLimits: DEFAULT_RANGE_LIMITS,\n table: { module: \"TEST\", table: \"ChartTable\" },\n },\n MaxScrollEndTable: {\n columns: DefaultColumnGenerator(6).map((col) => ({\n ...col,\n serverDataType: \"string\",\n })),\n key: \"column_1\",\n rangeLimits: {\n maxRangeEnd: 500,\n maxRangeWidth: 1_000,\n },\n table: { module: \"TEST\", table: \"MaxScrollEndTable\" },\n },\n };\n\n #tables: Record<TestTableName, Table> = {\n TestDates: tableContainer.createTable(\n this.#schemas.TestDates,\n // prettier-ignore\n [\n [1000000000000000001n, Date.now(), Date.now(), withNanoMs(Date.now(), 1)],\n [1000000000000000002n, Date.now(), Date.now(), withNanoMs(Date.now(), 2)],\n [1000000000000000003n, Date.now(), Date.now(), withNanoMs(Date.now(), 3)],\n [1000000000000000004n, Date.now(), Date.now(), withNanoMs(Date.now(), 4)],\n [1000000000000000005n, Date.now(), Date.now(), withNanoMs(Date.now(), 5)],\n [1000000000000000006n, Date.now(), Date.now(), withNanoMs(Date.now(), 6)],\n [1000000000000000007n, Date.now(), Date.now(), withNanoMs(Date.now(), 7)],\n [1000000000000000008n, Date.now(), Date.now(), withNanoMs(Date.now(), 8)],\n [1000000000000000009n, Date.now(), Date.now(), withNanoMs(Date.now(), 9)],\n [1000000000000000010n, Date.now(), Date.now(), withNanoMs(Date.now(), 10)],\n ],\n buildDataColumnMap(this.#schemas, \"TestDates\"),\n ),\n TwoHundredColumns: tableContainer.createTable(\n this.#schemas.TwoHundredColumns,\n generateRows(this.#schemas.TwoHundredColumns, 100),\n buildDataColumnMap(this.#schemas, \"TwoHundredColumns\"),\n ),\n LinkParent: tableContainer.createTable(\n this.#schemas.LinkParent,\n [\n [\"1000000001\", \"data 1\"],\n [\"1000000002\", \"data 2\"],\n [\"1000000003\", \"data 2\"],\n ],\n buildDataColumnMap(this.#schemas, \"LinkParent\"),\n ),\n LinkChild: tableContainer.createTable(\n this.#schemas.LinkChild,\n [\n [\"200001\", \"1000000001\", \"child 1 (linked to 001)\"],\n [\"200002\", \"1000000001\", \"child 2 (linked to 001)\"],\n [\"200003\", \"1000000001\", \"child 3 (linked to 001)\"],\n [\"200004\", \"1000000001\", \"child 4 (linked to 001)\"],\n [\"200005\", \"1000000001\", \"child 5 (linked to 001)\"],\n [\"200006\", \"1000000001\", \"child 6 (linked to 001)\"],\n [\"200007\", \"1000000001\", \"child 7 (linked to 001)\"],\n [\"200008\", \"1000000001\", \"child 8 (linked to 001)\"],\n [\"200009\", \"1000000002\", \"child 9 (linked to 002)\"],\n [\"200010\", \"1000000003\", \"child 10 (linked to 003)\"],\n ],\n buildDataColumnMap(this.#schemas, \"LinkChild\"),\n ),\n ChartTable: tableContainer.createTable(\n this.#schemas.ChartTable,\n [\n [\"001\", \"2026-04-02\", 100, false, 1000, false],\n [\"002\", \"2026-04-03\", 101, false, 999, false],\n [\"003\", \"2026-04-04\", 102, false, 1500, false],\n [\"004\", \"2026-04-05\", 103, false, 1300, false],\n [\"005\", \"2026-04-06\", 104, false, 1002, false],\n [\"006\", \"2026-04-07\", 105, false, 1000, true],\n [\"007\", \"2026-04-08\", 106, false, 1004, false],\n [\"008\", \"2026-04-09\", 107, false, 1040, false],\n [\"009\", \"2026-04-10\", 108, false, 1080, false],\n [\"010\", \"2026-04-11\", 109, false, 1100, false],\n [\"011\", \"2026-04-12\", 109, false, 1102, false],\n [\"012\", \"2026-04-13\", 114, false, 1105, false],\n [\"013\", \"2026-04-14\", 118, false, 1106, false],\n [\"014\", \"2026-04-15\", 125, false, 1107, false],\n [\"015\", \"2026-04-16\", 136, false, 1104, false],\n [\"016\", \"2026-04-17\", 170, false, 1103, false],\n [\"017\", \"2026-04-18\", 145, false, 1100, false],\n [\"018\", \"2026-04-19\", 147, false, 1100, false],\n [\"019\", \"2026-04-20\", 140, false, 1100, false],\n [\"020\", \"2026-04-21\", 138, false, 1100, false],\n [\"021\", \"2026-04-22\", 138, false, 1100, false],\n [\"022\", \"2026-04-23\", 138, false, 1100, false],\n [\"023\", \"2026-04-24\", 120, false, 1200, false],\n [\"024\", \"2026-04-25\", 120, false, 1200, false],\n [\"025\", \"2026-04-26\", 120, false, 1350, false],\n ],\n buildDataColumnMap(this.#schemas, \"ChartTable\"),\n ),\n MaxScrollEndTable: tableContainer.createTable(\n this.#schemas.MaxScrollEndTable,\n generateRows(this.#schemas.MaxScrollEndTable, 1_000),\n buildDataColumnMap(this.#schemas, \"MaxScrollEndTable\"),\n ),\n };\n constructor() {\n super(\"TEST\");\n }\n\n get menus() {\n return undefined;\n }\n get services() {\n return undefined;\n }\n\n get menuServices():\n | Record<TestTableName, RpcMenuService[] | undefined>\n | undefined {\n return undefined;\n }\n\n get schemas() {\n return this.#schemas;\n }\n\n get tables() {\n return this.#tables;\n }\n get visualLinks() {\n return undefined;\n }\n}\n\nexport const testModule = new TestModule();\n"],"names":["defaultGenerators","VuuModule","DefaultColumnGenerator","tableContainer","withNanoMs","buildDataColumnMap"],"mappings":"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"}
@@ -1,3 +1,7 @@
1
+ const DEFAULT_RANGE_LIMITS = {
2
+ maxRangeEnd: 1e6,
3
+ maxRangeWidth: 1e3
4
+ };
1
5
  const schemas = {
2
6
  algoType: {
3
7
  columns: [
@@ -5,6 +9,7 @@ const schemas = {
5
9
  { name: "id", serverDataType: "int" }
6
10
  ],
7
11
  key: "id",
12
+ rangeLimits: DEFAULT_RANGE_LIMITS,
8
13
  table: { module: "BASKET", table: "algoType" }
9
14
  },
10
15
  basket: {
@@ -15,6 +20,7 @@ const schemas = {
15
20
  { name: "notionalValueUsd", serverDataType: "double" }
16
21
  ],
17
22
  key: "id",
23
+ rangeLimits: DEFAULT_RANGE_LIMITS,
18
24
  table: { module: "BASKET", table: "basket" }
19
25
  },
20
26
  basketConstituent: {
@@ -30,6 +36,7 @@ const schemas = {
30
36
  { name: "weighting", serverDataType: "double" }
31
37
  ],
32
38
  key: "ricBasketId",
39
+ rangeLimits: DEFAULT_RANGE_LIMITS,
33
40
  table: { module: "BASKET", table: "basketConstituent" }
34
41
  },
35
42
  basketTrading: {
@@ -46,6 +53,7 @@ const schemas = {
46
53
  { name: "units", serverDataType: "int" }
47
54
  ],
48
55
  key: "instanceId",
56
+ rangeLimits: DEFAULT_RANGE_LIMITS,
49
57
  table: { module: "BASKET", table: "basketTrading" }
50
58
  },
51
59
  basketTradingConstituent: {
@@ -70,6 +78,7 @@ const schemas = {
70
78
  { name: "weighting", serverDataType: "double" }
71
79
  ],
72
80
  key: "instanceIdRic",
81
+ rangeLimits: DEFAULT_RANGE_LIMITS,
73
82
  table: { module: "BASKET", table: "basketTradingConstituent" }
74
83
  },
75
84
  basketTradingConstituentJoin: {
@@ -103,6 +112,7 @@ const schemas = {
103
112
  { name: "weighting", serverDataType: "double" }
104
113
  ],
105
114
  key: "instanceIdRic",
115
+ rangeLimits: DEFAULT_RANGE_LIMITS,
106
116
  table: { module: "BASKET", table: "basketTradingConstituentJoin" }
107
117
  },
108
118
  priceStrategyType: {
@@ -111,6 +121,7 @@ const schemas = {
111
121
  { name: "id", serverDataType: "int" }
112
122
  ],
113
123
  key: "",
124
+ rangeLimits: DEFAULT_RANGE_LIMITS,
114
125
  table: { module: "BASKET", table: "priceStrategyType" }
115
126
  }
116
127
  };
@@ -1 +1 @@
1
- {"version":3,"file":"basket-schemas.js","sources":["../../../../packages/vuu-data-test/src/basket/basket-schemas.ts"],"sourcesContent":["import { TableSchema } from \"@vuu-ui/vuu-data-types\";\nimport { VuuTable } from \"@vuu-ui/vuu-protocol-types\";\n\nexport type BasketsTableName =\n | \"algoType\"\n | \"basket\"\n | \"basketConstituent\"\n | \"basketTrading\"\n | \"basketTradingConstituent\"\n | \"basketTradingConstituentJoin\"\n | \"priceStrategyType\";\n\nexport const schemas: Readonly<\n Record<BasketsTableName, Readonly<TableSchema>>\n> = {\n algoType: {\n columns: [\n { name: \"algoType\", serverDataType: \"string\" },\n { name: \"id\", serverDataType: \"int\" },\n ],\n key: \"id\",\n table: { module: \"BASKET\", table: \"algoType\" },\n },\n basket: {\n columns: [\n { name: \"id\", serverDataType: \"string\" },\n { name: \"name\", serverDataType: \"string\" },\n { name: \"notionalValue\", serverDataType: \"double\" },\n { name: \"notionalValueUsd\", serverDataType: \"double\" },\n ],\n key: \"id\",\n table: { module: \"BASKET\", table: \"basket\" },\n },\n basketConstituent: {\n columns: [\n { name: \"basketId\", serverDataType: \"string\" },\n { name: \"change\", serverDataType: \"string\" },\n { name: \"description\", serverDataType: \"string\" },\n { name: \"lastTrade\", serverDataType: \"string\" },\n { name: \"ric\", serverDataType: \"string\" },\n { name: \"ricBasketId\", serverDataType: \"string\" },\n { name: \"side\", serverDataType: \"string\" },\n { name: \"volume\", serverDataType: \"string\" },\n { name: \"weighting\", serverDataType: \"double\" },\n ],\n key: \"ricBasketId\",\n table: { module: \"BASKET\", table: \"basketConstituent\" },\n },\n basketTrading: {\n columns: [\n { name: \"basketId\", serverDataType: \"string\" },\n { name: \"basketName\", serverDataType: \"string\" },\n { name: \"filledPct\", serverDataType: \"double\" },\n { name: \"fxRateToUsd\", serverDataType: \"double\" },\n { name: \"instanceId\", serverDataType: \"string\" },\n { name: \"side\", serverDataType: \"string\" },\n { name: \"status\", serverDataType: \"string\" },\n { name: \"totalNotional\", serverDataType: \"double\" },\n { name: \"totalNotionalUsd\", serverDataType: \"double\" },\n { name: \"units\", serverDataType: \"int\" },\n ],\n key: \"instanceId\",\n table: { module: \"BASKET\", table: \"basketTrading\" },\n },\n basketTradingConstituent: {\n columns: [\n { name: \"algo\", serverDataType: \"string\" },\n { name: \"algoParams\", serverDataType: \"string\" },\n { name: \"basketId\", serverDataType: \"string\" },\n { name: \"description\", serverDataType: \"string\" },\n { name: \"instanceId\", serverDataType: \"string\" },\n { name: \"instanceIdRic\", serverDataType: \"string\" },\n { name: \"limitPrice\", serverDataType: \"double\" },\n { name: \"notionalLocal\", serverDataType: \"double\" },\n { name: \"notionalUsd\", serverDataType: \"double\" },\n { name: \"pctFilled\", serverDataType: \"double\" },\n { name: \"priceSpread\", serverDataType: \"int\" },\n { name: \"priceStrategyId\", serverDataType: \"int\" },\n { name: \"quantity\", serverDataType: \"long\" },\n { name: \"ric\", serverDataType: \"string\" },\n { name: \"side\", serverDataType: \"string\" },\n { name: \"status\", serverDataType: \"string\" },\n { name: \"venue\", serverDataType: \"string\" },\n { name: \"weighting\", serverDataType: \"double\" },\n ],\n key: \"instanceIdRic\",\n table: { module: \"BASKET\", table: \"basketTradingConstituent\" },\n },\n\n basketTradingConstituentJoin: {\n columns: [\n { name: \"algo\", serverDataType: \"string\" },\n { name: \"algoParams\", serverDataType: \"string\" },\n { name: \"ask\", serverDataType: \"double\" },\n { name: \"askSize\", serverDataType: \"double\" },\n { name: \"basketId\", serverDataType: \"string\" },\n { name: \"bid\", serverDataType: \"double\" },\n { name: \"bidSize\", serverDataType: \"double\" },\n { name: \"close\", serverDataType: \"double\" },\n { name: \"description\", serverDataType: \"string\" },\n { name: \"instanceId\", serverDataType: \"string\" },\n { name: \"instanceIdRic\", serverDataType: \"string\" },\n { name: \"last\", serverDataType: \"double\" },\n { name: \"limitPrice\", serverDataType: \"double\" },\n { name: \"notionalLocal\", serverDataType: \"double\" },\n { name: \"notionalUsd\", serverDataType: \"double\" },\n { name: \"open\", serverDataType: \"double\" },\n { name: \"pctFilled\", serverDataType: \"double\" },\n { name: \"phase\", serverDataType: \"string\" },\n { name: \"priceSpread\", serverDataType: \"int\" },\n { name: \"priceStrategyId\", serverDataType: \"int\" },\n { name: \"quantity\", serverDataType: \"long\" },\n { name: \"ric\", serverDataType: \"string\" },\n { name: \"scenario\", serverDataType: \"string\" },\n { name: \"side\", serverDataType: \"string\" },\n { name: \"status\", serverDataType: \"string\" },\n { name: \"venue\", serverDataType: \"string\" },\n { name: \"weighting\", serverDataType: \"double\" },\n ],\n key: \"instanceIdRic\",\n table: { module: \"BASKET\", table: \"basketTradingConstituentJoin\" },\n },\n priceStrategyType: {\n columns: [\n { name: \"priceStrategy\", serverDataType: \"string\" },\n { name: \"id\", serverDataType: \"int\" },\n ],\n key: \"\",\n table: { module: \"BASKET\", table: \"priceStrategyType\" },\n },\n};\n\nexport type BasketVuuTable = {\n module: \"BASKET\";\n table: BasketsTableName;\n};\n\nexport const isBasketTable = (table: VuuTable): table is BasketVuuTable =>\n table.module === \"BASKET\";\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"basket-schemas.js","sources":["../../../../packages/vuu-data-test/src/basket/basket-schemas.ts"],"sourcesContent":["import { TableSchema } from \"@vuu-ui/vuu-data-types\";\nimport { VuuTable } from \"@vuu-ui/vuu-protocol-types\";\n\nconst DEFAULT_RANGE_LIMITS = {\n maxRangeEnd: 1_000_000,\n maxRangeWidth: 1_000,\n};\n\nexport type BasketsTableName =\n | \"algoType\"\n | \"basket\"\n | \"basketConstituent\"\n | \"basketTrading\"\n | \"basketTradingConstituent\"\n | \"basketTradingConstituentJoin\"\n | \"priceStrategyType\";\n\nexport const schemas: Readonly<\n Record<BasketsTableName, Readonly<TableSchema>>\n> = {\n algoType: {\n columns: [\n { name: \"algoType\", serverDataType: \"string\" },\n { name: \"id\", serverDataType: \"int\" },\n ],\n key: \"id\",\n rangeLimits: DEFAULT_RANGE_LIMITS,\n table: { module: \"BASKET\", table: \"algoType\" },\n },\n basket: {\n columns: [\n { name: \"id\", serverDataType: \"string\" },\n { name: \"name\", serverDataType: \"string\" },\n { name: \"notionalValue\", serverDataType: \"double\" },\n { name: \"notionalValueUsd\", serverDataType: \"double\" },\n ],\n key: \"id\",\n rangeLimits: DEFAULT_RANGE_LIMITS,\n table: { module: \"BASKET\", table: \"basket\" },\n },\n basketConstituent: {\n columns: [\n { name: \"basketId\", serverDataType: \"string\" },\n { name: \"change\", serverDataType: \"string\" },\n { name: \"description\", serverDataType: \"string\" },\n { name: \"lastTrade\", serverDataType: \"string\" },\n { name: \"ric\", serverDataType: \"string\" },\n { name: \"ricBasketId\", serverDataType: \"string\" },\n { name: \"side\", serverDataType: \"string\" },\n { name: \"volume\", serverDataType: \"string\" },\n { name: \"weighting\", serverDataType: \"double\" },\n ],\n key: \"ricBasketId\",\n rangeLimits: DEFAULT_RANGE_LIMITS,\n table: { module: \"BASKET\", table: \"basketConstituent\" },\n },\n basketTrading: {\n columns: [\n { name: \"basketId\", serverDataType: \"string\" },\n { name: \"basketName\", serverDataType: \"string\" },\n { name: \"filledPct\", serverDataType: \"double\" },\n { name: \"fxRateToUsd\", serverDataType: \"double\" },\n { name: \"instanceId\", serverDataType: \"string\" },\n { name: \"side\", serverDataType: \"string\" },\n { name: \"status\", serverDataType: \"string\" },\n { name: \"totalNotional\", serverDataType: \"double\" },\n { name: \"totalNotionalUsd\", serverDataType: \"double\" },\n { name: \"units\", serverDataType: \"int\" },\n ],\n key: \"instanceId\",\n rangeLimits: DEFAULT_RANGE_LIMITS,\n table: { module: \"BASKET\", table: \"basketTrading\" },\n },\n basketTradingConstituent: {\n columns: [\n { name: \"algo\", serverDataType: \"string\" },\n { name: \"algoParams\", serverDataType: \"string\" },\n { name: \"basketId\", serverDataType: \"string\" },\n { name: \"description\", serverDataType: \"string\" },\n { name: \"instanceId\", serverDataType: \"string\" },\n { name: \"instanceIdRic\", serverDataType: \"string\" },\n { name: \"limitPrice\", serverDataType: \"double\" },\n { name: \"notionalLocal\", serverDataType: \"double\" },\n { name: \"notionalUsd\", serverDataType: \"double\" },\n { name: \"pctFilled\", serverDataType: \"double\" },\n { name: \"priceSpread\", serverDataType: \"int\" },\n { name: \"priceStrategyId\", serverDataType: \"int\" },\n { name: \"quantity\", serverDataType: \"long\" },\n { name: \"ric\", serverDataType: \"string\" },\n { name: \"side\", serverDataType: \"string\" },\n { name: \"status\", serverDataType: \"string\" },\n { name: \"venue\", serverDataType: \"string\" },\n { name: \"weighting\", serverDataType: \"double\" },\n ],\n key: \"instanceIdRic\",\n rangeLimits: DEFAULT_RANGE_LIMITS,\n table: { module: \"BASKET\", table: \"basketTradingConstituent\" },\n },\n\n basketTradingConstituentJoin: {\n columns: [\n { name: \"algo\", serverDataType: \"string\" },\n { name: \"algoParams\", serverDataType: \"string\" },\n { name: \"ask\", serverDataType: \"double\" },\n { name: \"askSize\", serverDataType: \"double\" },\n { name: \"basketId\", serverDataType: \"string\" },\n { name: \"bid\", serverDataType: \"double\" },\n { name: \"bidSize\", serverDataType: \"double\" },\n { name: \"close\", serverDataType: \"double\" },\n { name: \"description\", serverDataType: \"string\" },\n { name: \"instanceId\", serverDataType: \"string\" },\n { name: \"instanceIdRic\", serverDataType: \"string\" },\n { name: \"last\", serverDataType: \"double\" },\n { name: \"limitPrice\", serverDataType: \"double\" },\n { name: \"notionalLocal\", serverDataType: \"double\" },\n { name: \"notionalUsd\", serverDataType: \"double\" },\n { name: \"open\", serverDataType: \"double\" },\n { name: \"pctFilled\", serverDataType: \"double\" },\n { name: \"phase\", serverDataType: \"string\" },\n { name: \"priceSpread\", serverDataType: \"int\" },\n { name: \"priceStrategyId\", serverDataType: \"int\" },\n { name: \"quantity\", serverDataType: \"long\" },\n { name: \"ric\", serverDataType: \"string\" },\n { name: \"scenario\", serverDataType: \"string\" },\n { name: \"side\", serverDataType: \"string\" },\n { name: \"status\", serverDataType: \"string\" },\n { name: \"venue\", serverDataType: \"string\" },\n { name: \"weighting\", serverDataType: \"double\" },\n ],\n key: \"instanceIdRic\",\n rangeLimits: DEFAULT_RANGE_LIMITS,\n table: { module: \"BASKET\", table: \"basketTradingConstituentJoin\" },\n },\n priceStrategyType: {\n columns: [\n { name: \"priceStrategy\", serverDataType: \"string\" },\n { name: \"id\", serverDataType: \"int\" },\n ],\n key: \"\",\n rangeLimits: DEFAULT_RANGE_LIMITS,\n table: { module: \"BASKET\", table: \"priceStrategyType\" },\n },\n};\n\nexport type BasketVuuTable = {\n module: \"BASKET\";\n table: BasketsTableName;\n};\n\nexport const isBasketTable = (table: VuuTable): table is BasketVuuTable =>\n table.module === \"BASKET\";\n"],"names":[],"mappings":"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"}
@@ -11,6 +11,10 @@ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read fr
11
11
  var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
12
12
  var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), member.set(obj, value), value);
13
13
  var _instance, _tables;
14
+ const DEFAULT_RANGE_LIMITS = {
15
+ maxRangeEnd: 1e6,
16
+ maxRangeWidth: 1e3
17
+ };
14
18
  const _TableContainer = class _TableContainer {
15
19
  constructor() {
16
20
  __privateAdd(this, _tables, /* @__PURE__ */ new Map());
@@ -42,6 +46,7 @@ const _TableContainer = class _TableContainer {
42
46
  const combinedSchema = {
43
47
  key: joinColumn,
44
48
  table: joinTable,
49
+ rangeLimits: DEFAULT_RANGE_LIMITS,
45
50
  columns: Array.from(combinedColumns).map((columnName) => ({
46
51
  name: columnName,
47
52
  serverDataType: getServerDataType(columnName, schema1, schema2)
@@ -1 +1 @@
1
- {"version":3,"file":"TableContainer.js","sources":["../../../../../packages/vuu-data-test/src/core/table/TableContainer.ts"],"sourcesContent":["import { SchemaColumn, TableSchema } from \"@vuu-ui/vuu-data-types\";\nimport { buildDataColumnMapFromSchema, Table } from \"../../Table\";\nimport { VuuRowDataItemType, VuuTable } from \"@vuu-ui/vuu-protocol-types\";\nimport { ColumnMap } from \"@vuu-ui/vuu-utils\";\nimport { UpdateGenerator } from \"../../rowUpdates\";\n\nclass TableContainer {\n private constructor() {\n // empty constructor is all we need\n }\n static #instance: TableContainer;\n\n public static get instance(): TableContainer {\n if (!TableContainer.#instance) {\n TableContainer.#instance = new TableContainer();\n }\n return TableContainer.#instance;\n }\n\n #tables = new Map<string, Table>();\n\n createTable = (\n schema: TableSchema,\n data: Array<Array<VuuRowDataItemType | bigint>>,\n dataMap: ColumnMap,\n updateGenerator?: UpdateGenerator,\n ) => {\n const table = new Table(schema, data, dataMap, updateGenerator);\n this.addTable(table);\n return table;\n };\n\n // TODO this is problematic in that it assumes both tables are already created\n // depends on the order in which modules are imported\n // Make this independent of base table creation order\n createJoinTable(\n joinTable: VuuTable,\n { table: t1 }: VuuTable,\n { table: t2 }: VuuTable,\n joinColumn: string,\n ) {\n const table1 = this.getTable(t1);\n const table2 = this.getTable(t2);\n\n // Just copies source tables, then registers update listeners.\n // Not terribly efficient, but good enough for showcase\n\n const { map: m1, schema: schema1 } = table1;\n const { map: m2, schema: schema2 } = table2;\n const k1 = m1[joinColumn];\n const k2 = m2[joinColumn];\n\n const combinedColumns = new Set(\n [...schema1.columns, ...schema2.columns].map((col) => col.name).sort(),\n );\n\n const combinedSchema: TableSchema = {\n key: joinColumn,\n table: joinTable,\n columns: Array.from(combinedColumns).map<SchemaColumn>((columnName) => ({\n name: columnName,\n serverDataType: getServerDataType(columnName, schema1, schema2),\n })),\n };\n\n const data: Array<bigint | VuuRowDataItemType>[] = [];\n const combinedColumnMap = buildDataColumnMapFromSchema(combinedSchema);\n // const start = performance.now();\n for (const row of table1.data) {\n const row2 = table2.findByKey(String(row[k1]));\n if (row2) {\n const out = [];\n for (const column of table1.schema.columns) {\n const value = row[m1[column.name]];\n out[combinedColumnMap[column.name]] = value;\n }\n for (const column of table2.schema.columns) {\n const value = row2[m2[column.name]];\n out[combinedColumnMap[column.name]] = value;\n }\n data.push(out);\n }\n }\n // const end = performance.now();\n // console.log(`took ${end - start} ms to create join table ${joinTable.table}`);\n\n const newTable = new Table(combinedSchema, data, combinedColumnMap);\n\n table1.on(\"insert\", (row) => {\n const row2 = table2.findByKey(String(row[k1]));\n if (row2) {\n const out = [];\n for (const column of table1.schema.columns) {\n const value = row[m1[column.name]];\n out[combinedColumnMap[column.name]] = value;\n }\n for (const column of table2.schema.columns) {\n const value = row2[m2[column.name]];\n out[combinedColumnMap[column.name]] = value;\n }\n newTable.insert(out);\n }\n });\n\n table2.on(\"update\", (row) => {\n const keyValue = row[k2] as string;\n const targetRow = newTable.findByKey(keyValue);\n if (targetRow) {\n const updatedRow = targetRow.slice();\n for (const { name } of table2.schema.columns) {\n if (row[m2[name]] !== updatedRow[combinedColumnMap[name]]) {\n updatedRow[combinedColumnMap[name]] = row[m2[name]];\n }\n }\n newTable.updateRow(updatedRow);\n }\n });\n\n this.addTable(newTable);\n\n return newTable;\n }\n\n addTable(table: Table) {\n this.#tables.set(table.name, table);\n }\n getTable<T = Table>(tableName: string) {\n const table = this.#tables.get(tableName) as T;\n if (table) {\n return table;\n } else {\n throw Error(`[TableContainer] no table ${tableName}`);\n }\n }\n}\n\nexport default TableContainer.instance;\n\nconst getServerDataType = (\n columnName: string,\n { columns: cols1, table: t1 }: TableSchema,\n { columns: cols2, table: t2 }: TableSchema,\n) => {\n const col1 = cols1.find((col) => col.name === columnName);\n const col2 = cols2.find((col) => col.name === columnName);\n if (col1 && col2) {\n if (col1.serverDataType === col2.serverDataType) {\n return col1.serverDataType;\n } else {\n throw Error(\n `both tables ${t1.table} and ${t2.table} implement column ${columnName}, but with types differ`,\n );\n }\n } else if (col1) {\n return col1.serverDataType;\n } else if (col2) {\n return col2.serverDataType;\n } else {\n throw Error(`how is this possible`);\n }\n};\n"],"names":[],"mappings":";;;;;;;;;;;;AAAA,IAAA,SAAA,EAAA,OAAA;AAMA,MAAM,eAAA,GAAN,MAAM,eAAe,CAAA;AAAA,EACX,WAAc,GAAA;AAYtB,IAAA,YAAA,CAAA,IAAA,EAAA,OAAA,sBAAc,GAAmB,EAAA,CAAA;AAEjC,IAAA,aAAA,CAAA,IAAA,EAAA,aAAA,EAAc,CACZ,MAAA,EACA,IACA,EAAA,OAAA,EACA,eACG,KAAA;AACH,MAAA,MAAM,QAAQ,IAAI,KAAA,CAAM,MAAQ,EAAA,IAAA,EAAM,SAAS,eAAe,CAAA;AAC9D,MAAA,IAAA,CAAK,SAAS,KAAK,CAAA;AACnB,MAAO,OAAA,KAAA;AAAA,KACT,CAAA;AAAA;AArBA,EAGA,WAAkB,QAA2B,GAAA;AAC3C,IAAI,IAAA,CAAC,8BAAe,SAAW,CAAA,EAAA;AAC7B,MAAe,YAAA,CAAA,eAAA,EAAA,SAAA,EAAY,IAAI,eAAe,EAAA,CAAA;AAAA;AAEhD,IAAA,OAAO,YAAe,CAAA,eAAA,EAAA,SAAA,CAAA;AAAA;AACxB;AAAA;AAAA;AAAA,EAkBA,eAAA,CACE,SACA,EAAA,EAAE,KAAO,EAAA,EAAA,IACT,EAAE,KAAA,EAAO,EAAG,EAAA,EACZ,UACA,EAAA;AACA,IAAM,MAAA,MAAA,GAAS,IAAK,CAAA,QAAA,CAAS,EAAE,CAAA;AAC/B,IAAM,MAAA,MAAA,GAAS,IAAK,CAAA,QAAA,CAAS,EAAE,CAAA;AAK/B,IAAA,MAAM,EAAE,GAAA,EAAK,EAAI,EAAA,MAAA,EAAQ,SAAY,GAAA,MAAA;AACrC,IAAA,MAAM,EAAE,GAAA,EAAK,EAAI,EAAA,MAAA,EAAQ,SAAY,GAAA,MAAA;AACrC,IAAM,MAAA,EAAA,GAAK,GAAG,UAAU,CAAA;AACxB,IAAM,MAAA,EAAA,GAAK,GAAG,UAAU,CAAA;AAExB,IAAA,MAAM,kBAAkB,IAAI,GAAA;AAAA,MAC1B,CAAC,GAAG,OAAQ,CAAA,OAAA,EAAS,GAAG,OAAQ,CAAA,OAAO,CAAE,CAAA,GAAA,CAAI,CAAC,GAAA,KAAQ,GAAI,CAAA,IAAI,EAAE,IAAK;AAAA,KACvE;AAEA,IAAA,MAAM,cAA8B,GAAA;AAAA,MAClC,GAAK,EAAA,UAAA;AAAA,MACL,KAAO,EAAA,SAAA;AAAA,MACP,SAAS,KAAM,CAAA,IAAA,CAAK,eAAe,CAAE,CAAA,GAAA,CAAkB,CAAC,UAAgB,MAAA;AAAA,QACtE,IAAM,EAAA,UAAA;AAAA,QACN,cAAgB,EAAA,iBAAA,CAAkB,UAAY,EAAA,OAAA,EAAS,OAAO;AAAA,OAC9D,CAAA;AAAA,KACJ;AAEA,IAAA,MAAM,OAA6C,EAAC;AACpD,IAAM,MAAA,iBAAA,GAAoB,6BAA6B,cAAc,CAAA;AAErE,IAAW,KAAA,MAAA,GAAA,IAAO,OAAO,IAAM,EAAA;AAC7B,MAAA,MAAM,OAAO,MAAO,CAAA,SAAA,CAAU,OAAO,GAAI,CAAA,EAAE,CAAC,CAAC,CAAA;AAC7C,MAAA,IAAI,IAAM,EAAA;AACR,QAAA,MAAM,MAAM,EAAC;AACb,QAAW,KAAA,MAAA,MAAA,IAAU,MAAO,CAAA,MAAA,CAAO,OAAS,EAAA;AAC1C,UAAA,MAAM,KAAQ,GAAA,GAAA,CAAI,EAAG,CAAA,MAAA,CAAO,IAAI,CAAC,CAAA;AACjC,UAAA,GAAA,CAAI,iBAAkB,CAAA,MAAA,CAAO,IAAI,CAAC,CAAI,GAAA,KAAA;AAAA;AAExC,QAAW,KAAA,MAAA,MAAA,IAAU,MAAO,CAAA,MAAA,CAAO,OAAS,EAAA;AAC1C,UAAA,MAAM,KAAQ,GAAA,IAAA,CAAK,EAAG,CAAA,MAAA,CAAO,IAAI,CAAC,CAAA;AAClC,UAAA,GAAA,CAAI,iBAAkB,CAAA,MAAA,CAAO,IAAI,CAAC,CAAI,GAAA,KAAA;AAAA;AAExC,QAAA,IAAA,CAAK,KAAK,GAAG,CAAA;AAAA;AACf;AAKF,IAAA,MAAM,QAAW,GAAA,IAAI,KAAM,CAAA,cAAA,EAAgB,MAAM,iBAAiB,CAAA;AAElE,IAAO,MAAA,CAAA,EAAA,CAAG,QAAU,EAAA,CAAC,GAAQ,KAAA;AAC3B,MAAA,MAAM,OAAO,MAAO,CAAA,SAAA,CAAU,OAAO,GAAI,CAAA,EAAE,CAAC,CAAC,CAAA;AAC7C,MAAA,IAAI,IAAM,EAAA;AACR,QAAA,MAAM,MAAM,EAAC;AACb,QAAW,KAAA,MAAA,MAAA,IAAU,MAAO,CAAA,MAAA,CAAO,OAAS,EAAA;AAC1C,UAAA,MAAM,KAAQ,GAAA,GAAA,CAAI,EAAG,CAAA,MAAA,CAAO,IAAI,CAAC,CAAA;AACjC,UAAA,GAAA,CAAI,iBAAkB,CAAA,MAAA,CAAO,IAAI,CAAC,CAAI,GAAA,KAAA;AAAA;AAExC,QAAW,KAAA,MAAA,MAAA,IAAU,MAAO,CAAA,MAAA,CAAO,OAAS,EAAA;AAC1C,UAAA,MAAM,KAAQ,GAAA,IAAA,CAAK,EAAG,CAAA,MAAA,CAAO,IAAI,CAAC,CAAA;AAClC,UAAA,GAAA,CAAI,iBAAkB,CAAA,MAAA,CAAO,IAAI,CAAC,CAAI,GAAA,KAAA;AAAA;AAExC,QAAA,QAAA,CAAS,OAAO,GAAG,CAAA;AAAA;AACrB,KACD,CAAA;AAED,IAAO,MAAA,CAAA,EAAA,CAAG,QAAU,EAAA,CAAC,GAAQ,KAAA;AAC3B,MAAM,MAAA,QAAA,GAAW,IAAI,EAAE,CAAA;AACvB,MAAM,MAAA,SAAA,GAAY,QAAS,CAAA,SAAA,CAAU,QAAQ,CAAA;AAC7C,MAAA,IAAI,SAAW,EAAA;AACb,QAAM,MAAA,UAAA,GAAa,UAAU,KAAM,EAAA;AACnC,QAAA,KAAA,MAAW,EAAE,IAAA,EAAU,IAAA,MAAA,CAAO,OAAO,OAAS,EAAA;AAC5C,UAAI,IAAA,GAAA,CAAI,GAAG,IAAI,CAAC,MAAM,UAAW,CAAA,iBAAA,CAAkB,IAAI,CAAC,CAAG,EAAA;AACzD,YAAA,UAAA,CAAW,kBAAkB,IAAI,CAAC,IAAI,GAAI,CAAA,EAAA,CAAG,IAAI,CAAC,CAAA;AAAA;AACpD;AAEF,QAAA,QAAA,CAAS,UAAU,UAAU,CAAA;AAAA;AAC/B,KACD,CAAA;AAED,IAAA,IAAA,CAAK,SAAS,QAAQ,CAAA;AAEtB,IAAO,OAAA,QAAA;AAAA;AACT,EAEA,SAAS,KAAc,EAAA;AACrB,IAAA,YAAA,CAAA,IAAA,EAAK,OAAQ,CAAA,CAAA,GAAA,CAAI,KAAM,CAAA,IAAA,EAAM,KAAK,CAAA;AAAA;AACpC,EACA,SAAoB,SAAmB,EAAA;AACrC,IAAA,MAAM,KAAQ,GAAA,YAAA,CAAA,IAAA,EAAK,OAAQ,CAAA,CAAA,GAAA,CAAI,SAAS,CAAA;AACxC,IAAA,IAAI,KAAO,EAAA;AACT,MAAO,OAAA,KAAA;AAAA,KACF,MAAA;AACL,MAAM,MAAA,KAAA,CAAM,CAA6B,0BAAA,EAAA,SAAS,CAAE,CAAA,CAAA;AAAA;AACtD;AAEJ,CAAA;AA5HS,SAAA,GAAA,IAAA,OAAA,EAAA;AASP,OAAA,GAAA,IAAA,OAAA,EAAA;AATA,YAAA,CAJI,eAIG,EAAA,SAAA,CAAA;AAJT,IAAM,cAAN,GAAA,eAAA;AAkIA,qBAAe,cAAe,CAAA,QAAA;AAE9B,MAAM,iBAAoB,GAAA,CACxB,UACA,EAAA,EAAE,SAAS,KAAO,EAAA,KAAA,EAAO,EAAG,EAAA,EAC5B,EAAE,OAAA,EAAS,KAAO,EAAA,KAAA,EAAO,IACtB,KAAA;AACH,EAAA,MAAM,OAAO,KAAM,CAAA,IAAA,CAAK,CAAC,GAAQ,KAAA,GAAA,CAAI,SAAS,UAAU,CAAA;AACxD,EAAA,MAAM,OAAO,KAAM,CAAA,IAAA,CAAK,CAAC,GAAQ,KAAA,GAAA,CAAI,SAAS,UAAU,CAAA;AACxD,EAAA,IAAI,QAAQ,IAAM,EAAA;AAChB,IAAI,IAAA,IAAA,CAAK,cAAmB,KAAA,IAAA,CAAK,cAAgB,EAAA;AAC/C,MAAA,OAAO,IAAK,CAAA,cAAA;AAAA,KACP,MAAA;AACL,MAAM,MAAA,KAAA;AAAA,QACJ,eAAe,EAAG,CAAA,KAAK,QAAQ,EAAG,CAAA,KAAK,qBAAqB,UAAU,CAAA,uBAAA;AAAA,OACxE;AAAA;AACF,aACS,IAAM,EAAA;AACf,IAAA,OAAO,IAAK,CAAA,cAAA;AAAA,aACH,IAAM,EAAA;AACf,IAAA,OAAO,IAAK,CAAA,cAAA;AAAA,GACP,MAAA;AACL,IAAA,MAAM,MAAM,CAAsB,oBAAA,CAAA,CAAA;AAAA;AAEtC,CAAA;;;;"}
1
+ {"version":3,"file":"TableContainer.js","sources":["../../../../../packages/vuu-data-test/src/core/table/TableContainer.ts"],"sourcesContent":["import { SchemaColumn, TableSchema } from \"@vuu-ui/vuu-data-types\";\nimport { buildDataColumnMapFromSchema, Table } from \"../../Table\";\nimport { VuuRowDataItemType, VuuTable } from \"@vuu-ui/vuu-protocol-types\";\nimport { ColumnMap } from \"@vuu-ui/vuu-utils\";\nimport { UpdateGenerator } from \"../../rowUpdates\";\n\nconst DEFAULT_RANGE_LIMITS = {\n maxRangeEnd: 1_000_000,\n maxRangeWidth: 1_000,\n};\n\nclass TableContainer {\n private constructor() {\n // empty constructor is all we need\n }\n static #instance: TableContainer;\n\n public static get instance(): TableContainer {\n if (!TableContainer.#instance) {\n TableContainer.#instance = new TableContainer();\n }\n return TableContainer.#instance;\n }\n\n #tables = new Map<string, Table>();\n\n createTable = (\n schema: TableSchema,\n data: Array<Array<VuuRowDataItemType | bigint>>,\n dataMap: ColumnMap,\n updateGenerator?: UpdateGenerator,\n ) => {\n const table = new Table(schema, data, dataMap, updateGenerator);\n this.addTable(table);\n return table;\n };\n\n // TODO this is problematic in that it assumes both tables are already created\n // depends on the order in which modules are imported\n // Make this independent of base table creation order\n createJoinTable(\n joinTable: VuuTable,\n { table: t1 }: VuuTable,\n { table: t2 }: VuuTable,\n joinColumn: string,\n ) {\n const table1 = this.getTable(t1);\n const table2 = this.getTable(t2);\n\n // Just copies source tables, then registers update listeners.\n // Not terribly efficient, but good enough for showcase\n\n const { map: m1, schema: schema1 } = table1;\n const { map: m2, schema: schema2 } = table2;\n const k1 = m1[joinColumn];\n const k2 = m2[joinColumn];\n\n const combinedColumns = new Set(\n [...schema1.columns, ...schema2.columns].map((col) => col.name).sort(),\n );\n\n const combinedSchema: TableSchema = {\n key: joinColumn,\n table: joinTable,\n rangeLimits: DEFAULT_RANGE_LIMITS,\n columns: Array.from(combinedColumns).map<SchemaColumn>((columnName) => ({\n name: columnName,\n serverDataType: getServerDataType(columnName, schema1, schema2),\n })),\n };\n\n const data: Array<bigint | VuuRowDataItemType>[] = [];\n const combinedColumnMap = buildDataColumnMapFromSchema(combinedSchema);\n // const start = performance.now();\n for (const row of table1.data) {\n const row2 = table2.findByKey(String(row[k1]));\n if (row2) {\n const out = [];\n for (const column of table1.schema.columns) {\n const value = row[m1[column.name]];\n out[combinedColumnMap[column.name]] = value;\n }\n for (const column of table2.schema.columns) {\n const value = row2[m2[column.name]];\n out[combinedColumnMap[column.name]] = value;\n }\n data.push(out);\n }\n }\n // const end = performance.now();\n // console.log(`took ${end - start} ms to create join table ${joinTable.table}`);\n\n const newTable = new Table(combinedSchema, data, combinedColumnMap);\n\n table1.on(\"insert\", (row) => {\n const row2 = table2.findByKey(String(row[k1]));\n if (row2) {\n const out = [];\n for (const column of table1.schema.columns) {\n const value = row[m1[column.name]];\n out[combinedColumnMap[column.name]] = value;\n }\n for (const column of table2.schema.columns) {\n const value = row2[m2[column.name]];\n out[combinedColumnMap[column.name]] = value;\n }\n newTable.insert(out);\n }\n });\n\n table2.on(\"update\", (row) => {\n const keyValue = row[k2] as string;\n const targetRow = newTable.findByKey(keyValue);\n if (targetRow) {\n const updatedRow = targetRow.slice();\n for (const { name } of table2.schema.columns) {\n if (row[m2[name]] !== updatedRow[combinedColumnMap[name]]) {\n updatedRow[combinedColumnMap[name]] = row[m2[name]];\n }\n }\n newTable.updateRow(updatedRow);\n }\n });\n\n this.addTable(newTable);\n\n return newTable;\n }\n\n addTable(table: Table) {\n this.#tables.set(table.name, table);\n }\n getTable<T = Table>(tableName: string) {\n const table = this.#tables.get(tableName) as T;\n if (table) {\n return table;\n } else {\n throw Error(`[TableContainer] no table ${tableName}`);\n }\n }\n}\n\nexport default TableContainer.instance;\n\nconst getServerDataType = (\n columnName: string,\n { columns: cols1, table: t1 }: TableSchema,\n { columns: cols2, table: t2 }: TableSchema,\n) => {\n const col1 = cols1.find((col) => col.name === columnName);\n const col2 = cols2.find((col) => col.name === columnName);\n if (col1 && col2) {\n if (col1.serverDataType === col2.serverDataType) {\n return col1.serverDataType;\n } else {\n throw Error(\n `both tables ${t1.table} and ${t2.table} implement column ${columnName}, but with types differ`,\n );\n }\n } else if (col1) {\n return col1.serverDataType;\n } else if (col2) {\n return col2.serverDataType;\n } else {\n throw Error(`how is this possible`);\n }\n};\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,9 @@
1
1
  import { VUU_DEFAULT_COLUMNS } from '../default-column-definitions.js';
2
2
 
3
+ const DEFAULT_RANGE_LIMITS = {
4
+ maxRangeEnd: 1e6,
5
+ maxRangeWidth: 1e3
6
+ };
3
7
  const schemas = {
4
8
  instruments: {
5
9
  columns: [
@@ -13,6 +17,7 @@ const schemas = {
13
17
  ...VUU_DEFAULT_COLUMNS
14
18
  ],
15
19
  key: "ric",
20
+ rangeLimits: DEFAULT_RANGE_LIMITS,
16
21
  table: { module: "SIMUL", table: "instruments" }
17
22
  },
18
23
  instrumentsExtended: {
@@ -32,6 +37,7 @@ const schemas = {
32
37
  ...VUU_DEFAULT_COLUMNS
33
38
  ],
34
39
  key: "ric",
40
+ rangeLimits: DEFAULT_RANGE_LIMITS,
35
41
  table: { module: "SIMUL", table: "instrumentsExtended" }
36
42
  },
37
43
  instrumentPrices: {
@@ -56,6 +62,7 @@ const schemas = {
56
62
  ...VUU_DEFAULT_COLUMNS
57
63
  ],
58
64
  key: "ric",
65
+ rangeLimits: DEFAULT_RANGE_LIMITS,
59
66
  table: { module: "SIMUL", table: "instrumentPrices" }
60
67
  },
61
68
  orders: {
@@ -72,6 +79,7 @@ const schemas = {
72
79
  ...VUU_DEFAULT_COLUMNS
73
80
  ],
74
81
  key: "orderId",
82
+ rangeLimits: DEFAULT_RANGE_LIMITS,
75
83
  table: { module: "SIMUL", table: "orders" }
76
84
  },
77
85
  childOrders: {
@@ -95,6 +103,7 @@ const schemas = {
95
103
  ...VUU_DEFAULT_COLUMNS
96
104
  ],
97
105
  key: "id",
106
+ rangeLimits: DEFAULT_RANGE_LIMITS,
98
107
  table: { module: "SIMUL", table: "childOrders" }
99
108
  },
100
109
  parentOrders: {
@@ -118,6 +127,7 @@ const schemas = {
118
127
  ...VUU_DEFAULT_COLUMNS
119
128
  ],
120
129
  key: "id",
130
+ rangeLimits: DEFAULT_RANGE_LIMITS,
121
131
  table: { module: "SIMUL", table: "parentOrders" }
122
132
  },
123
133
  prices: {
@@ -136,6 +146,7 @@ const schemas = {
136
146
  ...VUU_DEFAULT_COLUMNS
137
147
  ],
138
148
  key: "ric",
149
+ rangeLimits: DEFAULT_RANGE_LIMITS,
139
150
  table: { module: "SIMUL", table: "prices" }
140
151
  }
141
152
  };
@@ -1 +1 @@
1
- {"version":3,"file":"simul-schemas.js","sources":["../../../../packages/vuu-data-test/src/simul/simul-schemas.ts"],"sourcesContent":["import { TableSchema } from \"@vuu-ui/vuu-data-types\";\nimport { VuuTable } from \"@vuu-ui/vuu-protocol-types\";\nimport { VUU_DEFAULT_COLUMNS } from \"../default-column-definitions\";\n\nexport type SimulTableName =\n | \"instruments\"\n | \"instrumentsExtended\"\n | \"instrumentPrices\"\n | \"orders\"\n | \"childOrders\"\n | \"parentOrders\"\n | \"prices\";\n\n// These Schemas take the form of the schemas that we create\n// with TABLE_META returned by Vuu.\nexport const schemas: Readonly<Record<SimulTableName, Readonly<TableSchema>>> =\n {\n instruments: {\n columns: [\n { name: \"bbg\", serverDataType: \"string\" },\n { name: \"currency\", serverDataType: \"string\" },\n { name: \"description\", serverDataType: \"string\" },\n { name: \"exchange\", serverDataType: \"string\" },\n { name: \"isin\", serverDataType: \"string\" },\n { name: \"lotSize\", serverDataType: \"int\" },\n { name: \"ric\", serverDataType: \"string\" },\n ...VUU_DEFAULT_COLUMNS,\n ],\n key: \"ric\",\n table: { module: \"SIMUL\", table: \"instruments\" },\n },\n instrumentsExtended: {\n columns: [\n { name: \"bbg\", serverDataType: \"string\" },\n { name: \"currency\", serverDataType: \"string\" },\n { name: \"description\", serverDataType: \"string\" },\n { name: \"exchange\", serverDataType: \"string\" },\n { name: \"isin\", serverDataType: \"string\" },\n { name: \"lotSize\", serverDataType: \"int\" },\n { name: \"ric\", serverDataType: \"string\" },\n { name: \"supported\", serverDataType: \"boolean\" },\n { name: \"wishlist\", serverDataType: \"boolean\" },\n { name: \"lastUpdated\", serverDataType: \"long\" },\n { name: \"price\", serverDataType: \"double\" },\n { name: \"date\", serverDataType: \"long\" },\n ...VUU_DEFAULT_COLUMNS,\n ],\n key: \"ric\",\n table: { module: \"SIMUL\", table: \"instrumentsExtended\" },\n },\n instrumentPrices: {\n columns: [\n { name: \"ask\", serverDataType: \"double\" },\n { name: \"askSize\", serverDataType: \"double\" }, // type: \"int\"\n { name: \"bbg\", serverDataType: \"string\" },\n { name: \"bid\", serverDataType: \"double\" },\n { name: \"bidSize\", serverDataType: \"double\" },\n { name: \"close\", serverDataType: \"double\" },\n { name: \"currency\", serverDataType: \"string\" },\n { name: \"description\", serverDataType: \"string\" },\n { name: \"exchange\", serverDataType: \"string\" },\n { name: \"isin\", serverDataType: \"string\" },\n { name: \"last\", serverDataType: \"double\" },\n { name: \"lotSize\", serverDataType: \"int\" },\n { name: \"open\", serverDataType: \"double\" },\n { name: \"phase\", serverDataType: \"string\" },\n { name: \"ric\", serverDataType: \"string\" },\n { name: \"scenario\", serverDataType: \"string\" },\n ...VUU_DEFAULT_COLUMNS,\n ],\n key: \"ric\",\n table: { module: \"SIMUL\", table: \"instrumentPrices\" },\n },\n orders: {\n columns: [\n { name: \"status\", serverDataType: \"string\" },\n { name: \"ccy\", serverDataType: \"string\" },\n { name: \"filledQuantity\", serverDataType: \"double\" },\n { name: \"lastUpdate\", serverDataType: \"long\" },\n { name: \"orderId\", serverDataType: \"string\" },\n { name: \"quantity\", serverDataType: \"double\" },\n { name: \"ric\", serverDataType: \"string\" },\n { name: \"side\", serverDataType: \"string\" },\n { name: \"trader\", serverDataType: \"string\" },\n ...VUU_DEFAULT_COLUMNS,\n ],\n key: \"orderId\",\n table: { module: \"SIMUL\", table: \"orders\" },\n },\n childOrders: {\n columns: [\n { name: \"account\", serverDataType: \"string\" },\n { name: \"averagePrice\", serverDataType: \"double\" },\n { name: \"ccy\", serverDataType: \"string\" },\n { name: \"exchange\", serverDataType: \"string\" },\n { name: \"filledQty\", serverDataType: \"double\" },\n { name: \"id\", serverDataType: \"string\" },\n { name: \"idAsInt\", serverDataType: \"int\" },\n { name: \"openQty\", serverDataType: \"double\" },\n { name: \"parentOrderId\", serverDataType: \"string\" },\n { name: \"price\", serverDataType: \"double\" },\n { name: \"quantity\", serverDataType: \"double\" },\n { name: \"ric\", serverDataType: \"string\" },\n { name: \"side\", serverDataType: \"string\" },\n { name: \"status\", serverDataType: \"string\" },\n { name: \"strategy\", serverDataType: \"string\" },\n { name: \"volLimit\", serverDataType: \"int\" },\n ...VUU_DEFAULT_COLUMNS,\n ],\n key: \"id\",\n table: { module: \"SIMUL\", table: \"childOrders\" },\n },\n parentOrders: {\n columns: [\n { name: \"account\", serverDataType: \"string\" },\n { name: \"algo\", serverDataType: \"string\" },\n { name: \"averagePrice\", serverDataType: \"double\" },\n { name: \"ccy\", serverDataType: \"string\" },\n { name: \"childCount\", serverDataType: \"int\" },\n { name: \"exchange\", serverDataType: \"string\" },\n { name: \"filledQty\", serverDataType: \"double\" },\n { name: \"id\", serverDataType: \"string\" },\n { name: \"idAsInt\", serverDataType: \"int\" },\n { name: \"openQty\", serverDataType: \"double\" },\n { name: \"price\", serverDataType: \"double\" },\n { name: \"quantity\", serverDataType: \"double\" },\n { name: \"ric\", serverDataType: \"string\" },\n { name: \"side\", serverDataType: \"string\" },\n { name: \"status\", serverDataType: \"string\" },\n { name: \"volLimit\", serverDataType: \"int\" },\n ...VUU_DEFAULT_COLUMNS,\n ],\n key: \"id\",\n table: { module: \"SIMUL\", table: \"parentOrders\" },\n },\n prices: {\n columns: [\n { name: \"ask\", serverDataType: \"double\" },\n { name: \"askSize\", serverDataType: \"double\" }, // type: \"int\"\n { name: \"bid\", serverDataType: \"double\" },\n { name: \"bidSize\", serverDataType: \"double\" },\n { name: \"close\", serverDataType: \"double\" },\n { name: \"last\", serverDataType: \"double\" },\n { name: \"open\", serverDataType: \"double\" },\n { name: \"phase\", serverDataType: \"string\" },\n { name: \"ric\", serverDataType: \"string\" },\n { name: \"scenario\", serverDataType: \"string\" },\n ...VUU_DEFAULT_COLUMNS,\n ],\n key: \"ric\",\n table: { module: \"SIMUL\", table: \"prices\" },\n },\n };\n\nexport type SimulVuuTable = {\n module: \"SIMUL\";\n table: SimulTableName;\n};\n\nexport const isSimulTable = (table: VuuTable): table is SimulVuuTable =>\n table.module === \"SIMUL\";\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"simul-schemas.js","sources":["../../../../packages/vuu-data-test/src/simul/simul-schemas.ts"],"sourcesContent":["import { TableSchema } from \"@vuu-ui/vuu-data-types\";\nimport { VuuTable } from \"@vuu-ui/vuu-protocol-types\";\nimport { VUU_DEFAULT_COLUMNS } from \"../default-column-definitions\";\n\nconst DEFAULT_RANGE_LIMITS = {\n maxRangeEnd: 1_000_000,\n maxRangeWidth: 1_000,\n};\n\nexport type SimulTableName =\n | \"instruments\"\n | \"instrumentsExtended\"\n | \"instrumentPrices\"\n | \"orders\"\n | \"childOrders\"\n | \"parentOrders\"\n | \"prices\";\n\n// These Schemas take the form of the schemas that we create\n// with TABLE_META returned by Vuu.\nexport const schemas: Readonly<Record<SimulTableName, Readonly<TableSchema>>> =\n{\n instruments: {\n columns: [\n { name: \"bbg\", serverDataType: \"string\" },\n { name: \"currency\", serverDataType: \"string\" },\n { name: \"description\", serverDataType: \"string\" },\n { name: \"exchange\", serverDataType: \"string\" },\n { name: \"isin\", serverDataType: \"string\" },\n { name: \"lotSize\", serverDataType: \"int\" },\n { name: \"ric\", serverDataType: \"string\" },\n ...VUU_DEFAULT_COLUMNS,\n ],\n key: \"ric\",\n rangeLimits: DEFAULT_RANGE_LIMITS,\n table: { module: \"SIMUL\", table: \"instruments\" },\n },\n instrumentsExtended: {\n columns: [\n { name: \"bbg\", serverDataType: \"string\" },\n { name: \"currency\", serverDataType: \"string\" },\n { name: \"description\", serverDataType: \"string\" },\n { name: \"exchange\", serverDataType: \"string\" },\n { name: \"isin\", serverDataType: \"string\" },\n { name: \"lotSize\", serverDataType: \"int\" },\n { name: \"ric\", serverDataType: \"string\" },\n { name: \"supported\", serverDataType: \"boolean\" },\n { name: \"wishlist\", serverDataType: \"boolean\" },\n { name: \"lastUpdated\", serverDataType: \"long\" },\n { name: \"price\", serverDataType: \"double\" },\n { name: \"date\", serverDataType: \"long\" },\n ...VUU_DEFAULT_COLUMNS,\n ],\n key: \"ric\",\n rangeLimits: DEFAULT_RANGE_LIMITS,\n table: { module: \"SIMUL\", table: \"instrumentsExtended\" },\n },\n instrumentPrices: {\n columns: [\n { name: \"ask\", serverDataType: \"double\" },\n { name: \"askSize\", serverDataType: \"double\" }, // type: \"int\"\n { name: \"bbg\", serverDataType: \"string\" },\n { name: \"bid\", serverDataType: \"double\" },\n { name: \"bidSize\", serverDataType: \"double\" },\n { name: \"close\", serverDataType: \"double\" },\n { name: \"currency\", serverDataType: \"string\" },\n { name: \"description\", serverDataType: \"string\" },\n { name: \"exchange\", serverDataType: \"string\" },\n { name: \"isin\", serverDataType: \"string\" },\n { name: \"last\", serverDataType: \"double\" },\n { name: \"lotSize\", serverDataType: \"int\" },\n { name: \"open\", serverDataType: \"double\" },\n { name: \"phase\", serverDataType: \"string\" },\n { name: \"ric\", serverDataType: \"string\" },\n { name: \"scenario\", serverDataType: \"string\" },\n ...VUU_DEFAULT_COLUMNS,\n ],\n key: \"ric\",\n rangeLimits: DEFAULT_RANGE_LIMITS,\n table: { module: \"SIMUL\", table: \"instrumentPrices\" },\n },\n orders: {\n columns: [\n { name: \"status\", serverDataType: \"string\" },\n { name: \"ccy\", serverDataType: \"string\" },\n { name: \"filledQuantity\", serverDataType: \"double\" },\n { name: \"lastUpdate\", serverDataType: \"long\" },\n { name: \"orderId\", serverDataType: \"string\" },\n { name: \"quantity\", serverDataType: \"double\" },\n { name: \"ric\", serverDataType: \"string\" },\n { name: \"side\", serverDataType: \"string\" },\n { name: \"trader\", serverDataType: \"string\" },\n ...VUU_DEFAULT_COLUMNS,\n ],\n key: \"orderId\",\n rangeLimits: DEFAULT_RANGE_LIMITS,\n table: { module: \"SIMUL\", table: \"orders\" },\n },\n childOrders: {\n columns: [\n { name: \"account\", serverDataType: \"string\" },\n { name: \"averagePrice\", serverDataType: \"double\" },\n { name: \"ccy\", serverDataType: \"string\" },\n { name: \"exchange\", serverDataType: \"string\" },\n { name: \"filledQty\", serverDataType: \"double\" },\n { name: \"id\", serverDataType: \"string\" },\n { name: \"idAsInt\", serverDataType: \"int\" },\n { name: \"openQty\", serverDataType: \"double\" },\n { name: \"parentOrderId\", serverDataType: \"string\" },\n { name: \"price\", serverDataType: \"double\" },\n { name: \"quantity\", serverDataType: \"double\" },\n { name: \"ric\", serverDataType: \"string\" },\n { name: \"side\", serverDataType: \"string\" },\n { name: \"status\", serverDataType: \"string\" },\n { name: \"strategy\", serverDataType: \"string\" },\n { name: \"volLimit\", serverDataType: \"int\" },\n ...VUU_DEFAULT_COLUMNS,\n ],\n key: \"id\",\n rangeLimits: DEFAULT_RANGE_LIMITS,\n table: { module: \"SIMUL\", table: \"childOrders\" },\n },\n parentOrders: {\n columns: [\n { name: \"account\", serverDataType: \"string\" },\n { name: \"algo\", serverDataType: \"string\" },\n { name: \"averagePrice\", serverDataType: \"double\" },\n { name: \"ccy\", serverDataType: \"string\" },\n { name: \"childCount\", serverDataType: \"int\" },\n { name: \"exchange\", serverDataType: \"string\" },\n { name: \"filledQty\", serverDataType: \"double\" },\n { name: \"id\", serverDataType: \"string\" },\n { name: \"idAsInt\", serverDataType: \"int\" },\n { name: \"openQty\", serverDataType: \"double\" },\n { name: \"price\", serverDataType: \"double\" },\n { name: \"quantity\", serverDataType: \"double\" },\n { name: \"ric\", serverDataType: \"string\" },\n { name: \"side\", serverDataType: \"string\" },\n { name: \"status\", serverDataType: \"string\" },\n { name: \"volLimit\", serverDataType: \"int\" },\n ...VUU_DEFAULT_COLUMNS,\n ],\n key: \"id\",\n rangeLimits: DEFAULT_RANGE_LIMITS,\n table: { module: \"SIMUL\", table: \"parentOrders\" },\n },\n prices: {\n columns: [\n { name: \"ask\", serverDataType: \"double\" },\n { name: \"askSize\", serverDataType: \"double\" }, // type: \"int\"\n { name: \"bid\", serverDataType: \"double\" },\n { name: \"bidSize\", serverDataType: \"double\" },\n { name: \"close\", serverDataType: \"double\" },\n { name: \"last\", serverDataType: \"double\" },\n { name: \"open\", serverDataType: \"double\" },\n { name: \"phase\", serverDataType: \"string\" },\n { name: \"ric\", serverDataType: \"string\" },\n { name: \"scenario\", serverDataType: \"string\" },\n ...VUU_DEFAULT_COLUMNS,\n ],\n key: \"ric\",\n rangeLimits: DEFAULT_RANGE_LIMITS,\n table: { module: \"SIMUL\", table: \"prices\" },\n },\n};\n\nexport type SimulVuuTable = {\n module: \"SIMUL\";\n table: SimulTableName;\n};\n\nexport const isSimulTable = (table: VuuTable): table is SimulVuuTable =>\n table.module === \"SIMUL\";\n"],"names":[],"mappings":"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"}
@@ -11,6 +11,10 @@ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot
11
11
  var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
12
12
  var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
13
13
  var _schemas, _tables;
14
+ const DEFAULT_RANGE_LIMITS = {
15
+ maxRangeEnd: 1e6,
16
+ maxRangeWidth: 1e3
17
+ };
14
18
  const { RowGenerator } = defaultGenerators;
15
19
  const generateRows = (tableSchema, count) => {
16
20
  const columnGenerator = RowGenerator(tableSchema.columns.map((c) => c.name));
@@ -40,6 +44,7 @@ class TestModule extends VuuModule {
40
44
  }
41
45
  ],
42
46
  key: "id",
47
+ rangeLimits: DEFAULT_RANGE_LIMITS,
43
48
  table: { module: "TEST", table: "TestDates" }
44
49
  },
45
50
  TwoHundredColumns: {
@@ -48,6 +53,7 @@ class TestModule extends VuuModule {
48
53
  serverDataType: "string"
49
54
  })),
50
55
  key: "column_1",
56
+ rangeLimits: DEFAULT_RANGE_LIMITS,
51
57
  table: { module: "TEST", table: "TwoHundredColumns" }
52
58
  },
53
59
  LinkParent: {
@@ -56,6 +62,7 @@ class TestModule extends VuuModule {
56
62
  { name: "data", serverDataType: "string" }
57
63
  ],
58
64
  key: "id",
65
+ rangeLimits: DEFAULT_RANGE_LIMITS,
59
66
  table: { module: "TEST", table: "LinkParent" }
60
67
  },
61
68
  LinkChild: {
@@ -65,6 +72,7 @@ class TestModule extends VuuModule {
65
72
  { name: "data", serverDataType: "string" }
66
73
  ],
67
74
  key: "id",
75
+ rangeLimits: DEFAULT_RANGE_LIMITS,
68
76
  table: { module: "TEST", table: "LinkChild" }
69
77
  },
70
78
  ChartTable: {
@@ -77,7 +85,20 @@ class TestModule extends VuuModule {
77
85
  { name: "volume_excluded", serverDataType: "boolean" }
78
86
  ],
79
87
  key: "id",
88
+ rangeLimits: DEFAULT_RANGE_LIMITS,
80
89
  table: { module: "TEST", table: "ChartTable" }
90
+ },
91
+ MaxScrollEndTable: {
92
+ columns: DefaultColumnGenerator(6).map((col) => ({
93
+ ...col,
94
+ serverDataType: "string"
95
+ })),
96
+ key: "column_1",
97
+ rangeLimits: {
98
+ maxRangeEnd: 500,
99
+ maxRangeWidth: 1e3
100
+ },
101
+ table: { module: "TEST", table: "MaxScrollEndTable" }
81
102
  }
82
103
  });
83
104
  __privateAdd(this, _tables, {
@@ -158,6 +179,11 @@ class TestModule extends VuuModule {
158
179
  ["025", "2026-04-26", 120, false, 1350, false]
159
180
  ],
160
181
  buildDataColumnMap(__privateGet(this, _schemas), "ChartTable")
182
+ ),
183
+ MaxScrollEndTable: tableContainer.createTable(
184
+ __privateGet(this, _schemas).MaxScrollEndTable,
185
+ generateRows(__privateGet(this, _schemas).MaxScrollEndTable, 1e3),
186
+ buildDataColumnMap(__privateGet(this, _schemas), "MaxScrollEndTable")
161
187
  )
162
188
  });
163
189
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TestModule.js","sources":["../../../../packages/vuu-data-test/src/test/TestModule.ts"],"sourcesContent":["import { RpcMenuService, VuuModule } from \"../core/module/VuuModule\";\nimport { buildDataColumnMap, Table } from \"../Table\";\nimport {\n DefaultColumnGenerator,\n defaultGenerators,\n} from \"../vuu-row-generator\";\nimport tableContainer from \"../core/table/TableContainer\";\nimport { TableSchema } from \"@vuu-ui/vuu-data-types\";\nimport { withNanoMs } from \"../data-utils\";\n\nexport type TestTableName =\n | \"TestDates\"\n | \"TwoHundredColumns\"\n | \"LinkParent\"\n | \"LinkChild\"\n | \"ChartTable\";\n\nconst { RowGenerator } = defaultGenerators;\n\nconst generateRows = (tableSchema: TableSchema, count: number) => {\n const columnGenerator = RowGenerator(tableSchema.columns.map((c) => c.name));\n return new Array(count).fill(1).map((_, i) => columnGenerator(i));\n};\n\nclass TestModule extends VuuModule<TestTableName> {\n #schemas: Record<TestTableName, TableSchema> = {\n TestDates: {\n columns: [\n {\n name: \"id\",\n serverDataType: \"long\",\n },\n {\n name: \"tradeDate\",\n serverDataType: \"epochtimestamp\",\n },\n {\n name: \"settlementDate\",\n serverDataType: \"epochtimestamp\",\n },\n {\n name: \"nanoTimestamp\",\n serverDataType: \"epochtimestampnano\",\n },\n ],\n key: \"id\",\n table: { module: \"TEST\", table: \"TestDates\" },\n },\n TwoHundredColumns: {\n columns: DefaultColumnGenerator(200).map((col) => ({\n ...col,\n serverDataType: \"string\",\n })),\n key: \"column_1\",\n table: { module: \"TEST\", table: \"TwoHundredColumns\" },\n },\n LinkParent: {\n columns: [\n { name: \"id\", serverDataType: \"string\" },\n { name: \"data\", serverDataType: \"string\" },\n ],\n key: \"id\",\n table: { module: \"TEST\", table: \"LinkParent\" },\n },\n\n LinkChild: {\n columns: [\n { name: \"id\", serverDataType: \"string\" },\n { name: \"parentId\", serverDataType: \"string\" },\n { name: \"data\", serverDataType: \"string\" },\n ],\n key: \"id\",\n table: { module: \"TEST\", table: \"LinkChild\" },\n },\n ChartTable: {\n columns: [\n { name: \"id\", serverDataType: \"string\" },\n { name: \"date\", serverDataType: \"string\" },\n { name: \"price\", serverDataType: \"double\" },\n { name: \"price_excluded\", serverDataType: \"boolean\" },\n { name: \"volume\", serverDataType: \"double\" },\n { name: \"volume_excluded\", serverDataType: \"boolean\" },\n ],\n key: \"id\",\n table: { module: \"TEST\", table: \"ChartTable\" },\n },\n };\n\n #tables: Record<TestTableName, Table> = {\n TestDates: tableContainer.createTable(\n this.#schemas.TestDates,\n // prettier-ignore\n [\n [1000000000000000001n, Date.now(), Date.now(), withNanoMs(Date.now(),1)],\n [1000000000000000002n, Date.now(), Date.now(), withNanoMs(Date.now(),2)],\n [1000000000000000003n, Date.now(), Date.now(), withNanoMs(Date.now(),3)],\n [1000000000000000004n, Date.now(), Date.now(), withNanoMs(Date.now(),4)],\n [1000000000000000005n, Date.now(), Date.now(), withNanoMs(Date.now(),5)],\n [1000000000000000006n, Date.now(), Date.now(), withNanoMs(Date.now(),6)],\n [1000000000000000007n, Date.now(), Date.now(), withNanoMs(Date.now(),7)],\n [1000000000000000008n, Date.now(), Date.now(), withNanoMs(Date.now(),8)],\n [1000000000000000009n, Date.now(), Date.now(), withNanoMs(Date.now(),9)],\n [1000000000000000010n, Date.now(), Date.now(), withNanoMs(Date.now(),10)],\n ],\n buildDataColumnMap(this.#schemas, \"TestDates\"),\n ),\n TwoHundredColumns: tableContainer.createTable(\n this.#schemas.TwoHundredColumns,\n generateRows(this.#schemas.TwoHundredColumns, 100),\n buildDataColumnMap(this.#schemas, \"TwoHundredColumns\"),\n ),\n LinkParent: tableContainer.createTable(\n this.#schemas.LinkParent,\n [\n [\"1000000001\", \"data 1\"],\n [\"1000000002\", \"data 2\"],\n [\"1000000003\", \"data 2\"],\n ],\n buildDataColumnMap(this.#schemas, \"LinkParent\"),\n ),\n LinkChild: tableContainer.createTable(\n this.#schemas.LinkChild,\n [\n [\"200001\", \"1000000001\", \"child 1 (linked to 001)\"],\n [\"200002\", \"1000000001\", \"child 2 (linked to 001)\"],\n [\"200003\", \"1000000001\", \"child 3 (linked to 001)\"],\n [\"200004\", \"1000000001\", \"child 4 (linked to 001)\"],\n [\"200005\", \"1000000001\", \"child 5 (linked to 001)\"],\n [\"200006\", \"1000000001\", \"child 6 (linked to 001)\"],\n [\"200007\", \"1000000001\", \"child 7 (linked to 001)\"],\n [\"200008\", \"1000000001\", \"child 8 (linked to 001)\"],\n [\"200009\", \"1000000002\", \"child 9 (linked to 002)\"],\n [\"200010\", \"1000000003\", \"child 10 (linked to 003)\"],\n ],\n buildDataColumnMap(this.#schemas, \"LinkChild\"),\n ),\n ChartTable: tableContainer.createTable(\n this.#schemas.ChartTable,\n [\n [\"001\", \"2026-04-02\", 100, false, 1000, false],\n [\"002\", \"2026-04-03\", 101, false, 999, false],\n [\"003\", \"2026-04-04\", 102, false, 1500, false],\n [\"004\", \"2026-04-05\", 103, false, 1300, false],\n [\"005\", \"2026-04-06\", 104, false, 1002, false],\n [\"006\", \"2026-04-07\", 105, false, 1000, true],\n [\"007\", \"2026-04-08\", 106, false, 1004, false],\n [\"008\", \"2026-04-09\", 107, false, 1040, false],\n [\"009\", \"2026-04-10\", 108, false, 1080, false],\n [\"010\", \"2026-04-11\", 109, false, 1100, false],\n [\"011\", \"2026-04-12\", 109, false, 1102, false],\n [\"012\", \"2026-04-13\", 114, false, 1105, false],\n [\"013\", \"2026-04-14\", 118, false, 1106, false],\n [\"014\", \"2026-04-15\", 125, false, 1107, false],\n [\"015\", \"2026-04-16\", 136, false, 1104, false],\n [\"016\", \"2026-04-17\", 170, false, 1103, false],\n [\"017\", \"2026-04-18\", 145, false, 1100, false],\n [\"018\", \"2026-04-19\", 147, false, 1100, false],\n [\"019\", \"2026-04-20\", 140, false, 1100, false],\n [\"020\", \"2026-04-21\", 138, false, 1100, false],\n [\"021\", \"2026-04-22\", 138, false, 1100, false],\n [\"022\", \"2026-04-23\", 138, false, 1100, false],\n [\"023\", \"2026-04-24\", 120, false, 1200, false],\n [\"024\", \"2026-04-25\", 120, false, 1200, false],\n [\"025\", \"2026-04-26\", 120, false, 1350, false],\n ],\n buildDataColumnMap(this.#schemas, \"ChartTable\"),\n ),\n };\n constructor() {\n super(\"TEST\");\n }\n\n get menus() {\n return undefined;\n }\n get services() {\n return undefined;\n }\n\n get menuServices():\n | Record<TestTableName, RpcMenuService[] | undefined>\n | undefined {\n return undefined;\n }\n\n get schemas() {\n return this.#schemas;\n }\n\n get tables() {\n return this.#tables;\n }\n get visualLinks() {\n return undefined;\n }\n}\n\nexport const testModule = new TestModule();\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TestModule.js","sources":["../../../../packages/vuu-data-test/src/test/TestModule.ts"],"sourcesContent":["import { RpcMenuService, VuuModule } from \"../core/module/VuuModule\";\nimport { buildDataColumnMap, Table } from \"../Table\";\nimport {\n DefaultColumnGenerator,\n defaultGenerators,\n} from \"../vuu-row-generator\";\nimport tableContainer from \"../core/table/TableContainer\";\nimport { TableSchema } from \"@vuu-ui/vuu-data-types\";\nimport { withNanoMs } from \"../data-utils\";\n\nconst DEFAULT_RANGE_LIMITS = {\n maxRangeEnd: 1_000_000,\n maxRangeWidth: 1_000,\n};\n\nexport type TestTableName =\n | \"TestDates\"\n | \"TwoHundredColumns\"\n | \"LinkParent\"\n | \"LinkChild\"\n | \"ChartTable\"\n | \"MaxScrollEndTable\";\n\nconst { RowGenerator } = defaultGenerators;\n\nconst generateRows = (tableSchema: TableSchema, count: number) => {\n const columnGenerator = RowGenerator(tableSchema.columns.map((c) => c.name));\n return new Array(count).fill(1).map((_, i) => columnGenerator(i));\n};\n\nclass TestModule extends VuuModule<TestTableName> {\n #schemas: Record<TestTableName, TableSchema> = {\n TestDates: {\n columns: [\n {\n name: \"id\",\n serverDataType: \"long\",\n },\n {\n name: \"tradeDate\",\n serverDataType: \"epochtimestamp\",\n },\n {\n name: \"settlementDate\",\n serverDataType: \"epochtimestamp\",\n },\n {\n name: \"nanoTimestamp\",\n serverDataType: \"epochtimestampnano\",\n },\n ],\n key: \"id\",\n rangeLimits: DEFAULT_RANGE_LIMITS,\n table: { module: \"TEST\", table: \"TestDates\" },\n },\n TwoHundredColumns: {\n columns: DefaultColumnGenerator(200).map((col) => ({\n ...col,\n serverDataType: \"string\",\n })),\n key: \"column_1\",\n rangeLimits: DEFAULT_RANGE_LIMITS,\n table: { module: \"TEST\", table: \"TwoHundredColumns\" },\n },\n LinkParent: {\n columns: [\n { name: \"id\", serverDataType: \"string\" },\n { name: \"data\", serverDataType: \"string\" },\n ],\n key: \"id\",\n rangeLimits: DEFAULT_RANGE_LIMITS,\n table: { module: \"TEST\", table: \"LinkParent\" },\n },\n\n LinkChild: {\n columns: [\n { name: \"id\", serverDataType: \"string\" },\n { name: \"parentId\", serverDataType: \"string\" },\n { name: \"data\", serverDataType: \"string\" },\n ],\n key: \"id\",\n rangeLimits: DEFAULT_RANGE_LIMITS,\n table: { module: \"TEST\", table: \"LinkChild\" },\n },\n ChartTable: {\n columns: [\n { name: \"id\", serverDataType: \"string\" },\n { name: \"date\", serverDataType: \"string\" },\n { name: \"price\", serverDataType: \"double\" },\n { name: \"price_excluded\", serverDataType: \"boolean\" },\n { name: \"volume\", serverDataType: \"double\" },\n { name: \"volume_excluded\", serverDataType: \"boolean\" },\n ],\n key: \"id\",\n rangeLimits: DEFAULT_RANGE_LIMITS,\n table: { module: \"TEST\", table: \"ChartTable\" },\n },\n MaxScrollEndTable: {\n columns: DefaultColumnGenerator(6).map((col) => ({\n ...col,\n serverDataType: \"string\",\n })),\n key: \"column_1\",\n rangeLimits: {\n maxRangeEnd: 500,\n maxRangeWidth: 1_000,\n },\n table: { module: \"TEST\", table: \"MaxScrollEndTable\" },\n },\n };\n\n #tables: Record<TestTableName, Table> = {\n TestDates: tableContainer.createTable(\n this.#schemas.TestDates,\n // prettier-ignore\n [\n [1000000000000000001n, Date.now(), Date.now(), withNanoMs(Date.now(), 1)],\n [1000000000000000002n, Date.now(), Date.now(), withNanoMs(Date.now(), 2)],\n [1000000000000000003n, Date.now(), Date.now(), withNanoMs(Date.now(), 3)],\n [1000000000000000004n, Date.now(), Date.now(), withNanoMs(Date.now(), 4)],\n [1000000000000000005n, Date.now(), Date.now(), withNanoMs(Date.now(), 5)],\n [1000000000000000006n, Date.now(), Date.now(), withNanoMs(Date.now(), 6)],\n [1000000000000000007n, Date.now(), Date.now(), withNanoMs(Date.now(), 7)],\n [1000000000000000008n, Date.now(), Date.now(), withNanoMs(Date.now(), 8)],\n [1000000000000000009n, Date.now(), Date.now(), withNanoMs(Date.now(), 9)],\n [1000000000000000010n, Date.now(), Date.now(), withNanoMs(Date.now(), 10)],\n ],\n buildDataColumnMap(this.#schemas, \"TestDates\"),\n ),\n TwoHundredColumns: tableContainer.createTable(\n this.#schemas.TwoHundredColumns,\n generateRows(this.#schemas.TwoHundredColumns, 100),\n buildDataColumnMap(this.#schemas, \"TwoHundredColumns\"),\n ),\n LinkParent: tableContainer.createTable(\n this.#schemas.LinkParent,\n [\n [\"1000000001\", \"data 1\"],\n [\"1000000002\", \"data 2\"],\n [\"1000000003\", \"data 2\"],\n ],\n buildDataColumnMap(this.#schemas, \"LinkParent\"),\n ),\n LinkChild: tableContainer.createTable(\n this.#schemas.LinkChild,\n [\n [\"200001\", \"1000000001\", \"child 1 (linked to 001)\"],\n [\"200002\", \"1000000001\", \"child 2 (linked to 001)\"],\n [\"200003\", \"1000000001\", \"child 3 (linked to 001)\"],\n [\"200004\", \"1000000001\", \"child 4 (linked to 001)\"],\n [\"200005\", \"1000000001\", \"child 5 (linked to 001)\"],\n [\"200006\", \"1000000001\", \"child 6 (linked to 001)\"],\n [\"200007\", \"1000000001\", \"child 7 (linked to 001)\"],\n [\"200008\", \"1000000001\", \"child 8 (linked to 001)\"],\n [\"200009\", \"1000000002\", \"child 9 (linked to 002)\"],\n [\"200010\", \"1000000003\", \"child 10 (linked to 003)\"],\n ],\n buildDataColumnMap(this.#schemas, \"LinkChild\"),\n ),\n ChartTable: tableContainer.createTable(\n this.#schemas.ChartTable,\n [\n [\"001\", \"2026-04-02\", 100, false, 1000, false],\n [\"002\", \"2026-04-03\", 101, false, 999, false],\n [\"003\", \"2026-04-04\", 102, false, 1500, false],\n [\"004\", \"2026-04-05\", 103, false, 1300, false],\n [\"005\", \"2026-04-06\", 104, false, 1002, false],\n [\"006\", \"2026-04-07\", 105, false, 1000, true],\n [\"007\", \"2026-04-08\", 106, false, 1004, false],\n [\"008\", \"2026-04-09\", 107, false, 1040, false],\n [\"009\", \"2026-04-10\", 108, false, 1080, false],\n [\"010\", \"2026-04-11\", 109, false, 1100, false],\n [\"011\", \"2026-04-12\", 109, false, 1102, false],\n [\"012\", \"2026-04-13\", 114, false, 1105, false],\n [\"013\", \"2026-04-14\", 118, false, 1106, false],\n [\"014\", \"2026-04-15\", 125, false, 1107, false],\n [\"015\", \"2026-04-16\", 136, false, 1104, false],\n [\"016\", \"2026-04-17\", 170, false, 1103, false],\n [\"017\", \"2026-04-18\", 145, false, 1100, false],\n [\"018\", \"2026-04-19\", 147, false, 1100, false],\n [\"019\", \"2026-04-20\", 140, false, 1100, false],\n [\"020\", \"2026-04-21\", 138, false, 1100, false],\n [\"021\", \"2026-04-22\", 138, false, 1100, false],\n [\"022\", \"2026-04-23\", 138, false, 1100, false],\n [\"023\", \"2026-04-24\", 120, false, 1200, false],\n [\"024\", \"2026-04-25\", 120, false, 1200, false],\n [\"025\", \"2026-04-26\", 120, false, 1350, false],\n ],\n buildDataColumnMap(this.#schemas, \"ChartTable\"),\n ),\n MaxScrollEndTable: tableContainer.createTable(\n this.#schemas.MaxScrollEndTable,\n generateRows(this.#schemas.MaxScrollEndTable, 1_000),\n buildDataColumnMap(this.#schemas, \"MaxScrollEndTable\"),\n ),\n };\n constructor() {\n super(\"TEST\");\n }\n\n get menus() {\n return undefined;\n }\n get services() {\n return undefined;\n }\n\n get menuServices():\n | Record<TestTableName, RpcMenuService[] | undefined>\n | undefined {\n return undefined;\n }\n\n get schemas() {\n return this.#schemas;\n }\n\n get tables() {\n return this.#tables;\n }\n get visualLinks() {\n return undefined;\n }\n}\n\nexport const testModule = new TestModule();\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,15 +1,15 @@
1
1
  {
2
- "version": "2.1.19",
2
+ "version": "2.2.1",
3
3
  "author": "heswell",
4
4
  "license": "Apache-2.0",
5
5
  "dependencies": {
6
- "@vuu-ui/vuu-data-local": "2.1.19",
7
- "@vuu-ui/vuu-utils": "2.1.19"
6
+ "@vuu-ui/vuu-data-local": "2.2.1",
7
+ "@vuu-ui/vuu-utils": "2.2.1"
8
8
  },
9
9
  "devDependencies": {
10
- "@vuu-ui/vuu-protocol-types": "2.1.19",
11
- "@vuu-ui/vuu-data-types": "2.1.19",
12
- "@vuu-ui/vuu-table-types": "2.1.19"
10
+ "@vuu-ui/vuu-protocol-types": "2.2.1",
11
+ "@vuu-ui/vuu-data-types": "2.2.1",
12
+ "@vuu-ui/vuu-table-types": "2.2.1"
13
13
  },
14
14
  "sideEffects": false,
15
15
  "files": [
@@ -1,7 +1,7 @@
1
1
  import { RpcMenuService, VuuModule } from "../core/module/VuuModule";
2
2
  import { Table } from "../Table";
3
3
  import { TableSchema } from "@vuu-ui/vuu-data-types";
4
- export type TestTableName = "TestDates" | "TwoHundredColumns" | "LinkParent" | "LinkChild" | "ChartTable";
4
+ export type TestTableName = "TestDates" | "TwoHundredColumns" | "LinkParent" | "LinkChild" | "ChartTable" | "MaxScrollEndTable";
5
5
  declare class TestModule extends VuuModule<TestTableName> {
6
6
  #private;
7
7
  constructor();