@vuu-ui/vuu-data-test 0.8.22-debug → 0.8.23-debug

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.
package/cjs/index.js CHANGED
@@ -622,14 +622,17 @@ __export(src_exports, {
622
622
  ArrayProxy: () => ArrayProxy,
623
623
  DefaultColumnGenerator: () => DefaultColumnGenerator,
624
624
  DefaultRowGenerator: () => DefaultRowGenerator,
625
+ Table: () => Table,
625
626
  TickingArrayDataSource: () => TickingArrayDataSource,
626
- VuuColumnGenerator: () => VuuColumnGenerator,
627
+ buildDataColumnMap: () => buildDataColumnMap,
627
628
  createBasketTradingRow: () => createBasketTradingRow,
629
+ defaultGenerators: () => defaultGenerators,
628
630
  getAllSchemas: () => getAllSchemas,
629
631
  getColumnAndRowGenerator: () => getColumnAndRowGenerator,
630
632
  getSchema: () => getSchema,
633
+ joinTables: () => joinTables,
631
634
  populateArray: () => populateArray,
632
- schemas: () => schemas3,
635
+ schemas: () => schemas4,
633
636
  vuuModule: () => vuuModule
634
637
  });
635
638
  module.exports = __toCommonJS(src_exports);
@@ -945,16 +948,98 @@ var schemas2 = {
945
948
  }
946
949
  };
947
950
 
948
- // src/schemas.ts
951
+ // src/vuu-row-generator.ts
952
+ var DefaultRowGenerator = (columns) => (index) => {
953
+ return [`row ${index + 1}`].concat(
954
+ Array(columns.length).fill(true).map((v, j) => `value ${j + 2} @ ${index + 1}`)
955
+ );
956
+ };
957
+ var DefaultColumnGenerator = (columns, columnConfig = {}) => {
958
+ if (typeof columns === "number") {
959
+ return [{ label: "Row Number", name: "rownum", width: 150 }].concat(
960
+ Array(columns).fill(true).map((_, i) => {
961
+ const name = `column_${i + 1}`;
962
+ const label = `Column ${i + 1}`;
963
+ return { label, name, width: 100, ...columnConfig[name] };
964
+ })
965
+ );
966
+ } else {
967
+ throw Error("DefaultColumnGenerator must be passed columns (number)");
968
+ }
969
+ };
970
+ var defaultGenerators = {
971
+ ColumnGenerator: DefaultColumnGenerator,
972
+ RowGenerator: DefaultRowGenerator
973
+ };
974
+ var getColumnAndRowGenerator = (table) => {
975
+ var _a, _b, _c;
976
+ const tableName = (_a = table == null ? void 0 : table.table) != null ? _a : "";
977
+ switch (table == null ? void 0 : table.module) {
978
+ case "SIMUL": {
979
+ const { ColumnGenerator, RowGenerator: RowGenerator2, createUpdateGenerator } = (
980
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
981
+ // @ts-ignore
982
+ (_b = simulDataGenerators[tableName]) != null ? _b : defaultGenerators
983
+ );
984
+ return [ColumnGenerator, RowGenerator2, createUpdateGenerator];
985
+ }
986
+ case "BASKET": {
987
+ const { ColumnGenerator, RowGenerator: RowGenerator2, createUpdateGenerator } = (
988
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
989
+ // @ts-ignore
990
+ (_c = basketDataGenerators[tableName]) != null ? _c : defaultGenerators
991
+ );
992
+ return [ColumnGenerator, RowGenerator2, createUpdateGenerator];
993
+ }
994
+ case void 0: {
995
+ const { ColumnGenerator, RowGenerator: RowGenerator2 } = defaultGenerators;
996
+ return [ColumnGenerator, RowGenerator2];
997
+ }
998
+ default:
999
+ throw Error(
1000
+ `vuu-row-gererator table ${table == null ? void 0 : table.table} was requested but no generator is registered`
1001
+ );
1002
+ }
1003
+ };
1004
+ var populateArray = (count, colGen, rowGen, columns) => {
1005
+ const columnDescriptors = colGen(columns);
1006
+ const generateRow = rowGen(columnDescriptors.map((col) => col.name));
1007
+ const data = [];
1008
+ for (let i = 0; i < count; i++) {
1009
+ const row = generateRow(i);
1010
+ if (row) {
1011
+ data[i] = row;
1012
+ } else {
1013
+ break;
1014
+ }
1015
+ }
1016
+ return data;
1017
+ };
1018
+
1019
+ // src/test/test-schemas.ts
949
1020
  var schemas3 = {
1021
+ TwoHundredColumns: {
1022
+ columns: DefaultColumnGenerator(200).map((col) => ({
1023
+ ...col,
1024
+ serverDataType: "string"
1025
+ })),
1026
+ key: "column01",
1027
+ table: { module: "TEST", table: "TwoHundredColumns" }
1028
+ }
1029
+ };
1030
+
1031
+ // src/schemas.ts
1032
+ var schemas4 = {
950
1033
  ...schemas,
951
- ...schemas2
1034
+ ...schemas2,
1035
+ ...schemas3
952
1036
  };
