@vuu-ui/vuu-data-test 0.0.26
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/LICENSE +201 -0
- package/README.md +0 -0
- package/cjs/ArrayProxy.js +80 -0
- package/cjs/ArrayProxy.js.map +1 -0
- package/cjs/Table.js +186 -0
- package/cjs/Table.js.map +1 -0
- package/cjs/TickingArrayDataSource.js +134 -0
- package/cjs/TickingArrayDataSource.js.map +1 -0
- package/cjs/UpdateGenerator.js +87 -0
- package/cjs/UpdateGenerator.js.map +1 -0
- package/cjs/basket/basket-module.js +236 -0
- package/cjs/basket/basket-module.js.map +1 -0
- package/cjs/basket/basket-schemas.js +121 -0
- package/cjs/basket/basket-schemas.js.map +1 -0
- package/cjs/basket/reference-data/constituents.js +40 -0
- package/cjs/basket/reference-data/constituents.js.map +1 -0
- package/cjs/basket/reference-data/ftse100.js +105 -0
- package/cjs/basket/reference-data/ftse100.js.map +1 -0
- package/cjs/basket/reference-data/hsi.js +87 -0
- package/cjs/basket/reference-data/hsi.js.map +1 -0
- package/cjs/basket/reference-data/nasdaq100.js +108 -0
- package/cjs/basket/reference-data/nasdaq100.js.map +1 -0
- package/cjs/basket/reference-data/prices.js +51 -0
- package/cjs/basket/reference-data/prices.js.map +1 -0
- package/cjs/basket/reference-data/sp500.js +46 -0
- package/cjs/basket/reference-data/sp500.js.map +1 -0
- package/cjs/data-utils.js +58 -0
- package/cjs/data-utils.js.map +1 -0
- package/cjs/index.js +36 -0
- package/cjs/index.js.map +1 -0
- package/cjs/makeSuggestions.js +37 -0
- package/cjs/makeSuggestions.js.map +1 -0
- package/cjs/schemas.js +28 -0
- package/cjs/schemas.js.map +1 -0
- package/cjs/simul/reference-data/currencies.js +6 -0
- package/cjs/simul/reference-data/currencies.js.map +1 -0
- package/cjs/simul/reference-data/instruments-extended.js +18 -0
- package/cjs/simul/reference-data/instruments-extended.js.map +1 -0
- package/cjs/simul/reference-data/instruments.js +74 -0
- package/cjs/simul/reference-data/instruments.js.map +1 -0
- package/cjs/simul/reference-data/locations.js +17 -0
- package/cjs/simul/reference-data/locations.js.map +1 -0
- package/cjs/simul/reference-data/lotsizes.js +28 -0
- package/cjs/simul/reference-data/lotsizes.js.map +1 -0
- package/cjs/simul/reference-data/orders.js +43 -0
- package/cjs/simul/reference-data/orders.js.map +1 -0
- package/cjs/simul/reference-data/prices.js +71 -0
- package/cjs/simul/reference-data/prices.js.map +1 -0
- package/cjs/simul/simul-module.js +122 -0
- package/cjs/simul/simul-module.js.map +1 -0
- package/cjs/simul/simul-schemas.js +137 -0
- package/cjs/simul/simul-schemas.js.map +1 -0
- package/cjs/test/test-module.js +58 -0
- package/cjs/test/test-module.js.map +1 -0
- package/cjs/test/test-schemas.js +17 -0
- package/cjs/test/test-schemas.js.map +1 -0
- package/cjs/vuu-modules.js +15 -0
- package/cjs/vuu-modules.js.map +1 -0
- package/cjs/vuu-row-generator.js +74 -0
- package/cjs/vuu-row-generator.js.map +1 -0
- package/esm/ArrayProxy.js +78 -0
- package/esm/ArrayProxy.js.map +1 -0
- package/esm/Table.js +182 -0
- package/esm/Table.js.map +1 -0
- package/esm/TickingArrayDataSource.js +132 -0
- package/esm/TickingArrayDataSource.js.map +1 -0
- package/esm/UpdateGenerator.js +85 -0
- package/esm/UpdateGenerator.js.map +1 -0
- package/esm/basket/basket-module.js +232 -0
- package/esm/basket/basket-module.js.map +1 -0
- package/esm/basket/basket-schemas.js +119 -0
- package/esm/basket/basket-schemas.js.map +1 -0
- package/esm/basket/reference-data/constituents.js +38 -0
- package/esm/basket/reference-data/constituents.js.map +1 -0
- package/esm/basket/reference-data/ftse100.js +103 -0
- package/esm/basket/reference-data/ftse100.js.map +1 -0
- package/esm/basket/reference-data/hsi.js +85 -0
- package/esm/basket/reference-data/hsi.js.map +1 -0
- package/esm/basket/reference-data/nasdaq100.js +106 -0
- package/esm/basket/reference-data/nasdaq100.js.map +1 -0
- package/esm/basket/reference-data/prices.js +49 -0
- package/esm/basket/reference-data/prices.js.map +1 -0
- package/esm/basket/reference-data/sp500.js +44 -0
- package/esm/basket/reference-data/sp500.js.map +1 -0
- package/esm/data-utils.js +53 -0
- package/esm/data-utils.js.map +1 -0
- package/esm/index.js +11 -0
- package/esm/index.js.map +1 -0
- package/esm/makeSuggestions.js +35 -0
- package/esm/makeSuggestions.js.map +1 -0
- package/esm/schemas.js +24 -0
- package/esm/schemas.js.map +1 -0
- package/esm/simul/reference-data/currencies.js +4 -0
- package/esm/simul/reference-data/currencies.js.map +1 -0
- package/esm/simul/reference-data/instruments-extended.js +16 -0
- package/esm/simul/reference-data/instruments-extended.js.map +1 -0
- package/esm/simul/reference-data/instruments.js +69 -0
- package/esm/simul/reference-data/instruments.js.map +1 -0
- package/esm/simul/reference-data/locations.js +14 -0
- package/esm/simul/reference-data/locations.js.map +1 -0
- package/esm/simul/reference-data/lotsizes.js +26 -0
- package/esm/simul/reference-data/lotsizes.js.map +1 -0
- package/esm/simul/reference-data/orders.js +40 -0
- package/esm/simul/reference-data/orders.js.map +1 -0
- package/esm/simul/reference-data/prices.js +68 -0
- package/esm/simul/reference-data/prices.js.map +1 -0
- package/esm/simul/simul-module.js +120 -0
- package/esm/simul/simul-module.js.map +1 -0
- package/esm/simul/simul-schemas.js +135 -0
- package/esm/simul/simul-schemas.js.map +1 -0
- package/esm/test/test-module.js +56 -0
- package/esm/test/test-module.js.map +1 -0
- package/esm/test/test-schemas.js +15 -0
- package/esm/test/test-schemas.js.map +1 -0
- package/esm/vuu-modules.js +13 -0
- package/esm/vuu-modules.js.map +1 -0
- package/esm/vuu-row-generator.js +68 -0
- package/esm/vuu-row-generator.js.map +1 -0
- package/package.json +34 -0
- package/types/ArrayProxy.d.ts +8 -0
- package/types/Table.d.ts +23 -0
- package/types/TickingArrayDataSource.d.ts +27 -0
- package/types/UpdateGenerator.d.ts +18 -0
- package/types/basket/basket-module.d.ts +6 -0
- package/types/basket/basket-schemas.d.ts +3 -0
- package/types/basket/index.d.ts +2 -0
- package/types/basket/reference-data/constituents.d.ts +3 -0
- package/types/basket/reference-data/ftse100.d.ts +2 -0
- package/types/basket/reference-data/hsi.d.ts +2 -0
- package/types/basket/reference-data/nasdaq100.d.ts +2 -0
- package/types/basket/reference-data/prices.d.ts +25 -0
- package/types/basket/reference-data/sp500.d.ts +2 -0
- package/types/data-utils.d.ts +6 -0
- package/types/index.d.ts +9 -0
- package/types/makeSuggestions.d.ts +2 -0
- package/types/rowUpdates.d.ts +15 -0
- package/types/schemas.d.ts +8 -0
- package/types/simul/index.d.ts +2 -0
- package/types/simul/reference-data/currencies.d.ts +1 -0
- package/types/simul/reference-data/index.d.ts +5 -0
- package/types/simul/reference-data/instrument-prices.d.ts +54 -0
- package/types/simul/reference-data/instruments-extended.d.ts +2 -0
- package/types/simul/reference-data/instruments.d.ts +31 -0
- package/types/simul/reference-data/locations.d.ts +4 -0
- package/types/simul/reference-data/lotsizes.d.ts +1 -0
- package/types/simul/reference-data/orders.d.ts +35 -0
- package/types/simul/reference-data/priceStrategies.d.ts +1 -0
- package/types/simul/reference-data/prices.d.ts +27 -0
- package/types/simul/simul-module.d.ts +3 -0
- package/types/simul/simul-schemas.d.ts +3 -0
- package/types/test/index.d.ts +1 -0
- package/types/test/test-module.d.ts +4 -0
- package/types/test/test-schemas.d.ts +3 -0
- package/types/vuu-modules.d.ts +7 -0
- package/types/vuu-row-generator.d.ts +17 -0
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { makeSuggestions } from '../makeSuggestions.js';
|
|
2
|
+
import { Table, buildDataColumnMap } from '../Table.js';
|
|
3
|
+
import { TickingArrayDataSource } from '../TickingArrayDataSource.js';
|
|
4
|
+
import { defaultGenerators } from '../vuu-row-generator.js';
|
|
5
|
+
import { schemas } from './test-schemas.js';
|
|
6
|
+
|
|
7
|
+
const { RowGenerator } = defaultGenerators;
|
|
8
|
+
const manyColumnGenerator = RowGenerator(
|
|
9
|
+
schemas.TwoHundredColumns.columns.map((c) => c.name)
|
|
10
|
+
);
|
|
11
|
+
const tables = {
|
|
12
|
+
TwoHundredColumns: new Table(
|
|
13
|
+
schemas.TwoHundredColumns,
|
|
14
|
+
new Array(100).fill(1).map((_, i) => manyColumnGenerator(i)),
|
|
15
|
+
buildDataColumnMap(schemas.TwoHundredColumns)
|
|
16
|
+
)
|
|
17
|
+
};
|
|
18
|
+
const getColumnDescriptors = (tableName) => {
|
|
19
|
+
const schema = schemas[tableName];
|
|
20
|
+
if (schema) {
|
|
21
|
+
return schema.columns;
|
|
22
|
+
} else {
|
|
23
|
+
throw Error(`test-module no schema found for table TEST ${tableName}`);
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
const createDataSource = (tableName) => {
|
|
27
|
+
const columnDescriptors = getColumnDescriptors(tableName);
|
|
28
|
+
return new TickingArrayDataSource({
|
|
29
|
+
columnDescriptors,
|
|
30
|
+
keyColumn: schemas[tableName].key,
|
|
31
|
+
table: tables[tableName]
|
|
32
|
+
// menu: menus[tableName],
|
|
33
|
+
// rpcServices: services[tableName],
|
|
34
|
+
});
|
|
35
|
+
};
|
|
36
|
+
const suggestionFetcher = ([
|
|
37
|
+
vuuTable,
|
|
38
|
+
column,
|
|
39
|
+
pattern
|
|
40
|
+
]) => {
|
|
41
|
+
const table = tables[vuuTable.table];
|
|
42
|
+
if (table) {
|
|
43
|
+
return makeSuggestions(table, column, pattern);
|
|
44
|
+
} else {
|
|
45
|
+
throw Error(
|
|
46
|
+
`SIMUL suggestionFetcher, unknown table ${vuuTable.module} ${vuuTable.table}`
|
|
47
|
+
);
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
const testModule = {
|
|
51
|
+
createDataSource,
|
|
52
|
+
typeaheadHook: () => suggestionFetcher
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
export { testModule as default };
|
|
56
|
+
//# sourceMappingURL=test-module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-module.js","sources":["../../src/test/test-module.ts"],"sourcesContent":["import type { SuggestionFetcher } from \"@vuu-ui/vuu-data-types\";\nimport { TypeaheadParams } from \"@vuu-ui/vuu-protocol-types\";\nimport { makeSuggestions } from \"../makeSuggestions\";\nimport { buildDataColumnMap, Table } from \"../Table\";\nimport { TickingArrayDataSource } from \"../TickingArrayDataSource\";\nimport { VuuModule } from \"../vuu-modules\";\nimport { defaultGenerators } from \"../vuu-row-generator\";\nimport { schemas, TestTableName } from \"./test-schemas\";\n\nconst { RowGenerator } = defaultGenerators;\n\nconst manyColumnGenerator = RowGenerator(\n schemas.TwoHundredColumns.columns.map((c) => c.name)\n);\n\nconst tables: Record<TestTableName, Table> = {\n TwoHundredColumns: new Table(\n schemas.TwoHundredColumns,\n new Array(100).fill(1).map((_, i) => manyColumnGenerator(i)),\n buildDataColumnMap(schemas.TwoHundredColumns)\n ),\n};\n\nconst getColumnDescriptors = (tableName: TestTableName) => {\n const schema = schemas[tableName];\n if (schema) {\n return schema.columns;\n } else {\n throw Error(`test-module no schema found for table TEST ${tableName}`);\n }\n};\n\nconst createDataSource = (tableName: TestTableName) => {\n const columnDescriptors = getColumnDescriptors(tableName);\n return new TickingArrayDataSource({\n columnDescriptors,\n keyColumn: schemas[tableName].key,\n table: tables[tableName],\n // menu: menus[tableName],\n // rpcServices: services[tableName],\n });\n};\n\nconst suggestionFetcher: SuggestionFetcher = ([\n vuuTable,\n column,\n pattern,\n]: TypeaheadParams) => {\n const table = tables[vuuTable.table as TestTableName];\n if (table) {\n return makeSuggestions(table, column, pattern);\n } else {\n throw Error(\n `SIMUL suggestionFetcher, unknown table ${vuuTable.module} ${vuuTable.table}`\n );\n }\n};\n\nconst testModule: VuuModule<TestTableName> = {\n createDataSource,\n typeaheadHook: () => suggestionFetcher,\n};\n\nexport default testModule;\n"],"names":[],"mappings":";;;;;;AASA,MAAM,EAAE,cAAiB,GAAA,iBAAA,CAAA;AAEzB,MAAM,mBAAsB,GAAA,YAAA;AAAA,EAC1B,QAAQ,iBAAkB,CAAA,OAAA,CAAQ,IAAI,CAAC,CAAA,KAAM,EAAE,IAAI,CAAA;AACrD,CAAA,CAAA;AAEA,MAAM,MAAuC,GAAA;AAAA,EAC3C,mBAAmB,IAAI,KAAA;AAAA,IACrB,OAAQ,CAAA,iBAAA;AAAA,IACR,IAAI,KAAA,CAAM,GAAG,CAAA,CAAE,IAAK,CAAA,CAAC,CAAE,CAAA,GAAA,CAAI,CAAC,CAAA,EAAG,CAAM,KAAA,mBAAA,CAAoB,CAAC,CAAC,CAAA;AAAA,IAC3D,kBAAA,CAAmB,QAAQ,iBAAiB,CAAA;AAAA,GAC9C;AACF,CAAA,CAAA;AAEA,MAAM,oBAAA,GAAuB,CAAC,SAA6B,KAAA;AACzD,EAAM,MAAA,MAAA,GAAS,QAAQ,SAAS,CAAA,CAAA;AAChC,EAAA,IAAI,MAAQ,EAAA;AACV,IAAA,OAAO,MAAO,CAAA,OAAA,CAAA;AAAA,GACT,MAAA;AACL,IAAM,MAAA,KAAA,CAAM,CAA8C,2CAAA,EAAA,SAAS,CAAE,CAAA,CAAA,CAAA;AAAA,GACvE;AACF,CAAA,CAAA;AAEA,MAAM,gBAAA,GAAmB,CAAC,SAA6B,KAAA;AACrD,EAAM,MAAA,iBAAA,GAAoB,qBAAqB,SAAS,CAAA,CAAA;AACxD,EAAA,OAAO,IAAI,sBAAuB,CAAA;AAAA,IAChC,iBAAA;AAAA,IACA,SAAA,EAAW,OAAQ,CAAA,SAAS,CAAE,CAAA,GAAA;AAAA,IAC9B,KAAA,EAAO,OAAO,SAAS,CAAA;AAAA;AAAA;AAAA,GAGxB,CAAA,CAAA;AACH,CAAA,CAAA;AAEA,MAAM,oBAAuC,CAAC;AAAA,EAC5C,QAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA;AACF,CAAuB,KAAA;AACrB,EAAM,MAAA,KAAA,GAAQ,MAAO,CAAA,QAAA,CAAS,KAAsB,CAAA,CAAA;AACpD,EAAA,IAAI,KAAO,EAAA;AACT,IAAO,OAAA,eAAA,CAAgB,KAAO,EAAA,MAAA,EAAQ,OAAO,CAAA,CAAA;AAAA,GACxC,MAAA;AACL,IAAM,MAAA,KAAA;AAAA,MACJ,CAA0C,uCAAA,EAAA,QAAA,CAAS,MAAM,CAAA,CAAA,EAAI,SAAS,KAAK,CAAA,CAAA;AAAA,KAC7E,CAAA;AAAA,GACF;AACF,CAAA,CAAA;AAEA,MAAM,UAAuC,GAAA;AAAA,EAC3C,gBAAA;AAAA,EACA,eAAe,MAAM,iBAAA;AACvB;;;;"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { DefaultColumnGenerator } from '../vuu-row-generator.js';
|
|
2
|
+
|
|
3
|
+
const schemas = {
|
|
4
|
+
TwoHundredColumns: {
|
|
5
|
+
columns: DefaultColumnGenerator(200).map((col) => ({
|
|
6
|
+
...col,
|
|
7
|
+
serverDataType: "string"
|
|
8
|
+
})),
|
|
9
|
+
key: "column01",
|
|
10
|
+
table: { module: "TEST", table: "TwoHundredColumns" }
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export { schemas };
|
|
15
|
+
//# sourceMappingURL=test-schemas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-schemas.js","sources":["../../src/test/test-schemas.ts"],"sourcesContent":["import { TableSchema } from \"@vuu-ui/vuu-data-types\";\nimport { DefaultColumnGenerator } from \"../vuu-row-generator\";\n\nexport type TestTableName = \"TwoHundredColumns\";\n\nexport const schemas: Readonly<Record<TestTableName, Readonly<TableSchema>>> = {\n TwoHundredColumns: {\n columns: DefaultColumnGenerator(200).map((col) => ({\n ...col,\n serverDataType: \"string\",\n })),\n key: \"column01\",\n table: { module: \"TEST\", table: \"TwoHundredColumns\" },\n },\n};\n"],"names":[],"mappings":";;AAKO,MAAM,OAAkE,GAAA;AAAA,EAC7E,iBAAmB,EAAA;AAAA,IACjB,SAAS,sBAAuB,CAAA,GAAG,CAAE,CAAA,GAAA,CAAI,CAAC,GAAS,MAAA;AAAA,MACjD,GAAG,GAAA;AAAA,MACH,cAAgB,EAAA,QAAA;AAAA,KAChB,CAAA,CAAA;AAAA,IACF,GAAK,EAAA,UAAA;AAAA,IACL,KAAO,EAAA,EAAE,MAAQ,EAAA,MAAA,EAAQ,OAAO,mBAAoB,EAAA;AAAA,GACtD;AACF;;;;"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { basketModule } from './basket/basket-module.js';
|
|
2
|
+
import { simulModule } from './simul/simul-module.js';
|
|
3
|
+
import testModule from './test/test-module.js';
|
|
4
|
+
|
|
5
|
+
const vuuModules = {
|
|
6
|
+
BASKET: basketModule,
|
|
7
|
+
SIMUL: simulModule,
|
|
8
|
+
TEST: testModule
|
|
9
|
+
};
|
|
10
|
+
const vuuModule = (moduleName) => vuuModules[moduleName];
|
|
11
|
+
|
|
12
|
+
export { vuuModule };
|
|
13
|
+
//# sourceMappingURL=vuu-modules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vuu-modules.js","sources":["../src/vuu-modules.ts"],"sourcesContent":["import type { DataSource, SuggestionFetcher } from \"@vuu-ui/vuu-data-types\";\nimport { basketModule } from \"./basket/basket-module\";\nimport { BasketsTableName } from \"./basket/basket-schemas\";\nimport { simulModule } from \"./simul/simul-module\";\nimport { SimulTableName } from \"./simul/simul-schemas\";\nimport testModule from \"./test/test-module\";\nimport { TestTableName } from \"./test/test-schemas\";\n\nexport type VuuModuleName = \"BASKET\" | \"SIMUL\" | \"TEST\";\n\nexport interface VuuModule<T extends string = string> {\n createDataSource: (tableName: T) => DataSource;\n typeaheadHook: () => SuggestionFetcher;\n}\n\nconst vuuModules: Record<\n VuuModuleName,\n | VuuModule<BasketsTableName>\n | VuuModule<SimulTableName>\n | VuuModule<TestTableName>\n> = {\n BASKET: basketModule,\n SIMUL: simulModule,\n TEST: testModule,\n};\n\n// Note, this is useful but be aware that all modules will be bundled if this is imported.\n// If only a single module is required, better to import it directly.\nexport const vuuModule = <T extends string = string>(\n moduleName: VuuModuleName\n) => vuuModules[moduleName] as VuuModule<T>;\n"],"names":[],"mappings":";;;;AAeA,MAAM,UAKF,GAAA;AAAA,EACF,MAAQ,EAAA,YAAA;AAAA,EACR,KAAO,EAAA,WAAA;AAAA,EACP,IAAM,EAAA,UAAA;AACR,CAAA,CAAA;AAIO,MAAM,SAAY,GAAA,CACvB,UACG,KAAA,UAAA,CAAW,UAAU;;;;"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
const DefaultRowGenerator = (columns) => (index) => {
|
|
2
|
+
return [`row ${index + 1}`].concat(
|
|
3
|
+
Array(columns.length).fill(true).map((v, j) => `value ${j + 2} @ ${index + 1}`)
|
|
4
|
+
);
|
|
5
|
+
};
|
|
6
|
+
const DefaultColumnGenerator = (columns, columnConfig = {}) => {
|
|
7
|
+
if (typeof columns === "number") {
|
|
8
|
+
return [{ label: "Row Number", name: "rownum", width: 150 }].concat(
|
|
9
|
+
Array(columns).fill(true).map((_, i) => {
|
|
10
|
+
const name = `column_${i + 1}`;
|
|
11
|
+
const label = `Column ${i + 1}`;
|
|
12
|
+
return { label, name, width: 100, ...columnConfig[name] };
|
|
13
|
+
})
|
|
14
|
+
);
|
|
15
|
+
} else {
|
|
16
|
+
throw Error("DefaultColumnGenerator must be passed columns (number)");
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
const defaultGenerators = {
|
|
20
|
+
ColumnGenerator: DefaultColumnGenerator,
|
|
21
|
+
RowGenerator: DefaultRowGenerator
|
|
22
|
+
};
|
|
23
|
+
const getColumnAndRowGenerator = (table) => {
|
|
24
|
+
const tableName = table?.table ?? "";
|
|
25
|
+
switch (table?.module) {
|
|
26
|
+
case "SIMUL": {
|
|
27
|
+
const { ColumnGenerator, RowGenerator, createUpdateGenerator } = (
|
|
28
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
29
|
+
// @ts-ignore
|
|
30
|
+
simulDataGenerators[tableName] ?? defaultGenerators
|
|
31
|
+
);
|
|
32
|
+
return [ColumnGenerator, RowGenerator, createUpdateGenerator];
|
|
33
|
+
}
|
|
34
|
+
case "BASKET": {
|
|
35
|
+
const { ColumnGenerator, RowGenerator, createUpdateGenerator } = (
|
|
36
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
37
|
+
// @ts-ignore
|
|
38
|
+
basketDataGenerators[tableName] ?? defaultGenerators
|
|
39
|
+
);
|
|
40
|
+
return [ColumnGenerator, RowGenerator, createUpdateGenerator];
|
|
41
|
+
}
|
|
42
|
+
case void 0: {
|
|
43
|
+
const { ColumnGenerator, RowGenerator } = defaultGenerators;
|
|
44
|
+
return [ColumnGenerator, RowGenerator];
|
|
45
|
+
}
|
|
46
|
+
default:
|
|
47
|
+
throw Error(
|
|
48
|
+
`vuu-row-gererator table ${table?.table} was requested but no generator is registered`
|
|
49
|
+
);
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
const populateArray = (count, colGen, rowGen, columns) => {
|
|
53
|
+
const columnDescriptors = colGen(columns);
|
|
54
|
+
const generateRow = rowGen(columnDescriptors.map((col) => col.name));
|
|
55
|
+
const data = [];
|
|
56
|
+
for (let i = 0; i < count; i++) {
|
|
57
|
+
const row = generateRow(i);
|
|
58
|
+
if (row) {
|
|
59
|
+
data[i] = row;
|
|
60
|
+
} else {
|
|
61
|
+
break;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return data;
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
export { DefaultColumnGenerator, DefaultRowGenerator, defaultGenerators, getColumnAndRowGenerator, populateArray };
|
|
68
|
+
//# sourceMappingURL=vuu-row-generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vuu-row-generator.js","sources":["../src/vuu-row-generator.ts"],"sourcesContent":["import type { ColumnDescriptor } from \"@vuu-ui/vuu-table-types\";\nimport type { VuuRowDataItemType, VuuTable } from \"@vuu-ui/vuu-protocol-types\";\nimport { UpdateGenerator } from \"./rowUpdates\";\n\ntype GenerateRowFunc = (index: number) => VuuRowDataItemType[];\n\nexport type RowGeneratorFactory = (columns: string[]) => GenerateRowFunc;\n\nexport type ColumnGeneratorFn = (\n columns?: number | string[],\n columnConfig?: { [key: string]: Partial<ColumnDescriptor> }\n) => ColumnDescriptor[];\n\nexport const DefaultRowGenerator: RowGeneratorFactory =\n (columns: string[]) => (index) => {\n return [`row ${index + 1}`].concat(\n Array(columns.length)\n .fill(true)\n .map((v, j) => `value ${j + 2} @ ${index + 1}`)\n );\n };\n\nexport const DefaultColumnGenerator: ColumnGeneratorFn = (\n columns,\n columnConfig = {}\n) => {\n if (typeof columns === \"number\") {\n return [{ label: \"Row Number\", name: \"rownum\", width: 150 }].concat(\n Array(columns)\n .fill(true)\n .map((_, i) => {\n const name = `column_${i + 1}`;\n const label = `Column ${i + 1}`;\n return { label, name, width: 100, ...columnConfig[name] };\n })\n );\n } else {\n throw Error(\"DefaultColumnGenerator must be passed columns (number)\");\n }\n};\n\nexport const defaultGenerators = {\n ColumnGenerator: DefaultColumnGenerator,\n RowGenerator: DefaultRowGenerator,\n};\n\nexport const getColumnAndRowGenerator = (\n table?: VuuTable\n):\n | [ColumnGeneratorFn, RowGeneratorFactory]\n | [ColumnGeneratorFn, RowGeneratorFactory, () => UpdateGenerator] => {\n const tableName = table?.table ?? \"\";\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n switch (table?.module) {\n case \"SIMUL\": {\n const { ColumnGenerator, RowGenerator, createUpdateGenerator } =\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n simulDataGenerators[tableName] ?? defaultGenerators;\n return [ColumnGenerator, RowGenerator, createUpdateGenerator];\n }\n\n case \"BASKET\": {\n const { ColumnGenerator, RowGenerator, createUpdateGenerator } =\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n basketDataGenerators[tableName] ?? defaultGenerators;\n return [ColumnGenerator, RowGenerator, createUpdateGenerator];\n }\n case undefined: {\n const { ColumnGenerator, RowGenerator } = defaultGenerators;\n return [ColumnGenerator, RowGenerator];\n }\n default:\n throw Error(\n `vuu-row-gererator table ${table?.table} was requested but no generator is registered`\n );\n }\n};\n\nexport const populateArray = (\n count: number,\n colGen: ColumnGeneratorFn,\n rowGen: RowGeneratorFactory,\n columns?: number | string[]\n) => {\n const columnDescriptors = colGen(columns);\n const generateRow = rowGen(columnDescriptors.map((col) => col.name));\n const data: Array<VuuRowDataItemType[]> = [];\n for (let i = 0; i < count; i++) {\n const row = generateRow(i);\n if (row) {\n data[i] = row;\n } else {\n break;\n }\n }\n return data;\n};\n"],"names":[],"mappings":"AAaO,MAAM,mBACX,GAAA,CAAC,OAAsB,KAAA,CAAC,KAAU,KAAA;AAChC,EAAA,OAAO,CAAC,CAAA,IAAA,EAAO,KAAQ,GAAA,CAAC,EAAE,CAAE,CAAA,MAAA;AAAA,IAC1B,MAAM,OAAQ,CAAA,MAAM,CACjB,CAAA,IAAA,CAAK,IAAI,CACT,CAAA,GAAA,CAAI,CAAC,CAAA,EAAG,MAAM,CAAS,MAAA,EAAA,CAAA,GAAI,CAAC,CAAM,GAAA,EAAA,KAAA,GAAQ,CAAC,CAAE,CAAA,CAAA;AAAA,GAClD,CAAA;AACF,EAAA;AAEK,MAAM,sBAA4C,GAAA,CACvD,OACA,EAAA,YAAA,GAAe,EACZ,KAAA;AACH,EAAI,IAAA,OAAO,YAAY,QAAU,EAAA;AAC/B,IAAO,OAAA,CAAC,EAAE,KAAO,EAAA,YAAA,EAAc,MAAM,QAAU,EAAA,KAAA,EAAO,GAAI,EAAC,CAAE,CAAA,MAAA;AAAA,MAC3D,KAAA,CAAM,OAAO,CACV,CAAA,IAAA,CAAK,IAAI,CACT,CAAA,GAAA,CAAI,CAAC,CAAA,EAAG,CAAM,KAAA;AACb,QAAM,MAAA,IAAA,GAAO,CAAU,OAAA,EAAA,CAAA,GAAI,CAAC,CAAA,CAAA,CAAA;AAC5B,QAAM,MAAA,KAAA,GAAQ,CAAU,OAAA,EAAA,CAAA,GAAI,CAAC,CAAA,CAAA,CAAA;AAC7B,QAAO,OAAA,EAAE,OAAO,IAAM,EAAA,KAAA,EAAO,KAAK,GAAG,YAAA,CAAa,IAAI,CAAE,EAAA,CAAA;AAAA,OACzD,CAAA;AAAA,KACL,CAAA;AAAA,GACK,MAAA;AACL,IAAA,MAAM,MAAM,wDAAwD,CAAA,CAAA;AAAA,GACtE;AACF,EAAA;AAEO,MAAM,iBAAoB,GAAA;AAAA,EAC/B,eAAiB,EAAA,sBAAA;AAAA,EACjB,YAAc,EAAA,mBAAA;AAChB,EAAA;AAEa,MAAA,wBAAA,GAA2B,CACtC,KAGqE,KAAA;AACrE,EAAM,MAAA,SAAA,GAAY,OAAO,KAAS,IAAA,EAAA,CAAA;AAGlC,EAAA,QAAQ,OAAO,MAAQ;AAAA,IACrB,KAAK,OAAS,EAAA;AACZ,MAAM,MAAA,EAAE,eAAiB,EAAA,YAAA,EAAc,qBAAsB,EAAA;AAAA;AAAA;AAAA,QAG3D,mBAAA,CAAoB,SAAS,CAAK,IAAA,iBAAA;AAAA,OAAA,CAAA;AACpC,MAAO,OAAA,CAAC,eAAiB,EAAA,YAAA,EAAc,qBAAqB,CAAA,CAAA;AAAA,KAC9D;AAAA,IAEA,KAAK,QAAU,EAAA;AACb,MAAM,MAAA,EAAE,eAAiB,EAAA,YAAA,EAAc,qBAAsB,EAAA;AAAA;AAAA;AAAA,QAG3D,oBAAA,CAAqB,SAAS,CAAK,IAAA,iBAAA;AAAA,OAAA,CAAA;AACrC,MAAO,OAAA,CAAC,eAAiB,EAAA,YAAA,EAAc,qBAAqB,CAAA,CAAA;AAAA,KAC9D;AAAA,IACA,KAAK,KAAW,CAAA,EAAA;AACd,MAAM,MAAA,EAAE,eAAiB,EAAA,YAAA,EAAiB,GAAA,iBAAA,CAAA;AAC1C,MAAO,OAAA,CAAC,iBAAiB,YAAY,CAAA,CAAA;AAAA,KACvC;AAAA,IACA;AACE,MAAM,MAAA,KAAA;AAAA,QACJ,CAAA,wBAAA,EAA2B,OAAO,KAAK,CAAA,6CAAA,CAAA;AAAA,OACzC,CAAA;AAAA,GACJ;AACF,EAAA;AAEO,MAAM,aAAgB,GAAA,CAC3B,KACA,EAAA,MAAA,EACA,QACA,OACG,KAAA;AACH,EAAM,MAAA,iBAAA,GAAoB,OAAO,OAAO,CAAA,CAAA;AACxC,EAAM,MAAA,WAAA,GAAc,OAAO,iBAAkB,CAAA,GAAA,CAAI,CAAC,GAAQ,KAAA,GAAA,CAAI,IAAI,CAAC,CAAA,CAAA;AACnE,EAAA,MAAM,OAAoC,EAAC,CAAA;AAC3C,EAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,KAAA,EAAO,CAAK,EAAA,EAAA;AAC9B,IAAM,MAAA,GAAA,GAAM,YAAY,CAAC,CAAA,CAAA;AACzB,IAAA,IAAI,GAAK,EAAA;AACP,MAAA,IAAA,CAAK,CAAC,CAAI,GAAA,GAAA,CAAA;AAAA,KACL,MAAA;AACL,MAAA,MAAA;AAAA,KACF;AAAA,GACF;AACA,EAAO,OAAA,IAAA,CAAA;AACT;;;;"}
|
package/package.json
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.0.26",
|
|
3
|
+
"author": "heswell",
|
|
4
|
+
"license": "Apache-2.0",
|
|
5
|
+
"dependencies": {
|
|
6
|
+
"@vuu-ui/vuu-data-local": "0.0.26",
|
|
7
|
+
"@vuu-ui/vuu-utils": "0.0.26",
|
|
8
|
+
"@thomaschaplin/isin-generator": "1.0.3"
|
|
9
|
+
},
|
|
10
|
+
"devDependencies": {
|
|
11
|
+
"@vuu-ui/vuu-protocol-types": "0.0.26",
|
|
12
|
+
"@vuu-ui/vuu-data-types": "0.0.26",
|
|
13
|
+
"@vuu-ui/vuu-table-types": "0.0.26"
|
|
14
|
+
},
|
|
15
|
+
"sideEffects": false,
|
|
16
|
+
"files": [
|
|
17
|
+
"README.md",
|
|
18
|
+
"esm",
|
|
19
|
+
"cjs",
|
|
20
|
+
"/types"
|
|
21
|
+
],
|
|
22
|
+
"exports": {
|
|
23
|
+
".": {
|
|
24
|
+
"require": "./cjs/index.js",
|
|
25
|
+
"import": "./esm/index.js",
|
|
26
|
+
"types": "./types/index.d.ts"
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
"main": "cjs/index.js",
|
|
30
|
+
"module": "esm/index.js",
|
|
31
|
+
"name": "@vuu-ui/vuu-data-test",
|
|
32
|
+
"type": "module",
|
|
33
|
+
"types": "types/index.d.ts"
|
|
34
|
+
}
|
|
@@ -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
|
+
}
|
package/types/Table.d.ts
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { TableSchema } from "@vuu-ui/vuu-data-types";
|
|
2
|
+
import { VuuRowDataItemType, VuuTable } 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: (row: VuuRowDataItemType[]) => 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
|
+
insert(row: VuuRowDataItemType[]): void;
|
|
18
|
+
findByKey(key: string): VuuRowDataItemType[];
|
|
19
|
+
update(key: string, columnName: string, value: VuuRowDataItemType): void;
|
|
20
|
+
updateRow(row: VuuRowDataItemType[]): void;
|
|
21
|
+
}
|
|
22
|
+
export declare const buildDataColumnMap: (schema: TableSchema) => ColumnMap;
|
|
23
|
+
export declare const joinTables: (joinTable: VuuTable, table1: Table, table2: Table, joinColumn: string) => Table;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { ArrayDataSource, ArrayDataSourceConstructorProps } from "@vuu-ui/vuu-data-local";
|
|
2
|
+
import type { DataSourceRow, MenuRpcResponse, RpcResponse, SubscribeCallback, SubscribeProps, VuuUIMessageInRPCEditReject, VuuUIMessageInRPCEditResponse } from "@vuu-ui/vuu-data-types";
|
|
3
|
+
import type { ClientToServerEditRpc, ClientToServerMenuRPC, ClientToServerViewportRpcCall, VuuMenu, VuuRange, VuuRowDataItemType } from "@vuu-ui/vuu-protocol-types";
|
|
4
|
+
import { Table } from "./Table";
|
|
5
|
+
export type RpcService = {
|
|
6
|
+
rpcName: string;
|
|
7
|
+
service: (rpcRequest: any) => Promise<any>;
|
|
8
|
+
};
|
|
9
|
+
export interface TickingArrayDataSourceConstructorProps extends Omit<ArrayDataSourceConstructorProps, "data"> {
|
|
10
|
+
data?: Array<VuuRowDataItemType[]>;
|
|
11
|
+
menu?: VuuMenu;
|
|
12
|
+
menuRpcServices?: RpcService[];
|
|
13
|
+
rpcServices?: RpcService[];
|
|
14
|
+
table?: Table;
|
|
15
|
+
}
|
|
16
|
+
export declare class TickingArrayDataSource extends ArrayDataSource {
|
|
17
|
+
#private;
|
|
18
|
+
constructor({ data, menuRpcServices, rpcServices, table, menu, ...arrayDataSourceProps }: TickingArrayDataSourceConstructorProps);
|
|
19
|
+
subscribe(subscribeProps: SubscribeProps, callback: SubscribeCallback): Promise<void>;
|
|
20
|
+
set range(range: VuuRange);
|
|
21
|
+
get range(): VuuRange;
|
|
22
|
+
private getSelectedRows;
|
|
23
|
+
applyEdit(row: DataSourceRow, columnName: string, value: VuuRowDataItemType): Promise<true>;
|
|
24
|
+
rpcCall<T extends RpcResponse = RpcResponse>(rpcRequest: Omit<ClientToServerViewportRpcCall, "vpId">): Promise<T | undefined>;
|
|
25
|
+
menuRpcCall(rpcRequest: Omit<ClientToServerMenuRPC, "vpId"> | ClientToServerEditRpc): Promise<MenuRpcResponse | VuuUIMessageInRPCEditReject | VuuUIMessageInRPCEditResponse | undefined>;
|
|
26
|
+
getTypeaheadSuggestions(column: string, pattern?: string): Promise<string[]>;
|
|
27
|
+
}
|
|
@@ -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,6 @@
|
|
|
1
|
+
import { Table } from "../Table";
|
|
2
|
+
import type { VuuModule } from "../vuu-modules";
|
|
3
|
+
import { BasketsTableName } from "./basket-schemas";
|
|
4
|
+
export declare const createBasketTradingRow: (basketId: string, basketName: string, side?: string, status?: string) => (string | number)[];
|
|
5
|
+
export declare const tables: Record<BasketsTableName, Table>;
|
|
6
|
+
export declare const basketModule: VuuModule<BasketsTableName>;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { TableSchema } from "@vuu-ui/vuu-data-types";
|
|
2
|
+
export type BasketsTableName = "algoType" | "basket" | "basketConstituent" | "basketTrading" | "basketTradingConstituent" | "basketTradingConstituentJoin" | "priceStrategyType";
|
|
3
|
+
export declare const schemas: Readonly<Record<BasketsTableName, Readonly<TableSchema>>>;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Table } from "../../Table";
|
|
2
|
+
export type ask = number;
|
|
3
|
+
export type askSize = number;
|
|
4
|
+
export type bid = number;
|
|
5
|
+
export type bidSize = number;
|
|
6
|
+
export type close = number;
|
|
7
|
+
export type last = number;
|
|
8
|
+
export type open = number;
|
|
9
|
+
export type phase = "C";
|
|
10
|
+
export type ric = string;
|
|
11
|
+
export type scenario = "close";
|
|
12
|
+
export type PricesDataRow = [
|
|
13
|
+
ask,
|
|
14
|
+
askSize,
|
|
15
|
+
bid,
|
|
16
|
+
bidSize,
|
|
17
|
+
close,
|
|
18
|
+
last,
|
|
19
|
+
open,
|
|
20
|
+
phase,
|
|
21
|
+
ric,
|
|
22
|
+
scenario
|
|
23
|
+
];
|
|
24
|
+
declare const pricesTable: Table;
|
|
25
|
+
export default pricesTable;
|
|
@@ -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[];
|
package/types/index.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from "./ArrayProxy";
|
|
2
|
+
export * from "./schemas";
|
|
3
|
+
export * from "./TickingArrayDataSource";
|
|
4
|
+
export * from "./vuu-row-generator";
|
|
5
|
+
export * from "./vuu-modules";
|
|
6
|
+
export * from "./basket";
|
|
7
|
+
export * from "./simul";
|
|
8
|
+
export * from "./test";
|
|
9
|
+
export * from "./Table";
|
|
@@ -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 @@
|
|
|
1
|
+
export declare const currencies: string[];
|
|
@@ -0,0 +1,54 @@
|
|
|
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
|
+
export type InstrumentPricesDataRow = [
|
|
18
|
+
ask,
|
|
19
|
+
askSize,
|
|
20
|
+
bbg,
|
|
21
|
+
bid,
|
|
22
|
+
bidSize,
|
|
23
|
+
close,
|
|
24
|
+
currency,
|
|
25
|
+
description,
|
|
26
|
+
exchange,
|
|
27
|
+
isin,
|
|
28
|
+
last,
|
|
29
|
+
lotSize,
|
|
30
|
+
open,
|
|
31
|
+
phase,
|
|
32
|
+
ric,
|
|
33
|
+
scenario
|
|
34
|
+
];
|
|
35
|
+
export declare const InstrumentPricesColumnMap: {
|
|
36
|
+
ask: number;
|
|
37
|
+
askSize: number;
|
|
38
|
+
bbg: number;
|
|
39
|
+
bid: number;
|
|
40
|
+
bidSize: number;
|
|
41
|
+
close: number;
|
|
42
|
+
currency: number;
|
|
43
|
+
description: number;
|
|
44
|
+
exchange: number;
|
|
45
|
+
isin: number;
|
|
46
|
+
last: number;
|
|
47
|
+
lotSize: number;
|
|
48
|
+
open: number;
|
|
49
|
+
phase: number;
|
|
50
|
+
ric: number;
|
|
51
|
+
scenari: number;
|
|
52
|
+
};
|
|
53
|
+
declare const instrumentPrices: InstrumentPricesDataRow[];
|
|
54
|
+
export { instrumentPrices };
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Table } from "../../Table";
|
|
2
|
+
export type bbg = string;
|
|
3
|
+
export type currency = string;
|
|
4
|
+
export type ric = string;
|
|
5
|
+
export type description = string;
|
|
6
|
+
export type exchange = string;
|
|
7
|
+
export type price = number;
|
|
8
|
+
export type InstrumentsDataRow = [
|
|
9
|
+
bbg,
|
|
10
|
+
currency,
|
|
11
|
+
description,
|
|
12
|
+
exchange,
|
|
13
|
+
string,
|
|
14
|
+
number,
|
|
15
|
+
ric,
|
|
16
|
+
price
|
|
17
|
+
];
|
|
18
|
+
export declare const InstrumentColumnMap: {
|
|
19
|
+
readonly bbg: 0;
|
|
20
|
+
readonly currency: 1;
|
|
21
|
+
readonly description: 2;
|
|
22
|
+
readonly exchange: 3;
|
|
23
|
+
readonly string: 4;
|
|
24
|
+
readonly number: 5;
|
|
25
|
+
readonly ric: 6;
|
|
26
|
+
readonly price: 7;
|
|
27
|
+
};
|
|
28
|
+
declare const instrumentsData: InstrumentsDataRow[];
|
|
29
|
+
export declare const getRic: (defaultRic: string) => string;
|
|
30
|
+
export declare const instrumentsTable: Table;
|
|
31
|
+
export { instrumentsData };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const lotsizes: number[];
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Table } from "../../Table";
|
|
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
|
+
ccy,
|
|
13
|
+
created,
|
|
14
|
+
filledQuantity,
|
|
15
|
+
lastUpdate,
|
|
16
|
+
orderId,
|
|
17
|
+
quantity,
|
|
18
|
+
ric,
|
|
19
|
+
side,
|
|
20
|
+
trader
|
|
21
|
+
];
|
|
22
|
+
export declare const OrderColumnMap: {
|
|
23
|
+
readonly ccy: 0;
|
|
24
|
+
readonly created: 1;
|
|
25
|
+
readonly filledQuantity: 2;
|
|
26
|
+
readonly lastUpdate: 3;
|
|
27
|
+
readonly orderId: 4;
|
|
28
|
+
readonly quantity: 5;
|
|
29
|
+
readonly ric: 6;
|
|
30
|
+
readonly side: 7;
|
|
31
|
+
readonly trader: 8;
|
|
32
|
+
};
|
|
33
|
+
declare const ordersData: OrdersDataRow[];
|
|
34
|
+
export declare const ordersTable: Table;
|
|
35
|
+
export { ordersData };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const priceStrategies: string[];
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Table } from "../../Table";
|
|
2
|
+
type ask = number;
|
|
3
|
+
type askSize = number;
|
|
4
|
+
type bid = number;
|
|
5
|
+
type bidSize = number;
|
|
6
|
+
type close = number;
|
|
7
|
+
type last = number;
|
|
8
|
+
type open = number;
|
|
9
|
+
type phase = "C";
|
|
10
|
+
type ric = string;
|
|
11
|
+
type scenario = "close";
|
|
12
|
+
export type PricesDataRow = [
|
|
13
|
+
ask,
|
|
14
|
+
askSize,
|
|
15
|
+
bid,
|
|
16
|
+
bidSize,
|
|
17
|
+
close,
|
|
18
|
+
last,
|
|
19
|
+
open,
|
|
20
|
+
phase,
|
|
21
|
+
ric,
|
|
22
|
+
scenario
|
|
23
|
+
];
|
|
24
|
+
declare const bid: number, bidSize: number, ask: number, askSize: number;
|
|
25
|
+
declare const pricesData: Array<PricesDataRow>;
|
|
26
|
+
export declare const pricesTable: Table;
|
|
27
|
+
export { pricesData };
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { TableSchema } from "@vuu-ui/vuu-data-types";
|
|
2
|
+
export type SimulTableName = "instruments" | "instrumentsExtended" | "instrumentPrices" | "orders" | "childOrders" | "parentOrders" | "prices";
|
|
3
|
+
export declare const schemas: Readonly<Record<SimulTableName, Readonly<TableSchema>>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { type TestTableName } from "./test-schemas";
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { DataSource, SuggestionFetcher } from "@vuu-ui/vuu-data-types";
|
|
2
|
+
export type VuuModuleName = "BASKET" | "SIMUL" | "TEST";
|
|
3
|
+
export interface VuuModule<T extends string = string> {
|
|
4
|
+
createDataSource: (tableName: T) => DataSource;
|
|
5
|
+
typeaheadHook: () => SuggestionFetcher;
|
|
6
|
+
}
|
|
7
|
+
export declare const vuuModule: <T extends string = string>(moduleName: VuuModuleName) => VuuModule<T>;
|