@vuu-ui/vuu-data-test 0.13.117 → 0.13.118

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/cjs/simul/reference-data/instruments.js.map +1 -1
  2. package/esm/simul/reference-data/instruments.js.map +1 -1
  3. package/package.json +12 -9
  4. package/types/ArrayProxy.d.ts +8 -0
  5. package/types/RuntimeVisualLink.d.ts +9 -0
  6. package/types/Table.d.ts +34 -0
  7. package/types/TickingArrayDataSource.d.ts +35 -0
  8. package/types/UpdateGenerator.d.ts +18 -0
  9. package/types/basket/BasketModule.d.ts +55 -0
  10. package/types/basket/basket-schemas.d.ts +9 -0
  11. package/types/basket/index.d.ts +2 -0
  12. package/types/basket/reference-data/constituents.d.ts +3 -0
  13. package/types/basket/reference-data/ftse100.d.ts +2 -0
  14. package/types/basket/reference-data/hsi.d.ts +2 -0
  15. package/types/basket/reference-data/nasdaq100.d.ts +2 -0
  16. package/types/basket/reference-data/prices.d.ts +24 -0
  17. package/types/basket/reference-data/sp500.d.ts +2 -0
  18. package/types/core/module/ModuleContainer.d.ts +11 -0
  19. package/types/core/module/VuuModule.d.ts +61 -0
  20. package/types/core/table/TableContainer.d.ts +16 -0
  21. package/types/data-utils.d.ts +6 -0
  22. package/types/index.d.ts +12 -0
  23. package/types/local-datasource-provider/LocalDatasourceProvider.d.ts +4 -0
  24. package/types/makeSuggestions.d.ts +2 -0
  25. package/types/rowUpdates.d.ts +15 -0
  26. package/types/schemas.d.ts +8 -0
  27. package/types/session-table-utils.d.ts +2 -0
  28. package/types/simul/SimulModule.d.ts +24 -0
  29. package/types/simul/index.d.ts +2 -0
  30. package/types/simul/reference-data/accounts.d.ts +1 -0
  31. package/types/simul/reference-data/algos.d.ts +1 -0
  32. package/types/simul/reference-data/currencies.d.ts +1 -0
  33. package/types/simul/reference-data/index.d.ts +5 -0
  34. package/types/simul/reference-data/instrument-prices.d.ts +60 -0
  35. package/types/simul/reference-data/instruments-extended.d.ts +1 -0
  36. package/types/simul/reference-data/instruments.d.ts +35 -0
  37. package/types/simul/reference-data/isin-generator/convert-string-to-base-ten-number.d.ts +1 -0
  38. package/types/simul/reference-data/isin-generator/fixtures/alphabet.d.ts +1 -0
  39. package/types/simul/reference-data/isin-generator/fixtures/alphanumeric-values.d.ts +1 -0
  40. package/types/simul/reference-data/isin-generator/fixtures/base-ten-numbers.d.ts +1 -0
  41. package/types/simul/reference-data/isin-generator/generate-cusip-check-code.d.ts +1 -0
  42. package/types/simul/reference-data/isin-generator/generate-cusip-without-check-code.d.ts +1 -0
  43. package/types/simul/reference-data/isin-generator/generate-cusip.d.ts +1 -0
  44. package/types/simul/reference-data/isin-generator/generate-random-alphanumeric.d.ts +1 -0
  45. package/types/simul/reference-data/isin-generator/generate-random-base-ten-number.d.ts +1 -0
  46. package/types/simul/reference-data/isin-generator/generate-random-string-of-alphanumeric-chars.d.ts +1 -0
  47. package/types/simul/reference-data/isin-generator/generate-random-string-of-base-ten-chars.d.ts +1 -0
  48. package/types/simul/reference-data/isin-generator/index.d.ts +1 -0
  49. package/types/simul/reference-data/isin-generator/is-odd.d.ts +1 -0
  50. package/types/simul/reference-data/locations.d.ts +4 -0
  51. package/types/simul/reference-data/lotsizes.d.ts +1 -0
  52. package/types/simul/reference-data/orderStatus.d.ts +1 -0
  53. package/types/simul/reference-data/orders.d.ts +36 -0
  54. package/types/simul/reference-data/parent-child-orders.d.ts +4 -0
  55. package/types/simul/reference-data/priceStrategies.d.ts +1 -0
  56. package/types/simul/reference-data/prices.d.ts +32 -0
  57. package/types/simul/reference-data/sides.d.ts +1 -0
  58. package/types/simul/simul-schemas.d.ts +9 -0
  59. package/types/test/TestModule.d.ts +15 -0
  60. package/types/test/index.d.ts +2 -0
  61. package/types/test/test-schemas.d.ts +3 -0
  62. package/types/vuu-row-generator.d.ts +17 -0