953
1037
  var allSchemas = {
954
1038
  ...schemas,
955
- ...schemas2
1039
+ ...schemas2,
1040
+ ...schemas3
956
1041
  };
957
- var getAllSchemas = () => schemas3;
1042
+ var getAllSchemas = () => schemas4;
958
1043
  var getSchema = (tableName) => {
959
1044
  if (allSchemas[tableName]) {
960
1045
  return allSchemas[tableName];
@@ -1235,76 +1320,6 @@ _menuRpcServices = new WeakMap();
1235
1320
  _rpcServices = new WeakMap();
1236
1321
  _table = new WeakMap();
1237
1322
 
1238
- // src/vuu-row-generator.ts
1239
- var VuuColumnGenerator = (columnCount) => ["Row No"].concat(
1240
- Array(columnCount).fill("").map((_, i) => `Column ${i + 1}`)
1241
- );
1242
- var DefaultRowGenerator = (columns) => (index) => {
1243
- return [`row ${index + 1}`].concat(
1244
- Array(columns.length).fill(true).map((v, j) => `value ${j + 1} @ ${index + 1}`)
1245
- );
1246
- };
1247
- var DefaultColumnGenerator = (columns, columnConfig = {}) => {
1248
- if (typeof columns === "number") {
1249
- return [{ name: "row number", width: 150 }].concat(
1250
- Array(columns).fill(true).map((_, i) => {
1251
- const name = `column ${i + 1}`;
1252
- return { name, width: 100, ...columnConfig[name] };
1253
- })
1254
- );
1255
- } else {
1256
- throw Error("DefaultColumnGenerator must be passed columns (number)");
1257
- }
1258
- };
1259
- var defaultGenerators = {
1260
- ColumnGenerator: DefaultColumnGenerator,
1261
- RowGenerator: DefaultRowGenerator
1262
- };
1263
- var getColumnAndRowGenerator = (table) => {
1264
- var _a, _b, _c;
1265
- const tableName = (_a = table == null ? void 0 : table.table) != null ? _a : "";
1266
- switch (table == null ? void 0 : table.module) {
1267
- case "SIMUL": {
1268
- const { ColumnGenerator, RowGenerator, createUpdateGenerator } = (
1269
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
1270
- // @ts-ignore
1271
- (_b = simulDataGenerators[tableName]) != null ? _b : defaultGenerators
1272
- );
1273
- return [ColumnGenerator, RowGenerator, createUpdateGenerator];
1274
- }
1275
- case "BASKET": {
1276
- const { ColumnGenerator, RowGenerator, createUpdateGenerator } = (
1277
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
1278
- // @ts-ignore
1279
- (_c = basketDataGenerators[tableName]) != null ? _c : defaultGenerators
1280
- );
1281
- return [ColumnGenerator, RowGenerator, createUpdateGenerator];
1282
- }
1283
- case void 0: {
1284
- const { ColumnGenerator, RowGenerator } = defaultGenerators;
1285
- return [ColumnGenerator, RowGenerator];
1286
- }
1287
- default:
1288
- throw Error(
1289
- `vuu-row-gererator table ${table == null ? void 0 : table.table} was requested but no generator is registered`
1290
- );
1291
- }
1292
- };
1293
- var populateArray = (count, colGen, rowGen, columns) => {
1294
- const columnDescriptors = colGen(columns);
1295
- const generateRow = rowGen(columnDescriptors.map((col) => col.name));
1296
- const data = [];
1297
- for (let i = 0; i < count; i++) {
1298
- const row = generateRow(i);
1299
- if (row) {
1300
- data[i] = row;
1301
- } else {
1302
- break;
1303
- }
1304
- }
1305
- return data;
1306
- };
1307
-
1308
1323
  // src/Table.ts
1309
1324
  var _data, _dataMap, _indexOfKey, _index, _schema;
1310
1325
  var Table = class extends EventEmitter {
@@ -1490,10 +1505,10 @@ var maxAsk = (bid3, ask3, spreadMultipler, priceMaxDelta) => {
1490
1505
  spread / 2 + bid3 + priceMaxDelta
1491
1506
  );
1492
1507
  };
1493
- var minAsk = (bid3, ask3, spreadMultipler, priceMaxDelta) => {
1508
+ var minAsk = (bid3, ask3) => {
1494
1509
  return Math.max(bid3 + 1, (ask3 - bid3) / 2 + bid3);
1495
1510
  };
1496
- var maxBid = (bid3, ask3, spreadMultipler, priceMaxDelta) => {
1511
+ var maxBid = (bid3, ask3) => {
1497
1512
  const result = Math.min(ask3 - 1, (ask3 - bid3) / 2 + bid3);
1498
1513
  return result < 1 ? bid3 + 1 : result;
1499
1514
  };
@@ -1511,8 +1526,8 @@ var generateNextBidAsk = (bid3, ask3, spreadMultipler, priceMaxDelta, nextRandom
1511
1526
  if (Math.abs(bid3 - ask3) <= 1)
1512
1527
  tempAsk = ask3 + 1;
1513
1528
  const minBidValue = minBid(bid3, tempAsk, spreadMultipler, priceMaxDelta);
1514
- const maxBidValue = maxBid(bid3, tempAsk, spreadMultipler, priceMaxDelta);
1515
- const minAskValue = minAsk(bid3, tempAsk, spreadMultipler, priceMaxDelta);
1529
+ const maxBidValue = maxBid(bid3, tempAsk);
1530
+ const minAskValue = minAsk(bid3, tempAsk);
1516
1531
  const maxAskValue = maxAsk(bid3, tempAsk, spreadMultipler, priceMaxDelta);
1517
1532
  const newBid = Math.round(nextRandomDouble2(minBidValue, maxBidValue) * 100) / 100;
1518
1533
  const newAsk = Math.round(nextRandomDouble2(minAskValue, maxAskValue) * 100) / 100;
@@ -2466,10 +2481,61 @@ var simulModule = {
2466
2481
  };
2467
2482
  var simul_module_default = simulModule;
2468
2483
 
2484
+ // src/test/test-module.ts
2485
+ var { RowGenerator } = defaultGenerators;
2486
+ var manyColumnGenerator = RowGenerator(
2487
+ schemas3.TwoHundredColumns.columns.map((c) => c.name)
2488
+ );
2489
+ var tables3 = {
2490
+ TwoHundredColumns: new Table(
2491
+ schemas3.TwoHundredColumns,
2492
+ new Array(100).fill(1).map((_, i) => manyColumnGenerator(i)),
2493
+ buildDataColumnMap(schemas3.TwoHundredColumns)
2494
+ )
2495
+ };
2496
+ var getColumnDescriptors3 = (tableName) => {
2497
+ const schema = schemas3[tableName];
2498
+ if (schema) {
2499
+ return schema.columns;
2500
+ } else {
2501
+ throw Error(`test-module no schema found for table TEST ${tableName}`);
2502
+ }
2503
+ };
2504
+ var createDataSource3 = (tableName) => {
2505
+ const columnDescriptors = getColumnDescriptors3(tableName);
2506
+ return new TickingArrayDataSource({
2507
+ columnDescriptors,
2508
+ keyColumn: schemas3[tableName].key,
2509
+ table: tables3[tableName]
2510
+ // menu: menus[tableName],
2511
+ // rpcServices: services[tableName],
2512
+ });
2513
+ };
2514
+ var suggestionFetcher2 = ([
2515
+ vuuTable,
2516
+ column,
2517
+ pattern
2518
+ ]) => {
2519
+ const table = tables3[vuuTable.table];
2520
+ if (table) {
2521
+ return makeSuggestions(table, column, pattern);
2522
+ } else {
2523
+ throw Error(
2524
+ `SIMUL suggestionFetcher, unknown table ${vuuTable.module} ${vuuTable.table}`
2525
+ );
2526
+ }
2527
+ };
2528
+ var testModule = {
2529
+ createDataSource: createDataSource3,
2530
+ typeaheadHook: () => suggestionFetcher2
2531
+ };
2532
+ var test_module_default = testModule;
2533
+
2469
2534
  // src/vuu-modules.ts
2470
2535
  var vuuModules = {
2471
2536
  BASKET: basket_module_default,
2472
- SIMUL: simul_module_default
2537
+ SIMUL: simul_module_default,
2538
+ TEST: test_module_default
2473
2539
  };
2474
2540
  var vuuModule = (moduleName) => vuuModules[moduleName];
2475
2541
  //# sourceMappingURL=index.js.map