@vuu-ui/vuu-data-test 0.8.43 → 0.8.45
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/basket/basket-module.js.map +1 -1
- package/cjs/simul/simul-module.js +53 -3
- package/cjs/simul/simul-module.js.map +1 -1
- package/esm/basket/basket-module.js.map +1 -1
- package/esm/simul/simul-module.js +53 -3
- package/esm/simul/simul-module.js.map +1 -1
- package/package.json +11 -6
- package/types/basket/basket-module.d.ts +1 -1
- package/types/simul/simul-module.d.ts +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"basket-module.js","sources":["../../src/basket/basket-module.ts"],"sourcesContent":["import {\n ClientToServerViewportRpcCall,\n VuuMenu,\n VuuRowDataItemType,\n} from \"@vuu-ui/vuu-protocol-types\";\nimport { ColumnMap } from \"@vuu-ui/vuu-utils\";\nimport pricesTable from \"./reference-data/prices\";\nimport { joinTables, Table } from \"../Table\";\nimport { TickingArrayDataSource } from \"../TickingArrayDataSource\";\nimport { VuuModule } from \"../vuu-modules\";\nimport { BasketsTableName, schemas } from \"./basket-schemas\";\nimport basketConstituentData from \"./reference-data/constituents\";\n\n// This is a 'local' columnMap\nconst buildDataColumnMap = (tableName: BasketsTableName) =>\n Object.values(schemas[tableName].columns).reduce<ColumnMap>(\n (map, col, index) => {\n map[col.name] = index;\n return map;\n },\n {}\n );\n\nconst tableMaps: Record<BasketsTableName, ColumnMap> = {\n algoType: buildDataColumnMap(\"algoType\"),\n basket: buildDataColumnMap(\"basket\"),\n basketTrading: buildDataColumnMap(\"basketTrading\"),\n basketTradingConstituent: buildDataColumnMap(\"basketTradingConstituent\"),\n basketConstituent: buildDataColumnMap(\"basketConstituent\"),\n basketTradingConstituentJoin: buildDataColumnMap(\n \"basketTradingConstituentJoin\"\n ),\n priceStrategyType: buildDataColumnMap(\"priceStrategyType\"),\n};\n\n/**\n * BasketConstituent\n */\n\nconst basketConstituent = new Table(\n schemas.basketConstituent,\n basketConstituentData,\n tableMaps.basketConstituent\n);\n\n/**\n * BasketTrading\n */\nconst basketTrading = new Table(\n schemas.basketTrading,\n [],\n tableMaps.basketTrading\n);\n\nlet basketIncrement = 1;\n/**\n * BasketTradingConstituent\n */\nconst basketTradingConstituent = new Table(\n schemas.basketTradingConstituent,\n [],\n tableMaps.basketTradingConstituent\n);\n\n// export as convenience for showcase examples\nexport const createBasketTradingRow = (\n basketId: string,\n basketName: string,\n side = \"BUY\",\n status = \"OFF MARKET\"\n) => [\n basketId,\n basketName,\n 0,\n 1.25,\n `steve-${basketIncrement++}`,\n side,\n status,\n 1_000_000,\n 1_250_000,\n 100,\n];\n\nfunction createTradingBasket(basketId: string, basketName: string) {\n const basketTradingRow = createBasketTradingRow(basketId, basketName);\n\n basketTrading.insert(basketTradingRow);\n\n const { basketId: key } = buildDataColumnMap(\"basketConstituent\");\n const constituents = basketConstituent.data.filter(\n (c) => c[key] === basketId\n );\n\n const { instanceId } = tableMaps.basketTrading;\n\n constituents.forEach(([, , description, , ric, , , quantity, weighting]) => {\n const algo = \"\";\n const algoParams = \"\";\n const limitPrice = 95;\n const notionalLocal = 0;\n const notionalUsd = 0;\n const pctFilled = 0;\n const priceSpread = 0;\n const priceStrategyId = \"\";\n const side = \"BUY\";\n const venue = \"venue\";\n\n const basketInstanceId = basketTradingRow[instanceId];\n const basketTradingConstituentRow: VuuRowDataItemType[] = [\n algo,\n algoParams,\n basketId,\n description,\n basketInstanceId,\n `${basketInstanceId}-${ric}`,\n limitPrice,\n notionalLocal,\n notionalUsd,\n pctFilled,\n priceSpread,\n priceStrategyId,\n quantity,\n ric,\n side,\n venue,\n weighting,\n ];\n basketTradingConstituent.insert(basketTradingConstituentRow);\n });\n\n // return the key\n return basketTradingRow[instanceId] as string;\n}\n\nasync function addConstituent(rpcRequest: ClientToServerViewportRpcCall) {\n console.log(`RPC call erceived ${rpcRequest.rpcName}`);\n}\nasync function sendToMarket(rpcRequest: ClientToServerViewportRpcCall) {\n const [basketInstanceId] = rpcRequest.params;\n basketTrading.update(basketInstanceId, \"status\", \"ON_MARKET\");\n}\nasync function takeOffMarket(rpcRequest: ClientToServerViewportRpcCall) {\n const [basketInstanceId] = rpcRequest.params;\n basketTrading.update(basketInstanceId, \"status\", \"OFF-MARKET\");\n}\n\nasync function createNewBasket(rpcRequest: ClientToServerViewportRpcCall) {\n const {\n params: [basketId, basketName],\n } = rpcRequest;\n const key = createTradingBasket(basketId, basketName);\n return {\n action: {\n type: \"VP_CREATE_SUCCESS\",\n key,\n },\n };\n}\n\n//-------------------\n\nexport const tables: Record<BasketsTableName, Table> = {\n algoType: new Table(\n schemas.algoType,\n [\n [\"Sniper\", 0],\n [\"Dark Liquidity\", 1],\n [\"VWAP\", 2],\n [\"POV\", 3],\n [\"Dynamic Close\", 4],\n ],\n tableMaps.algoType\n ),\n basket: new Table(\n schemas.basket,\n [\n [\".NASDAQ100\", \".NASDAQ100\", 0, 0],\n [\".HSI\", \".HSI\", 0, 0],\n [\".FTSE100\", \".FTSE100\", 0, 0],\n [\".SP500\", \".SP500\", 0, 0],\n ],\n tableMaps.basket\n ),\n basketConstituent,\n basketTrading,\n basketTradingConstituent,\n basketTradingConstituentJoin: joinTables(\n { module: \"BASKET\", table: \"basketTradingConstituentJoin\" },\n basketTradingConstituent,\n pricesTable,\n \"ric\"\n ),\n priceStrategyType: new Table(\n schemas.priceStrategyType,\n [\n [\"Peg to Near Touch\", 0],\n [\"Far Touch\", 1],\n [\"Limit\", 2],\n [\"Algo\", 3],\n ],\n tableMaps.priceStrategyType\n ),\n};\n\nconst menus: Record<BasketsTableName, VuuMenu | undefined> = {\n algoType: undefined,\n basket: {\n name: \"ROOT\",\n menus: [\n {\n context: \"selected-rows\",\n filter: \"\",\n name: \"Add Basket\",\n rpcName: \"CREATE_NEW_BASKET\",\n },\n ],\n },\n basketConstituent: undefined,\n basketTrading: undefined,\n basketTradingConstituent: undefined,\n basketTradingConstituentJoin: undefined,\n priceStrategyType: undefined,\n};\n\ntype RpcService = {\n rpcName: string;\n service: (rpcRequest: any) => Promise<unknown>;\n};\n\nconst services: Record<BasketsTableName, RpcService[] | undefined> = {\n algoType: undefined,\n basket: [\n {\n rpcName: \"createBasket\",\n service: createNewBasket,\n },\n ],\n basketConstituent: undefined,\n basketTrading: [\n {\n rpcName: \"sendToMarket\",\n service: sendToMarket,\n },\n {\n rpcName: \"takeOffMarket\",\n service: takeOffMarket,\n },\n ],\n basketTradingConstituent: undefined,\n basketTradingConstituentJoin: [\n {\n rpcName: \"addConstituent\",\n service: addConstituent,\n },\n ],\n priceStrategyType: undefined,\n};\n\nconst getColumnDescriptors = (tableName: BasketsTableName) => {\n const schema = schemas[tableName];\n return schema.columns;\n};\n\nconst createDataSource = (tableName: BasketsTableName) => {\n const columnDescriptors = getColumnDescriptors(tableName);\n const { key } = schemas[tableName];\n return new TickingArrayDataSource({\n columnDescriptors,\n dataMap: tableMaps[tableName],\n keyColumn: key,\n menu: menus[tableName],\n rpcServices: services[tableName],\n table: tables[tableName],\n // updateGenerator: createUpdateGenerator?.(),\n });\n};\n\nconst nullTypeaheadHook = async () => [];\n\nexport const basketModule: VuuModule<BasketsTableName> = {\n createDataSource,\n typeaheadHook: () => nullTypeaheadHook,\n};\n"],"names":["schemas","Table","basketConstituentData","joinTables","pricesTable","TickingArrayDataSource"],"mappings":";;;;;;;;AAcA,MAAM,kBAAA,GAAqB,CAAC,SAC1B,KAAA,MAAA,CAAO,OAAOA,qBAAQ,CAAA,SAAS,CAAE,CAAA,OAAO,CAAE,CAAA,MAAA;AAAA,EACxC,CAAC,GAAK,EAAA,GAAA,EAAK,KAAU,KAAA;AACnB,IAAI,GAAA,CAAA,GAAA,CAAI,IAAI,CAAI,GAAA,KAAA,CAAA;AAChB,IAAO,OAAA,GAAA,CAAA;AAAA,GACT;AAAA,EACA,EAAC;AACH,CAAA,CAAA;AAEF,MAAM,SAAiD,GAAA;AAAA,EACrD,QAAA,EAAU,mBAAmB,UAAU,CAAA;AAAA,EACvC,MAAA,EAAQ,mBAAmB,QAAQ,CAAA;AAAA,EACnC,aAAA,EAAe,mBAAmB,eAAe,CAAA;AAAA,EACjD,wBAAA,EAA0B,mBAAmB,0BAA0B,CAAA;AAAA,EACvE,iBAAA,EAAmB,mBAAmB,mBAAmB,CAAA;AAAA,EACzD,4BAA8B,EAAA,kBAAA;AAAA,IAC5B,8BAAA;AAAA,GACF;AAAA,EACA,iBAAA,EAAmB,mBAAmB,mBAAmB,CAAA;AAC3D,CAAA,CAAA;AAMA,MAAM,oBAAoB,IAAIC,WAAA;AAAA,EAC5BD,qBAAQ,CAAA,iBAAA;AAAA,EACRE,YAAA;AAAA,EACA,SAAU,CAAA,iBAAA;AACZ,CAAA,CAAA;AAKA,MAAM,gBAAgB,IAAID,WAAA;AAAA,EACxBD,qBAAQ,CAAA,aAAA;AAAA,EACR,EAAC;AAAA,EACD,SAAU,CAAA,aAAA;AACZ,CAAA,CAAA;AAEA,IAAI,eAAkB,GAAA,CAAA,CAAA;AAItB,MAAM,2BAA2B,IAAIC,WAAA;AAAA,EACnCD,qBAAQ,CAAA,wBAAA;AAAA,EACR,EAAC;AAAA,EACD,SAAU,CAAA,wBAAA;AACZ,CAAA,CAAA;AAGO,MAAM,yBAAyB,CACpC,QAAA,EACA,YACA,IAAO,GAAA,KAAA,EACP,SAAS,YACN,KAAA;AAAA,EACH,QAAA;AAAA,EACA,UAAA;AAAA,EACA,CAAA;AAAA,EACA,IAAA;AAAA,EACA,SAAS,eAAiB,EAAA,CAAA,CAAA;AAAA,EAC1B,IAAA;AAAA,EACA,MAAA;AAAA,EACA,GAAA;AAAA,EACA,KAAA;AAAA,EACA,GAAA;AACF,EAAA;AAEA,SAAS,mBAAA,CAAoB,UAAkB,UAAoB,EAAA;AACjE,EAAM,MAAA,gBAAA,GAAmB,sBAAuB,CAAA,QAAA,EAAU,UAAU,CAAA,CAAA;AAEpE,EAAA,aAAA,CAAc,OAAO,gBAAgB,CAAA,CAAA;AAErC,EAAA,MAAM,EAAE,QAAA,EAAU,GAAI,EAAA,GAAI,mBAAmB,mBAAmB,CAAA,CAAA;AAChE,EAAM,MAAA,YAAA,GAAe,kBAAkB,IAAK,CAAA,MAAA;AAAA,IAC1C,CAAC,CAAA,KAAM,CAAE,CAAA,GAAG,CAAM,KAAA,QAAA;AAAA,GACpB,CAAA;AAEA,EAAM,MAAA,EAAE,UAAW,EAAA,GAAI,SAAU,CAAA,aAAA,CAAA;AAEjC,EAAA,YAAA,CAAa,OAAQ,CAAA,CAAC,KAAK,WAAA,IAAe,GAAA,MAAS,QAAU,EAAA,SAAS,CAAM,KAAA;AAC1E,IAAA,MAAM,IAAO,GAAA,EAAA,CAAA;AACb,IAAA,MAAM,UAAa,GAAA,EAAA,CAAA;AACnB,IAAA,MAAM,UAAa,GAAA,EAAA,CAAA;AACnB,IAAA,MAAM,aAAgB,GAAA,CAAA,CAAA;AACtB,IAAA,MAAM,WAAc,GAAA,CAAA,CAAA;AACpB,IAAA,MAAM,SAAY,GAAA,CAAA,CAAA;AAClB,IAAA,MAAM,WAAc,GAAA,CAAA,CAAA;AACpB,IAAA,MAAM,eAAkB,GAAA,EAAA,CAAA;AACxB,IAAA,MAAM,IAAO,GAAA,KAAA,CAAA;AACb,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAEd,IAAM,MAAA,gBAAA,GAAmB,iBAAiB,UAAU,CAAA,CAAA;AACpD,IAAA,MAAM,2BAAoD,GAAA;AAAA,MACxD,IAAA;AAAA,MACA,UAAA;AAAA,MACA,QAAA;AAAA,MACA,WAAA;AAAA,MACA,gBAAA;AAAA,MACA,CAAA,EAAG,gBAAgB,CAAA,CAAA,EAAI,GAAG,CAAA,CAAA;AAAA,MAC1B,UAAA;AAAA,MACA,aAAA;AAAA,MACA,WAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA;AAAA,MACA,eAAA;AAAA,MACA,QAAA;AAAA,MACA,GAAA;AAAA,MACA,IAAA;AAAA,MACA,KAAA;AAAA,MACA,SAAA;AAAA,KACF,CAAA;AACA,IAAA,wBAAA,CAAyB,OAAO,2BAA2B,CAAA,CAAA;AAAA,GAC5D,CAAA,CAAA;AAGD,EAAA,OAAO,iBAAiB,UAAU,CAAA,CAAA;AACpC,CAAA;AAEA,eAAe,eAAe,UAA2C,EAAA;AACvE,EAAA,OAAA,CAAQ,GAAI,CAAA,CAAA,kBAAA,EAAqB,UAAW,CAAA,OAAO,CAAE,CAAA,CAAA,CAAA;AACvD,CAAA;AACA,eAAe,aAAa,UAA2C,EAAA;AACrE,EAAM,MAAA,CAAC,gBAAgB,CAAA,GAAI,UAAW,CAAA,MAAA,CAAA;AACtC,EAAc,aAAA,CAAA,MAAA,CAAO,gBAAkB,EAAA,QAAA,EAAU,WAAW,CAAA,CAAA;AAC9D,CAAA;AACA,eAAe,cAAc,UAA2C,EAAA;AACtE,EAAM,MAAA,CAAC,gBAAgB,CAAA,GAAI,UAAW,CAAA,MAAA,CAAA;AACtC,EAAc,aAAA,CAAA,MAAA,CAAO,gBAAkB,EAAA,QAAA,EAAU,YAAY,CAAA,CAAA;AAC/D,CAAA;AAEA,eAAe,gBAAgB,UAA2C,EAAA;AACxE,EAAM,MAAA;AAAA,IACJ,MAAA,EAAQ,CAAC,QAAA,EAAU,UAAU,CAAA;AAAA,GAC3B,GAAA,UAAA,CAAA;AACJ,EAAM,MAAA,GAAA,GAAM,mBAAoB,CAAA,QAAA,EAAU,UAAU,CAAA,CAAA;AACpD,EAAO,OAAA;AAAA,IACL,MAAQ,EAAA;AAAA,MACN,IAAM,EAAA,mBAAA;AAAA,MACN,GAAA;AAAA,KACF;AAAA,GACF,CAAA;AACF,CAAA;AAIO,MAAM,MAA0C,GAAA;AAAA,EACrD,UAAU,IAAIC,WAAA;AAAA,IACZD,qBAAQ,CAAA,QAAA;AAAA,IACR;AAAA,MACE,CAAC,UAAU,CAAC,CAAA;AAAA,MACZ,CAAC,kBAAkB,CAAC,CAAA;AAAA,MACpB,CAAC,QAAQ,CAAC,CAAA;AAAA,MACV,CAAC,OAAO,CAAC,CAAA;AAAA,MACT,CAAC,iBAAiB,CAAC,CAAA;AAAA,KACrB;AAAA,IACA,SAAU,CAAA,QAAA;AAAA,GACZ;AAAA,EACA,QAAQ,IAAIC,WAAA;AAAA,IACVD,qBAAQ,CAAA,MAAA;AAAA,IACR;AAAA,MACE,CAAC,YAAA,EAAc,YAAc,EAAA,CAAA,EAAG,CAAC,CAAA;AAAA,MACjC,CAAC,MAAA,EAAQ,MAAQ,EAAA,CAAA,EAAG,CAAC,CAAA;AAAA,MACrB,CAAC,UAAA,EAAY,UAAY,EAAA,CAAA,EAAG,CAAC,CAAA;AAAA,MAC7B,CAAC,QAAA,EAAU,QAAU,EAAA,CAAA,EAAG,CAAC,CAAA;AAAA,KAC3B;AAAA,IACA,SAAU,CAAA,MAAA;AAAA,GACZ;AAAA,EACA,iBAAA;AAAA,EACA,aAAA;AAAA,EACA,wBAAA;AAAA,EACA,4BAA8B,EAAAG,gBAAA;AAAA,IAC5B,EAAE,MAAA,EAAQ,QAAU,EAAA,KAAA,EAAO,8BAA+B,EAAA;AAAA,IAC1D,wBAAA;AAAA,IACAC,MAAA;AAAA,IACA,KAAA;AAAA,GACF;AAAA,EACA,mBAAmB,IAAIH,WAAA;AAAA,IACrBD,qBAAQ,CAAA,iBAAA;AAAA,IACR;AAAA,MACE,CAAC,qBAAqB,CAAC,CAAA;AAAA,MACvB,CAAC,aAAa,CAAC,CAAA;AAAA,MACf,CAAC,SAAS,CAAC,CAAA;AAAA,MACX,CAAC,QAAQ,CAAC,CAAA;AAAA,KACZ;AAAA,IACA,SAAU,CAAA,iBAAA;AAAA,GACZ;AACF,EAAA;AAEA,MAAM,KAAuD,GAAA;AAAA,EAC3D,QAAU,EAAA,KAAA,CAAA;AAAA,EACV,MAAQ,EAAA;AAAA,IACN,IAAM,EAAA,MAAA;AAAA,IACN,KAAO,EAAA;AAAA,MACL;AAAA,QACE,OAAS,EAAA,eAAA;AAAA,QACT,MAAQ,EAAA,EAAA;AAAA,QACR,IAAM,EAAA,YAAA;AAAA,QACN,OAAS,EAAA,mBAAA;AAAA,OACX;AAAA,KACF;AAAA,GACF;AAAA,EACA,iBAAmB,EAAA,KAAA,CAAA;AAAA,EACnB,aAAe,EAAA,KAAA,CAAA;AAAA,EACf,wBAA0B,EAAA,KAAA,CAAA;AAAA,EAC1B,4BAA8B,EAAA,KAAA,CAAA;AAAA,EAC9B,iBAAmB,EAAA,KAAA,CAAA;AACrB,CAAA,CAAA;AAOA,MAAM,QAA+D,GAAA;AAAA,EACnE,QAAU,EAAA,KAAA,CAAA;AAAA,EACV,MAAQ,EAAA;AAAA,IACN;AAAA,MACE,OAAS,EAAA,cAAA;AAAA,MACT,OAAS,EAAA,eAAA;AAAA,KACX;AAAA,GACF;AAAA,EACA,iBAAmB,EAAA,KAAA,CAAA;AAAA,EACnB,aAAe,EAAA;AAAA,IACb;AAAA,MACE,OAAS,EAAA,cAAA;AAAA,MACT,OAAS,EAAA,YAAA;AAAA,KACX;AAAA,IACA;AAAA,MACE,OAAS,EAAA,eAAA;AAAA,MACT,OAAS,EAAA,aAAA;AAAA,KACX;AAAA,GACF;AAAA,EACA,wBAA0B,EAAA,KAAA,CAAA;AAAA,EAC1B,4BAA8B,EAAA;AAAA,IAC5B;AAAA,MACE,OAAS,EAAA,gBAAA;AAAA,MACT,OAAS,EAAA,cAAA;AAAA,KACX;AAAA,GACF;AAAA,EACA,iBAAmB,EAAA,KAAA,CAAA;AACrB,CAAA,CAAA;AAEA,MAAM,oBAAA,GAAuB,CAAC,SAAgC,KAAA;AAC5D,EAAM,MAAA,MAAA,GAASA,sBAAQ,SAAS,CAAA,CAAA;AAChC,EAAA,OAAO,MAAO,CAAA,OAAA,CAAA;AAChB,CAAA,CAAA;AAEA,MAAM,gBAAA,GAAmB,CAAC,SAAgC,KAAA;AACxD,EAAM,MAAA,iBAAA,GAAoB,qBAAqB,SAAS,CAAA,CAAA;AACxD,EAAA,MAAM,EAAE,GAAA,EAAQ,GAAAA,qBAAA,CAAQ,SAAS,CAAA,CAAA;AACjC,EAAA,OAAO,IAAIK,6CAAuB,CAAA;AAAA,IAChC,iBAAA;AAAA,IACA,OAAA,EAAS,UAAU,SAAS,CAAA;AAAA,IAC5B,SAAW,EAAA,GAAA;AAAA,IACX,IAAA,EAAM,MAAM,SAAS,CAAA;AAAA,IACrB,WAAA,EAAa,SAAS,SAAS,CAAA;AAAA,IAC/B,KAAA,EAAO,OAAO,SAAS,CAAA;AAAA;AAAA,GAExB,CAAA,CAAA;AACH,CAAA,CAAA;AAEA,MAAM,iBAAA,GAAoB,YAAY,EAAC,CAAA;AAEhC,MAAM,YAA4C,GAAA;AAAA,EACvD,gBAAA;AAAA,EACA,eAAe,MAAM,iBAAA;AACvB;;;;;;"}
|
|
1
|
+
{"version":3,"file":"basket-module.js","sources":["../../src/basket/basket-module.ts"],"sourcesContent":["import {\n ClientToServerViewportRpcCall,\n VuuMenu,\n VuuRowDataItemType,\n} from \"@vuu-ui/vuu-protocol-types\";\nimport { ColumnMap } from \"@vuu-ui/vuu-utils\";\nimport pricesTable from \"./reference-data/prices\";\nimport { joinTables, Table } from \"../Table\";\nimport { TickingArrayDataSource } from \"../TickingArrayDataSource\";\nimport type { VuuModule } from \"../vuu-modules\";\nimport { BasketsTableName, schemas } from \"./basket-schemas\";\nimport basketConstituentData from \"./reference-data/constituents\";\n\ntype RpcService = {\n rpcName: string;\n service: (rpcRequest: any) => Promise<unknown>;\n};\n\n// This is a 'local' columnMap\nconst buildDataColumnMap = (tableName: BasketsTableName) =>\n Object.values(schemas[tableName].columns).reduce<ColumnMap>(\n (map, col, index) => {\n map[col.name] = index;\n return map;\n },\n {}\n );\n\nconst tableMaps: Record<BasketsTableName, ColumnMap> = {\n algoType: buildDataColumnMap(\"algoType\"),\n basket: buildDataColumnMap(\"basket\"),\n basketTrading: buildDataColumnMap(\"basketTrading\"),\n basketTradingConstituent: buildDataColumnMap(\"basketTradingConstituent\"),\n basketConstituent: buildDataColumnMap(\"basketConstituent\"),\n basketTradingConstituentJoin: buildDataColumnMap(\n \"basketTradingConstituentJoin\"\n ),\n priceStrategyType: buildDataColumnMap(\"priceStrategyType\"),\n};\n\n/**\n * BasketConstituent\n */\n\nconst basketConstituent = new Table(\n schemas.basketConstituent,\n basketConstituentData,\n tableMaps.basketConstituent\n);\n\n/**\n * BasketTrading\n */\nconst basketTrading = new Table(\n schemas.basketTrading,\n [],\n tableMaps.basketTrading\n);\n\nlet basketIncrement = 1;\n/**\n * BasketTradingConstituent\n */\nconst basketTradingConstituent = new Table(\n schemas.basketTradingConstituent,\n [],\n tableMaps.basketTradingConstituent\n);\n\n// export as convenience for showcase examples\nexport const createBasketTradingRow = (\n basketId: string,\n basketName: string,\n side = \"BUY\",\n status = \"OFF MARKET\"\n) => [\n basketId,\n basketName,\n 0,\n 1.25,\n `steve-${basketIncrement++}`,\n side,\n status,\n 1_000_000,\n 1_250_000,\n 100,\n];\n\nfunction createTradingBasket(basketId: string, basketName: string) {\n const basketTradingRow = createBasketTradingRow(basketId, basketName);\n\n basketTrading.insert(basketTradingRow);\n\n const { basketId: key } = buildDataColumnMap(\"basketConstituent\");\n const constituents = basketConstituent.data.filter(\n (c) => c[key] === basketId\n );\n\n const { instanceId } = tableMaps.basketTrading;\n\n constituents.forEach(([, , description, , ric, , , quantity, weighting]) => {\n const algo = \"\";\n const algoParams = \"\";\n const limitPrice = 95;\n const notionalLocal = 0;\n const notionalUsd = 0;\n const pctFilled = 0;\n const priceSpread = 0;\n const priceStrategyId = \"\";\n const side = \"BUY\";\n const venue = \"venue\";\n\n const basketInstanceId = basketTradingRow[instanceId];\n const basketTradingConstituentRow: VuuRowDataItemType[] = [\n algo,\n algoParams,\n basketId,\n description,\n basketInstanceId,\n `${basketInstanceId}-${ric}`,\n limitPrice,\n notionalLocal,\n notionalUsd,\n pctFilled,\n priceSpread,\n priceStrategyId,\n quantity,\n ric,\n side,\n venue,\n weighting,\n ];\n basketTradingConstituent.insert(basketTradingConstituentRow);\n });\n\n // return the key\n return basketTradingRow[instanceId] as string;\n}\n\nasync function addConstituent(rpcRequest: ClientToServerViewportRpcCall) {\n console.log(`RPC call erceived ${rpcRequest.rpcName}`);\n}\nasync function sendToMarket(rpcRequest: ClientToServerViewportRpcCall) {\n const [basketInstanceId] = rpcRequest.params;\n basketTrading.update(basketInstanceId, \"status\", \"ON_MARKET\");\n}\nasync function takeOffMarket(rpcRequest: ClientToServerViewportRpcCall) {\n const [basketInstanceId] = rpcRequest.params;\n basketTrading.update(basketInstanceId, \"status\", \"OFF-MARKET\");\n}\n\nasync function createNewBasket(rpcRequest: ClientToServerViewportRpcCall) {\n const {\n params: [basketId, basketName],\n } = rpcRequest;\n const key = createTradingBasket(basketId, basketName);\n return {\n action: {\n type: \"VP_CREATE_SUCCESS\",\n key,\n },\n };\n}\n\n//-------------------\n\nexport const tables: Record<BasketsTableName, Table> = {\n algoType: new Table(\n schemas.algoType,\n [\n [\"Sniper\", 0],\n [\"Dark Liquidity\", 1],\n [\"VWAP\", 2],\n [\"POV\", 3],\n [\"Dynamic Close\", 4],\n ],\n tableMaps.algoType\n ),\n basket: new Table(\n schemas.basket,\n [\n [\".NASDAQ100\", \".NASDAQ100\", 0, 0],\n [\".HSI\", \".HSI\", 0, 0],\n [\".FTSE100\", \".FTSE100\", 0, 0],\n [\".SP500\", \".SP500\", 0, 0],\n ],\n tableMaps.basket\n ),\n basketConstituent,\n basketTrading,\n basketTradingConstituent,\n basketTradingConstituentJoin: joinTables(\n { module: \"BASKET\", table: \"basketTradingConstituentJoin\" },\n basketTradingConstituent,\n pricesTable,\n \"ric\"\n ),\n priceStrategyType: new Table(\n schemas.priceStrategyType,\n [\n [\"Peg to Near Touch\", 0],\n [\"Far Touch\", 1],\n [\"Limit\", 2],\n [\"Algo\", 3],\n ],\n tableMaps.priceStrategyType\n ),\n};\n\nconst menus: Record<BasketsTableName, VuuMenu | undefined> = {\n algoType: undefined,\n basket: {\n name: \"ROOT\",\n menus: [\n {\n context: \"selected-rows\",\n filter: \"\",\n name: \"Add Basket\",\n rpcName: \"CREATE_NEW_BASKET\",\n },\n ],\n },\n basketConstituent: undefined,\n basketTrading: undefined,\n basketTradingConstituent: undefined,\n basketTradingConstituentJoin: undefined,\n priceStrategyType: undefined,\n};\n\nconst services: Record<BasketsTableName, RpcService[] | undefined> = {\n algoType: undefined,\n basket: [\n {\n rpcName: \"createBasket\",\n service: createNewBasket,\n },\n ],\n basketConstituent: undefined,\n basketTrading: [\n {\n rpcName: \"sendToMarket\",\n service: sendToMarket,\n },\n {\n rpcName: \"takeOffMarket\",\n service: takeOffMarket,\n },\n ],\n basketTradingConstituent: undefined,\n basketTradingConstituentJoin: [\n {\n rpcName: \"addConstituent\",\n service: addConstituent,\n },\n ],\n priceStrategyType: undefined,\n};\n\nconst getColumnDescriptors = (tableName: BasketsTableName) => {\n const schema = schemas[tableName];\n return schema.columns;\n};\n\nconst createDataSource = (tableName: BasketsTableName) => {\n const columnDescriptors = getColumnDescriptors(tableName);\n const { key } = schemas[tableName];\n return new TickingArrayDataSource({\n columnDescriptors,\n dataMap: tableMaps[tableName],\n keyColumn: key,\n menu: menus[tableName],\n rpcServices: services[tableName],\n table: tables[tableName],\n // updateGenerator: createUpdateGenerator?.(),\n });\n};\n\nconst nullTypeaheadHook = async () => [];\n\nexport const basketModule: VuuModule<BasketsTableName> = {\n createDataSource,\n typeaheadHook: () => nullTypeaheadHook,\n};\n"],"names":["schemas","Table","basketConstituentData","joinTables","pricesTable","TickingArrayDataSource"],"mappings":"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"}
|
|
@@ -39,14 +39,64 @@ const getColumnDescriptors = (tableName) => {
|
|
|
39
39
|
throw Error(`simul-module no schema found for table SIMUL ${tableName}`);
|
|
40
40
|
}
|
|
41
41
|
};
|
|
42
|
+
const menus = {
|
|
43
|
+
childOrders: void 0,
|
|
44
|
+
instruments: {
|
|
45
|
+
name: "ROOT",
|
|
46
|
+
menus: [
|
|
47
|
+
{
|
|
48
|
+
context: "selected-rows",
|
|
49
|
+
filter: "",
|
|
50
|
+
name: "Add Instruments To Order",
|
|
51
|
+
rpcName: "ADD_INSTRUMENTS_TO_ORDER"
|
|
52
|
+
}
|
|
53
|
+
]
|
|
54
|
+
},
|
|
55
|
+
instrumentsExtended: void 0,
|
|
56
|
+
instrumentPrices: void 0,
|
|
57
|
+
orders: void 0,
|
|
58
|
+
parentOrders: void 0,
|
|
59
|
+
prices: void 0
|
|
60
|
+
};
|
|
61
|
+
async function addInstrumentsToOrder() {
|
|
62
|
+
new Table.Table(
|
|
63
|
+
simulSchemas.schemas.instruments,
|
|
64
|
+
[],
|
|
65
|
+
Table.buildDataColumnMap(simulSchemas.schemas.instruments)
|
|
66
|
+
);
|
|
67
|
+
return {
|
|
68
|
+
action: {
|
|
69
|
+
renderComponent: "grid",
|
|
70
|
+
table: {
|
|
71
|
+
module: "SIMUL",
|
|
72
|
+
table: "session-table-1"
|
|
73
|
+
},
|
|
74
|
+
type: "OPEN_DIALOG_ACTION"
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
const services = {
|
|
79
|
+
childOrders: void 0,
|
|
80
|
+
instruments: [
|
|
81
|
+
{
|
|
82
|
+
rpcName: "ADD_INSTRUMENTS_TO_ORDER",
|
|
83
|
+
service: addInstrumentsToOrder
|
|
84
|
+
}
|
|
85
|
+
],
|
|
86
|
+
instrumentsExtended: void 0,
|
|
87
|
+
instrumentPrices: void 0,
|
|
88
|
+
orders: void 0,
|
|
89
|
+
parentOrders: void 0,
|
|
90
|
+
prices: void 0
|
|
91
|
+
};
|
|
42
92
|
const createDataSource = (tableName) => {
|
|
43
93
|
const columnDescriptors = getColumnDescriptors(tableName);
|
|
44
94
|
return new TickingArrayDataSource.TickingArrayDataSource({
|
|
45
95
|
columnDescriptors,
|
|
46
96
|
keyColumn: simulSchemas.schemas[tableName].key,
|
|
47
|
-
table: tables[tableName]
|
|
48
|
-
|
|
49
|
-
|
|
97
|
+
table: tables[tableName],
|
|
98
|
+
menu: menus[tableName],
|
|
99
|
+
rpcServices: services[tableName]
|
|
50
100
|
});
|
|
51
101
|
};
|
|
52
102
|
const suggestionFetcher = ([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simul-module.js","sources":["../../src/simul/simul-module.ts"],"sourcesContent":["import { SuggestionFetcher } from \"@vuu-ui/vuu-data-types\";\nimport { TypeaheadParams } from \"@vuu-ui/vuu-protocol-types\";\nimport { makeSuggestions } from \"../makeSuggestions\";\nimport { buildDataColumnMap, joinTables, Table } from \"../Table\";\nimport { TickingArrayDataSource } from \"../TickingArrayDataSource\";\nimport { VuuModule } from \"../vuu-modules\";\nimport { instrumentsTable } from \"./reference-data/instruments\";\nimport { instrumentsExtendedTable } from \"./reference-data/instruments-extended\";\nimport { ordersTable } from \"./reference-data/orders\";\nimport { pricesTable } from \"./reference-data/prices\";\nimport { schemas, SimulTableName } from \"./simul-schemas\";\n\nconst tables: Record<SimulTableName, Table> = {\n childOrders: new Table(\n schemas.childOrders,\n [],\n buildDataColumnMap(schemas.childOrders)\n ),\n instruments: instrumentsTable,\n instrumentsExtended: instrumentsExtendedTable,\n instrumentPrices: joinTables(\n { module: \"SIMUL\", table: \"instrumentPrices\" },\n instrumentsTable,\n pricesTable,\n \"ric\"\n ),\n orders: ordersTable,\n parentOrders: new Table(\n schemas.parentOrders,\n [],\n buildDataColumnMap(schemas.parentOrders)\n ),\n prices: pricesTable,\n};\n\nconst getColumnDescriptors = (tableName: SimulTableName) => {\n const schema = schemas[tableName];\n if (schema) {\n return schema.columns;\n } else {\n throw Error(`simul-module no schema found for table SIMUL ${tableName}`);\n }\n};\n\nconst createDataSource = (tableName: SimulTableName) => {\n const columnDescriptors = getColumnDescriptors(tableName);\n return new TickingArrayDataSource({\n columnDescriptors,\n keyColumn: schemas[tableName].key,\n table: tables[tableName],\n
|
|
1
|
+
{"version":3,"file":"simul-module.js","sources":["../../src/simul/simul-module.ts"],"sourcesContent":["import { SuggestionFetcher } from \"@vuu-ui/vuu-data-types\";\nimport { TypeaheadParams, VuuMenu } from \"@vuu-ui/vuu-protocol-types\";\nimport { makeSuggestions } from \"../makeSuggestions\";\nimport { buildDataColumnMap, joinTables, Table } from \"../Table\";\nimport { TickingArrayDataSource } from \"../TickingArrayDataSource\";\nimport type { VuuModule } from \"../vuu-modules\";\nimport { instrumentsTable } from \"./reference-data/instruments\";\nimport { instrumentsExtendedTable } from \"./reference-data/instruments-extended\";\nimport { ordersTable } from \"./reference-data/orders\";\nimport { pricesTable } from \"./reference-data/prices\";\nimport { schemas, type SimulTableName } from \"./simul-schemas\";\n\ntype RpcService = {\n rpcName: string;\n service: (rpcRequest: any) => Promise<unknown>;\n};\n\nconst sessionTables: Record<string, Table> = {};\n\nconst tables: Record<SimulTableName, Table> = {\n childOrders: new Table(\n schemas.childOrders,\n [],\n buildDataColumnMap(schemas.childOrders)\n ),\n instruments: instrumentsTable,\n instrumentsExtended: instrumentsExtendedTable,\n instrumentPrices: joinTables(\n { module: \"SIMUL\", table: \"instrumentPrices\" },\n instrumentsTable,\n pricesTable,\n \"ric\"\n ),\n orders: ordersTable,\n parentOrders: new Table(\n schemas.parentOrders,\n [],\n buildDataColumnMap(schemas.parentOrders)\n ),\n prices: pricesTable,\n};\n\nconst getColumnDescriptors = (tableName: SimulTableName) => {\n const schema = schemas[tableName];\n if (schema) {\n return schema.columns;\n } else {\n throw Error(`simul-module no schema found for table SIMUL ${tableName}`);\n }\n};\n\nconst menus: Record<SimulTableName, VuuMenu | undefined> = {\n childOrders: undefined,\n instruments: {\n name: \"ROOT\",\n menus: [\n {\n context: \"selected-rows\",\n filter: \"\",\n name: \"Add Instruments To Order\",\n rpcName: \"ADD_INSTRUMENTS_TO_ORDER\",\n },\n ],\n },\n instrumentsExtended: undefined,\n instrumentPrices: undefined,\n orders: undefined,\n parentOrders: undefined,\n prices: undefined,\n};\n\nasync function addInstrumentsToOrder(/*rpcRequest: unknown*/) {\n // create a `session table`,\n // populate with selected Instruments\n // sens subscriptionn details to user\n\n const sessionTableId = \"session-table-1\";\n sessionTables[sessionTableId] = new Table(\n schemas.instruments,\n [],\n buildDataColumnMap(schemas.instruments)\n );\n\n return {\n action: {\n renderComponent: \"grid\",\n table: {\n module: \"SIMUL\",\n table: \"session-table-1\",\n },\n type: \"OPEN_DIALOG_ACTION\",\n },\n };\n}\n\nconst services: Record<SimulTableName, RpcService[] | undefined> = {\n childOrders: undefined,\n instruments: [\n {\n rpcName: \"ADD_INSTRUMENTS_TO_ORDER\",\n service: addInstrumentsToOrder,\n },\n ],\n instrumentsExtended: undefined,\n instrumentPrices: undefined,\n orders: undefined,\n parentOrders: undefined,\n prices: undefined,\n};\n\nconst createDataSource = (tableName: SimulTableName) => {\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 SimulTableName];\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\nexport const simulModule: VuuModule<SimulTableName> = {\n createDataSource,\n typeaheadHook: () => suggestionFetcher,\n};\n"],"names":["Table","schemas","buildDataColumnMap","instrumentsTable","instrumentsExtendedTable","joinTables","pricesTable","ordersTable","TickingArrayDataSource","makeSuggestions"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"basket-module.js","sources":["../../src/basket/basket-module.ts"],"sourcesContent":["import {\n ClientToServerViewportRpcCall,\n VuuMenu,\n VuuRowDataItemType,\n} from \"@vuu-ui/vuu-protocol-types\";\nimport { ColumnMap } from \"@vuu-ui/vuu-utils\";\nimport pricesTable from \"./reference-data/prices\";\nimport { joinTables, Table } from \"../Table\";\nimport { TickingArrayDataSource } from \"../TickingArrayDataSource\";\nimport { VuuModule } from \"../vuu-modules\";\nimport { BasketsTableName, schemas } from \"./basket-schemas\";\nimport basketConstituentData from \"./reference-data/constituents\";\n\n// This is a 'local' columnMap\nconst buildDataColumnMap = (tableName: BasketsTableName) =>\n Object.values(schemas[tableName].columns).reduce<ColumnMap>(\n (map, col, index) => {\n map[col.name] = index;\n return map;\n },\n {}\n );\n\nconst tableMaps: Record<BasketsTableName, ColumnMap> = {\n algoType: buildDataColumnMap(\"algoType\"),\n basket: buildDataColumnMap(\"basket\"),\n basketTrading: buildDataColumnMap(\"basketTrading\"),\n basketTradingConstituent: buildDataColumnMap(\"basketTradingConstituent\"),\n basketConstituent: buildDataColumnMap(\"basketConstituent\"),\n basketTradingConstituentJoin: buildDataColumnMap(\n \"basketTradingConstituentJoin\"\n ),\n priceStrategyType: buildDataColumnMap(\"priceStrategyType\"),\n};\n\n/**\n * BasketConstituent\n */\n\nconst basketConstituent = new Table(\n schemas.basketConstituent,\n basketConstituentData,\n tableMaps.basketConstituent\n);\n\n/**\n * BasketTrading\n */\nconst basketTrading = new Table(\n schemas.basketTrading,\n [],\n tableMaps.basketTrading\n);\n\nlet basketIncrement = 1;\n/**\n * BasketTradingConstituent\n */\nconst basketTradingConstituent = new Table(\n schemas.basketTradingConstituent,\n [],\n tableMaps.basketTradingConstituent\n);\n\n// export as convenience for showcase examples\nexport const createBasketTradingRow = (\n basketId: string,\n basketName: string,\n side = \"BUY\",\n status = \"OFF MARKET\"\n) => [\n basketId,\n basketName,\n 0,\n 1.25,\n `steve-${basketIncrement++}`,\n side,\n status,\n 1_000_000,\n 1_250_000,\n 100,\n];\n\nfunction createTradingBasket(basketId: string, basketName: string) {\n const basketTradingRow = createBasketTradingRow(basketId, basketName);\n\n basketTrading.insert(basketTradingRow);\n\n const { basketId: key } = buildDataColumnMap(\"basketConstituent\");\n const constituents = basketConstituent.data.filter(\n (c) => c[key] === basketId\n );\n\n const { instanceId } = tableMaps.basketTrading;\n\n constituents.forEach(([, , description, , ric, , , quantity, weighting]) => {\n const algo = \"\";\n const algoParams = \"\";\n const limitPrice = 95;\n const notionalLocal = 0;\n const notionalUsd = 0;\n const pctFilled = 0;\n const priceSpread = 0;\n const priceStrategyId = \"\";\n const side = \"BUY\";\n const venue = \"venue\";\n\n const basketInstanceId = basketTradingRow[instanceId];\n const basketTradingConstituentRow: VuuRowDataItemType[] = [\n algo,\n algoParams,\n basketId,\n description,\n basketInstanceId,\n `${basketInstanceId}-${ric}`,\n limitPrice,\n notionalLocal,\n notionalUsd,\n pctFilled,\n priceSpread,\n priceStrategyId,\n quantity,\n ric,\n side,\n venue,\n weighting,\n ];\n basketTradingConstituent.insert(basketTradingConstituentRow);\n });\n\n // return the key\n return basketTradingRow[instanceId] as string;\n}\n\nasync function addConstituent(rpcRequest: ClientToServerViewportRpcCall) {\n console.log(`RPC call erceived ${rpcRequest.rpcName}`);\n}\nasync function sendToMarket(rpcRequest: ClientToServerViewportRpcCall) {\n const [basketInstanceId] = rpcRequest.params;\n basketTrading.update(basketInstanceId, \"status\", \"ON_MARKET\");\n}\nasync function takeOffMarket(rpcRequest: ClientToServerViewportRpcCall) {\n const [basketInstanceId] = rpcRequest.params;\n basketTrading.update(basketInstanceId, \"status\", \"OFF-MARKET\");\n}\n\nasync function createNewBasket(rpcRequest: ClientToServerViewportRpcCall) {\n const {\n params: [basketId, basketName],\n } = rpcRequest;\n const key = createTradingBasket(basketId, basketName);\n return {\n action: {\n type: \"VP_CREATE_SUCCESS\",\n key,\n },\n };\n}\n\n//-------------------\n\nexport const tables: Record<BasketsTableName, Table> = {\n algoType: new Table(\n schemas.algoType,\n [\n [\"Sniper\", 0],\n [\"Dark Liquidity\", 1],\n [\"VWAP\", 2],\n [\"POV\", 3],\n [\"Dynamic Close\", 4],\n ],\n tableMaps.algoType\n ),\n basket: new Table(\n schemas.basket,\n [\n [\".NASDAQ100\", \".NASDAQ100\", 0, 0],\n [\".HSI\", \".HSI\", 0, 0],\n [\".FTSE100\", \".FTSE100\", 0, 0],\n [\".SP500\", \".SP500\", 0, 0],\n ],\n tableMaps.basket\n ),\n basketConstituent,\n basketTrading,\n basketTradingConstituent,\n basketTradingConstituentJoin: joinTables(\n { module: \"BASKET\", table: \"basketTradingConstituentJoin\" },\n basketTradingConstituent,\n pricesTable,\n \"ric\"\n ),\n priceStrategyType: new Table(\n schemas.priceStrategyType,\n [\n [\"Peg to Near Touch\", 0],\n [\"Far Touch\", 1],\n [\"Limit\", 2],\n [\"Algo\", 3],\n ],\n tableMaps.priceStrategyType\n ),\n};\n\nconst menus: Record<BasketsTableName, VuuMenu | undefined> = {\n algoType: undefined,\n basket: {\n name: \"ROOT\",\n menus: [\n {\n context: \"selected-rows\",\n filter: \"\",\n name: \"Add Basket\",\n rpcName: \"CREATE_NEW_BASKET\",\n },\n ],\n },\n basketConstituent: undefined,\n basketTrading: undefined,\n basketTradingConstituent: undefined,\n basketTradingConstituentJoin: undefined,\n priceStrategyType: undefined,\n};\n\ntype RpcService = {\n rpcName: string;\n service: (rpcRequest: any) => Promise<unknown>;\n};\n\nconst services: Record<BasketsTableName, RpcService[] | undefined> = {\n algoType: undefined,\n basket: [\n {\n rpcName: \"createBasket\",\n service: createNewBasket,\n },\n ],\n basketConstituent: undefined,\n basketTrading: [\n {\n rpcName: \"sendToMarket\",\n service: sendToMarket,\n },\n {\n rpcName: \"takeOffMarket\",\n service: takeOffMarket,\n },\n ],\n basketTradingConstituent: undefined,\n basketTradingConstituentJoin: [\n {\n rpcName: \"addConstituent\",\n service: addConstituent,\n },\n ],\n priceStrategyType: undefined,\n};\n\nconst getColumnDescriptors = (tableName: BasketsTableName) => {\n const schema = schemas[tableName];\n return schema.columns;\n};\n\nconst createDataSource = (tableName: BasketsTableName) => {\n const columnDescriptors = getColumnDescriptors(tableName);\n const { key } = schemas[tableName];\n return new TickingArrayDataSource({\n columnDescriptors,\n dataMap: tableMaps[tableName],\n keyColumn: key,\n menu: menus[tableName],\n rpcServices: services[tableName],\n table: tables[tableName],\n // updateGenerator: createUpdateGenerator?.(),\n });\n};\n\nconst nullTypeaheadHook = async () => [];\n\nexport const basketModule: VuuModule<BasketsTableName> = {\n createDataSource,\n typeaheadHook: () => nullTypeaheadHook,\n};\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"basket-module.js","sources":["../../src/basket/basket-module.ts"],"sourcesContent":["import {\n ClientToServerViewportRpcCall,\n VuuMenu,\n VuuRowDataItemType,\n} from \"@vuu-ui/vuu-protocol-types\";\nimport { ColumnMap } from \"@vuu-ui/vuu-utils\";\nimport pricesTable from \"./reference-data/prices\";\nimport { joinTables, Table } from \"../Table\";\nimport { TickingArrayDataSource } from \"../TickingArrayDataSource\";\nimport type { VuuModule } from \"../vuu-modules\";\nimport { BasketsTableName, schemas } from \"./basket-schemas\";\nimport basketConstituentData from \"./reference-data/constituents\";\n\ntype RpcService = {\n rpcName: string;\n service: (rpcRequest: any) => Promise<unknown>;\n};\n\n// This is a 'local' columnMap\nconst buildDataColumnMap = (tableName: BasketsTableName) =>\n Object.values(schemas[tableName].columns).reduce<ColumnMap>(\n (map, col, index) => {\n map[col.name] = index;\n return map;\n },\n {}\n );\n\nconst tableMaps: Record<BasketsTableName, ColumnMap> = {\n algoType: buildDataColumnMap(\"algoType\"),\n basket: buildDataColumnMap(\"basket\"),\n basketTrading: buildDataColumnMap(\"basketTrading\"),\n basketTradingConstituent: buildDataColumnMap(\"basketTradingConstituent\"),\n basketConstituent: buildDataColumnMap(\"basketConstituent\"),\n basketTradingConstituentJoin: buildDataColumnMap(\n \"basketTradingConstituentJoin\"\n ),\n priceStrategyType: buildDataColumnMap(\"priceStrategyType\"),\n};\n\n/**\n * BasketConstituent\n */\n\nconst basketConstituent = new Table(\n schemas.basketConstituent,\n basketConstituentData,\n tableMaps.basketConstituent\n);\n\n/**\n * BasketTrading\n */\nconst basketTrading = new Table(\n schemas.basketTrading,\n [],\n tableMaps.basketTrading\n);\n\nlet basketIncrement = 1;\n/**\n * BasketTradingConstituent\n */\nconst basketTradingConstituent = new Table(\n schemas.basketTradingConstituent,\n [],\n tableMaps.basketTradingConstituent\n);\n\n// export as convenience for showcase examples\nexport const createBasketTradingRow = (\n basketId: string,\n basketName: string,\n side = \"BUY\",\n status = \"OFF MARKET\"\n) => [\n basketId,\n basketName,\n 0,\n 1.25,\n `steve-${basketIncrement++}`,\n side,\n status,\n 1_000_000,\n 1_250_000,\n 100,\n];\n\nfunction createTradingBasket(basketId: string, basketName: string) {\n const basketTradingRow = createBasketTradingRow(basketId, basketName);\n\n basketTrading.insert(basketTradingRow);\n\n const { basketId: key } = buildDataColumnMap(\"basketConstituent\");\n const constituents = basketConstituent.data.filter(\n (c) => c[key] === basketId\n );\n\n const { instanceId } = tableMaps.basketTrading;\n\n constituents.forEach(([, , description, , ric, , , quantity, weighting]) => {\n const algo = \"\";\n const algoParams = \"\";\n const limitPrice = 95;\n const notionalLocal = 0;\n const notionalUsd = 0;\n const pctFilled = 0;\n const priceSpread = 0;\n const priceStrategyId = \"\";\n const side = \"BUY\";\n const venue = \"venue\";\n\n const basketInstanceId = basketTradingRow[instanceId];\n const basketTradingConstituentRow: VuuRowDataItemType[] = [\n algo,\n algoParams,\n basketId,\n description,\n basketInstanceId,\n `${basketInstanceId}-${ric}`,\n limitPrice,\n notionalLocal,\n notionalUsd,\n pctFilled,\n priceSpread,\n priceStrategyId,\n quantity,\n ric,\n side,\n venue,\n weighting,\n ];\n basketTradingConstituent.insert(basketTradingConstituentRow);\n });\n\n // return the key\n return basketTradingRow[instanceId] as string;\n}\n\nasync function addConstituent(rpcRequest: ClientToServerViewportRpcCall) {\n console.log(`RPC call erceived ${rpcRequest.rpcName}`);\n}\nasync function sendToMarket(rpcRequest: ClientToServerViewportRpcCall) {\n const [basketInstanceId] = rpcRequest.params;\n basketTrading.update(basketInstanceId, \"status\", \"ON_MARKET\");\n}\nasync function takeOffMarket(rpcRequest: ClientToServerViewportRpcCall) {\n const [basketInstanceId] = rpcRequest.params;\n basketTrading.update(basketInstanceId, \"status\", \"OFF-MARKET\");\n}\n\nasync function createNewBasket(rpcRequest: ClientToServerViewportRpcCall) {\n const {\n params: [basketId, basketName],\n } = rpcRequest;\n const key = createTradingBasket(basketId, basketName);\n return {\n action: {\n type: \"VP_CREATE_SUCCESS\",\n key,\n },\n };\n}\n\n//-------------------\n\nexport const tables: Record<BasketsTableName, Table> = {\n algoType: new Table(\n schemas.algoType,\n [\n [\"Sniper\", 0],\n [\"Dark Liquidity\", 1],\n [\"VWAP\", 2],\n [\"POV\", 3],\n [\"Dynamic Close\", 4],\n ],\n tableMaps.algoType\n ),\n basket: new Table(\n schemas.basket,\n [\n [\".NASDAQ100\", \".NASDAQ100\", 0, 0],\n [\".HSI\", \".HSI\", 0, 0],\n [\".FTSE100\", \".FTSE100\", 0, 0],\n [\".SP500\", \".SP500\", 0, 0],\n ],\n tableMaps.basket\n ),\n basketConstituent,\n basketTrading,\n basketTradingConstituent,\n basketTradingConstituentJoin: joinTables(\n { module: \"BASKET\", table: \"basketTradingConstituentJoin\" },\n basketTradingConstituent,\n pricesTable,\n \"ric\"\n ),\n priceStrategyType: new Table(\n schemas.priceStrategyType,\n [\n [\"Peg to Near Touch\", 0],\n [\"Far Touch\", 1],\n [\"Limit\", 2],\n [\"Algo\", 3],\n ],\n tableMaps.priceStrategyType\n ),\n};\n\nconst menus: Record<BasketsTableName, VuuMenu | undefined> = {\n algoType: undefined,\n basket: {\n name: \"ROOT\",\n menus: [\n {\n context: \"selected-rows\",\n filter: \"\",\n name: \"Add Basket\",\n rpcName: \"CREATE_NEW_BASKET\",\n },\n ],\n },\n basketConstituent: undefined,\n basketTrading: undefined,\n basketTradingConstituent: undefined,\n basketTradingConstituentJoin: undefined,\n priceStrategyType: undefined,\n};\n\nconst services: Record<BasketsTableName, RpcService[] | undefined> = {\n algoType: undefined,\n basket: [\n {\n rpcName: \"createBasket\",\n service: createNewBasket,\n },\n ],\n basketConstituent: undefined,\n basketTrading: [\n {\n rpcName: \"sendToMarket\",\n service: sendToMarket,\n },\n {\n rpcName: \"takeOffMarket\",\n service: takeOffMarket,\n },\n ],\n basketTradingConstituent: undefined,\n basketTradingConstituentJoin: [\n {\n rpcName: \"addConstituent\",\n service: addConstituent,\n },\n ],\n priceStrategyType: undefined,\n};\n\nconst getColumnDescriptors = (tableName: BasketsTableName) => {\n const schema = schemas[tableName];\n return schema.columns;\n};\n\nconst createDataSource = (tableName: BasketsTableName) => {\n const columnDescriptors = getColumnDescriptors(tableName);\n const { key } = schemas[tableName];\n return new TickingArrayDataSource({\n columnDescriptors,\n dataMap: tableMaps[tableName],\n keyColumn: key,\n menu: menus[tableName],\n rpcServices: services[tableName],\n table: tables[tableName],\n // updateGenerator: createUpdateGenerator?.(),\n });\n};\n\nconst nullTypeaheadHook = async () => [];\n\nexport const basketModule: VuuModule<BasketsTableName> = {\n createDataSource,\n typeaheadHook: () => nullTypeaheadHook,\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -37,14 +37,64 @@ const getColumnDescriptors = (tableName) => {
|
|
|
37
37
|
throw Error(`simul-module no schema found for table SIMUL ${tableName}`);
|
|
38
38
|
}
|
|
39
39
|
};
|
|
40
|
+
const menus = {
|
|
41
|
+
childOrders: void 0,
|
|
42
|
+
instruments: {
|
|
43
|
+
name: "ROOT",
|
|
44
|
+
menus: [
|
|
45
|
+
{
|
|
46
|
+
context: "selected-rows",
|
|
47
|
+
filter: "",
|
|
48
|
+
name: "Add Instruments To Order",
|
|
49
|
+
rpcName: "ADD_INSTRUMENTS_TO_ORDER"
|
|
50
|
+
}
|
|
51
|
+
]
|
|
52
|
+
},
|
|
53
|
+
instrumentsExtended: void 0,
|
|
54
|
+
instrumentPrices: void 0,
|
|
55
|
+
orders: void 0,
|
|
56
|
+
parentOrders: void 0,
|
|
57
|
+
prices: void 0
|
|
58
|
+
};
|
|
59
|
+
async function addInstrumentsToOrder() {
|
|
60
|
+
new Table(
|
|
61
|
+
schemas.instruments,
|
|
62
|
+
[],
|
|
63
|
+
buildDataColumnMap(schemas.instruments)
|
|
64
|
+
);
|
|
65
|
+
return {
|
|
66
|
+
action: {
|
|
67
|
+
renderComponent: "grid",
|
|
68
|
+
table: {
|
|
69
|
+
module: "SIMUL",
|
|
70
|
+
table: "session-table-1"
|
|
71
|
+
},
|
|
72
|
+
type: "OPEN_DIALOG_ACTION"
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
const services = {
|
|
77
|
+
childOrders: void 0,
|
|
78
|
+
instruments: [
|
|
79
|
+
{
|
|
80
|
+
rpcName: "ADD_INSTRUMENTS_TO_ORDER",
|
|
81
|
+
service: addInstrumentsToOrder
|
|
82
|
+
}
|
|
83
|
+
],
|
|
84
|
+
instrumentsExtended: void 0,
|
|
85
|
+
instrumentPrices: void 0,
|
|
86
|
+
orders: void 0,
|
|
87
|
+
parentOrders: void 0,
|
|
88
|
+
prices: void 0
|
|
89
|
+
};
|
|
40
90
|
const createDataSource = (tableName) => {
|
|
41
91
|
const columnDescriptors = getColumnDescriptors(tableName);
|
|
42
92
|
return new TickingArrayDataSource({
|
|
43
93
|
columnDescriptors,
|
|
44
94
|
keyColumn: schemas[tableName].key,
|
|
45
|
-
table: tables[tableName]
|
|
46
|
-
|
|
47
|
-
|
|
95
|
+
table: tables[tableName],
|
|
96
|
+
menu: menus[tableName],
|
|
97
|
+
rpcServices: services[tableName]
|
|
48
98
|
});
|
|
49
99
|
};
|
|
50
100
|
const suggestionFetcher = ([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simul-module.js","sources":["../../src/simul/simul-module.ts"],"sourcesContent":["import { SuggestionFetcher } from \"@vuu-ui/vuu-data-types\";\nimport { TypeaheadParams } from \"@vuu-ui/vuu-protocol-types\";\nimport { makeSuggestions } from \"../makeSuggestions\";\nimport { buildDataColumnMap, joinTables, Table } from \"../Table\";\nimport { TickingArrayDataSource } from \"../TickingArrayDataSource\";\nimport { VuuModule } from \"../vuu-modules\";\nimport { instrumentsTable } from \"./reference-data/instruments\";\nimport { instrumentsExtendedTable } from \"./reference-data/instruments-extended\";\nimport { ordersTable } from \"./reference-data/orders\";\nimport { pricesTable } from \"./reference-data/prices\";\nimport { schemas, SimulTableName } from \"./simul-schemas\";\n\nconst tables: Record<SimulTableName, Table> = {\n childOrders: new Table(\n schemas.childOrders,\n [],\n buildDataColumnMap(schemas.childOrders)\n ),\n instruments: instrumentsTable,\n instrumentsExtended: instrumentsExtendedTable,\n instrumentPrices: joinTables(\n { module: \"SIMUL\", table: \"instrumentPrices\" },\n instrumentsTable,\n pricesTable,\n \"ric\"\n ),\n orders: ordersTable,\n parentOrders: new Table(\n schemas.parentOrders,\n [],\n buildDataColumnMap(schemas.parentOrders)\n ),\n prices: pricesTable,\n};\n\nconst getColumnDescriptors = (tableName: SimulTableName) => {\n const schema = schemas[tableName];\n if (schema) {\n return schema.columns;\n } else {\n throw Error(`simul-module no schema found for table SIMUL ${tableName}`);\n }\n};\n\nconst createDataSource = (tableName: SimulTableName) => {\n const columnDescriptors = getColumnDescriptors(tableName);\n return new TickingArrayDataSource({\n columnDescriptors,\n keyColumn: schemas[tableName].key,\n table: tables[tableName],\n
|
|
1
|
+
{"version":3,"file":"simul-module.js","sources":["../../src/simul/simul-module.ts"],"sourcesContent":["import { SuggestionFetcher } from \"@vuu-ui/vuu-data-types\";\nimport { TypeaheadParams, VuuMenu } from \"@vuu-ui/vuu-protocol-types\";\nimport { makeSuggestions } from \"../makeSuggestions\";\nimport { buildDataColumnMap, joinTables, Table } from \"../Table\";\nimport { TickingArrayDataSource } from \"../TickingArrayDataSource\";\nimport type { VuuModule } from \"../vuu-modules\";\nimport { instrumentsTable } from \"./reference-data/instruments\";\nimport { instrumentsExtendedTable } from \"./reference-data/instruments-extended\";\nimport { ordersTable } from \"./reference-data/orders\";\nimport { pricesTable } from \"./reference-data/prices\";\nimport { schemas, type SimulTableName } from \"./simul-schemas\";\n\ntype RpcService = {\n rpcName: string;\n service: (rpcRequest: any) => Promise<unknown>;\n};\n\nconst sessionTables: Record<string, Table> = {};\n\nconst tables: Record<SimulTableName, Table> = {\n childOrders: new Table(\n schemas.childOrders,\n [],\n buildDataColumnMap(schemas.childOrders)\n ),\n instruments: instrumentsTable,\n instrumentsExtended: instrumentsExtendedTable,\n instrumentPrices: joinTables(\n { module: \"SIMUL\", table: \"instrumentPrices\" },\n instrumentsTable,\n pricesTable,\n \"ric\"\n ),\n orders: ordersTable,\n parentOrders: new Table(\n schemas.parentOrders,\n [],\n buildDataColumnMap(schemas.parentOrders)\n ),\n prices: pricesTable,\n};\n\nconst getColumnDescriptors = (tableName: SimulTableName) => {\n const schema = schemas[tableName];\n if (schema) {\n return schema.columns;\n } else {\n throw Error(`simul-module no schema found for table SIMUL ${tableName}`);\n }\n};\n\nconst menus: Record<SimulTableName, VuuMenu | undefined> = {\n childOrders: undefined,\n instruments: {\n name: \"ROOT\",\n menus: [\n {\n context: \"selected-rows\",\n filter: \"\",\n name: \"Add Instruments To Order\",\n rpcName: \"ADD_INSTRUMENTS_TO_ORDER\",\n },\n ],\n },\n instrumentsExtended: undefined,\n instrumentPrices: undefined,\n orders: undefined,\n parentOrders: undefined,\n prices: undefined,\n};\n\nasync function addInstrumentsToOrder(/*rpcRequest: unknown*/) {\n // create a `session table`,\n // populate with selected Instruments\n // sens subscriptionn details to user\n\n const sessionTableId = \"session-table-1\";\n sessionTables[sessionTableId] = new Table(\n schemas.instruments,\n [],\n buildDataColumnMap(schemas.instruments)\n );\n\n return {\n action: {\n renderComponent: \"grid\",\n table: {\n module: \"SIMUL\",\n table: \"session-table-1\",\n },\n type: \"OPEN_DIALOG_ACTION\",\n },\n };\n}\n\nconst services: Record<SimulTableName, RpcService[] | undefined> = {\n childOrders: undefined,\n instruments: [\n {\n rpcName: \"ADD_INSTRUMENTS_TO_ORDER\",\n service: addInstrumentsToOrder,\n },\n ],\n instrumentsExtended: undefined,\n instrumentPrices: undefined,\n orders: undefined,\n parentOrders: undefined,\n prices: undefined,\n};\n\nconst createDataSource = (tableName: SimulTableName) => {\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 SimulTableName];\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\nexport const simulModule: VuuModule<SimulTableName> = {\n createDataSource,\n typeaheadHook: () => suggestionFetcher,\n};\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.8.
|
|
2
|
+
"version": "0.8.45",
|
|
3
3
|
"author": "heswell",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"@vuu-ui/vuu-data-local": "0.8.
|
|
7
|
-
"@vuu-ui/vuu-utils": "0.8.
|
|
6
|
+
"@vuu-ui/vuu-data-local": "0.8.45",
|
|
7
|
+
"@vuu-ui/vuu-utils": "0.8.45",
|
|
8
8
|
"@thomaschaplin/isin-generator": "1.0.3"
|
|
9
9
|
},
|
|
10
10
|
"devDependencies": {
|
|
11
|
-
"@vuu-ui/vuu-protocol-types": "0.8.
|
|
12
|
-
"@vuu-ui/vuu-data-types": "0.8.
|
|
13
|
-
"@vuu-ui/vuu-table-types": "0.8.
|
|
11
|
+
"@vuu-ui/vuu-protocol-types": "0.8.45",
|
|
12
|
+
"@vuu-ui/vuu-data-types": "0.8.45",
|
|
13
|
+
"@vuu-ui/vuu-table-types": "0.8.45"
|
|
14
14
|
},
|
|
15
15
|
"sideEffects": false,
|
|
16
16
|
"files": [
|
|
@@ -19,8 +19,13 @@
|
|
|
19
19
|
"cjs",
|
|
20
20
|
"/types"
|
|
21
21
|
],
|
|
22
|
+
"exports": {
|
|
23
|
+
"require": "./cjs/index.js",
|
|
24
|
+
"import": "./esm/index.js"
|
|
25
|
+
},
|
|
22
26
|
"main": "cjs/index.js",
|
|
23
27
|
"module": "esm/index.js",
|
|
24
28
|
"name": "@vuu-ui/vuu-data-test",
|
|
29
|
+
"type": "module",
|
|
25
30
|
"types": "types/index.d.ts"
|
|
26
31
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Table } from "../Table";
|
|
2
|
-
import { VuuModule } from "../vuu-modules";
|
|
2
|
+
import type { VuuModule } from "../vuu-modules";
|
|
3
3
|
import { BasketsTableName } from "./basket-schemas";
|
|
4
4
|
export declare const createBasketTradingRow: (basketId: string, basketName: string, side?: string, status?: string) => (string | number)[];
|
|
5
5
|
export declare const tables: Record<BasketsTableName, Table>;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { VuuModule } from "../vuu-modules";
|
|
2
|
-
import { SimulTableName } from "./simul-schemas";
|
|
1
|
+
import type { VuuModule } from "../vuu-modules";
|
|
2
|
+
import { type SimulTableName } from "./simul-schemas";
|
|
3
3
|
export declare const simulModule: VuuModule<SimulTableName>;
|