@@ -1 +1 @@
1
- {"version":3,"file":"instruments.js","sources":["../../../../../packages/vuu-data-test/src/simul/reference-data/instruments.ts"],"sourcesContent":["import { isinGenerator } from \"./isin-generator\";\nimport tableContainer from \"../../core/table/TableContainer\";\nimport { currencies } from \"./currencies\";\nimport { locations, suffixes } from \"./locations\";\nimport { lotsizes } from \"./lotsizes\";\nimport { random } from \"../../data-utils\";\nimport { buildDataColumnMap } from \"../../Table\";\nimport { schemas } from \"../simul-schemas\";\nimport { Clock } from \"@vuu-ui/vuu-utils\";\n\nconst { createTable } = tableContainer;\n\nconst today = new Date();\nconst clock = new Clock({\n year: today.getFullYear(),\n month: today.getMonth() + 1,\n day: today.getDate(),\n hours: 7,\n minutes: 0,\n seconds: 0,\n milliseconds: 0,\n});\n\nexport type bbg = string;\nexport type currency = string;\nexport type ric = string;\nexport type description = string;\nexport type exchange = string;\n// seed for price generation\nexport type price = number;\nexport type date = number;\n\nexport type InstrumentsDataRow = [\n bbg,\n currency,\n description,\n exchange,\n string,\n number,\n price,\n ric,\n date,\n date,\n];\n\nexport const InstrumentColumnMap = {\n bbg: 0,\n currency: 1,\n description: 2,\n exchange: 3,\n string: 4,\n number: 5,\n price: 6,\n ric: 7,\n vuuCreatedTimestamp: 8,\n vuuUpdatedTimestamp: 9,\n} as const;\n\nconst instrumentsData: InstrumentsDataRow[] = [];\n\nconst chars1 = Array.from(\"ABCEFGHKMN\");\nconst chars2 = Array.from(\"ABCEFGHKMN\");\nconst chars3 = Array.from(\"OPQRTUVWYZ\");\nconst chars4 = Array.from(\"OPQRTUVWYZ\");\n\nconst scaledDecimals = (fraction: string, decimals: number) => {\n if (fraction.length > decimals) {\n return fraction.slice(0, decimals);\n } else if (fraction.length === decimals) {\n return fraction;\n } else {\n return fraction.padEnd(decimals, \"0\");\n }\n};\n\nconst ScaledDecimal = (value: number, decimals = 6) => {\n const stringValue = value.toString();\n const [integral, fraction = \"0\"] = stringValue.split(\".\");\n return `${integral}${scaledDecimals(fraction, decimals)}`;\n};\n\nconst randomPrice = () => {\n const price = random(0, 10000);\n const multiplier = random(1, 10);\n return ScaledDecimal(price / multiplier);\n};\n\n// const start = performance.now();\n// Create 10_000 Instruments\nlet count = 0;\nfor (const char1 of chars1) {\n for (const char2 of chars2) {\n for (const char3 of chars3) {\n for (const char4 of chars4) {\n const suffix = suffixes[count % 8];\n const ric = char1 + char2 + char3 + char4 + \".\" + suffix;\n const bbg = char1 + char2 + char3 + char4 + \" \" + suffix;\n const description = `${ric} description`;\n const currency = currencies[random(0, 4)];\n const isin = isinGenerator();\n const lotSize = lotsizes[random(0, lotsizes.length - 1)];\n\n const exchange = locations[suffix][1];\n const price = randomPrice();\n\n const timestamp = clock.now;\n\n instrumentsData.push([\n bbg,\n currency,\n description,\n exchange,\n String(isin),\n lotSize,\n price,\n ric,\n timestamp,\n timestamp,\n ]);\n count++;\n clock.advance(random(0, 10000));\n }\n }\n }\n}\n\n// const end = performance.now();\n// console.log(`generating 10,000 instruments took ${end - start} ms`);\n\nexport const getRic = (defaultRic: string) => {\n const row = instrumentsData.at(random(0, instrumentsData.length));\n return row?.[InstrumentColumnMap.ric] ?? defaultRic;\n};\n\nexport const instrumentsTable = createTable(\n schemas.instruments,\n instrumentsData,\n buildDataColumnMap(schemas, \"instruments\"),\n);\n\nexport { instrumentsData };\n"],"names":["tableContainer","Clock","random","suffixes","currencies","isinGenerator","lotsizes","locations","schemas","buildDataColumnMap"],"mappings":"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"}
1
+ {"version":3,"file":"instruments.js","sources":["../../../../../packages/vuu-data-test/src/simul/reference-data/instruments.ts"],"sourcesContent":["import { isinGenerator } from \"./isin-generator\";\nimport tableContainer from \"../../core/table/TableContainer\";\nimport { currencies } from \"./currencies\";\nimport { locations, suffixes } from \"./locations\";\nimport { lotsizes } from \"./lotsizes\";\nimport { random } from \"../../data-utils\";\nimport { buildDataColumnMap } from \"../../Table\";\nimport { schemas } from \"../simul-schemas\";\nimport { Clock } from \"@vuu-ui/vuu-utils\";\n\nconst { createTable } = tableContainer;\n\nconst today = new Date();\nconst clock = new Clock({\n year: today.getFullYear(),\n month: today.getMonth() + 1,\n day: today.getDate(),\n hours: 7,\n minutes: 0,\n seconds: 0,\n milliseconds: 0,\n});\n\nexport type bbg = string;\nexport type currency = string;\nexport type ric = string;\nexport type description = string;\nexport type exchange = string;\n// seed for price generation\nexport type price = string;\nexport type date = number;\n\nexport type InstrumentsDataRow = [\n bbg,\n currency,\n description,\n exchange,\n string,\n number,\n price,\n ric,\n date,\n date,\n];\n\nexport const InstrumentColumnMap = {\n bbg: 0,\n currency: 1,\n description: 2,\n exchange: 3,\n string: 4,\n number: 5,\n price: 6,\n ric: 7,\n vuuCreatedTimestamp: 8,\n vuuUpdatedTimestamp: 9,\n} as const;\n\nconst instrumentsData: InstrumentsDataRow[] = [];\n\nconst chars1 = Array.from(\"ABCEFGHKMN\");\nconst chars2 = Array.from(\"ABCEFGHKMN\");\nconst chars3 = Array.from(\"OPQRTUVWYZ\");\nconst chars4 = Array.from(\"OPQRTUVWYZ\");\n\nconst scaledDecimals = (fraction: string, decimals: number) => {\n if (fraction.length > decimals) {\n return fraction.slice(0, decimals);\n } else if (fraction.length === decimals) {\n return fraction;\n } else {\n return fraction.padEnd(decimals, \"0\");\n }\n};\n\nconst ScaledDecimal = (value: number, decimals = 6) => {\n const stringValue = value.toString();\n const [integral, fraction = \"0\"] = stringValue.split(\".\");\n return `${integral}${scaledDecimals(fraction, decimals)}`;\n};\n\nconst randomPrice = () => {\n const price = random(0, 10000);\n const multiplier = random(1, 10);\n return ScaledDecimal(price / multiplier);\n};\n\n// const start = performance.now();\n// Create 10_000 Instruments\nlet count = 0;\nfor (const char1 of chars1) {\n for (const char2 of chars2) {\n for (const char3 of chars3) {\n for (const char4 of chars4) {\n const suffix = suffixes[count % 8];\n const ric = char1 + char2 + char3 + char4 + \".\" + suffix;\n const bbg = char1 + char2 + char3 + char4 + \" \" + suffix;\n const description = `${ric} description`;\n const currency = currencies[random(0, 4)];\n const isin = isinGenerator();\n const lotSize = lotsizes[random(0, lotsizes.length - 1)];\n\n const exchange = locations[suffix][1];\n const price = randomPrice();\n\n const timestamp = clock.now;\n\n instrumentsData.push([\n bbg,\n currency,\n description,\n exchange,\n String(isin),\n lotSize,\n price,\n ric,\n timestamp,\n timestamp,\n ]);\n count++;\n clock.advance(random(0, 10000));\n }\n }\n }\n}\n\n// const end = performance.now();\n// console.log(`generating 10,000 instruments took ${end - start} ms`);\n\nexport const getRic = (defaultRic: string) => {\n const row = instrumentsData.at(random(0, instrumentsData.length));\n return row?.[InstrumentColumnMap.ric] ?? defaultRic;\n};\n\nexport const instrumentsTable = createTable(\n schemas.instruments,\n instrumentsData,\n buildDataColumnMap(schemas, \"instruments\"),\n);\n\nexport { instrumentsData };\n"],"names":["tableContainer","Clock","random","suffixes","currencies","isinGenerator","lotsizes","locations","schemas","buildDataColumnMap"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"instruments.js","sources":["../../../../../packages/vuu-data-test/src/simul/reference-data/instruments.ts"],"sourcesContent":["import { isinGenerator } from \"./isin-generator\";\nimport tableContainer from \"../../core/table/TableContainer\";\nimport { currencies } from \"./currencies\";\nimport { locations, suffixes } from \"./locations\";\nimport { lotsizes } from \"./lotsizes\";\nimport { random } from \"../../data-utils\";\nimport { buildDataColumnMap } from \"../../Table\";\nimport { schemas } from \"../simul-schemas\";\nimport { Clock } from \"@vuu-ui/vuu-utils\";\n\nconst { createTable } = tableContainer;\n\nconst today = new Date();\nconst clock = new Clock({\n year: today.getFullYear(),\n month: today.getMonth() + 1,\n day: today.getDate(),\n hours: 7,\n minutes: 0,\n seconds: 0,\n milliseconds: 0,\n});\n\nexport type bbg = string;\nexport type currency = string;\nexport type ric = string;\nexport type description = string;\nexport type exchange = string;\n// seed for price generation\nexport type price = number;\nexport type date = number;\n\nexport type InstrumentsDataRow = [\n bbg,\n currency,\n description,\n exchange,\n string,\n number,\n price,\n ric,\n date,\n date,\n];\n\nexport const InstrumentColumnMap = {\n bbg: 0,\n currency: 1,\n description: 2,\n exchange: 3,\n string: 4,\n number: 5,\n price: 6,\n ric: 7,\n vuuCreatedTimestamp: 8,\n vuuUpdatedTimestamp: 9,\n} as const;\n\nconst instrumentsData: InstrumentsDataRow[] = [];\n\nconst chars1 = Array.from(\"ABCEFGHKMN\");\nconst chars2 = Array.from(\"ABCEFGHKMN\");\nconst chars3 = Array.from(\"OPQRTUVWYZ\");\nconst chars4 = Array.from(\"OPQRTUVWYZ\");\n\nconst scaledDecimals = (fraction: string, decimals: number) => {\n if (fraction.length > decimals) {\n return fraction.slice(0, decimals);\n } else if (fraction.length === decimals) {\n return fraction;\n } else {\n return fraction.padEnd(decimals, \"0\");\n }\n};\n\nconst ScaledDecimal = (value: number, decimals = 6) => {\n const stringValue = value.toString();\n const [integral, fraction = \"0\"] = stringValue.split(\".\");\n return `${integral}${scaledDecimals(fraction, decimals)}`;\n};\n\nconst randomPrice = () => {\n const price = random(0, 10000);\n const multiplier = random(1, 10);\n return ScaledDecimal(price / multiplier);\n};\n\n// const start = performance.now();\n// Create 10_000 Instruments\nlet count = 0;\nfor (const char1 of chars1) {\n for (const char2 of chars2) {\n for (const char3 of chars3) {\n for (const char4 of chars4) {\n const suffix = suffixes[count % 8];\n const ric = char1 + char2 + char3 + char4 + \".\" + suffix;\n const bbg = char1 + char2 + char3 + char4 + \" \" + suffix;\n const description = `${ric} description`;\n const currency = currencies[random(0, 4)];\n const isin = isinGenerator();\n const lotSize = lotsizes[random(0, lotsizes.length - 1)];\n\n const exchange = locations[suffix][1];\n const price = randomPrice();\n\n const timestamp = clock.now;\n\n instrumentsData.push([\n bbg,\n currency,\n description,\n exchange,\n String(isin),\n lotSize,\n price,\n ric,\n timestamp,\n timestamp,\n ]);\n count++;\n clock.advance(random(0, 10000));\n }\n }\n }\n}\n\n// const end = performance.now();\n// console.log(`generating 10,000 instruments took ${end - start} ms`);\n\nexport const getRic = (defaultRic: string) => {\n const row = instrumentsData.at(random(0, instrumentsData.length));\n return row?.[InstrumentColumnMap.ric] ?? defaultRic;\n};\n\nexport const instrumentsTable = createTable(\n schemas.instruments,\n instrumentsData,\n buildDataColumnMap(schemas, \"instruments\"),\n);\n\nexport { instrumentsData };\n"],"names":[],"mappings":";;;;;;;;;;AAUA,MAAM,EAAE,aAAgB,GAAA,cAAA;AAExB,MAAM,KAAA,uBAAY,IAAK,EAAA;AACvB,MAAM,KAAA,GAAQ,IAAI,KAAM,CAAA;AAAA,EACtB,IAAA,EAAM,MAAM,WAAY,EAAA;AAAA,EACxB,KAAA,EAAO,KAAM,CAAA,QAAA,EAAa,GAAA,CAAA;AAAA,EAC1B,GAAA,EAAK,MAAM,OAAQ,EAAA;AAAA,EACnB,KAAO,EAAA,CAAA;AAAA,EACP,OAAS,EAAA,CAAA;AAAA,EACT,OAAS,EAAA,CAAA;AAAA,EACT,YAAc,EAAA;AAChB,CAAC,CAAA;AAwBM,MAAM,mBAAsB,GAAA;AAAA,EACjC,GAAK,EAAA,CAAA;AAAA,EACL,QAAU,EAAA,CAAA;AAAA,EACV,WAAa,EAAA,CAAA;AAAA,EACb,QAAU,EAAA,CAAA;AAAA,EACV,MAAQ,EAAA,CAAA;AAAA,EACR,MAAQ,EAAA,CAAA;AAAA,EACR,KAAO,EAAA,CAAA;AAAA,EACP,GAAK,EAAA,CAAA;AAAA,EACL,mBAAqB,EAAA,CAAA;AAAA,EACrB,mBAAqB,EAAA;AACvB;AAEA,MAAM,kBAAwC;AAE9C,MAAM,MAAA,GAAS,KAAM,CAAA,IAAA,CAAK,YAAY,CAAA;AACtC,MAAM,MAAA,GAAS,KAAM,CAAA,IAAA,CAAK,YAAY,CAAA;AACtC,MAAM,MAAA,GAAS,KAAM,CAAA,IAAA,CAAK,YAAY,CAAA;AACtC,MAAM,MAAA,GAAS,KAAM,CAAA,IAAA,CAAK,YAAY,CAAA;AAEtC,MAAM,cAAA,GAAiB,CAAC,QAAA,EAAkB,QAAqB,KAAA;AAC7D,EAAI,IAAA,QAAA,CAAS,SAAS,QAAU,EAAA;AAC9B,IAAO,OAAA,QAAA,CAAS,KAAM,CAAA,CAAA,EAAG,QAAQ,CAAA;AAAA,GACnC,MAAA,IAAW,QAAS,CAAA,MAAA,KAAW,QAAU,EAAA;AACvC,IAAO,OAAA,QAAA;AAAA,GACF,MAAA;AACL,IAAO,OAAA,QAAA,CAAS,MAAO,CAAA,QAAA,EAAU,GAAG,CAAA;AAAA;AAExC,CAAA;AAEA,MAAM,aAAgB,GAAA,CAAC,KAAe,EAAA,QAAA,GAAW,CAAM,KAAA;AACrD,EAAM,MAAA,WAAA,GAAc,MAAM,QAAS,EAAA;AACnC,EAAA,MAAM,CAAC,QAAU,EAAA,QAAA,GAAW,GAAG,CAAI,GAAA,WAAA,CAAY,MAAM,GAAG,CAAA;AACxD,EAAA,OAAO,GAAG,QAAQ,CAAA,EAAG,cAAe,CAAA,QAAA,EAAU,QAAQ,CAAC,CAAA,CAAA;AACzD,CAAA;AAEA,MAAM,cAAc,MAAM;AACxB,EAAM,MAAA,KAAA,GAAQ,MAAO,CAAA,CAAA,EAAG,GAAK,CAAA;AAC7B,EAAM,MAAA,UAAA,GAAa,MAAO,CAAA,CAAA,EAAG,EAAE,CAAA;AAC/B,EAAO,OAAA,aAAA,CAAc,QAAQ,UAAU,CAAA;AACzC,CAAA;AAIA,IAAI,KAAQ,GAAA,CAAA;AACZ,KAAA,MAAW,SAAS,MAAQ,EAAA;AAC1B,EAAA,KAAA,MAAW,SAAS,MAAQ,EAAA;AAC1B,IAAA,KAAA,MAAW,SAAS,MAAQ,EAAA;AAC1B,MAAA,KAAA,MAAW,SAAS,MAAQ,EAAA;AAC1B,QAAM,MAAA,MAAA,GAAS,QAAS,CAAA,KAAA,GAAQ,CAAC,CAAA;AACjC,QAAA,MAAM,GAAM,GAAA,KAAA,GAAQ,KAAQ,GAAA,KAAA,GAAQ,QAAQ,GAAM,GAAA,MAAA;AAClD,QAAA,MAAM,GAAM,GAAA,KAAA,GAAQ,KAAQ,GAAA,KAAA,GAAQ,QAAQ,GAAM,GAAA,MAAA;AAClD,QAAM,MAAA,WAAA,GAAc,GAAG,GAAG,CAAA,YAAA,CAAA;AAC1B,QAAA,MAAM,QAAW,GAAA,UAAA,CAAW,MAAO,CAAA,CAAA,EAAG,CAAC,CAAC,CAAA;AACxC,QAAA,MAAM,OAAO,aAAc,EAAA;AAC3B,QAAA,MAAM,UAAU,QAAS,CAAA,MAAA,CAAO,GAAG,QAAS,CAAA,MAAA,GAAS,CAAC,CAAC,CAAA;AAEvD,QAAA,MAAM,QAAW,GAAA,SAAA,CAAU,MAAM,CAAA,CAAE,CAAC,CAAA;AACpC,QAAA,MAAM,QAAQ,WAAY,EAAA;AAE1B,QAAA,MAAM,YAAY,KAAM,CAAA,GAAA;AAExB,QAAA,eAAA,CAAgB,IAAK,CAAA;AAAA,UACnB,GAAA;AAAA,UACA,QAAA;AAAA,UACA,WAAA;AAAA,UACA,QAAA;AAAA,UACA,OAAO,IAAI,CAAA;AAAA,UACX,OAAA;AAAA,UACA,KAAA;AAAA,UACA,GAAA;AAAA,UACA,SAAA;AAAA,UACA;AAAA,SACD,CAAA;AACD,QAAA,KAAA,EAAA;AACA,QAAA,KAAA,CAAM,OAAQ,CAAA,MAAA,CAAO,CAAG,EAAA,GAAK,CAAC,CAAA;AAAA;AAChC;AACF;AAEJ;AAKa,MAAA,MAAA,GAAS,CAAC,UAAuB,KAAA;AAC5C,EAAA,MAAM,MAAM,eAAgB,CAAA,EAAA,CAAG,OAAO,CAAG,EAAA,eAAA,CAAgB,MAAM,CAAC,CAAA;AAChE,EAAO,OAAA,GAAA,GAAM,mBAAoB,CAAA,GAAG,CAAK,IAAA,UAAA;AAC3C;AAEO,MAAM,gBAAmB,GAAA,WAAA;AAAA,EAC9B,OAAQ,CAAA,WAAA;AAAA,EACR,eAAA;AAAA,EACA,kBAAA,CAAmB,SAAS,aAAa;AAC3C;;;;"}
1
+ {"version":3,"file":"instruments.js","sources":["../../../../../packages/vuu-data-test/src/simul/reference-data/instruments.ts"],"sourcesContent":["import { isinGenerator } from \"./isin-generator\";\nimport tableContainer from \"../../core/table/TableContainer\";\nimport { currencies } from \"./currencies\";\nimport { locations, suffixes } from \"./locations\";\nimport { lotsizes } from \"./lotsizes\";\nimport { random } from \"../../data-utils\";\nimport { buildDataColumnMap } from \"../../Table\";\nimport { schemas } from \"../simul-schemas\";\nimport { Clock } from \"@vuu-ui/vuu-utils\";\n\nconst { createTable } = tableContainer;\n\nconst today = new Date();\nconst clock = new Clock({\n year: today.getFullYear(),\n month: today.getMonth() + 1,\n day: today.getDate(),\n hours: 7,\n minutes: 0,\n seconds: 0,\n milliseconds: 0,\n});\n\nexport type bbg = string;\nexport type currency = string;\nexport type ric = string;\nexport type description = string;\nexport type exchange = string;\n// seed for price generation\nexport type price = string;\nexport type date = number;\n\nexport type InstrumentsDataRow = [\n bbg,\n currency,\n description,\n exchange,\n string,\n number,\n price,\n ric,\n date,\n date,\n];\n\nexport const InstrumentColumnMap = {\n bbg: 0,\n currency: 1,\n description: 2,\n exchange: 3,\n string: 4,\n number: 5,\n price: 6,\n ric: 7,\n vuuCreatedTimestamp: 8,\n vuuUpdatedTimestamp: 9,\n} as const;\n\nconst instrumentsData: InstrumentsDataRow[] = [];\n\nconst chars1 = Array.from(\"ABCEFGHKMN\");\nconst chars2 = Array.from(\"ABCEFGHKMN\");\nconst chars3 = Array.from(\"OPQRTUVWYZ\");\nconst chars4 = Array.from(\"OPQRTUVWYZ\");\n\nconst scaledDecimals = (fraction: string, decimals: number) => {\n if (fraction.length > decimals) {\n return fraction.slice(0, decimals);\n } else if (fraction.length === decimals) {\n return fraction;\n } else {\n return fraction.padEnd(decimals, \"0\");\n }\n};\n\nconst ScaledDecimal = (value: number, decimals = 6) => {\n const stringValue = value.toString();\n const [integral, fraction = \"0\"] = stringValue.split(\".\");\n return `${integral}${scaledDecimals(fraction, decimals)}`;\n};\n\nconst randomPrice = () => {\n const price = random(0, 10000);\n const multiplier = random(1, 10);\n return ScaledDecimal(price / multiplier);\n};\n\n// const start = performance.now();\n// Create 10_000 Instruments\nlet count = 0;\nfor (const char1 of chars1) {\n for (const char2 of chars2) {\n for (const char3 of chars3) {\n for (const char4 of chars4) {\n const suffix = suffixes[count % 8];\n const ric = char1 + char2 + char3 + char4 + \".\" + suffix;\n const bbg = char1 + char2 + char3 + char4 + \" \" + suffix;\n const description = `${ric} description`;\n const currency = currencies[random(0, 4)];\n const isin = isinGenerator();\n const lotSize = lotsizes[random(0, lotsizes.length - 1)];\n\n const exchange = locations[suffix][1];\n const price = randomPrice();\n\n const timestamp = clock.now;\n\n instrumentsData.push([\n bbg,\n currency,\n description,\n exchange,\n String(isin),\n lotSize,\n price,\n ric,\n timestamp,\n timestamp,\n ]);\n count++;\n clock.advance(random(0, 10000));\n }\n }\n }\n}\n\n// const end = performance.now();\n// console.log(`generating 10,000 instruments took ${end - start} ms`);\n\nexport const getRic = (defaultRic: string) => {\n const row = instrumentsData.at(random(0, instrumentsData.length));\n return row?.[InstrumentColumnMap.ric] ?? defaultRic;\n};\n\nexport const instrumentsTable = createTable(\n schemas.instruments,\n instrumentsData,\n buildDataColumnMap(schemas, \"instruments\"),\n);\n\nexport { instrumentsData };\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,30 +1,33 @@
1
1
  {
2
- "version": "0.13.117",
2
+ "version": "0.13.118",
3
3
  "author": "heswell",
4
4
  "license": "Apache-2.0",
5
5
  "dependencies": {
6
- "@vuu-ui/vuu-data-local": "0.13.117",
7
- "@vuu-ui/vuu-utils": "0.13.117"
6
+ "@vuu-ui/vuu-data-local": "0.13.118",
7
+ "@vuu-ui/vuu-utils": "0.13.118"
8
8
  },
9
9
  "devDependencies": {
10
- "@vuu-ui/vuu-protocol-types": "0.13.117",
11
- "@vuu-ui/vuu-data-types": "0.13.117",
12
- "@vuu-ui/vuu-table-types": "0.13.117"
10
+ "@vuu-ui/vuu-protocol-types": "0.13.118",
11
+ "@vuu-ui/vuu-data-types": "0.13.118",
12
+ "@vuu-ui/vuu-table-types": "0.13.118"
13
13
  },
14
14
  "sideEffects": false,
15
15
  "files": [
16
16
  "README.md",
17
17
  "esm",
18
- "cjs"
18
+ "cjs",
19
+ "/types"
19
20
  ],
20
21
  "exports": {
21
22
  ".": {
22
23
  "require": "./cjs/index.js",
23
- "import": "./esm/index.js"
24
+ "import": "./esm/index.js",
25
+ "types": "./types/index.d.ts"
24
26
  }
25
27
  },
26
28
  "main": "cjs/index.js",
27
29
  "module": "esm/index.js",
28
30
  "name": "@vuu-ui/vuu-data-test",
29
- "type": "module"
31
+ "type": "module",
32
+ "types": "types/index.d.ts"
30
33
  }
@@ -0,0 +1,8 @@
1
+ export type RowAtIndexFunc<T = unknown> = (index: number) => T | undefined;
2
+ export declare class ArrayProxy<T = string> {
3
+ #private;
4
+ length: number;
5
+ constructor(size: number, getRow: RowAtIndexFunc);
6
+ map: (func: (item: T, i: number) => unknown) => ArrayProxy<string>;
7
+ slice: (from: number, to: number) => unknown[];
8
+ }
@@ -0,0 +1,9 @@
1
+ import { DataSource, RowSelectionEventHandler } from "@vuu-ui/vuu-data-types";
2
+ export declare class RuntimeVisualLink {
3
+ #private;
4
+ constructor(childDataSource: DataSource, parentDataSource: DataSource, childColumnName: string, parentColumnName: string);
5
+ destroy(): void;
6
+ remove(): void;
7
+ handleParentSelectEvent: RowSelectionEventHandler;
8
+ private pickUniqueSelectedValues;
9
+ }
@@ -0,0 +1,34 @@
1
+ import { TableSchema } from "@vuu-ui/vuu-data-types";
2
+ import { VuuRowDataItemType } from "@vuu-ui/vuu-protocol-types";
3
+ import { ColumnMap, EventEmitter } from "@vuu-ui/vuu-utils";
4
+ import { UpdateGenerator } from "./rowUpdates";
5
+ export type TableEvents = {
6
+ delete: (key: string) => void;
7
+ insert: (row: VuuRowDataItemType[]) => void;
8
+ update: (row: VuuRowDataItemType[], columnName?: string) => void;
9
+ };
10
+ export declare class Table extends EventEmitter<TableEvents> {
11
+ #private;
12
+ constructor(schema: TableSchema, data: VuuRowDataItemType[][], dataMap: ColumnMap, updateGenerator?: UpdateGenerator);
13
+ private buildIndex;
14
+ get data(): VuuRowDataItemType[][];
15
+ get map(): ColumnMap;
16
+ get schema(): TableSchema;
17
+ get name(): string;
18
+ delete(key: string, emitEvent?: boolean): void;
19
+ insert(row: VuuRowDataItemType[], emitEvent?: boolean): void;
20
+ findByKey(key: string): VuuRowDataItemType[];
21
+ update(key: string, columnName: string, value: VuuRowDataItemType): void;
22
+ updateRow(row: VuuRowDataItemType[]): void;
23
+ }
24
+ export declare function buildDataColumnMapFromSchema(schema: Readonly<TableSchema>): ColumnMap;
25
+ /**
26
+ * Build a data ColumnMap for a table in the provided schema.
27
+ * A data ColumnMap is a mapping from a raw data array to a map, keyed
28
+ * by column name with no additional metadata.
29
+ *
30
+ * @param schemas
31
+ * @param tableName
32
+ * @returns
33
+ */
34
+ export declare function buildDataColumnMap<TableName extends string = string>(schemas: Readonly<Record<TableName, Readonly<TableSchema>>>, tableName: TableName): ColumnMap;
@@ -0,0 +1,35 @@
1
+ import { ArrayDataSource, ArrayDataSourceConstructorProps } from "@vuu-ui/vuu-data-local";
2
+ import type { DataSourceSubscribeCallback, DataSourceSubscribeProps, DataSourceVisualLinkCreatedMessage } from "@vuu-ui/vuu-data-types";
3
+ import type { LinkDescriptorWithLabel, RpcResultError, RpcResultSuccess, VuuCreateVisualLink, VuuMenu, VuuRemoveVisualLink, VuuRowDataItemType, VuuRpcMenuRequest, VuuRpcMenuResponse, VuuRpcServiceRequest } from "@vuu-ui/vuu-protocol-types";
4
+ import { Range } from "@vuu-ui/vuu-utils";
5
+ import { RpcMenuService, RpcService, SessionTableMap } from "./core/module/VuuModule";
6
+ import { Table } from "./Table";
7
+ export type VisualLinkHandler = (message: VuuCreateVisualLink | VuuRemoveVisualLink) => Promise<DataSourceVisualLinkCreatedMessage | void>;
8
+ export interface TickingArrayDataSourceConstructorProps extends Omit<ArrayDataSourceConstructorProps, "data"> {
9
+ data?: Array<VuuRowDataItemType[]>;
10
+ getVisualLinks?: (tableName: string) => LinkDescriptorWithLabel[] | undefined;
11
+ menu?: VuuMenu;
12
+ rpcMenuServices?: RpcMenuService[];
13
+ rpcServices?: RpcService[];
14
+ sessionTables?: SessionTableMap;
15
+ table?: Table;
16
+ visualLinkService?: VisualLinkHandler;
17
+ }
18
+ export declare class TickingArrayDataSource extends ArrayDataSource {
19
+ #private;
20
+ constructor({ data, getVisualLinks, rpcServices, rpcMenuServices, sessionTables, table, menu, visualLink, visualLinkService, ...arrayDataSourceProps }: TickingArrayDataSourceConstructorProps);
21
+ subscribe(subscribeProps: DataSourceSubscribeProps, callback: DataSourceSubscribeCallback): Promise<void>;
22
+ unsubscribe(): void;
23
+ set range(range: Range);
24
+ get range(): Range;
25
+ set links(links: LinkDescriptorWithLabel[] | undefined);
26
+ get links(): LinkDescriptorWithLabel[] | undefined;
27
+ getSelectedRowIds(): string[];
28
+ rpcRequest(rpcRequest: Omit<VuuRpcServiceRequest, "context">): Promise<RpcResultSuccess | RpcResultError>;
29
+ menuRpcCall(rpcRequest: Omit<VuuRpcMenuRequest, "vpId">): Promise<VuuRpcMenuResponse>;
30
+ getTypeaheadSuggestions(column: string, pattern?: string): Promise<string[]>;
31
+ get visualLink(): LinkDescriptorWithLabel | undefined;
32
+ set visualLink(visualLink: LinkDescriptorWithLabel | undefined);
33
+ freeze(): void;
34
+ unfreeze(): void;
35
+ }
@@ -0,0 +1,18 @@
1
+ import { VuuRange } from "@vuu-ui/vuu-protocol-types";
2
+ import type { UpdateGenerator } from "./rowUpdates";
3
+ import { Table } from "./Table";
4
+ export declare class BaseUpdateGenerator implements UpdateGenerator {
5
+ private table;
6
+ private range;
7
+ private updating;
8
+ private timer;
9
+ private tickingColumns;
10
+ constructor(tickingColumns: {
11
+ [key: string]: number;
12
+ });
13
+ setRange(range: VuuRange): void;
14
+ setTable(table: Table): void;
15
+ private startUpdating;
16
+ private stopUpdating;
17
+ update: () => void;
18
+ }
@@ -0,0 +1,55 @@
1
+ import { VuuMenu } from "@vuu-ui/vuu-protocol-types";
2
+ import { RpcMenuService, ServiceHandler, VuuModule } from "../core/module/VuuModule";
3
+ import { BasketsTableName } from "./basket-schemas";
4
+ import { type Table } from "../Table";
5
+ export declare const createBasketTradingRow: (basketId: string, basketName: string, side?: string, status?: string) => (string | number)[];
6
+ /**
7
+ * This is an example of how we might extend the built-in VuuModule to
8
+ * implement a module-specific service in such a way that it can invoke
9
+ * methods on the VuuModule.
10
+ */
11
+ export declare class BasketModule extends VuuModule<BasketsTableName> {
12
+ #private;
13
+ constructor();
14
+ get menus(): Record<BasketsTableName, VuuMenu | undefined>;
15
+ get schemas(): Readonly<Record<BasketsTableName, Readonly<import("@vuu-ui/vuu-data-types").TableSchema>>>;
16
+ get services(): {
17
+ basket: {
18
+ rpcName: string;
19
+ service: ServiceHandler;
20
+ }[];
21
+ basketTrading: {
22
+ rpcName: string;
23
+ service: ServiceHandler;
24
+ }[];
25
+ basketTradingConstituentJoin: {
26
+ rpcName: string;
27
+ service: ServiceHandler;
28
+ }[];
29
+ algoType: undefined;
30
+ basketTradingConstituent: undefined;
31
+ basketConstituent: undefined;
32
+ priceStrategyType: undefined;
33
+ };
34
+ get menuServices(): Record<BasketsTableName, RpcMenuService[] | undefined> | undefined;
35
+ get tables(): Record<BasketsTableName, Table>;
36
+ get visualLinks(): {
37
+ basketConstituent: {
38
+ fromColumn: string;
39
+ toColumn: string;
40
+ toTable: string;
41
+ }[];
42
+ algoType: undefined;
43
+ basket: undefined;
44
+ basketTrading: undefined;
45
+ basketTradingConstituent: undefined;
46
+ basketTradingConstituentJoin: undefined;
47
+ priceStrategyType: undefined;
48
+ };
49
+ private createTradingBasket;
50
+ private createNewBasket;
51
+ private sendToMarket;
52
+ private takeOffMarket;
53
+ private addConstituent;
54
+ }
55
+ export declare const basketModule: BasketModule;
@@ -0,0 +1,9 @@
1
+ import { TableSchema } from "@vuu-ui/vuu-data-types";
2
+ import { VuuTable } from "@vuu-ui/vuu-protocol-types";
3
+ export type BasketsTableName = "algoType" | "basket" | "basketConstituent" | "basketTrading" | "basketTradingConstituent" | "basketTradingConstituentJoin" | "priceStrategyType";
4
+ export declare const schemas: Readonly<Record<BasketsTableName, Readonly<TableSchema>>>;
5
+ export type BasketVuuTable = {
6
+ module: "BASKET";
7
+ table: BasketsTableName;
8
+ };
9
+ export declare const isBasketTable: (table: VuuTable) => table is BasketVuuTable;
@@ -0,0 +1,2 @@
1
+ export { type BasketsTableName, schemas as basketSchemas, isBasketTable, } from "./basket-schemas";
2
+ export { basketModule } from "./BasketModule";
@@ -0,0 +1,3 @@
1
+ import { VuuRowDataItemType } from "@vuu-ui/vuu-protocol-types";
2
+ declare const _default: VuuRowDataItemType[][];
3
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: string[][];
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: (string | number)[][];
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: (string | number)[][];
2
+ export default _default;
@@ -0,0 +1,24 @@
1
+ export type ask = number;
2
+ export type askSize = number;
3
+ export type bid = number;
4
+ export type bidSize = number;
5
+ export type close = number;
6
+ export type last = number;
7
+ export type open = number;
8
+ export type phase = "C";
9
+ export type ric = string;
10
+ export type scenario = "close";
11
+ export type PricesDataRow = [
12
+ ask,
13
+ askSize,
14
+ bid,
15
+ bidSize,
16
+ close,
17
+ last,
18
+ open,
19
+ phase,
20
+ ric,
21
+ scenario
22
+ ];
23
+ declare const pricesTable: import("../../Table").Table;
24
+ export default pricesTable;
@@ -0,0 +1,2 @@
1
+ declare const _default: (string | number)[][];
2
+ export default _default;
@@ -0,0 +1,11 @@
1
+ import { VuuModule } from "./VuuModule";
2
+ declare class ModuleContainer {
3
+ #private;
4
+ private constructor();
5
+ static get instance(): ModuleContainer;
6
+ register(module: VuuModule<any>): void;
7
+ get(name: string): VuuModule<string>;
8
+ get moduleNames(): MapIterator<string>;
9
+ }
10
+ declare const _default: ModuleContainer;
11
+ export default _default;
@@ -0,0 +1,61 @@
1
+ import { DataSource, DataSourceConfig, DataSourceVisualLinkCreatedMessage, TableSchema } from "@vuu-ui/vuu-data-types";
2
+ import { VuuMenu, VuuTable, VuuLink, LinkDescriptorWithLabel, VuuRpcMenuResponse, VuuCreateVisualLink, VuuRemoveVisualLink, VuuRpcServiceRequest, RpcResultSuccess, RpcResultError, VuuRpcMenuRequest } from "@vuu-ui/vuu-protocol-types";
3
+ import { Table } from "../../Table";
4
+ export interface IVuuModule<T extends string = string> {
5
+ createDataSource: (tableName: T) => DataSource;
6
+ }
7
+ export type SessionTableMap = Record<string, Table>;
8
+ export type LocalDataMenuParameters = {
9
+ selectedRowIds: string[];
10
+ table: VuuTable;
11
+ };
12
+ export type ServiceHandler = (rpcRequest: VuuRpcServiceRequest) => Promise<RpcResultSuccess | RpcResultError>;
13
+ export type MenuServiceHandler = (rpcRequest: VuuRpcMenuRequest & {
14
+ localDataParameters?: LocalDataMenuParameters;
15
+ }) => Promise<VuuRpcMenuResponse>;
16
+ export type RpcService = {
17
+ rpcName: string;
18
+ service: ServiceHandler;
19
+ };
20
+ export type RpcMenuService = {
21
+ rpcName: string;
22
+ service: MenuServiceHandler;
23
+ };
24
+ type Subscription = {
25
+ viewportId: string;
26
+ dataSource: DataSource;
27
+ };
28
+ export declare abstract class VuuModule<T extends string = string> implements IVuuModule<T> {
29
+ #private;
30
+ constructor(name: string);
31
+ protected abstract menus?: Record<T, VuuMenu | undefined> | undefined;
32
+ protected abstract schemas: Record<T, Readonly<TableSchema>>;
33
+ protected abstract tables: Record<T, Table>;
34
+ protected abstract menuServices?: Record<T, RpcMenuService[] | undefined> | undefined;
35
+ protected abstract services?: Record<T, RpcService[] | undefined> | undefined;
36
+ protected abstract visualLinks?: Record<T, VuuLink[] | undefined>;
37
+ getTableSchema(tableName: string): Record<T, Readonly<TableSchema>>[T];
38
+ getTableList(): string[];
39
+ protected unregisterViewport: (viewportId: string) => void;
40
+ get name(): string;
41
+ getSubscriptionByViewport(viewportId: string): Subscription;
42
+ getSubscribedDataSource(vpId: string): DataSource;
43
+ getLinks: (subscriptionMap: Map<string, Subscription[]>, vuuLinks: VuuLink[]) => LinkDescriptorWithLabel[];
44
+ visualLinkService: (message: VuuCreateVisualLink | VuuRemoveVisualLink) => Promise<DataSourceVisualLinkCreatedMessage | void>;
45
+ createDataSource: (tableName: T, viewport?: string, config?: DataSourceConfig) => DataSource;
46
+ getServices(tableName: T): RpcService[];
47
+ getMenuServices(tableName: T): RpcMenuService[];
48
+ protected get sessionTableMap(): SessionTableMap;
49
+ protected getSessionTable(sessionTableName: string): Table;
50
+ protected getSessionTable(sessionTableName: string, throwIfNotFound: true): Table;
51
+ protected getSessionTable(sessionTableName: string, throwIfNotFound: false): Table | undefined;
52
+ protected deleteRow: ServiceHandler;
53
+ private getColumnDescriptors;
54
+ private editCell;
55
+ private beginBulkEdit;
56
+ private endEditSession;
57
+ private applyBulkEdits;
58
+ private saveBulkEdits;
59
+ protected createSessionTableFromSelectedRows({ data, map, schema }: Table, selectedRowIds: string[]): Table;
60
+ }
61
+ export {};
@@ -0,0 +1,16 @@
1
+ import { TableSchema } from "@vuu-ui/vuu-data-types";
2
+ import { Table } from "../../Table";
3
+ import { VuuRowDataItemType, VuuTable } from "@vuu-ui/vuu-protocol-types";
4
+ import { ColumnMap } from "@vuu-ui/vuu-utils";
5
+ import { UpdateGenerator } from "../../rowUpdates";
6
+ declare class TableContainer {
7
+ #private;
8
+ private constructor();
9
+ static get instance(): TableContainer;
10
+ createTable: (schema: TableSchema, data: VuuRowDataItemType[][], dataMap: ColumnMap, updateGenerator?: UpdateGenerator) => Table;
11
+ createJoinTable(joinTable: VuuTable, { table: t1 }: VuuTable, { table: t2 }: VuuTable, joinColumn: string): Table;
12
+ addTable(table: Table): void;
13
+ getTable<T = Table>(tableName: string): NonNullable<T>;
14
+ }
15
+ declare const _default: TableContainer;
16
+ export default _default;
@@ -0,0 +1,6 @@
1
+ export declare function random(min: number, max: number): number;
2
+ export declare function randomPercentage(value: number): number;
3
+ export type PriceGenerator = (min: number, max: number) => number;
4
+ export declare const nextRandomDouble: PriceGenerator;
5
+ export declare const initBidAsk: (priceMaxDelta: number, nextRandomDouble: PriceGenerator) => number[];
6
+ export declare const generateNextBidAsk: (bid: number, ask: number, spreadMultipler: number, priceMaxDelta: number, nextRandomDouble: PriceGenerator) => number[];
@@ -0,0 +1,12 @@
1
+ export * from "./ArrayProxy";
2
+ export * from "./schemas";
3
+ export * from "./TickingArrayDataSource";
4
+ export * from "./vuu-row-generator";
5
+ export * from "./simul";
6
+ export * from "./basket";
7
+ export * from "./test";
8
+ export * from "./makeSuggestions";
9
+ export * from "./Table";
10
+ export * from "./core/module/VuuModule";
11
+ export * from "./local-datasource-provider/LocalDatasourceProvider";
12
+ export { default as tableContainer } from "./core/table/TableContainer";
@@ -0,0 +1,4 @@
1
+ import { ReactNode } from "react";
2
+ export declare const LocalDataSourceProvider: ({ children, }: {
3
+ children: ReactNode;
4
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { DataSourceRow } from "@vuu-ui/vuu-data-types";
2
+ export declare const makeSuggestions: (data: DataSourceRow[], columnIndex: number, pattern?: string) => Promise<string[]>;
@@ -0,0 +1,15 @@
1
+ import { VuuRange, VuuRowDataItemType } from "@vuu-ui/vuu-protocol-types";
2
+ import { Table } from "./Table";
3
+ export type UpdateHandler = (updates: (RowUpdates | RowInsert | RowDelete)[]) => void;
4
+ export interface UpdateGenerator {
5
+ setTable: (table: Table) => void;
6
+ setRange: (range: VuuRange) => void;
7
+ }
8
+ export type UpdateType = "I" | "D" | "U";
9
+ type MAXIMUM_ALLOWED_BOUNDARY = 20;
10
+ type RepeatingTuple<Tuple extends Array<unknown>, Result extends Array<unknown> = [], Count extends ReadonlyArray<number> = []> = Count["length"] extends MAXIMUM_ALLOWED_BOUNDARY ? Result : Tuple extends [] ? [] : Result extends [] ? RepeatingTuple<Tuple, Tuple, [...Count, 1]> : RepeatingTuple<Tuple, Result | [...Result, ...Tuple], [...Count, 1]>;
11
+ type UpdatePairs = RepeatingTuple<[number, VuuRowDataItemType]>;
12
+ export type RowUpdates = ["U", number, ...UpdatePairs];
13
+ export type RowInsert = ["I", ...VuuRowDataItemType[]];
14
+ export type RowDelete = ["D", string];
15
+ export {};
@@ -0,0 +1,8 @@
1
+ import { TableSchema } from "@vuu-ui/vuu-data-types";
2
+ import { type BasketsTableName } from "./basket/basket-schemas";
3
+ import { type SimulTableName } from "./simul/simul-schemas";
4
+ import { type TestTableName } from "./test/test-schemas";
5
+ export type VuuTableName = BasketsTableName | SimulTableName | TestTableName;
6
+ export declare const schemas: Record<VuuTableName, TableSchema>;
7
+ export declare const getAllSchemas: () => Record<VuuTableName, TableSchema>;
8
+ export declare const getSchema: (tableName: VuuTableName) => Readonly<TableSchema>;
@@ -0,0 +1,2 @@
1
+ import { Table } from "./Table";
2
+ export declare const createSessionTableFromSelectedRows: (table: Table, selectedRowIds: string[]) => Table;
@@ -0,0 +1,24 @@
1
+ import { VuuLink, VuuMenu } from "@vuu-ui/vuu-protocol-types";
2
+ import { MenuServiceHandler, RpcMenuService, RpcService, ServiceHandler, VuuModule } from "../core/module/VuuModule";
3
+ import { Table } from "../Table";
4
+ import { type SimulTableName } from "./simul-schemas";
5
+ /**
6
+ * This is an example of how we might extend the built-in VuuModule to
7
+ * implement a module-specific service in such a way that it can invoke
8
+ * methods on the VuuModule.
9
+ */
10
+ export declare class SimulModule extends VuuModule<SimulTableName> {
11
+ #private;
12
+ constructor();
13
+ get menus(): Record<SimulTableName, VuuMenu | undefined> | undefined;
14
+ get schemas(): Readonly<Record<SimulTableName, Readonly<import("@vuu-ui/vuu-data-types").TableSchema>>>;
15
+ get editServices(): undefined;
16
+ get menuServices(): Record<SimulTableName, RpcMenuService[] | undefined> | undefined;
17
+ get services(): Record<SimulTableName, RpcService[] | undefined> | undefined;
18
+ get tables(): Record<SimulTableName, Table>;
19
+ get visualLinks(): Record<SimulTableName, VuuLink[] | undefined>;
20
+ cancelOrder: MenuServiceHandler;
21
+ startOrders: ServiceHandler;
22
+ stopOrders: ServiceHandler;
23
+ }
24
+ export declare const simulModule: SimulModule;
@@ -0,0 +1,2 @@
1
+ export { type SimulTableName, isSimulTable, schemas as simulSchemas, } from "./simul-schemas";
2
+ export { simulModule } from "./SimulModule";
@@ -0,0 +1 @@
1
+ export declare const accounts: string[];
@@ -0,0 +1 @@
1
+ export declare const algos: string[];
@@ -0,0 +1 @@
1
+ export declare const currencies: string[];
@@ -0,0 +1,5 @@
1
+ export * from "./currencies";
2
+ export * from "./instruments";
3
+ export * from "./instrument-prices";
4
+ export * from "./prices";
5
+ export * from "./locations";
@@ -0,0 +1,60 @@
1
+ type ask = number;
2
+ type askSize = number;
3
+ type bbg = string;
4
+ type bid = number;
5
+ type bidSize = number;
6
+ type close = number;
7
+ type currency = string;
8
+ type description = string;
9
+ type exchange = string;
10
+ type isin = string;
11
+ type last = number;
12
+ type lotSize = number;
13
+ type open = number;
14
+ type phase = string;
15
+ type ric = string;
16
+ type scenario = string;
17
+ type vuuCreatedTimestamp = number;
18
+ type vuuUpdatedTimestamp = number;
19
+ export type InstrumentPricesDataRow = [
20
+ ask,
21
+ askSize,
22
+ bbg,
23
+ bid,
24
+ bidSize,
25
+ close,
26
+ currency,
27
+ description,
28
+ exchange,
29
+ isin,
30
+ last,
31
+ lotSize,
32
+ open,
33
+ phase,
34
+ ric,
35
+ scenario,
36
+ vuuCreatedTimestamp,
37
+ vuuUpdatedTimestamp
38
+ ];
39
+ export declare const InstrumentPricesColumnMap: {
40
+ ask: number;
41
+ askSize: number;
42
+ bbg: number;
43
+ bid: number;
44
+ bidSize: number;
45
+ close: number;
46
+ currency: number;
47
+ description: number;
48
+ exchange: number;
49
+ isin: number;
50
+ last: number;
51
+ lotSize: number;
52
+ open: number;
53
+ phase: number;
54
+ ric: number;
55
+ scenario: number;
56
+ vuuCreatedTimestamp: number;
57
+ vuuUpdatedTimestamp: number;
58
+ };
59
+ declare const instrumentPrices: InstrumentPricesDataRow[];
60
+ export { instrumentPrices };
@@ -0,0 +1 @@
1
+ export declare const instrumentsExtendedTable: import("../../Table").Table;
@@ -0,0 +1,35 @@
1
+ export type bbg = string;
2
+ export type currency = string;
3
+ export type ric = string;
4
+ export type description = string;
5
+ export type exchange = string;
6
+ export type price = string;
7
+ export type date = number;
8
+ export type InstrumentsDataRow = [
9
+ bbg,
10
+ currency,
11
+ description,
12
+ exchange,
13
+ string,
14
+ number,
15
+ price,
16
+ ric,
17
+ date,
18
+ date
19
+ ];
20
+ export declare const InstrumentColumnMap: {
21
+ readonly bbg: 0;
22
+ readonly currency: 1;
23
+ readonly description: 2;
24
+ readonly exchange: 3;
25
+ readonly string: 4;
26
+ readonly number: 5;
27
+ readonly price: 6;
28
+ readonly ric: 7;
29
+ readonly vuuCreatedTimestamp: 8;
30
+ readonly vuuUpdatedTimestamp: 9;
31
+ };
32
+ declare const instrumentsData: InstrumentsDataRow[];
33
+ export declare const getRic: (defaultRic: string) => string;
34
+ export declare const instrumentsTable: import("../../Table").Table;
35
+ export { instrumentsData };
@@ -0,0 +1 @@
1
+ export declare const convertStringToBaseTenNumber: (value: string) => number;
@@ -0,0 +1 @@
1
+ export declare const alphabet: string[];
@@ -0,0 +1 @@
1
+ export declare const alphanumeric: (string | number)[];
@@ -0,0 +1 @@
1
+ export declare const baseTenNumbers: number[];
@@ -0,0 +1 @@
1
+ export declare const generateCusipCheckCode: (cusip: string) => number;
@@ -0,0 +1 @@
1
+ export declare const generateCusipWithoutCheckCode: () => string;
@@ -0,0 +1 @@
1
+ export declare const generateCusip: () => string;
@@ -0,0 +1 @@
1
+ export declare const generateRandomAlphanumeric: () => string | number;
@@ -0,0 +1 @@
1
+ export declare const generateRandomBaseTenNumber: () => number;
@@ -0,0 +1 @@
1
+ export declare const generateRandomStringOfAlphanumericChars: () => string;
@@ -0,0 +1 @@
1
+ export declare const generateRandomStringOfBaseTenChars: () => string;
@@ -0,0 +1 @@
1
+ export declare const isinGenerator: () => string;
@@ -0,0 +1 @@
1
+ export declare const isOdd: (value: number) => boolean;
@@ -0,0 +1,4 @@
1
+ export declare const locations: {
2
+ [key: string]: string[];
3
+ };
4
+ export declare const suffixes: string[];
@@ -0,0 +1 @@
1
+ export declare const lotsizes: number[];
@@ -0,0 +1 @@
1
+ export declare const orderStatus: string[];
@@ -0,0 +1,36 @@
1
+ export type status = string;
2
+ export type ccy = string;
3
+ export type created = number;
4
+ export type filledQuantity = number;
5
+ export type lastUpdate = number;
6
+ export type orderId = string;
7
+ export type quantity = number;
8
+ export type ric = string;
9
+ export type side = string;
10
+ export type trader = string;
11
+ export type OrdersDataRow = [
12
+ status,
13
+ ccy,
14
+ created,
15
+ filledQuantity,
16
+ lastUpdate,
17
+ orderId,
18
+ quantity,
19
+ ric,
20
+ side,
21
+ trader
22
+ ];
23
+ export declare const OrderColumnMap: {
24
+ readonly ccy: 0;
25
+ readonly created: 1;
26
+ readonly filledQuantity: 2;
27
+ readonly lastUpdate: 3;
28
+ readonly orderId: 4;
29
+ readonly quantity: 5;
30
+ readonly ric: 6;
31
+ readonly side: 7;
32
+ readonly trader: 8;
33
+ };
34
+ declare const ordersData: OrdersDataRow[];
35
+ export declare const ordersTable: import("../../Table").Table;
36
+ export { ordersData };
@@ -0,0 +1,4 @@
1
+ export declare const parentOrdersTable: import("../../Table").Table;
2
+ export declare const childOrdersTable: import("../../Table").Table;
3
+ export declare function startGeneratingNewOrders(): void;
4
+ export declare function stopGeneratingNewOrders(): void;
@@ -0,0 +1 @@
1
+ export declare const priceStrategies: string[];
@@ -0,0 +1,32 @@
1
+ type ask = number;
2
+ type askSize = number;
3
+ type bid = number;
4
+ type bidSize = number;
5
+ type close = number;
6
+ type last = number;
7
+ type open = number;
8
+ type phase = "C";
9
+ type ric = string;
10
+ type scenario = "close";
11
+ type lastUpdate = number;
12
+ type created = number;
13
+ export type PricesDataRow = [
14
+ ask,
15
+ askSize,
16
+ bid,
17
+ bidSize,
18
+ close,
19
+ last,
20
+ open,
21
+ phase,
22
+ ric,
23
+ scenario,
24
+ lastUpdate,
25
+ created
26
+ ];
27
+ declare const bid: number, bidSize: number, ask: number, askSize: number;
28
+ declare const lastUpdate: number;
29
+ declare const created: number;
30
+ declare const pricesData: Array<PricesDataRow>;
31
+ export declare const pricesTable: import("../../Table").Table;
32
+ export { pricesData };
@@ -0,0 +1 @@
1
+ export declare const sides: string[];
@@ -0,0 +1,9 @@
1
+ import { TableSchema } from "@vuu-ui/vuu-data-types";
2
+ import { VuuTable } from "@vuu-ui/vuu-protocol-types";
3
+ export type SimulTableName = "instruments" | "instrumentsExtended" | "instrumentPrices" | "orders" | "childOrders" | "parentOrders" | "prices";
4
+ export declare const schemas: Readonly<Record<SimulTableName, Readonly<TableSchema>>>;
5
+ export type SimulVuuTable = {
6
+ module: "SIMUL";
7
+ table: SimulTableName;
8
+ };
9
+ export declare const isSimulTable: (table: VuuTable) => table is SimulVuuTable;
@@ -0,0 +1,15 @@
1
+ import { RpcMenuService, VuuModule } from "../core/module/VuuModule";
2
+ import { Table } from "../Table";
3
+ import { TestTableName } from "./test-schemas";
4
+ declare class TestModule extends VuuModule<TestTableName> {
5
+ #private;
6
+ constructor();
7
+ get menus(): undefined;
8
+ get services(): undefined;
9
+ get menuServices(): Record<TestTableName, RpcMenuService[] | undefined> | undefined;
10
+ get schemas(): Readonly<Record<TestTableName, Readonly<import("@vuu-ui/vuu-data-types").TableSchema>>>;
11
+ get tables(): Record<TestTableName, Table>;
12
+ get visualLinks(): undefined;
13
+ }
14
+ export declare const testModule: TestModule;
15
+ export {};
@@ -0,0 +1,2 @@
1
+ export { type TestTableName } from "./test-schemas";
2
+ export * from "./TestModule";
@@ -0,0 +1,3 @@
1
+ import { TableSchema } from "@vuu-ui/vuu-data-types";
2
+ export type TestTableName = "TestDates" | "TwoHundredColumns" | "LinkParent" | "LinkChild";
3
+ export declare const schemas: Readonly<Record<TestTableName, Readonly<TableSchema>>>;
@@ -0,0 +1,17 @@
1
+ import type { ColumnDescriptor } from "@vuu-ui/vuu-table-types";
2
+ import type { VuuRowDataItemType, VuuTable } from "@vuu-ui/vuu-protocol-types";
3
+ import { UpdateGenerator } from "./rowUpdates";
4
+ type GenerateRowFunc = (index: number) => VuuRowDataItemType[];
5
+ export type RowGeneratorFactory = (columns: string[]) => GenerateRowFunc;
6
+ export type ColumnGeneratorFn = (columns?: number | string[], columnConfig?: {
7
+ [key: string]: Partial<ColumnDescriptor>;
8
+ }) => ColumnDescriptor[];
9
+ export declare const DefaultRowGenerator: RowGeneratorFactory;
10
+ export declare const DefaultColumnGenerator: ColumnGeneratorFn;
11
+ export declare const defaultGenerators: {
12
+ ColumnGenerator: ColumnGeneratorFn;
13
+ RowGenerator: RowGeneratorFactory;
14
+ };
15
+ export declare const getColumnAndRowGenerator: (table?: VuuTable) => [ColumnGeneratorFn, RowGeneratorFactory] | [ColumnGeneratorFn, RowGeneratorFactory, () => UpdateGenerator];
16
+ export declare const populateArray: (count: number, colGen: ColumnGeneratorFn, rowGen: RowGeneratorFactory, columns?: number | string[]) => VuuRowDataItemType[][];
17
+ export {};