@oanda/labs-crowd-view-widget 1.0.67 → 1.0.69
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/CHANGELOG.md +556 -0
- package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getTooltipConfig.js +3 -1
- package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getTooltipConfig.js.map +1 -1
- package/dist/main/CrowdViewWidget/components/Chart/chartUtils/getTooltipFormatter.js +9 -6
- package/dist/main/CrowdViewWidget/components/Chart/chartUtils/getTooltipFormatter.js.map +1 -1
- package/dist/main/CrowdViewWidget/components/Chart/dataUtils/processSentiments.js +1 -1
- package/dist/main/CrowdViewWidget/components/Chart/dataUtils/processSentiments.js.map +1 -1
- package/dist/main/gql/getSentiments.js +0 -1
- package/dist/main/gql/getSentiments.js.map +1 -1
- package/dist/main/gql/types/gql.js +1 -1
- package/dist/main/gql/types/gql.js.map +1 -1
- package/dist/main/gql/types/graphql.js +0 -6
- package/dist/main/gql/types/graphql.js.map +1 -1
- package/dist/main/translations/sources/ja.json +1 -1
- package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getTooltipConfig.js +3 -1
- package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getTooltipConfig.js.map +1 -1
- package/dist/module/CrowdViewWidget/components/Chart/chartUtils/getTooltipFormatter.js +9 -6
- package/dist/module/CrowdViewWidget/components/Chart/chartUtils/getTooltipFormatter.js.map +1 -1
- package/dist/module/CrowdViewWidget/components/Chart/dataUtils/processSentiments.js +1 -1
- package/dist/module/CrowdViewWidget/components/Chart/dataUtils/processSentiments.js.map +1 -1
- package/dist/module/gql/getSentiments.js +0 -1
- package/dist/module/gql/getSentiments.js.map +1 -1
- package/dist/module/gql/types/gql.js +1 -1
- package/dist/module/gql/types/gql.js.map +1 -1
- package/dist/module/gql/types/graphql.js +0 -6
- package/dist/module/gql/types/graphql.js.map +1 -1
- package/dist/module/translations/sources/ja.json +1 -1
- package/dist/types/CrowdViewWidget/components/Chart/chartUtils/getTooltipFormatter.d.ts +2 -1
- package/dist/types/gql/types/gql.d.ts +2 -2
- package/dist/types/gql/types/graphql.d.ts +0 -1
- package/package.json +3 -3
- package/src/CrowdViewWidget/components/Chart/chartOptions/getTooltipConfig.ts +2 -0
- package/src/CrowdViewWidget/components/Chart/chartUtils/getTooltipFormatter.ts +8 -3
- package/src/CrowdViewWidget/components/Chart/dataUtils/processSentiments.ts +3 -1
- package/src/gql/getSentiments.ts +0 -1
- package/src/gql/types/gql.ts +3 -3
- package/src/gql/types/graphql.ts +1 -9
- package/src/translations/sources/ja.json +1 -1
- package/test/components/Chart/utils/chartUtils.test.ts +4 -0
- package/test/components/Chart/utils/processSentiments.test.ts +0 -10
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTooltipFormatter.js","names":["colorPalette","BookType","formatFullDate","SENTIMENT_DISPLAY_PRECISION","TOOLTIP_STYLES","MOBILE_COLUMN_WIDTH","PADDING_BOTTOM","FULL_WIDTH","calculateBucketDisplayPrecision","bucketWidth","toString","split","length","findSeriesParam","params","seriesId","find","series","findSentimentSeriesParam","sentimentLongs","sentimentShorts","index","dataIndex","sentimentLong","sentimentShort","getSentimentOverbalanceLabel","sentiment","bookType","Order","formatCandleData","candleData","labelCallback","isDesktop","open","close","low","high","candleLabel","openLabel","closeLabel","lowLabel","highLabel","formatBookData","_ref","matchedBucket","bucketDisplayPrecision","bookLabelKey","priceRangeStart","price","toFixed","priceRangeEnd","sentimentLabel","sentimentValue","Math","abs","formatSentimentData","hasValidCandleData","hasValidSentimentData","findMatchingBucket","buckets","bucketsIndex","selectedPrice","undefined","selectedBuckets","_ref2","getTooltipFormatter","_ref3","locale","isDark","Array","isArray","candleParam","booksParam","time","Date","axisValue","value","showCandles","showSentiment","timeFormatted","candleSection","bookSection","sentimentSection","buildDesktopTooltip","buildMobileTooltip","_ref4","backgroundColor","black","white","fullWidth","_ref5","columnWidth","padding"],"sources":["../../../../../../src/CrowdViewWidget/components/Chart/chartUtils/getTooltipFormatter.ts"],"sourcesContent":["import { colorPalette } from '@oanda/labs-widget-common';\n\nimport { BookType } from '../../../../gql/types/graphql';\nimport type { Bucket, TooltipParam } from '../types';\nimport { formatFullDate } from './formatFullDate';\n\nconst SENTIMENT_DISPLAY_PRECISION = 2;\n\nconst TOOLTIP_STYLES = {\n MOBILE_COLUMN_WIDTH: '33.3%',\n PADDING_BOTTOM: '4px',\n FULL_WIDTH: '100%',\n} as const;\n\nconst calculateBucketDisplayPrecision = (bucketWidth: number): number => {\n return bucketWidth.toString().split('.')[1]?.length || 0;\n};\n\nconst findSeriesParam = <T extends TooltipParam['seriesId']>(\n params: TooltipParam[],\n seriesId: T\n): Extract<TooltipParam, { seriesId: T }> | undefined => {\n return params.find(\n (series): series is Extract<TooltipParam, { seriesId: T }> =>\n series.seriesId === seriesId\n );\n};\n\nconst findSentimentSeriesParam = (\n params: TooltipParam[],\n sentimentLongs: (number | null)[],\n sentimentShorts: (number | null)[]\n): {\n sentimentLong: number | null;\n sentimentShort: number | null;\n} => {\n const index = params[0].dataIndex as number;\n\n return {\n sentimentLong: sentimentLongs[index] ?? null,\n sentimentShort: sentimentShorts[index] ?? null,\n };\n};\n\nconst getSentimentOverbalanceLabel = (\n sentiment: number,\n bookType: BookType\n): string => {\n if (sentiment < 0) {\n return bookType === BookType.Order\n ? 'sell_overbalance'\n : 'short_overbalance';\n }\n return bookType === BookType.Order ? 'buy_overbalance' : 'long_overbalance';\n};\n\nconst formatCandleData = (\n candleData: [number, number, number, number, number],\n labelCallback: (key: string) => string,\n isDesktop: boolean\n): string => {\n const [, open, close, low, high] = candleData;\n const candleLabel = labelCallback('candle');\n const openLabel = labelCallback('open');\n const closeLabel = labelCallback('close');\n const lowLabel = labelCallback('low');\n const highLabel = labelCallback('high');\n\n return isDesktop\n ? `<div><b>${candleLabel}:</b></div>\n<div style=\"display: flex; gap: 4px; margin-right: 4px;\">\n<div>${openLabel}: ${open} </div>\n<div>${highLabel}: ${high} </div>\n<div>${lowLabel}: ${low} </div>\n<div>${closeLabel}: ${close} </div>\n</div>`\n : `<div><b>${candleLabel}:</b></div>\n<div>${openLabel}: ${open} </div>\n<div>${highLabel}: ${high} </div>\n<div>${lowLabel}: ${low} </div>\n<div>${closeLabel}: ${close} </div>\n`;\n};\n\nconst formatBookData = ({\n matchedBucket,\n bucketWidth,\n bucketDisplayPrecision,\n bookType,\n labelCallback,\n isDesktop,\n}: {\n matchedBucket: Bucket;\n bucketWidth: number;\n bucketDisplayPrecision: number;\n bookType: BookType;\n labelCallback: (key: string) => string;\n isDesktop: boolean;\n}): string => {\n const bookLabelKey = bookType === BookType.Order ? 'orders' : 'trades';\n const priceRangeStart = matchedBucket.price.toFixed(bucketDisplayPrecision);\n const priceRangeEnd = (matchedBucket.price + bucketWidth).toFixed(\n bucketDisplayPrecision\n );\n const sentimentLabel = getSentimentOverbalanceLabel(\n matchedBucket.sentiment,\n bookType\n );\n const sentimentValue = Math.abs(matchedBucket.sentiment);\n\n return isDesktop\n ? `<div><b>${labelCallback(bookLabelKey)}:</b></div>\n<span style=\"margin-right: 4px;\">${labelCallback('price_range')}: ${priceRangeStart} - ${priceRangeEnd} </span>\n<span style=\"margin-right: 4px;\">${labelCallback(sentimentLabel)}: ${sentimentValue}% </span>`\n : `<div><b>${labelCallback(bookLabelKey)}:</b></div>\n<div>${labelCallback('price_range')}:</div>\n<div>${priceRangeStart} - ${priceRangeEnd} </div>\n<div>${labelCallback(sentimentLabel)}:</div>\n<div>${sentimentValue}% </div>`;\n};\n\nconst formatSentimentData = (\n sentimentLong: number,\n sentimentShort: number,\n labelCallback: (key: string) => string,\n isDesktop: boolean\n): string => {\n return isDesktop\n ? `<div><b>${labelCallback('sentiment')}:</b></div>\n <span style=\"margin-right: 4px;\">${labelCallback('long')}: ${sentimentLong.toFixed(SENTIMENT_DISPLAY_PRECISION)}% </span>\n <span style=\"margin-right: 4px;\">${labelCallback('short')}: ${sentimentShort.toFixed(SENTIMENT_DISPLAY_PRECISION)}% </span>`\n : `<div><b>${labelCallback('sentiment')}:</b></div>\n<div>${labelCallback('long')}: ${sentimentLong.toFixed(SENTIMENT_DISPLAY_PRECISION)}% </div>\n<div>${labelCallback('short')}: ${sentimentShort.toFixed(SENTIMENT_DISPLAY_PRECISION)}% </div>`;\n};\n\nconst hasValidCandleData = (\n candleData: [number, number, number, number, number]\n): boolean =>\n !!candleData[1] && !!candleData[2] && !!candleData[3] && !!candleData[4];\n\nconst hasValidSentimentData = (\n sentimentLong: number | null,\n sentimentShort: number | null\n): boolean => sentimentLong !== null && sentimentShort !== null;\n\nconst findMatchingBucket = (\n buckets: Bucket[][],\n bucketsIndex: number | undefined,\n selectedPrice: number,\n bucketWidth: number\n): Bucket | undefined => {\n if (bucketsIndex === undefined) {\n return undefined;\n }\n const selectedBuckets = buckets[bucketsIndex];\n return selectedBuckets?.find(\n ({ price }) => selectedPrice >= price && selectedPrice < price + bucketWidth\n );\n};\n\nexport const getTooltipFormatter = ({\n params,\n buckets,\n bucketWidth,\n selectedPrice,\n bookType,\n labelCallback,\n sentimentLongs,\n sentimentShorts,\n isDesktop,\n locale,\n isDark,\n}: {\n params: TooltipParam[];\n buckets: Bucket[][];\n bucketWidth: number;\n selectedPrice: number;\n bookType: BookType;\n labelCallback: (key: string) => string;\n sentimentLongs: (number | null)[];\n sentimentShorts: (number | null)[];\n isDesktop: boolean;\n locale: string;\n isDark: boolean;\n}) => {\n if (!params || !Array.isArray(params) || params.length === 0) {\n return '';\n }\n\n const candleParam = findSeriesParam(params, 'candlestick');\n const booksParam = findSeriesParam(params, 'heatmap');\n const { sentimentLong, sentimentShort } = findSentimentSeriesParam(\n params,\n sentimentLongs,\n sentimentShorts\n );\n\n if (!candleParam) {\n return '';\n }\n\n const bucketDisplayPrecision = calculateBucketDisplayPrecision(bucketWidth);\n const time = new Date(candleParam.axisValue as string);\n const candleData = candleParam.value;\n const bucketsIndex = booksParam?.value[2];\n const matchedBucket = findMatchingBucket(\n buckets,\n bucketsIndex,\n selectedPrice,\n bucketWidth\n );\n const showCandles = hasValidCandleData(candleData);\n const showSentiment = hasValidSentimentData(sentimentLong, sentimentShort);\n\n if (!showCandles && !matchedBucket) {\n return '';\n }\n\n const timeFormatted = formatFullDate(time, locale);\n const candleSection = showCandles\n ? formatCandleData(candleData, labelCallback, isDesktop)\n : '';\n\n const bookSection = matchedBucket\n ? formatBookData({\n matchedBucket,\n bucketWidth,\n bucketDisplayPrecision,\n bookType,\n labelCallback,\n isDesktop,\n })\n : '';\n\n const sentimentSection =\n showSentiment && sentimentLong && sentimentShort\n ? formatSentimentData(\n sentimentLong,\n sentimentShort,\n labelCallback,\n isDesktop\n )\n : '';\n\n if (isDesktop) {\n return buildDesktopTooltip({\n timeFormatted,\n candleSection,\n sentimentSection,\n bookSection,\n isDark,\n });\n }\n\n return buildMobileTooltip({\n timeFormatted,\n candleSection,\n sentimentSection,\n bookSection,\n isDark,\n });\n};\n\ninterface TooltipSections {\n timeFormatted: string;\n candleSection: string;\n sentimentSection: string;\n bookSection: string;\n}\n\nconst buildDesktopTooltip = ({\n candleSection,\n sentimentSection,\n bookSection,\n isDark,\n}: TooltipSections & {\n isDark: boolean;\n}): string => {\n const backgroundColor = isDark ? colorPalette.black : colorPalette.white;\n const fullWidth = TOOLTIP_STYLES.FULL_WIDTH;\n\n return `<div style=\"width: ${fullWidth}; background-color: ${backgroundColor};\">\n <div style=\"width: ${fullWidth}; display: flex; justify-content: space-between;\">\n <div style=\"width: 40%;\">\n${candleSection}\n</div>\n<div style=\"width: 22%;\">\n${sentimentSection}\n</div>\n<div style=\"width: 38%;\">\n${bookSection}\n</div>\n</div>\n</div>`;\n};\n\nconst buildMobileTooltip = ({\n timeFormatted,\n candleSection,\n sentimentSection,\n bookSection,\n isDark,\n}: TooltipSections & { isDark: boolean }): string => {\n const backgroundColor = isDark ? colorPalette.black : colorPalette.white;\n const columnWidth = TOOLTIP_STYLES.MOBILE_COLUMN_WIDTH;\n const fullWidth = TOOLTIP_STYLES.FULL_WIDTH;\n const padding = TOOLTIP_STYLES.PADDING_BOTTOM;\n\n return `<div style=\"width: ${fullWidth}; background-color: ${backgroundColor};\">\n <div style=\"padding-bottom: ${padding};\">${timeFormatted}</div>\n <div style=\"width: ${fullWidth}; display: flex; justify-content: space-between;\">\n <div style=\"width: ${columnWidth};\">\n${candleSection}\n</div>\n<div style=\"width: ${columnWidth};\">\n${sentimentSection}\n</div>\n<div style=\"width: ${columnWidth};\">\n${bookSection}\n</div>\n</div>\n</div>`;\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"getTooltipFormatter.js","names":["colorPalette","BookType","formatFullDate","SENTIMENT_DISPLAY_PRECISION","TOOLTIP_STYLES","MOBILE_COLUMN_WIDTH","PADDING_BOTTOM","FULL_WIDTH","calculateBucketDisplayPrecision","bucketWidth","toString","split","length","findSeriesParam","params","seriesId","find","series","findSentimentSeriesParam","sentimentLongs","sentimentShorts","index","dataIndex","sentimentLong","sentimentShort","getSentimentOverbalanceLabel","sentiment","bookType","Order","formatCandleData","candleData","labelCallback","isDesktop","open","close","low","high","candleLabel","openLabel","closeLabel","lowLabel","highLabel","formatBookData","_ref","matchedBucket","bucketDisplayPrecision","bookLabelKey","priceRangeStart","price","toFixed","priceRangeEnd","sentimentLabel","sentimentValue","Math","abs","formatSentimentData","hasValidCandleData","hasValidSentimentData","findMatchingBucket","buckets","bucketsIndex","selectedPrice","undefined","selectedBuckets","_ref2","getTooltipFormatter","_ref3","locale","isDark","isJapanese","Array","isArray","candleParam","booksParam","time","Date","axisValue","value","showCandles","showSentiment","timeFormatted","candleSection","bookSection","sentimentSection","buildDesktopTooltip","buildMobileTooltip","_ref4","backgroundColor","black","white","fullWidth","_ref5","columnWidth","padding"],"sources":["../../../../../../src/CrowdViewWidget/components/Chart/chartUtils/getTooltipFormatter.ts"],"sourcesContent":["import { colorPalette } from '@oanda/labs-widget-common';\n\nimport { BookType } from '../../../../gql/types/graphql';\nimport type { Bucket, TooltipParam } from '../types';\nimport { formatFullDate } from './formatFullDate';\n\nconst SENTIMENT_DISPLAY_PRECISION = 2;\n\nconst TOOLTIP_STYLES = {\n MOBILE_COLUMN_WIDTH: '33.3%',\n PADDING_BOTTOM: '4px',\n FULL_WIDTH: '100%',\n} as const;\n\nconst calculateBucketDisplayPrecision = (bucketWidth: number): number => {\n return bucketWidth.toString().split('.')[1]?.length || 0;\n};\n\nconst findSeriesParam = <T extends TooltipParam['seriesId']>(\n params: TooltipParam[],\n seriesId: T\n): Extract<TooltipParam, { seriesId: T }> | undefined => {\n return params.find(\n (series): series is Extract<TooltipParam, { seriesId: T }> =>\n series.seriesId === seriesId\n );\n};\n\nconst findSentimentSeriesParam = (\n params: TooltipParam[],\n sentimentLongs: (number | null)[],\n sentimentShorts: (number | null)[]\n): {\n sentimentLong: number | null;\n sentimentShort: number | null;\n} => {\n const index = params[0].dataIndex as number;\n\n return {\n sentimentLong: sentimentLongs[index] ?? null,\n sentimentShort: sentimentShorts[index] ?? null,\n };\n};\n\nconst getSentimentOverbalanceLabel = (\n sentiment: number,\n bookType: BookType\n): string => {\n if (sentiment < 0) {\n return bookType === BookType.Order\n ? 'sell_overbalance'\n : 'short_overbalance';\n }\n return bookType === BookType.Order ? 'buy_overbalance' : 'long_overbalance';\n};\n\nconst formatCandleData = (\n candleData: [number, number, number, number, number],\n labelCallback: (key: string) => string,\n isDesktop: boolean\n): string => {\n const [, open, close, low, high] = candleData;\n const candleLabel = labelCallback('candle');\n const openLabel = labelCallback('open');\n const closeLabel = labelCallback('close');\n const lowLabel = labelCallback('low');\n const highLabel = labelCallback('high');\n\n return isDesktop\n ? `<div><b>${candleLabel}:</b></div>\n<div style=\"display: flex; gap: 4px; margin-right: 4px;\">\n<div>${openLabel}: ${open} </div>\n<div>${highLabel}: ${high} </div>\n<div>${lowLabel}: ${low} </div>\n<div>${closeLabel}: ${close} </div>\n</div>`\n : `<div><b>${candleLabel}:</b></div>\n<div>${openLabel}: ${open} </div>\n<div>${highLabel}: ${high} </div>\n<div>${lowLabel}: ${low} </div>\n<div>${closeLabel}: ${close} </div>\n`;\n};\n\nconst formatBookData = ({\n matchedBucket,\n bucketWidth,\n bucketDisplayPrecision,\n bookType,\n labelCallback,\n isDesktop,\n}: {\n matchedBucket: Bucket;\n bucketWidth: number;\n bucketDisplayPrecision: number;\n bookType: BookType;\n labelCallback: (key: string) => string;\n isDesktop: boolean;\n}): string => {\n const bookLabelKey = bookType === BookType.Order ? 'orders' : 'trades';\n const priceRangeStart = matchedBucket.price.toFixed(bucketDisplayPrecision);\n const priceRangeEnd = (matchedBucket.price + bucketWidth).toFixed(\n bucketDisplayPrecision\n );\n const sentimentLabel = getSentimentOverbalanceLabel(\n matchedBucket.sentiment,\n bookType\n );\n const sentimentValue = Math.abs(matchedBucket.sentiment);\n\n return isDesktop\n ? `<div><b>${labelCallback(bookLabelKey)}:</b></div>\n<span style=\"margin-right: 4px;\">${labelCallback('price_range')}: ${priceRangeStart} - ${priceRangeEnd} </span>\n<span style=\"margin-right: 4px;\">${labelCallback(sentimentLabel)}: ${sentimentValue}% </span>`\n : `<div><b>${labelCallback(bookLabelKey)}:</b></div>\n<div>${labelCallback('price_range')}:</div>\n<div>${priceRangeStart} - ${priceRangeEnd} </div>\n<div>${labelCallback(sentimentLabel)}:</div>\n<div>${sentimentValue}% </div>`;\n};\n\nconst formatSentimentData = (\n sentimentLong: number,\n sentimentShort: number,\n labelCallback: (key: string) => string,\n isDesktop: boolean\n): string => {\n return isDesktop\n ? `<div><b>${labelCallback('sentiment')}:</b></div>\n <span style=\"margin-right: 4px;\">${labelCallback('long')}: ${sentimentLong.toFixed(SENTIMENT_DISPLAY_PRECISION)}% </span>\n <span style=\"margin-right: 4px;\">${labelCallback('short')}: ${sentimentShort.toFixed(SENTIMENT_DISPLAY_PRECISION)}% </span>`\n : `<div><b>${labelCallback('sentiment')}:</b></div>\n<div>${labelCallback('long')}: ${sentimentLong.toFixed(SENTIMENT_DISPLAY_PRECISION)}% </div>\n<div>${labelCallback('short')}: ${sentimentShort.toFixed(SENTIMENT_DISPLAY_PRECISION)}% </div>`;\n};\n\nconst hasValidCandleData = (\n candleData: [number, number, number, number, number]\n): boolean =>\n !!candleData[1] && !!candleData[2] && !!candleData[3] && !!candleData[4];\n\nconst hasValidSentimentData = (\n sentimentLong: number | null,\n sentimentShort: number | null\n): boolean => sentimentLong !== null && sentimentShort !== null;\n\nconst findMatchingBucket = (\n buckets: Bucket[][],\n bucketsIndex: number | undefined,\n selectedPrice: number,\n bucketWidth: number\n): Bucket | undefined => {\n if (bucketsIndex === undefined) {\n return undefined;\n }\n const selectedBuckets = buckets[bucketsIndex];\n return selectedBuckets?.find(\n ({ price }) => selectedPrice >= price && selectedPrice < price + bucketWidth\n );\n};\n\nexport const getTooltipFormatter = ({\n params,\n buckets,\n bucketWidth,\n selectedPrice,\n bookType,\n labelCallback,\n sentimentLongs,\n sentimentShorts,\n isDesktop,\n locale,\n isDark,\n isJapanese,\n}: {\n params: TooltipParam[];\n buckets: Bucket[][];\n bucketWidth: number;\n selectedPrice: number;\n bookType: BookType;\n labelCallback: (key: string) => string;\n sentimentLongs: (number | null)[];\n sentimentShorts: (number | null)[];\n isDesktop: boolean;\n locale: string;\n isDark: boolean;\n isJapanese: boolean;\n}) => {\n if (!params || !Array.isArray(params) || params.length === 0) {\n return '';\n }\n\n const candleParam = findSeriesParam(params, 'candlestick');\n const booksParam = findSeriesParam(params, 'heatmap');\n const { sentimentLong, sentimentShort } = findSentimentSeriesParam(\n params,\n sentimentLongs,\n sentimentShorts\n );\n\n if (!candleParam) {\n return '';\n }\n\n const bucketDisplayPrecision = calculateBucketDisplayPrecision(bucketWidth);\n const time = new Date(candleParam.axisValue as string);\n const candleData = candleParam.value;\n const bucketsIndex = booksParam?.value[2];\n const matchedBucket = findMatchingBucket(\n buckets,\n bucketsIndex,\n selectedPrice,\n bucketWidth\n );\n const showCandles = hasValidCandleData(candleData);\n const showSentiment = hasValidSentimentData(sentimentLong, sentimentShort);\n\n if (!showCandles && !matchedBucket) {\n return '';\n }\n\n const timeFormatted = formatFullDate(time, locale);\n const candleSection = showCandles\n ? formatCandleData(candleData, labelCallback, isDesktop)\n : '';\n\n const bookSection = matchedBucket\n ? formatBookData({\n matchedBucket,\n bucketWidth,\n bucketDisplayPrecision,\n bookType,\n labelCallback,\n isDesktop,\n })\n : '';\n\n const sentimentSection =\n showSentiment && sentimentLong && sentimentShort\n ? formatSentimentData(\n sentimentLong,\n sentimentShort,\n labelCallback,\n isDesktop\n )\n : '';\n\n if (isDesktop) {\n return buildDesktopTooltip({\n timeFormatted,\n candleSection,\n sentimentSection,\n bookSection,\n isDark,\n isJapanese,\n });\n }\n\n return buildMobileTooltip({\n timeFormatted,\n candleSection,\n sentimentSection,\n bookSection,\n isDark,\n });\n};\n\ninterface TooltipSections {\n timeFormatted: string;\n candleSection: string;\n sentimentSection: string;\n bookSection: string;\n}\n\nconst buildDesktopTooltip = ({\n candleSection,\n sentimentSection,\n bookSection,\n isDark,\n isJapanese,\n}: TooltipSections & {\n isDark: boolean;\n isJapanese: boolean;\n}): string => {\n const backgroundColor = isDark ? colorPalette.black : colorPalette.white;\n const fullWidth = TOOLTIP_STYLES.FULL_WIDTH;\n\n return `<div style=\"width: ${fullWidth}; background-color: ${backgroundColor};\">\n <div style=\"width: ${fullWidth}; display: flex; justify-content: space-between;\">\n <div style=\"${isJapanese ? 'width: 45%;' : 'width: 40%;'}\">\n${candleSection}\n</div>\n<div style=\"${isJapanese ? 'width: 24%;' : 'width: 22%;'}\">\n${sentimentSection}\n</div>\n<div style=\"${isJapanese ? 'width: 31%;' : 'width: 38%;'}\">\n${bookSection}\n</div>\n</div>\n</div>`;\n};\n\nconst buildMobileTooltip = ({\n timeFormatted,\n candleSection,\n sentimentSection,\n bookSection,\n isDark,\n}: TooltipSections & { isDark: boolean }): string => {\n const backgroundColor = isDark ? colorPalette.black : colorPalette.white;\n const columnWidth = TOOLTIP_STYLES.MOBILE_COLUMN_WIDTH;\n const fullWidth = TOOLTIP_STYLES.FULL_WIDTH;\n const padding = TOOLTIP_STYLES.PADDING_BOTTOM;\n\n return `<div style=\"width: ${fullWidth}; background-color: ${backgroundColor};\">\n <div style=\"padding-bottom: ${padding};\">${timeFormatted}</div>\n <div style=\"width: ${fullWidth}; display: flex; justify-content: space-between;\">\n <div style=\"width: ${columnWidth};\">\n${candleSection}\n</div>\n<div style=\"width: ${columnWidth};\">\n${sentimentSection}\n</div>\n<div style=\"width: ${columnWidth};\">\n${bookSection}\n</div>\n</div>\n</div>`;\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -8,7 +8,7 @@ export const processSentiments = (sentimentsData, dates) => {
|
|
|
8
8
|
}
|
|
9
9
|
const sentimentMap = new Map(sentimentsData.sentiments.sentiments.map(item => [item?.time, {
|
|
10
10
|
sentimentShorts: item?.sentiment?.shortPercent ?? null,
|
|
11
|
-
sentimentLongs: item?.sentiment?.
|
|
11
|
+
sentimentLongs: item?.sentiment?.shortPercent ? 100 - item?.sentiment?.shortPercent : null
|
|
12
12
|
}]));
|
|
13
13
|
const {
|
|
14
14
|
sentimentLongs,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processSentiments.js","names":["processSentiments","sentimentsData","dates","Array","isArray","length","sentiments","sentimentLongs","sentimentShorts","hasValidSentiments","sentimentMap","Map","map","item","time","sentiment","shortPercent","
|
|
1
|
+
{"version":3,"file":"processSentiments.js","names":["processSentiments","sentimentsData","dates","Array","isArray","length","sentiments","sentimentLongs","sentimentShorts","hasValidSentiments","sentimentMap","Map","map","item","time","sentiment","shortPercent","reduce","acc","date","get"],"sources":["../../../../../../src/CrowdViewWidget/components/Chart/dataUtils/processSentiments.ts"],"sourcesContent":["import type { GetSentimentsQuery } from '../../../../gql/types/graphql';\n\nexport const processSentiments = (\n sentimentsData: GetSentimentsQuery | undefined,\n dates: string[]\n) => {\n if (\n !Array.isArray(dates) ||\n dates.length === 0 ||\n !sentimentsData?.sentiments?.sentiments?.length\n ) {\n return {\n sentimentLongs: [],\n sentimentShorts: [],\n hasValidSentiments: false,\n };\n }\n\n const sentimentMap = new Map(\n sentimentsData.sentiments.sentiments.map((item) => [\n item?.time,\n {\n sentimentShorts: item?.sentiment?.shortPercent ?? null,\n sentimentLongs: item?.sentiment?.shortPercent\n ? 100 - item?.sentiment?.shortPercent\n : null,\n },\n ])\n );\n\n const { sentimentLongs, sentimentShorts } = dates.reduce(\n (acc, date) => {\n const sentiment = sentimentMap.get(date);\n\n return {\n sentimentLongs: [\n ...acc.sentimentLongs,\n sentiment?.sentimentLongs || null,\n ],\n sentimentShorts: [\n ...acc.sentimentShorts,\n sentiment?.sentimentShorts || null,\n ],\n };\n },\n {\n sentimentLongs: [] as (number | null)[],\n sentimentShorts: [] as (number | null)[],\n }\n );\n\n return {\n sentimentLongs,\n sentimentShorts,\n hasValidSentiments: true,\n };\n};\n"],"mappings":"AAEA,OAAO,MAAMA,iBAAiB,GAAGA,CAC/BC,cAA8C,EAC9CC,KAAe,KACZ;EACH,IACE,CAACC,KAAK,CAACC,OAAO,CAACF,KAAK,CAAC,IACrBA,KAAK,CAACG,MAAM,KAAK,CAAC,IAClB,CAACJ,cAAc,EAAEK,UAAU,EAAEA,UAAU,EAAED,MAAM,EAC/C;IACA,OAAO;MACLE,cAAc,EAAE,EAAE;MAClBC,eAAe,EAAE,EAAE;MACnBC,kBAAkB,EAAE;IACtB,CAAC;EACH;EAEA,MAAMC,YAAY,GAAG,IAAIC,GAAG,CAC1BV,cAAc,CAACK,UAAU,CAACA,UAAU,CAACM,GAAG,CAAEC,IAAI,IAAK,CACjDA,IAAI,EAAEC,IAAI,EACV;IACEN,eAAe,EAAEK,IAAI,EAAEE,SAAS,EAAEC,YAAY,IAAI,IAAI;IACtDT,cAAc,EAAEM,IAAI,EAAEE,SAAS,EAAEC,YAAY,GACzC,GAAG,GAAGH,IAAI,EAAEE,SAAS,EAAEC,YAAY,GACnC;EACN,CAAC,CACF,CACH,CAAC;EAED,MAAM;IAAET,cAAc;IAAEC;EAAgB,CAAC,GAAGN,KAAK,CAACe,MAAM,CACtD,CAACC,GAAG,EAAEC,IAAI,KAAK;IACb,MAAMJ,SAAS,GAAGL,YAAY,CAACU,GAAG,CAACD,IAAI,CAAC;IAExC,OAAO;MACLZ,cAAc,EAAE,CACd,GAAGW,GAAG,CAACX,cAAc,EACrBQ,SAAS,EAAER,cAAc,IAAI,IAAI,CAClC;MACDC,eAAe,EAAE,CACf,GAAGU,GAAG,CAACV,eAAe,EACtBO,SAAS,EAAEP,eAAe,IAAI,IAAI;IAEtC,CAAC;EACH,CAAC,EACD;IACED,cAAc,EAAE,EAAuB;IACvCC,eAAe,EAAE;EACnB,CACF,CAAC;EAED,OAAO;IACLD,cAAc;IACdC,eAAe;IACfC,kBAAkB,EAAE;EACtB,CAAC;AACH,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getSentiments.js","names":["gql","getSentiments"],"sources":["../../../src/gql/getSentiments.ts"],"sourcesContent":["import { gql } from '@apollo/client';\n\nconst getSentiments = gql`\n query GetSentiments(\n $instrument: String!\n $granularity: Granularity!\n $timeSpan: TimeSpan!\n ) {\n sentiments(\n instrument: $instrument\n granularity: $granularity\n timeSpan: $timeSpan\n ) {\n sentiments {\n sentiment {\n
|
|
1
|
+
{"version":3,"file":"getSentiments.js","names":["gql","getSentiments"],"sources":["../../../src/gql/getSentiments.ts"],"sourcesContent":["import { gql } from '@apollo/client';\n\nconst getSentiments = gql`\n query GetSentiments(\n $instrument: String!\n $granularity: Granularity!\n $timeSpan: TimeSpan!\n ) {\n sentiments(\n instrument: $instrument\n granularity: $granularity\n timeSpan: $timeSpan\n ) {\n sentiments {\n sentiment {\n shortPercent\n }\n time\n }\n }\n }\n`;\n\nexport { getSentiments };\n"],"mappings":"AAAA,SAASA,GAAG,QAAQ,gBAAgB;AAEpC,MAAMC,aAAa,GAAGD,GAAG;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,SAASC,aAAa","ignoreList":[]}
|
|
@@ -2,7 +2,7 @@ import * as types from './graphql';
|
|
|
2
2
|
const documents = {
|
|
3
3
|
'\n query GetOrderPositionBooks(\n $instrument: String!\n $bookType: BookType!\n $timeSpan: TimeSpan!\n $granularity: Granularity!\n $maxBookPrice: Float\n $minBookPrice: Float\n $bucketMultiplier: Int!\n $bucketMargin: Int!\n ) {\n orderPositionBooks(\n instrument: $instrument\n bookType: $bookType\n timeSpan: $timeSpan\n granularity: $granularity\n maxBookPrice: $maxBookPrice\n minBookPrice: $minBookPrice\n bucketMultiplier: $bucketMultiplier\n bucketMargin: $bucketMargin\n ) {\n books {\n time\n price\n buckets {\n price\n sentiment\n }\n }\n bucketWidth\n sentimentThresholdMax\n sentimentThresholdMin\n }\n }\n': types.GetOrderPositionBooksDocument,
|
|
4
4
|
'\n query GetPriceCandles(\n $dataSource: DataSource!\n $division: Division!\n $instrument: String!\n $granularity: Granularity!\n $timeSpan: TimeSpan!\n ) {\n priceCandles(\n dataSource: $dataSource\n division: $division\n instrument: $instrument\n granularity: $granularity\n timeSpan: $timeSpan\n ) {\n candle {\n point\n high\n low\n open\n close\n }\n pipsLocation\n }\n }\n': types.GetPriceCandlesDocument,
|
|
5
|
-
'\n query GetSentiments(\n $instrument: String!\n $granularity: Granularity!\n $timeSpan: TimeSpan!\n ) {\n sentiments(\n instrument: $instrument\n granularity: $granularity\n timeSpan: $timeSpan\n ) {\n sentiments {\n sentiment {\n
|
|
5
|
+
'\n query GetSentiments(\n $instrument: String!\n $granularity: Granularity!\n $timeSpan: TimeSpan!\n ) {\n sentiments(\n instrument: $instrument\n granularity: $granularity\n timeSpan: $timeSpan\n ) {\n sentiments {\n sentiment {\n shortPercent\n }\n time\n }\n }\n }\n': types.GetSentimentsDocument
|
|
6
6
|
};
|
|
7
7
|
export function graphql(source) {
|
|
8
8
|
return documents[source] ?? {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gql.js","names":["types","documents","GetOrderPositionBooksDocument","GetPriceCandlesDocument","GetSentimentsDocument","graphql","source"],"sources":["../../../../src/gql/types/gql.ts"],"sourcesContent":["/* eslint-disable */\nimport * as types from './graphql';\nimport { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';\n\n/**\n * Map of all GraphQL operations in the project.\n *\n * This map has several performance disadvantages:\n * 1. It is not tree-shakeable, so it will include all operations in the project.\n * 2. It is not minifiable, so the string of a GraphQL query will be multiple times inside the bundle.\n * 3. It does not support dead code elimination, so it will add unused operations.\n *\n * Therefore it is highly recommended to use the babel or swc plugin for production.\n */\nconst documents = {\n '\\n query GetOrderPositionBooks(\\n $instrument: String!\\n $bookType: BookType!\\n $timeSpan: TimeSpan!\\n $granularity: Granularity!\\n $maxBookPrice: Float\\n $minBookPrice: Float\\n $bucketMultiplier: Int!\\n $bucketMargin: Int!\\n ) {\\n orderPositionBooks(\\n instrument: $instrument\\n bookType: $bookType\\n timeSpan: $timeSpan\\n granularity: $granularity\\n maxBookPrice: $maxBookPrice\\n minBookPrice: $minBookPrice\\n bucketMultiplier: $bucketMultiplier\\n bucketMargin: $bucketMargin\\n ) {\\n books {\\n time\\n price\\n buckets {\\n price\\n sentiment\\n }\\n }\\n bucketWidth\\n sentimentThresholdMax\\n sentimentThresholdMin\\n }\\n }\\n':\n types.GetOrderPositionBooksDocument,\n '\\n query GetPriceCandles(\\n $dataSource: DataSource!\\n $division: Division!\\n $instrument: String!\\n $granularity: Granularity!\\n $timeSpan: TimeSpan!\\n ) {\\n priceCandles(\\n dataSource: $dataSource\\n division: $division\\n instrument: $instrument\\n granularity: $granularity\\n timeSpan: $timeSpan\\n ) {\\n candle {\\n point\\n high\\n low\\n open\\n close\\n }\\n pipsLocation\\n }\\n }\\n':\n types.GetPriceCandlesDocument,\n '\\n query GetSentiments(\\n $instrument: String!\\n $granularity: Granularity!\\n $timeSpan: TimeSpan!\\n ) {\\n sentiments(\\n instrument: $instrument\\n granularity: $granularity\\n timeSpan: $timeSpan\\n ) {\\n sentiments {\\n sentiment {\\n
|
|
1
|
+
{"version":3,"file":"gql.js","names":["types","documents","GetOrderPositionBooksDocument","GetPriceCandlesDocument","GetSentimentsDocument","graphql","source"],"sources":["../../../../src/gql/types/gql.ts"],"sourcesContent":["/* eslint-disable */\nimport * as types from './graphql';\nimport { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';\n\n/**\n * Map of all GraphQL operations in the project.\n *\n * This map has several performance disadvantages:\n * 1. It is not tree-shakeable, so it will include all operations in the project.\n * 2. It is not minifiable, so the string of a GraphQL query will be multiple times inside the bundle.\n * 3. It does not support dead code elimination, so it will add unused operations.\n *\n * Therefore it is highly recommended to use the babel or swc plugin for production.\n */\nconst documents = {\n '\\n query GetOrderPositionBooks(\\n $instrument: String!\\n $bookType: BookType!\\n $timeSpan: TimeSpan!\\n $granularity: Granularity!\\n $maxBookPrice: Float\\n $minBookPrice: Float\\n $bucketMultiplier: Int!\\n $bucketMargin: Int!\\n ) {\\n orderPositionBooks(\\n instrument: $instrument\\n bookType: $bookType\\n timeSpan: $timeSpan\\n granularity: $granularity\\n maxBookPrice: $maxBookPrice\\n minBookPrice: $minBookPrice\\n bucketMultiplier: $bucketMultiplier\\n bucketMargin: $bucketMargin\\n ) {\\n books {\\n time\\n price\\n buckets {\\n price\\n sentiment\\n }\\n }\\n bucketWidth\\n sentimentThresholdMax\\n sentimentThresholdMin\\n }\\n }\\n':\n types.GetOrderPositionBooksDocument,\n '\\n query GetPriceCandles(\\n $dataSource: DataSource!\\n $division: Division!\\n $instrument: String!\\n $granularity: Granularity!\\n $timeSpan: TimeSpan!\\n ) {\\n priceCandles(\\n dataSource: $dataSource\\n division: $division\\n instrument: $instrument\\n granularity: $granularity\\n timeSpan: $timeSpan\\n ) {\\n candle {\\n point\\n high\\n low\\n open\\n close\\n }\\n pipsLocation\\n }\\n }\\n':\n types.GetPriceCandlesDocument,\n '\\n query GetSentiments(\\n $instrument: String!\\n $granularity: Granularity!\\n $timeSpan: TimeSpan!\\n ) {\\n sentiments(\\n instrument: $instrument\\n granularity: $granularity\\n timeSpan: $timeSpan\\n ) {\\n sentiments {\\n sentiment {\\n shortPercent\\n }\\n time\\n }\\n }\\n }\\n':\n types.GetSentimentsDocument,\n};\n\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n *\n *\n * @example\n * ```ts\n * const query = graphql(`query GetUser($id: ID!) { user(id: $id) { name } }`);\n * ```\n *\n * The query argument is unknown!\n * Please regenerate the types.\n */\nexport function graphql(source: string): unknown;\n\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(\n source: '\\n query GetOrderPositionBooks(\\n $instrument: String!\\n $bookType: BookType!\\n $timeSpan: TimeSpan!\\n $granularity: Granularity!\\n $maxBookPrice: Float\\n $minBookPrice: Float\\n $bucketMultiplier: Int!\\n $bucketMargin: Int!\\n ) {\\n orderPositionBooks(\\n instrument: $instrument\\n bookType: $bookType\\n timeSpan: $timeSpan\\n granularity: $granularity\\n maxBookPrice: $maxBookPrice\\n minBookPrice: $minBookPrice\\n bucketMultiplier: $bucketMultiplier\\n bucketMargin: $bucketMargin\\n ) {\\n books {\\n time\\n price\\n buckets {\\n price\\n sentiment\\n }\\n }\\n bucketWidth\\n sentimentThresholdMax\\n sentimentThresholdMin\\n }\\n }\\n'\n): (typeof documents)['\\n query GetOrderPositionBooks(\\n $instrument: String!\\n $bookType: BookType!\\n $timeSpan: TimeSpan!\\n $granularity: Granularity!\\n $maxBookPrice: Float\\n $minBookPrice: Float\\n $bucketMultiplier: Int!\\n $bucketMargin: Int!\\n ) {\\n orderPositionBooks(\\n instrument: $instrument\\n bookType: $bookType\\n timeSpan: $timeSpan\\n granularity: $granularity\\n maxBookPrice: $maxBookPrice\\n minBookPrice: $minBookPrice\\n bucketMultiplier: $bucketMultiplier\\n bucketMargin: $bucketMargin\\n ) {\\n books {\\n time\\n price\\n buckets {\\n price\\n sentiment\\n }\\n }\\n bucketWidth\\n sentimentThresholdMax\\n sentimentThresholdMin\\n }\\n }\\n'];\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(\n source: '\\n query GetPriceCandles(\\n $dataSource: DataSource!\\n $division: Division!\\n $instrument: String!\\n $granularity: Granularity!\\n $timeSpan: TimeSpan!\\n ) {\\n priceCandles(\\n dataSource: $dataSource\\n division: $division\\n instrument: $instrument\\n granularity: $granularity\\n timeSpan: $timeSpan\\n ) {\\n candle {\\n point\\n high\\n low\\n open\\n close\\n }\\n pipsLocation\\n }\\n }\\n'\n): (typeof documents)['\\n query GetPriceCandles(\\n $dataSource: DataSource!\\n $division: Division!\\n $instrument: String!\\n $granularity: Granularity!\\n $timeSpan: TimeSpan!\\n ) {\\n priceCandles(\\n dataSource: $dataSource\\n division: $division\\n instrument: $instrument\\n granularity: $granularity\\n timeSpan: $timeSpan\\n ) {\\n candle {\\n point\\n high\\n low\\n open\\n close\\n }\\n pipsLocation\\n }\\n }\\n'];\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(\n source: '\\n query GetSentiments(\\n $instrument: String!\\n $granularity: Granularity!\\n $timeSpan: TimeSpan!\\n ) {\\n sentiments(\\n instrument: $instrument\\n granularity: $granularity\\n timeSpan: $timeSpan\\n ) {\\n sentiments {\\n sentiment {\\n shortPercent\\n }\\n time\\n }\\n }\\n }\\n'\n): (typeof documents)['\\n query GetSentiments(\\n $instrument: String!\\n $granularity: Granularity!\\n $timeSpan: TimeSpan!\\n ) {\\n sentiments(\\n instrument: $instrument\\n granularity: $granularity\\n timeSpan: $timeSpan\\n ) {\\n sentiments {\\n sentiment {\\n shortPercent\\n }\\n time\\n }\\n }\\n }\\n'];\n\nexport function graphql(source: string) {\n return (documents as any)[source] ?? {};\n}\n\nexport type DocumentType<TDocumentNode extends DocumentNode<any, any>> =\n TDocumentNode extends DocumentNode<infer TType, any> ? TType : never;\n"],"mappings":"AACA,OAAO,KAAKA,KAAK,MAAM,WAAW;AAalC,MAAMC,SAAS,GAAG;EAChB,iwBAAiwB,EAC/vBD,KAAK,CAACE,6BAA6B;EACrC,keAAke,EACheF,KAAK,CAACG,uBAAuB;EAC/B,2VAA2V,EACzVH,KAAK,CAACI;AACV,CAAC;AAmCD,OAAO,SAASC,OAAOA,CAACC,MAAc,EAAE;EACtC,OAAQL,SAAS,CAASK,MAAM,CAAC,IAAI,CAAC,CAAC;AACzC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphql.js","names":["AssetClassName","BookType","CorrelationTimeUnit","CurrencyName","CurrencyPowerBalanceTimeUnit","DataSource","Division","Granularity","OrderBookDataSource","Region","Sort","TimeSpan","TopicalSort","TradeMode","ValueAtRiskBars","ValueAtRiskDuration","VolatilityChartTimeSpan","VolatilityChartTimeUnit","GetOrderPositionBooksDocument","kind","definitions","operation","name","value","variableDefinitions","variable","type","selectionSet","selections","arguments","GetPriceCandlesDocument","GetSentimentsDocument"],"sources":["../../../../src/gql/types/graphql.ts"],"sourcesContent":["/* eslint-disable */\nimport { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';\nexport type Maybe<T> = T | null;\nexport type InputMaybe<T> = Maybe<T>;\nexport type Exact<T extends { [key: string]: unknown }> = {\n [K in keyof T]: T[K];\n};\nexport type MakeOptional<T, K extends keyof T> = Omit<T, K> & {\n [SubKey in K]?: Maybe<T[SubKey]>;\n};\nexport type MakeMaybe<T, K extends keyof T> = Omit<T, K> & {\n [SubKey in K]: Maybe<T[SubKey]>;\n};\nexport type MakeEmpty<\n T extends { [key: string]: unknown },\n K extends keyof T,\n> = { [_ in K]?: never };\nexport type Incremental<T> =\n | T\n | {\n [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never;\n };\n/** All built-in and custom scalars, mapped to their actual values */\nexport type Scalars = {\n ID: { input: string; output: string };\n String: { input: string; output: string };\n Boolean: { input: boolean; output: boolean };\n Int: { input: number; output: number };\n Float: { input: number; output: number };\n};\n\nexport type AssetClass = {\n __typename?: 'AssetClass';\n instruments: Array<Instrument>;\n name: Scalars['String']['output'];\n};\n\nexport enum AssetClassName {\n Commodities = 'COMMODITIES',\n Cryptocurrency = 'CRYPTOCURRENCY',\n Currency = 'CURRENCY',\n EquityShares = 'EQUITY_SHARES',\n Etfs = 'ETFS',\n Indices = 'INDICES',\n Metals = 'METALS',\n Rates = 'RATES',\n}\n\nexport enum BookType {\n Order = 'ORDER',\n Position = 'POSITION',\n}\n\nexport type Candle = {\n __typename?: 'Candle';\n close: Scalars['Float']['output'];\n high: Scalars['Float']['output'];\n low: Scalars['Float']['output'];\n open: Scalars['Float']['output'];\n /** UTC Timestamp */\n point: Scalars['String']['output'];\n};\n\nexport type CandlesData = {\n __typename?: 'CandlesData';\n candle: Array<Maybe<Candle>>;\n granularity: Granularity;\n instrument: Instrument;\n pipsLocation: Scalars['Int']['output'];\n timeSpan: TimeSpan;\n};\n\nexport type CorrelationHeatmap = {\n __typename?: 'CorrelationHeatmap';\n baseInstrument: Instrument;\n heatmap: Array<Heatmap>;\n};\n\nexport type CorrelationMatrix = {\n __typename?: 'CorrelationMatrix';\n baseTimeUnit: CorrelationTimeUnit;\n matrix: Array<Matrix>;\n};\n\nexport enum CorrelationTimeUnit {\n H1 = 'H1',\n H4 = 'H4',\n H24 = 'H24',\n M1 = 'M1',\n M3 = 'M3',\n M6 = 'M6',\n W1 = 'W1',\n Y1 = 'Y1',\n}\n\nexport enum CurrencyName {\n Aud = 'AUD',\n Cad = 'CAD',\n Chf = 'CHF',\n Eur = 'EUR',\n Gbp = 'GBP',\n Jpy = 'JPY',\n Nzd = 'NZD',\n Usd = 'USD',\n}\n\nexport type CurrencyPower = {\n __typename?: 'CurrencyPower';\n /** UTC Timestamp */\n point: Scalars['String']['output'];\n price: Scalars['Float']['output'];\n};\n\nexport type CurrencyPowerBalance = {\n __typename?: 'CurrencyPowerBalance';\n currency: CurrencyName;\n power: Array<CurrencyPower>;\n updatedAt: Scalars['String']['output'];\n};\n\nexport enum CurrencyPowerBalanceTimeUnit {\n CurrentDay = 'CURRENT_DAY',\n H4 = 'H4',\n H8 = 'H8',\n H24 = 'H24',\n M1 = 'M1',\n M3 = 'M3',\n PreviousDay = 'PREVIOUS_DAY',\n W1 = 'W1',\n}\n\nexport type CurrencyStrength = {\n __typename?: 'CurrencyStrength';\n currency: CurrencyName;\n strengthRelation?: Maybe<Array<StrengthRelation>>;\n updatedAt: Scalars['String']['output'];\n};\n\nexport enum DataSource {\n All = 'ALL',\n Mt5 = 'MT5',\n V20 = 'V20',\n}\n\nexport enum Division {\n Oap = 'OAP',\n Oau = 'OAU',\n Oc = 'OC',\n Ocan = 'OCAN',\n Oel = 'OEL',\n Ogm = 'OGM',\n Oj = 'OJ',\n Opt = 'OPT',\n Otms = 'OTMS',\n}\n\nexport type ExtendedInstrument = {\n __typename?: 'ExtendedInstrument';\n dataSource: DataSource;\n displayName: Scalars['String']['output'];\n name: Scalars['String']['output'];\n tradeMode: TradeMode;\n};\n\nexport enum Granularity {\n H1 = 'H1',\n H4 = 'H4',\n M5 = 'M5',\n M15 = 'M15',\n}\n\nexport type Heatmap = {\n __typename?: 'Heatmap';\n instrument: Instrument;\n timeCorrelation: Array<TimeCorrelation>;\n};\n\nexport type Instrument = {\n __typename?: 'Instrument';\n displayName: Scalars['String']['output'];\n name: Scalars['String']['output'];\n};\n\nexport type InstrumentCorrelation = {\n __typename?: 'InstrumentCorrelation';\n instrument: Instrument;\n value?: Maybe<Scalars['Float']['output']>;\n};\n\nexport type InstrumentTableResult = {\n __typename?: 'InstrumentTableResult';\n instruments: Array<ExtendedInstrument>;\n totalCount: Scalars['Int']['output'];\n updatedAt: Scalars['String']['output'];\n};\n\nexport type MarginRate = {\n __typename?: 'MarginRate';\n instrument: Instrument;\n rate: Scalars['Float']['output'];\n};\n\nexport type Matrix = {\n __typename?: 'Matrix';\n instrument: Instrument;\n instrumentCorrelation: Array<InstrumentCorrelation>;\n};\n\nexport enum OrderBookDataSource {\n Ny4 = 'NY4',\n Ny4Mt5 = 'NY4_MT5',\n Ty3 = 'TY3',\n}\n\nexport type OrderPositionBooksData = {\n __typename?: 'OrderPositionBooksData';\n books?: Maybe<Array<OrderPositionData>>;\n bucketWidth: Scalars['Float']['output'];\n displayPrecision: Scalars['Int']['output'];\n sentimentThresholdMax: Scalars['Float']['output'];\n sentimentThresholdMin: Scalars['Float']['output'];\n};\n\nexport type OrderPositionBucket = {\n __typename?: 'OrderPositionBucket';\n longCountPercent?: Maybe<Scalars['Float']['output']>;\n price: Scalars['Float']['output'];\n sentiment?: Maybe<Scalars['Float']['output']>;\n shortCountPercent?: Maybe<Scalars['Float']['output']>;\n};\n\nexport type OrderPositionData = {\n __typename?: 'OrderPositionData';\n bucketWidth: Scalars['Float']['output'];\n buckets: Array<Maybe<OrderPositionBucket>>;\n dataSource?: Maybe<Scalars['String']['output']>;\n instrument: Scalars['String']['output'];\n price?: Maybe<Scalars['Float']['output']>;\n region?: Maybe<Scalars['String']['output']>;\n time: Scalars['String']['output'];\n unixTime: Scalars['Int']['output'];\n};\n\nexport type Query = {\n __typename?: 'Query';\n assetClasses?: Maybe<Array<Maybe<AssetClass>>>;\n correlationHeatmap: CorrelationHeatmap;\n correlationMatrix: CorrelationMatrix;\n currencyPowerBalance?: Maybe<Array<CurrencyPowerBalance>>;\n currencyStrength?: Maybe<Array<CurrencyStrength>>;\n isAllowedPartner?: Maybe<Scalars['Boolean']['output']>;\n mapInstrumentNames?: Maybe<Array<Maybe<Instrument>>>;\n marginRates?: Maybe<Array<MarginRate>>;\n orderPositionBook: Array<Maybe<OrderPositionData>>;\n orderPositionBooks: OrderPositionBooksData;\n priceCandles: CandlesData;\n resolveInstrumentsByDivision?: Maybe<Array<Instrument>>;\n resolveInstrumentsWithFilters?: Maybe<InstrumentTableResult>;\n sentiment?: Maybe<Array<SentimentInstrument>>;\n sentimentList?: Maybe<Array<SentimentInstrument>>;\n sentiments: SentimentData;\n topicalInstruments?: Maybe<Array<TopicalInstrument>>;\n topicalInstrumentsCharts?: Maybe<Array<TopicalInstrumentChart>>;\n topicalInstrumentsTotalCount: Scalars['Int']['output'];\n valueAtRiskAssetClasses?: Maybe<Array<AssetClass>>;\n valueAtRiskChart?: Maybe<ValueAtRiskChart>;\n volatilityChart?: Maybe<Array<Maybe<VolatilityChart>>>;\n volatilityChartAssetClasses?: Maybe<Array<AssetClass>>;\n};\n\nexport type QueryAssetClassesArgs = {\n division: Division;\n};\n\nexport type QueryCorrelationHeatmapArgs = {\n division: Division;\n instruments?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n timeSpans?: InputMaybe<Array<InputMaybe<CorrelationTimeUnit>>>;\n};\n\nexport type QueryCorrelationMatrixArgs = {\n division: Division;\n instruments?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n};\n\nexport type QueryCurrencyPowerBalanceArgs = {\n timeUnit: CurrencyPowerBalanceTimeUnit;\n};\n\nexport type QueryIsAllowedPartnerArgs = {\n url: Scalars['String']['input'];\n};\n\nexport type QueryMapInstrumentNamesArgs = {\n division?: InputMaybe<Division>;\n instruments: Array<InputMaybe<Scalars['String']['input']>>;\n};\n\nexport type QueryMarginRatesArgs = {\n dataSource: DataSource;\n division: Division;\n instruments?: InputMaybe<Array<Scalars['String']['input']>>;\n tradingGroup: Scalars['Int']['input'];\n};\n\nexport type QueryOrderPositionBookArgs = {\n bookType: BookType;\n dataSource?: InputMaybe<OrderBookDataSource>;\n instrument: Scalars['String']['input'];\n recentHours?: InputMaybe<Scalars['Int']['input']>;\n};\n\nexport type QueryOrderPositionBooksArgs = {\n bookType: BookType;\n bucketMargin?: Scalars['Int']['input'];\n bucketMultiplier?: Scalars['Int']['input'];\n granularity: Granularity;\n instrument: Scalars['String']['input'];\n maxBookPrice?: InputMaybe<Scalars['Float']['input']>;\n minBookPrice?: InputMaybe<Scalars['Float']['input']>;\n timeSpan: TimeSpan;\n};\n\nexport type QueryPriceCandlesArgs = {\n dataSource: DataSource;\n division: Division;\n granularity: Granularity;\n instrument: Scalars['String']['input'];\n timeSpan: TimeSpan;\n};\n\nexport type QueryResolveInstrumentsByDivisionArgs = {\n division: Division;\n instruments: Array<InputMaybe<Scalars['String']['input']>>;\n};\n\nexport type QueryResolveInstrumentsWithFiltersArgs = {\n assetClass?: InputMaybe<Array<InputMaybe<AssetClassName>>>;\n count?: InputMaybe<Scalars['Int']['input']>;\n dataSource: DataSource;\n division: Division;\n instruments?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n offset?: InputMaybe<Scalars['Int']['input']>;\n searchPattern?: InputMaybe<Scalars['String']['input']>;\n tradeModes?: InputMaybe<Array<InputMaybe<TradeMode>>>;\n};\n\nexport type QuerySentimentArgs = {\n division?: InputMaybe<Division>;\n name: Scalars['String']['input'];\n};\n\nexport type QuerySentimentListArgs = {\n division?: InputMaybe<Division>;\n sort?: InputMaybe<Sort>;\n};\n\nexport type QuerySentimentsArgs = {\n granularity: Granularity;\n instrument: Scalars['String']['input'];\n timeSpan: TimeSpan;\n};\n\nexport type QueryTopicalInstrumentsArgs = {\n assetClass?: InputMaybe<AssetClassName>;\n count?: InputMaybe<Scalars['Int']['input']>;\n division?: InputMaybe<Division>;\n offset?: InputMaybe<Scalars['Int']['input']>;\n sort: TopicalSort;\n};\n\nexport type QueryTopicalInstrumentsChartsArgs = {\n division?: InputMaybe<Division>;\n instruments?: InputMaybe<Array<Scalars['String']['input']>>;\n};\n\nexport type QueryTopicalInstrumentsTotalCountArgs = {\n assetClass?: InputMaybe<AssetClassName>;\n division?: InputMaybe<Division>;\n sort: TopicalSort;\n};\n\nexport type QueryValueAtRiskAssetClassesArgs = {\n division?: InputMaybe<Division>;\n};\n\nexport type QueryValueAtRiskChartArgs = {\n bars: ValueAtRiskBars;\n division?: InputMaybe<Division>;\n duration: ValueAtRiskDuration;\n instrument: Scalars['String']['input'];\n};\n\nexport type QueryVolatilityChartArgs = {\n division?: InputMaybe<Division>;\n instrument: Scalars['String']['input'];\n timeSpan: VolatilityChartTimeSpan;\n timeUnit: VolatilityChartTimeUnit;\n};\n\nexport type QueryVolatilityChartAssetClassesArgs = {\n division?: InputMaybe<Division>;\n};\n\nexport enum Region {\n Amer = 'AMER',\n Apac = 'APAC',\n Emea = 'EMEA',\n}\n\nexport type Sentiment = {\n __typename?: 'Sentiment';\n longPercent: Scalars['Float']['output'];\n shortPercent: Scalars['Float']['output'];\n};\n\nexport type SentimentData = {\n __typename?: 'SentimentData';\n sentiments: Array<Maybe<SentimentWithTime>>;\n};\n\nexport type SentimentInstrument = {\n __typename?: 'SentimentInstrument';\n displayName: Scalars['String']['output'];\n name: Scalars['String']['output'];\n sentiment: Sentiment;\n updatedAt: Scalars['String']['output'];\n};\n\nexport type SentimentWithTime = {\n __typename?: 'SentimentWithTime';\n sentiment: Sentiment;\n time: Scalars['String']['output'];\n};\n\nexport enum Sort {\n Bearish = 'BEARISH',\n Bullish = 'BULLISH',\n}\n\nexport type StrengthRelation = {\n __typename?: 'StrengthRelation';\n currency: CurrencyName;\n percentage: Scalars['Float']['output'];\n};\n\nexport type TimeCorrelation = {\n __typename?: 'TimeCorrelation';\n timeUnit: CorrelationTimeUnit;\n value?: Maybe<Scalars['Float']['output']>;\n};\n\nexport enum TimeSpan {\n FiveDays = 'FIVE_DAYS',\n NinetyDays = 'NINETY_DAYS',\n TenDays = 'TEN_DAYS',\n TwentyDays = 'TWENTY_DAYS',\n TwoDays = 'TWO_DAYS',\n}\n\nexport type TopicalInstrument = {\n __typename?: 'TopicalInstrument';\n assetClass?: Maybe<AssetClassName>;\n displayName: Scalars['String']['output'];\n name: Scalars['String']['output'];\n sentiment: Sentiment;\n updatedAt: Scalars['String']['output'];\n};\n\nexport type TopicalInstrumentChart = {\n __typename?: 'TopicalInstrumentChart';\n chart?: Maybe<Array<Scalars['Float']['output']>>;\n name: Scalars['String']['output'];\n};\n\nexport enum TopicalSort {\n Bearish = 'BEARISH',\n Bullish = 'BULLISH',\n Hot = 'HOT',\n Popular = 'POPULAR',\n Volatile = 'VOLATILE',\n}\n\nexport enum TradeMode {\n TradeCloseonly = 'TRADE_CLOSEONLY',\n TradeDisabled = 'TRADE_DISABLED',\n TradeFull = 'TRADE_FULL',\n TradeLongonly = 'TRADE_LONGONLY',\n TradeShortonly = 'TRADE_SHORTONLY',\n TradeUndefined = 'TRADE_UNDEFINED',\n}\n\nexport enum ValueAtRiskBars {\n C100 = 'C100',\n C200 = 'C200',\n C300 = 'C300',\n}\n\nexport type ValueAtRiskChart = {\n __typename?: 'ValueAtRiskChart';\n down: ValueAtRiskChartData;\n up: ValueAtRiskChartData;\n};\n\nexport type ValueAtRiskChartData = {\n __typename?: 'ValueAtRiskChartData';\n average: Scalars['Float']['output'];\n max: Scalars['Float']['output'];\n median: Scalars['Float']['output'];\n points?: Maybe<Array<ValueAtRiskChartPoint>>;\n threshold: Scalars['Float']['output'];\n};\n\nexport type ValueAtRiskChartPoint = {\n __typename?: 'ValueAtRiskChartPoint';\n percent: Scalars['Float']['output'];\n pips: Scalars['Float']['output'];\n};\n\nexport enum ValueAtRiskDuration {\n C1 = 'C1',\n C2 = 'C2',\n C3 = 'C3',\n C4 = 'C4',\n C5 = 'C5',\n C10 = 'C10',\n}\n\nexport type VolatilityChart = {\n __typename?: 'VolatilityChart';\n pips: Scalars['Float']['output'];\n /** Time point - hour in format hh:mm, Date in UTC, Week in format 'Mo' */\n point: Scalars['String']['output'];\n updatedAt: Scalars['String']['output'];\n};\n\nexport enum VolatilityChartTimeSpan {\n /** Valid for: H */\n D5 = 'D5',\n /** Valid for: H */\n D10 = 'D10',\n /** Valid for: D */\n M1 = 'M1',\n /** Valid for: D */\n M3 = 'M3',\n /** Valid for: W */\n W5 = 'W5',\n /** Valid for: W */\n W10 = 'W10',\n}\n\nexport enum VolatilityChartTimeUnit {\n D = 'D',\n H = 'H',\n W = 'W',\n}\n\nexport type GetOrderPositionBooksQueryVariables = Exact<{\n instrument: Scalars['String']['input'];\n bookType: BookType;\n timeSpan: TimeSpan;\n granularity: Granularity;\n maxBookPrice?: InputMaybe<Scalars['Float']['input']>;\n minBookPrice?: InputMaybe<Scalars['Float']['input']>;\n bucketMultiplier: Scalars['Int']['input'];\n bucketMargin: Scalars['Int']['input'];\n}>;\n\nexport type GetOrderPositionBooksQuery = {\n __typename?: 'Query';\n orderPositionBooks: {\n __typename?: 'OrderPositionBooksData';\n bucketWidth: number;\n sentimentThresholdMax: number;\n sentimentThresholdMin: number;\n books?: Array<{\n __typename?: 'OrderPositionData';\n time: string;\n price?: number | null;\n buckets: Array<{\n __typename?: 'OrderPositionBucket';\n price: number;\n sentiment?: number | null;\n } | null>;\n }> | null;\n };\n};\n\nexport type GetPriceCandlesQueryVariables = Exact<{\n dataSource: DataSource;\n division: Division;\n instrument: Scalars['String']['input'];\n granularity: Granularity;\n timeSpan: TimeSpan;\n}>;\n\nexport type GetPriceCandlesQuery = {\n __typename?: 'Query';\n priceCandles: {\n __typename?: 'CandlesData';\n pipsLocation: number;\n candle: Array<{\n __typename?: 'Candle';\n point: string;\n high: number;\n low: number;\n open: number;\n close: number;\n } | null>;\n };\n};\n\nexport type GetSentimentsQueryVariables = Exact<{\n instrument: Scalars['String']['input'];\n granularity: Granularity;\n timeSpan: TimeSpan;\n}>;\n\nexport type GetSentimentsQuery = {\n __typename?: 'Query';\n sentiments: {\n __typename?: 'SentimentData';\n sentiments: Array<{\n __typename?: 'SentimentWithTime';\n time: string;\n sentiment: {\n __typename?: 'Sentiment';\n longPercent: number;\n shortPercent: number;\n };\n } | null>;\n };\n};\n\nexport const GetOrderPositionBooksDocument = {\n kind: 'Document',\n definitions: [\n {\n kind: 'OperationDefinition',\n operation: 'query',\n name: { kind: 'Name', value: 'GetOrderPositionBooks' },\n variableDefinitions: [\n {\n kind: 'VariableDefinition',\n variable: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'instrument' },\n },\n type: {\n kind: 'NonNullType',\n type: {\n kind: 'NamedType',\n name: { kind: 'Name', value: 'String' },\n },\n },\n },\n {\n kind: 'VariableDefinition',\n variable: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'bookType' },\n },\n type: {\n kind: 'NonNullType',\n type: {\n kind: 'NamedType',\n name: { kind: 'Name', value: 'BookType' },\n },\n },\n },\n {\n kind: 'VariableDefinition',\n variable: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'timeSpan' },\n },\n type: {\n kind: 'NonNullType',\n type: {\n kind: 'NamedType',\n name: { kind: 'Name', value: 'TimeSpan' },\n },\n },\n },\n {\n kind: 'VariableDefinition',\n variable: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'granularity' },\n },\n type: {\n kind: 'NonNullType',\n type: {\n kind: 'NamedType',\n name: { kind: 'Name', value: 'Granularity' },\n },\n },\n },\n {\n kind: 'VariableDefinition',\n variable: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'maxBookPrice' },\n },\n type: { kind: 'NamedType', name: { kind: 'Name', value: 'Float' } },\n },\n {\n kind: 'VariableDefinition',\n variable: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'minBookPrice' },\n },\n type: { kind: 'NamedType', name: { kind: 'Name', value: 'Float' } },\n },\n {\n kind: 'VariableDefinition',\n variable: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'bucketMultiplier' },\n },\n type: {\n kind: 'NonNullType',\n type: { kind: 'NamedType', name: { kind: 'Name', value: 'Int' } },\n },\n },\n {\n kind: 'VariableDefinition',\n variable: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'bucketMargin' },\n },\n type: {\n kind: 'NonNullType',\n type: { kind: 'NamedType', name: { kind: 'Name', value: 'Int' } },\n },\n },\n ],\n selectionSet: {\n kind: 'SelectionSet',\n selections: [\n {\n kind: 'Field',\n name: { kind: 'Name', value: 'orderPositionBooks' },\n arguments: [\n {\n kind: 'Argument',\n name: { kind: 'Name', value: 'instrument' },\n value: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'instrument' },\n },\n },\n {\n kind: 'Argument',\n name: { kind: 'Name', value: 'bookType' },\n value: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'bookType' },\n },\n },\n {\n kind: 'Argument',\n name: { kind: 'Name', value: 'timeSpan' },\n value: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'timeSpan' },\n },\n },\n {\n kind: 'Argument',\n name: { kind: 'Name', value: 'granularity' },\n value: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'granularity' },\n },\n },\n {\n kind: 'Argument',\n name: { kind: 'Name', value: 'maxBookPrice' },\n value: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'maxBookPrice' },\n },\n },\n {\n kind: 'Argument',\n name: { kind: 'Name', value: 'minBookPrice' },\n value: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'minBookPrice' },\n },\n },\n {\n kind: 'Argument',\n name: { kind: 'Name', value: 'bucketMultiplier' },\n value: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'bucketMultiplier' },\n },\n },\n {\n kind: 'Argument',\n name: { kind: 'Name', value: 'bucketMargin' },\n value: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'bucketMargin' },\n },\n },\n ],\n selectionSet: {\n kind: 'SelectionSet',\n selections: [\n {\n kind: 'Field',\n name: { kind: 'Name', value: 'books' },\n selectionSet: {\n kind: 'SelectionSet',\n selections: [\n { kind: 'Field', name: { kind: 'Name', value: 'time' } },\n { kind: 'Field', name: { kind: 'Name', value: 'price' } },\n {\n kind: 'Field',\n name: { kind: 'Name', value: 'buckets' },\n selectionSet: {\n kind: 'SelectionSet',\n selections: [\n {\n kind: 'Field',\n name: { kind: 'Name', value: 'price' },\n },\n {\n kind: 'Field',\n name: { kind: 'Name', value: 'sentiment' },\n },\n ],\n },\n },\n ],\n },\n },\n { kind: 'Field', name: { kind: 'Name', value: 'bucketWidth' } },\n {\n kind: 'Field',\n name: { kind: 'Name', value: 'sentimentThresholdMax' },\n },\n {\n kind: 'Field',\n name: { kind: 'Name', value: 'sentimentThresholdMin' },\n },\n ],\n },\n },\n ],\n },\n },\n ],\n} as unknown as DocumentNode<\n GetOrderPositionBooksQuery,\n GetOrderPositionBooksQueryVariables\n>;\nexport const GetPriceCandlesDocument = {\n kind: 'Document',\n definitions: [\n {\n kind: 'OperationDefinition',\n operation: 'query',\n name: { kind: 'Name', value: 'GetPriceCandles' },\n variableDefinitions: [\n {\n kind: 'VariableDefinition',\n variable: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'dataSource' },\n },\n type: {\n kind: 'NonNullType',\n type: {\n kind: 'NamedType',\n name: { kind: 'Name', value: 'DataSource' },\n },\n },\n },\n {\n kind: 'VariableDefinition',\n variable: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'division' },\n },\n type: {\n kind: 'NonNullType',\n type: {\n kind: 'NamedType',\n name: { kind: 'Name', value: 'Division' },\n },\n },\n },\n {\n kind: 'VariableDefinition',\n variable: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'instrument' },\n },\n type: {\n kind: 'NonNullType',\n type: {\n kind: 'NamedType',\n name: { kind: 'Name', value: 'String' },\n },\n },\n },\n {\n kind: 'VariableDefinition',\n variable: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'granularity' },\n },\n type: {\n kind: 'NonNullType',\n type: {\n kind: 'NamedType',\n name: { kind: 'Name', value: 'Granularity' },\n },\n },\n },\n {\n kind: 'VariableDefinition',\n variable: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'timeSpan' },\n },\n type: {\n kind: 'NonNullType',\n type: {\n kind: 'NamedType',\n name: { kind: 'Name', value: 'TimeSpan' },\n },\n },\n },\n ],\n selectionSet: {\n kind: 'SelectionSet',\n selections: [\n {\n kind: 'Field',\n name: { kind: 'Name', value: 'priceCandles' },\n arguments: [\n {\n kind: 'Argument',\n name: { kind: 'Name', value: 'dataSource' },\n value: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'dataSource' },\n },\n },\n {\n kind: 'Argument',\n name: { kind: 'Name', value: 'division' },\n value: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'division' },\n },\n },\n {\n kind: 'Argument',\n name: { kind: 'Name', value: 'instrument' },\n value: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'instrument' },\n },\n },\n {\n kind: 'Argument',\n name: { kind: 'Name', value: 'granularity' },\n value: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'granularity' },\n },\n },\n {\n kind: 'Argument',\n name: { kind: 'Name', value: 'timeSpan' },\n value: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'timeSpan' },\n },\n },\n ],\n selectionSet: {\n kind: 'SelectionSet',\n selections: [\n {\n kind: 'Field',\n name: { kind: 'Name', value: 'candle' },\n selectionSet: {\n kind: 'SelectionSet',\n selections: [\n { kind: 'Field', name: { kind: 'Name', value: 'point' } },\n { kind: 'Field', name: { kind: 'Name', value: 'high' } },\n { kind: 'Field', name: { kind: 'Name', value: 'low' } },\n { kind: 'Field', name: { kind: 'Name', value: 'open' } },\n { kind: 'Field', name: { kind: 'Name', value: 'close' } },\n ],\n },\n },\n {\n kind: 'Field',\n name: { kind: 'Name', value: 'pipsLocation' },\n },\n ],\n },\n },\n ],\n },\n },\n ],\n} as unknown as DocumentNode<\n GetPriceCandlesQuery,\n GetPriceCandlesQueryVariables\n>;\nexport const GetSentimentsDocument = {\n kind: 'Document',\n definitions: [\n {\n kind: 'OperationDefinition',\n operation: 'query',\n name: { kind: 'Name', value: 'GetSentiments' },\n variableDefinitions: [\n {\n kind: 'VariableDefinition',\n variable: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'instrument' },\n },\n type: {\n kind: 'NonNullType',\n type: {\n kind: 'NamedType',\n name: { kind: 'Name', value: 'String' },\n },\n },\n },\n {\n kind: 'VariableDefinition',\n variable: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'granularity' },\n },\n type: {\n kind: 'NonNullType',\n type: {\n kind: 'NamedType',\n name: { kind: 'Name', value: 'Granularity' },\n },\n },\n },\n {\n kind: 'VariableDefinition',\n variable: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'timeSpan' },\n },\n type: {\n kind: 'NonNullType',\n type: {\n kind: 'NamedType',\n name: { kind: 'Name', value: 'TimeSpan' },\n },\n },\n },\n ],\n selectionSet: {\n kind: 'SelectionSet',\n selections: [\n {\n kind: 'Field',\n name: { kind: 'Name', value: 'sentiments' },\n arguments: [\n {\n kind: 'Argument',\n name: { kind: 'Name', value: 'instrument' },\n value: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'instrument' },\n },\n },\n {\n kind: 'Argument',\n name: { kind: 'Name', value: 'granularity' },\n value: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'granularity' },\n },\n },\n {\n kind: 'Argument',\n name: { kind: 'Name', value: 'timeSpan' },\n value: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'timeSpan' },\n },\n },\n ],\n selectionSet: {\n kind: 'SelectionSet',\n selections: [\n {\n kind: 'Field',\n name: { kind: 'Name', value: 'sentiments' },\n selectionSet: {\n kind: 'SelectionSet',\n selections: [\n {\n kind: 'Field',\n name: { kind: 'Name', value: 'sentiment' },\n selectionSet: {\n kind: 'SelectionSet',\n selections: [\n {\n kind: 'Field',\n name: { kind: 'Name', value: 'longPercent' },\n },\n {\n kind: 'Field',\n name: { kind: 'Name', value: 'shortPercent' },\n },\n ],\n },\n },\n { kind: 'Field', name: { kind: 'Name', value: 'time' } },\n ],\n },\n },\n ],\n },\n },\n ],\n },\n },\n ],\n} as unknown as DocumentNode<GetSentimentsQuery, GetSentimentsQueryVariables>;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"graphql.js","names":["AssetClassName","BookType","CorrelationTimeUnit","CurrencyName","CurrencyPowerBalanceTimeUnit","DataSource","Division","Granularity","OrderBookDataSource","Region","Sort","TimeSpan","TopicalSort","TradeMode","ValueAtRiskBars","ValueAtRiskDuration","VolatilityChartTimeSpan","VolatilityChartTimeUnit","GetOrderPositionBooksDocument","kind","definitions","operation","name","value","variableDefinitions","variable","type","selectionSet","selections","arguments","GetPriceCandlesDocument","GetSentimentsDocument"],"sources":["../../../../src/gql/types/graphql.ts"],"sourcesContent":["/* eslint-disable */\nimport { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';\nexport type Maybe<T> = T | null;\nexport type InputMaybe<T> = Maybe<T>;\nexport type Exact<T extends { [key: string]: unknown }> = {\n [K in keyof T]: T[K];\n};\nexport type MakeOptional<T, K extends keyof T> = Omit<T, K> & {\n [SubKey in K]?: Maybe<T[SubKey]>;\n};\nexport type MakeMaybe<T, K extends keyof T> = Omit<T, K> & {\n [SubKey in K]: Maybe<T[SubKey]>;\n};\nexport type MakeEmpty<\n T extends { [key: string]: unknown },\n K extends keyof T,\n> = { [_ in K]?: never };\nexport type Incremental<T> =\n | T\n | {\n [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never;\n };\n/** All built-in and custom scalars, mapped to their actual values */\nexport type Scalars = {\n ID: { input: string; output: string };\n String: { input: string; output: string };\n Boolean: { input: boolean; output: boolean };\n Int: { input: number; output: number };\n Float: { input: number; output: number };\n};\n\nexport type AssetClass = {\n __typename?: 'AssetClass';\n instruments: Array<Instrument>;\n name: Scalars['String']['output'];\n};\n\nexport enum AssetClassName {\n Commodities = 'COMMODITIES',\n Cryptocurrency = 'CRYPTOCURRENCY',\n Currency = 'CURRENCY',\n EquityShares = 'EQUITY_SHARES',\n Etfs = 'ETFS',\n Indices = 'INDICES',\n Metals = 'METALS',\n Rates = 'RATES',\n}\n\nexport enum BookType {\n Order = 'ORDER',\n Position = 'POSITION',\n}\n\nexport type Candle = {\n __typename?: 'Candle';\n close: Scalars['Float']['output'];\n high: Scalars['Float']['output'];\n low: Scalars['Float']['output'];\n open: Scalars['Float']['output'];\n /** UTC Timestamp */\n point: Scalars['String']['output'];\n};\n\nexport type CandlesData = {\n __typename?: 'CandlesData';\n candle: Array<Maybe<Candle>>;\n granularity: Granularity;\n instrument: Instrument;\n pipsLocation: Scalars['Int']['output'];\n timeSpan: TimeSpan;\n};\n\nexport type CorrelationHeatmap = {\n __typename?: 'CorrelationHeatmap';\n baseInstrument: Instrument;\n heatmap: Array<Heatmap>;\n};\n\nexport type CorrelationMatrix = {\n __typename?: 'CorrelationMatrix';\n baseTimeUnit: CorrelationTimeUnit;\n matrix: Array<Matrix>;\n};\n\nexport enum CorrelationTimeUnit {\n H1 = 'H1',\n H4 = 'H4',\n H24 = 'H24',\n M1 = 'M1',\n M3 = 'M3',\n M6 = 'M6',\n W1 = 'W1',\n Y1 = 'Y1',\n}\n\nexport enum CurrencyName {\n Aud = 'AUD',\n Cad = 'CAD',\n Chf = 'CHF',\n Eur = 'EUR',\n Gbp = 'GBP',\n Jpy = 'JPY',\n Nzd = 'NZD',\n Usd = 'USD',\n}\n\nexport type CurrencyPower = {\n __typename?: 'CurrencyPower';\n /** UTC Timestamp */\n point: Scalars['String']['output'];\n price: Scalars['Float']['output'];\n};\n\nexport type CurrencyPowerBalance = {\n __typename?: 'CurrencyPowerBalance';\n currency: CurrencyName;\n power: Array<CurrencyPower>;\n updatedAt: Scalars['String']['output'];\n};\n\nexport enum CurrencyPowerBalanceTimeUnit {\n CurrentDay = 'CURRENT_DAY',\n H4 = 'H4',\n H8 = 'H8',\n H24 = 'H24',\n M1 = 'M1',\n M3 = 'M3',\n PreviousDay = 'PREVIOUS_DAY',\n W1 = 'W1',\n}\n\nexport type CurrencyStrength = {\n __typename?: 'CurrencyStrength';\n currency: CurrencyName;\n strengthRelation?: Maybe<Array<StrengthRelation>>;\n updatedAt: Scalars['String']['output'];\n};\n\nexport enum DataSource {\n All = 'ALL',\n Mt5 = 'MT5',\n V20 = 'V20',\n}\n\nexport enum Division {\n Oap = 'OAP',\n Oau = 'OAU',\n Oc = 'OC',\n Ocan = 'OCAN',\n Oel = 'OEL',\n Ogm = 'OGM',\n Oj = 'OJ',\n Opt = 'OPT',\n Otms = 'OTMS',\n}\n\nexport type ExtendedInstrument = {\n __typename?: 'ExtendedInstrument';\n dataSource: DataSource;\n displayName: Scalars['String']['output'];\n name: Scalars['String']['output'];\n tradeMode: TradeMode;\n};\n\nexport enum Granularity {\n H1 = 'H1',\n H4 = 'H4',\n M5 = 'M5',\n M15 = 'M15',\n}\n\nexport type Heatmap = {\n __typename?: 'Heatmap';\n instrument: Instrument;\n timeCorrelation: Array<TimeCorrelation>;\n};\n\nexport type Instrument = {\n __typename?: 'Instrument';\n displayName: Scalars['String']['output'];\n name: Scalars['String']['output'];\n};\n\nexport type InstrumentCorrelation = {\n __typename?: 'InstrumentCorrelation';\n instrument: Instrument;\n value?: Maybe<Scalars['Float']['output']>;\n};\n\nexport type InstrumentTableResult = {\n __typename?: 'InstrumentTableResult';\n instruments: Array<ExtendedInstrument>;\n totalCount: Scalars['Int']['output'];\n updatedAt: Scalars['String']['output'];\n};\n\nexport type MarginRate = {\n __typename?: 'MarginRate';\n instrument: Instrument;\n rate: Scalars['Float']['output'];\n};\n\nexport type Matrix = {\n __typename?: 'Matrix';\n instrument: Instrument;\n instrumentCorrelation: Array<InstrumentCorrelation>;\n};\n\nexport enum OrderBookDataSource {\n Ny4 = 'NY4',\n Ny4Mt5 = 'NY4_MT5',\n Ty3 = 'TY3',\n}\n\nexport type OrderPositionBooksData = {\n __typename?: 'OrderPositionBooksData';\n books?: Maybe<Array<OrderPositionData>>;\n bucketWidth: Scalars['Float']['output'];\n displayPrecision: Scalars['Int']['output'];\n sentimentThresholdMax: Scalars['Float']['output'];\n sentimentThresholdMin: Scalars['Float']['output'];\n};\n\nexport type OrderPositionBucket = {\n __typename?: 'OrderPositionBucket';\n longCountPercent?: Maybe<Scalars['Float']['output']>;\n price: Scalars['Float']['output'];\n sentiment?: Maybe<Scalars['Float']['output']>;\n shortCountPercent?: Maybe<Scalars['Float']['output']>;\n};\n\nexport type OrderPositionData = {\n __typename?: 'OrderPositionData';\n bucketWidth: Scalars['Float']['output'];\n buckets: Array<Maybe<OrderPositionBucket>>;\n dataSource?: Maybe<Scalars['String']['output']>;\n instrument: Scalars['String']['output'];\n price?: Maybe<Scalars['Float']['output']>;\n region?: Maybe<Scalars['String']['output']>;\n time: Scalars['String']['output'];\n unixTime: Scalars['Int']['output'];\n};\n\nexport type Query = {\n __typename?: 'Query';\n assetClasses?: Maybe<Array<Maybe<AssetClass>>>;\n correlationHeatmap: CorrelationHeatmap;\n correlationMatrix: CorrelationMatrix;\n currencyPowerBalance?: Maybe<Array<CurrencyPowerBalance>>;\n currencyStrength?: Maybe<Array<CurrencyStrength>>;\n isAllowedPartner?: Maybe<Scalars['Boolean']['output']>;\n mapInstrumentNames?: Maybe<Array<Maybe<Instrument>>>;\n marginRates?: Maybe<Array<MarginRate>>;\n orderPositionBook: Array<Maybe<OrderPositionData>>;\n orderPositionBooks: OrderPositionBooksData;\n priceCandles: CandlesData;\n resolveInstrumentsByDivision?: Maybe<Array<Instrument>>;\n resolveInstrumentsWithFilters?: Maybe<InstrumentTableResult>;\n sentiment?: Maybe<Array<SentimentInstrument>>;\n sentimentList?: Maybe<Array<SentimentInstrument>>;\n sentiments: SentimentData;\n topicalInstruments?: Maybe<Array<TopicalInstrument>>;\n topicalInstrumentsCharts?: Maybe<Array<TopicalInstrumentChart>>;\n topicalInstrumentsTotalCount: Scalars['Int']['output'];\n valueAtRiskAssetClasses?: Maybe<Array<AssetClass>>;\n valueAtRiskChart?: Maybe<ValueAtRiskChart>;\n volatilityChart?: Maybe<Array<Maybe<VolatilityChart>>>;\n volatilityChartAssetClasses?: Maybe<Array<AssetClass>>;\n};\n\nexport type QueryAssetClassesArgs = {\n division: Division;\n};\n\nexport type QueryCorrelationHeatmapArgs = {\n division: Division;\n instruments?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n timeSpans?: InputMaybe<Array<InputMaybe<CorrelationTimeUnit>>>;\n};\n\nexport type QueryCorrelationMatrixArgs = {\n division: Division;\n instruments?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n};\n\nexport type QueryCurrencyPowerBalanceArgs = {\n timeUnit: CurrencyPowerBalanceTimeUnit;\n};\n\nexport type QueryIsAllowedPartnerArgs = {\n url: Scalars['String']['input'];\n};\n\nexport type QueryMapInstrumentNamesArgs = {\n division?: InputMaybe<Division>;\n instruments: Array<InputMaybe<Scalars['String']['input']>>;\n};\n\nexport type QueryMarginRatesArgs = {\n dataSource: DataSource;\n division: Division;\n instruments?: InputMaybe<Array<Scalars['String']['input']>>;\n tradingGroup: Scalars['Int']['input'];\n};\n\nexport type QueryOrderPositionBookArgs = {\n bookType: BookType;\n dataSource?: InputMaybe<OrderBookDataSource>;\n instrument: Scalars['String']['input'];\n recentHours?: InputMaybe<Scalars['Int']['input']>;\n};\n\nexport type QueryOrderPositionBooksArgs = {\n bookType: BookType;\n bucketMargin?: Scalars['Int']['input'];\n bucketMultiplier?: Scalars['Int']['input'];\n granularity: Granularity;\n instrument: Scalars['String']['input'];\n maxBookPrice?: InputMaybe<Scalars['Float']['input']>;\n minBookPrice?: InputMaybe<Scalars['Float']['input']>;\n timeSpan: TimeSpan;\n};\n\nexport type QueryPriceCandlesArgs = {\n dataSource: DataSource;\n division: Division;\n granularity: Granularity;\n instrument: Scalars['String']['input'];\n timeSpan: TimeSpan;\n};\n\nexport type QueryResolveInstrumentsByDivisionArgs = {\n division: Division;\n instruments: Array<InputMaybe<Scalars['String']['input']>>;\n};\n\nexport type QueryResolveInstrumentsWithFiltersArgs = {\n assetClass?: InputMaybe<Array<InputMaybe<AssetClassName>>>;\n count?: InputMaybe<Scalars['Int']['input']>;\n dataSource: DataSource;\n division: Division;\n instruments?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n offset?: InputMaybe<Scalars['Int']['input']>;\n searchPattern?: InputMaybe<Scalars['String']['input']>;\n tradeModes?: InputMaybe<Array<InputMaybe<TradeMode>>>;\n};\n\nexport type QuerySentimentArgs = {\n division?: InputMaybe<Division>;\n name: Scalars['String']['input'];\n};\n\nexport type QuerySentimentListArgs = {\n division?: InputMaybe<Division>;\n sort?: InputMaybe<Sort>;\n};\n\nexport type QuerySentimentsArgs = {\n granularity: Granularity;\n instrument: Scalars['String']['input'];\n timeSpan: TimeSpan;\n};\n\nexport type QueryTopicalInstrumentsArgs = {\n assetClass?: InputMaybe<AssetClassName>;\n count?: InputMaybe<Scalars['Int']['input']>;\n division?: InputMaybe<Division>;\n offset?: InputMaybe<Scalars['Int']['input']>;\n sort: TopicalSort;\n};\n\nexport type QueryTopicalInstrumentsChartsArgs = {\n division?: InputMaybe<Division>;\n instruments?: InputMaybe<Array<Scalars['String']['input']>>;\n};\n\nexport type QueryTopicalInstrumentsTotalCountArgs = {\n assetClass?: InputMaybe<AssetClassName>;\n division?: InputMaybe<Division>;\n sort: TopicalSort;\n};\n\nexport type QueryValueAtRiskAssetClassesArgs = {\n division?: InputMaybe<Division>;\n};\n\nexport type QueryValueAtRiskChartArgs = {\n bars: ValueAtRiskBars;\n division?: InputMaybe<Division>;\n duration: ValueAtRiskDuration;\n instrument: Scalars['String']['input'];\n};\n\nexport type QueryVolatilityChartArgs = {\n division?: InputMaybe<Division>;\n instrument: Scalars['String']['input'];\n timeSpan: VolatilityChartTimeSpan;\n timeUnit: VolatilityChartTimeUnit;\n};\n\nexport type QueryVolatilityChartAssetClassesArgs = {\n division?: InputMaybe<Division>;\n};\n\nexport enum Region {\n Amer = 'AMER',\n Apac = 'APAC',\n Emea = 'EMEA',\n}\n\nexport type Sentiment = {\n __typename?: 'Sentiment';\n longPercent: Scalars['Float']['output'];\n shortPercent: Scalars['Float']['output'];\n};\n\nexport type SentimentData = {\n __typename?: 'SentimentData';\n sentiments: Array<Maybe<SentimentWithTime>>;\n};\n\nexport type SentimentInstrument = {\n __typename?: 'SentimentInstrument';\n displayName: Scalars['String']['output'];\n name: Scalars['String']['output'];\n sentiment: Sentiment;\n updatedAt: Scalars['String']['output'];\n};\n\nexport type SentimentWithTime = {\n __typename?: 'SentimentWithTime';\n sentiment: Sentiment;\n time: Scalars['String']['output'];\n};\n\nexport enum Sort {\n Bearish = 'BEARISH',\n Bullish = 'BULLISH',\n}\n\nexport type StrengthRelation = {\n __typename?: 'StrengthRelation';\n currency: CurrencyName;\n percentage: Scalars['Float']['output'];\n};\n\nexport type TimeCorrelation = {\n __typename?: 'TimeCorrelation';\n timeUnit: CorrelationTimeUnit;\n value?: Maybe<Scalars['Float']['output']>;\n};\n\nexport enum TimeSpan {\n FiveDays = 'FIVE_DAYS',\n NinetyDays = 'NINETY_DAYS',\n TenDays = 'TEN_DAYS',\n TwentyDays = 'TWENTY_DAYS',\n TwoDays = 'TWO_DAYS',\n}\n\nexport type TopicalInstrument = {\n __typename?: 'TopicalInstrument';\n assetClass?: Maybe<AssetClassName>;\n displayName: Scalars['String']['output'];\n name: Scalars['String']['output'];\n sentiment: Sentiment;\n updatedAt: Scalars['String']['output'];\n};\n\nexport type TopicalInstrumentChart = {\n __typename?: 'TopicalInstrumentChart';\n chart?: Maybe<Array<Scalars['Float']['output']>>;\n name: Scalars['String']['output'];\n};\n\nexport enum TopicalSort {\n Bearish = 'BEARISH',\n Bullish = 'BULLISH',\n Hot = 'HOT',\n Popular = 'POPULAR',\n Volatile = 'VOLATILE',\n}\n\nexport enum TradeMode {\n TradeCloseonly = 'TRADE_CLOSEONLY',\n TradeDisabled = 'TRADE_DISABLED',\n TradeFull = 'TRADE_FULL',\n TradeLongonly = 'TRADE_LONGONLY',\n TradeShortonly = 'TRADE_SHORTONLY',\n TradeUndefined = 'TRADE_UNDEFINED',\n}\n\nexport enum ValueAtRiskBars {\n C100 = 'C100',\n C200 = 'C200',\n C300 = 'C300',\n}\n\nexport type ValueAtRiskChart = {\n __typename?: 'ValueAtRiskChart';\n down: ValueAtRiskChartData;\n up: ValueAtRiskChartData;\n};\n\nexport type ValueAtRiskChartData = {\n __typename?: 'ValueAtRiskChartData';\n average: Scalars['Float']['output'];\n max: Scalars['Float']['output'];\n median: Scalars['Float']['output'];\n points?: Maybe<Array<ValueAtRiskChartPoint>>;\n threshold: Scalars['Float']['output'];\n};\n\nexport type ValueAtRiskChartPoint = {\n __typename?: 'ValueAtRiskChartPoint';\n percent: Scalars['Float']['output'];\n pips: Scalars['Float']['output'];\n};\n\nexport enum ValueAtRiskDuration {\n C1 = 'C1',\n C2 = 'C2',\n C3 = 'C3',\n C4 = 'C4',\n C5 = 'C5',\n C10 = 'C10',\n}\n\nexport type VolatilityChart = {\n __typename?: 'VolatilityChart';\n pips: Scalars['Float']['output'];\n /** Time point - hour in format hh:mm, Date in UTC, Week in format 'Mo' */\n point: Scalars['String']['output'];\n updatedAt: Scalars['String']['output'];\n};\n\nexport enum VolatilityChartTimeSpan {\n /** Valid for: H */\n D5 = 'D5',\n /** Valid for: H */\n D10 = 'D10',\n /** Valid for: D */\n M1 = 'M1',\n /** Valid for: D */\n M3 = 'M3',\n /** Valid for: W */\n W5 = 'W5',\n /** Valid for: W */\n W10 = 'W10',\n}\n\nexport enum VolatilityChartTimeUnit {\n D = 'D',\n H = 'H',\n W = 'W',\n}\n\nexport type GetOrderPositionBooksQueryVariables = Exact<{\n instrument: Scalars['String']['input'];\n bookType: BookType;\n timeSpan: TimeSpan;\n granularity: Granularity;\n maxBookPrice?: InputMaybe<Scalars['Float']['input']>;\n minBookPrice?: InputMaybe<Scalars['Float']['input']>;\n bucketMultiplier: Scalars['Int']['input'];\n bucketMargin: Scalars['Int']['input'];\n}>;\n\nexport type GetOrderPositionBooksQuery = {\n __typename?: 'Query';\n orderPositionBooks: {\n __typename?: 'OrderPositionBooksData';\n bucketWidth: number;\n sentimentThresholdMax: number;\n sentimentThresholdMin: number;\n books?: Array<{\n __typename?: 'OrderPositionData';\n time: string;\n price?: number | null;\n buckets: Array<{\n __typename?: 'OrderPositionBucket';\n price: number;\n sentiment?: number | null;\n } | null>;\n }> | null;\n };\n};\n\nexport type GetPriceCandlesQueryVariables = Exact<{\n dataSource: DataSource;\n division: Division;\n instrument: Scalars['String']['input'];\n granularity: Granularity;\n timeSpan: TimeSpan;\n}>;\n\nexport type GetPriceCandlesQuery = {\n __typename?: 'Query';\n priceCandles: {\n __typename?: 'CandlesData';\n pipsLocation: number;\n candle: Array<{\n __typename?: 'Candle';\n point: string;\n high: number;\n low: number;\n open: number;\n close: number;\n } | null>;\n };\n};\n\nexport type GetSentimentsQueryVariables = Exact<{\n instrument: Scalars['String']['input'];\n granularity: Granularity;\n timeSpan: TimeSpan;\n}>;\n\nexport type GetSentimentsQuery = {\n __typename?: 'Query';\n sentiments: {\n __typename?: 'SentimentData';\n sentiments: Array<{\n __typename?: 'SentimentWithTime';\n time: string;\n sentiment: { __typename?: 'Sentiment'; shortPercent: number };\n } | null>;\n };\n};\n\nexport const GetOrderPositionBooksDocument = {\n kind: 'Document',\n definitions: [\n {\n kind: 'OperationDefinition',\n operation: 'query',\n name: { kind: 'Name', value: 'GetOrderPositionBooks' },\n variableDefinitions: [\n {\n kind: 'VariableDefinition',\n variable: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'instrument' },\n },\n type: {\n kind: 'NonNullType',\n type: {\n kind: 'NamedType',\n name: { kind: 'Name', value: 'String' },\n },\n },\n },\n {\n kind: 'VariableDefinition',\n variable: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'bookType' },\n },\n type: {\n kind: 'NonNullType',\n type: {\n kind: 'NamedType',\n name: { kind: 'Name', value: 'BookType' },\n },\n },\n },\n {\n kind: 'VariableDefinition',\n variable: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'timeSpan' },\n },\n type: {\n kind: 'NonNullType',\n type: {\n kind: 'NamedType',\n name: { kind: 'Name', value: 'TimeSpan' },\n },\n },\n },\n {\n kind: 'VariableDefinition',\n variable: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'granularity' },\n },\n type: {\n kind: 'NonNullType',\n type: {\n kind: 'NamedType',\n name: { kind: 'Name', value: 'Granularity' },\n },\n },\n },\n {\n kind: 'VariableDefinition',\n variable: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'maxBookPrice' },\n },\n type: { kind: 'NamedType', name: { kind: 'Name', value: 'Float' } },\n },\n {\n kind: 'VariableDefinition',\n variable: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'minBookPrice' },\n },\n type: { kind: 'NamedType', name: { kind: 'Name', value: 'Float' } },\n },\n {\n kind: 'VariableDefinition',\n variable: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'bucketMultiplier' },\n },\n type: {\n kind: 'NonNullType',\n type: { kind: 'NamedType', name: { kind: 'Name', value: 'Int' } },\n },\n },\n {\n kind: 'VariableDefinition',\n variable: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'bucketMargin' },\n },\n type: {\n kind: 'NonNullType',\n type: { kind: 'NamedType', name: { kind: 'Name', value: 'Int' } },\n },\n },\n ],\n selectionSet: {\n kind: 'SelectionSet',\n selections: [\n {\n kind: 'Field',\n name: { kind: 'Name', value: 'orderPositionBooks' },\n arguments: [\n {\n kind: 'Argument',\n name: { kind: 'Name', value: 'instrument' },\n value: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'instrument' },\n },\n },\n {\n kind: 'Argument',\n name: { kind: 'Name', value: 'bookType' },\n value: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'bookType' },\n },\n },\n {\n kind: 'Argument',\n name: { kind: 'Name', value: 'timeSpan' },\n value: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'timeSpan' },\n },\n },\n {\n kind: 'Argument',\n name: { kind: 'Name', value: 'granularity' },\n value: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'granularity' },\n },\n },\n {\n kind: 'Argument',\n name: { kind: 'Name', value: 'maxBookPrice' },\n value: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'maxBookPrice' },\n },\n },\n {\n kind: 'Argument',\n name: { kind: 'Name', value: 'minBookPrice' },\n value: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'minBookPrice' },\n },\n },\n {\n kind: 'Argument',\n name: { kind: 'Name', value: 'bucketMultiplier' },\n value: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'bucketMultiplier' },\n },\n },\n {\n kind: 'Argument',\n name: { kind: 'Name', value: 'bucketMargin' },\n value: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'bucketMargin' },\n },\n },\n ],\n selectionSet: {\n kind: 'SelectionSet',\n selections: [\n {\n kind: 'Field',\n name: { kind: 'Name', value: 'books' },\n selectionSet: {\n kind: 'SelectionSet',\n selections: [\n { kind: 'Field', name: { kind: 'Name', value: 'time' } },\n { kind: 'Field', name: { kind: 'Name', value: 'price' } },\n {\n kind: 'Field',\n name: { kind: 'Name', value: 'buckets' },\n selectionSet: {\n kind: 'SelectionSet',\n selections: [\n {\n kind: 'Field',\n name: { kind: 'Name', value: 'price' },\n },\n {\n kind: 'Field',\n name: { kind: 'Name', value: 'sentiment' },\n },\n ],\n },\n },\n ],\n },\n },\n { kind: 'Field', name: { kind: 'Name', value: 'bucketWidth' } },\n {\n kind: 'Field',\n name: { kind: 'Name', value: 'sentimentThresholdMax' },\n },\n {\n kind: 'Field',\n name: { kind: 'Name', value: 'sentimentThresholdMin' },\n },\n ],\n },\n },\n ],\n },\n },\n ],\n} as unknown as DocumentNode<\n GetOrderPositionBooksQuery,\n GetOrderPositionBooksQueryVariables\n>;\nexport const GetPriceCandlesDocument = {\n kind: 'Document',\n definitions: [\n {\n kind: 'OperationDefinition',\n operation: 'query',\n name: { kind: 'Name', value: 'GetPriceCandles' },\n variableDefinitions: [\n {\n kind: 'VariableDefinition',\n variable: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'dataSource' },\n },\n type: {\n kind: 'NonNullType',\n type: {\n kind: 'NamedType',\n name: { kind: 'Name', value: 'DataSource' },\n },\n },\n },\n {\n kind: 'VariableDefinition',\n variable: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'division' },\n },\n type: {\n kind: 'NonNullType',\n type: {\n kind: 'NamedType',\n name: { kind: 'Name', value: 'Division' },\n },\n },\n },\n {\n kind: 'VariableDefinition',\n variable: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'instrument' },\n },\n type: {\n kind: 'NonNullType',\n type: {\n kind: 'NamedType',\n name: { kind: 'Name', value: 'String' },\n },\n },\n },\n {\n kind: 'VariableDefinition',\n variable: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'granularity' },\n },\n type: {\n kind: 'NonNullType',\n type: {\n kind: 'NamedType',\n name: { kind: 'Name', value: 'Granularity' },\n },\n },\n },\n {\n kind: 'VariableDefinition',\n variable: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'timeSpan' },\n },\n type: {\n kind: 'NonNullType',\n type: {\n kind: 'NamedType',\n name: { kind: 'Name', value: 'TimeSpan' },\n },\n },\n },\n ],\n selectionSet: {\n kind: 'SelectionSet',\n selections: [\n {\n kind: 'Field',\n name: { kind: 'Name', value: 'priceCandles' },\n arguments: [\n {\n kind: 'Argument',\n name: { kind: 'Name', value: 'dataSource' },\n value: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'dataSource' },\n },\n },\n {\n kind: 'Argument',\n name: { kind: 'Name', value: 'division' },\n value: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'division' },\n },\n },\n {\n kind: 'Argument',\n name: { kind: 'Name', value: 'instrument' },\n value: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'instrument' },\n },\n },\n {\n kind: 'Argument',\n name: { kind: 'Name', value: 'granularity' },\n value: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'granularity' },\n },\n },\n {\n kind: 'Argument',\n name: { kind: 'Name', value: 'timeSpan' },\n value: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'timeSpan' },\n },\n },\n ],\n selectionSet: {\n kind: 'SelectionSet',\n selections: [\n {\n kind: 'Field',\n name: { kind: 'Name', value: 'candle' },\n selectionSet: {\n kind: 'SelectionSet',\n selections: [\n { kind: 'Field', name: { kind: 'Name', value: 'point' } },\n { kind: 'Field', name: { kind: 'Name', value: 'high' } },\n { kind: 'Field', name: { kind: 'Name', value: 'low' } },\n { kind: 'Field', name: { kind: 'Name', value: 'open' } },\n { kind: 'Field', name: { kind: 'Name', value: 'close' } },\n ],\n },\n },\n {\n kind: 'Field',\n name: { kind: 'Name', value: 'pipsLocation' },\n },\n ],\n },\n },\n ],\n },\n },\n ],\n} as unknown as DocumentNode<\n GetPriceCandlesQuery,\n GetPriceCandlesQueryVariables\n>;\nexport const GetSentimentsDocument = {\n kind: 'Document',\n definitions: [\n {\n kind: 'OperationDefinition',\n operation: 'query',\n name: { kind: 'Name', value: 'GetSentiments' },\n variableDefinitions: [\n {\n kind: 'VariableDefinition',\n variable: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'instrument' },\n },\n type: {\n kind: 'NonNullType',\n type: {\n kind: 'NamedType',\n name: { kind: 'Name', value: 'String' },\n },\n },\n },\n {\n kind: 'VariableDefinition',\n variable: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'granularity' },\n },\n type: {\n kind: 'NonNullType',\n type: {\n kind: 'NamedType',\n name: { kind: 'Name', value: 'Granularity' },\n },\n },\n },\n {\n kind: 'VariableDefinition',\n variable: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'timeSpan' },\n },\n type: {\n kind: 'NonNullType',\n type: {\n kind: 'NamedType',\n name: { kind: 'Name', value: 'TimeSpan' },\n },\n },\n },\n ],\n selectionSet: {\n kind: 'SelectionSet',\n selections: [\n {\n kind: 'Field',\n name: { kind: 'Name', value: 'sentiments' },\n arguments: [\n {\n kind: 'Argument',\n name: { kind: 'Name', value: 'instrument' },\n value: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'instrument' },\n },\n },\n {\n kind: 'Argument',\n name: { kind: 'Name', value: 'granularity' },\n value: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'granularity' },\n },\n },\n {\n kind: 'Argument',\n name: { kind: 'Name', value: 'timeSpan' },\n value: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'timeSpan' },\n },\n },\n ],\n selectionSet: {\n kind: 'SelectionSet',\n selections: [\n {\n kind: 'Field',\n name: { kind: 'Name', value: 'sentiments' },\n selectionSet: {\n kind: 'SelectionSet',\n selections: [\n {\n kind: 'Field',\n name: { kind: 'Name', value: 'sentiment' },\n selectionSet: {\n kind: 'SelectionSet',\n selections: [\n {\n kind: 'Field',\n name: { kind: 'Name', value: 'shortPercent' },\n },\n ],\n },\n },\n { kind: 'Field', name: { kind: 'Name', value: 'time' } },\n ],\n },\n },\n ],\n },\n },\n ],\n },\n },\n ],\n} as unknown as DocumentNode<GetSentimentsQuery, GetSentimentsQueryVariables>;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BookType } from '../../../../gql/types/graphql';
|
|
2
2
|
import type { Bucket, TooltipParam } from '../types';
|
|
3
|
-
export declare const getTooltipFormatter: ({ params, buckets, bucketWidth, selectedPrice, bookType, labelCallback, sentimentLongs, sentimentShorts, isDesktop, locale, isDark, }: {
|
|
3
|
+
export declare const getTooltipFormatter: ({ params, buckets, bucketWidth, selectedPrice, bookType, labelCallback, sentimentLongs, sentimentShorts, isDesktop, locale, isDark, isJapanese, }: {
|
|
4
4
|
params: TooltipParam[];
|
|
5
5
|
buckets: Bucket[][];
|
|
6
6
|
bucketWidth: number;
|
|
@@ -12,4 +12,5 @@ export declare const getTooltipFormatter: ({ params, buckets, bucketWidth, selec
|
|
|
12
12
|
isDesktop: boolean;
|
|
13
13
|
locale: string;
|
|
14
14
|
isDark: boolean;
|
|
15
|
+
isJapanese: boolean;
|
|
15
16
|
}) => string;
|
|
@@ -28,7 +28,7 @@ declare const documents: {
|
|
|
28
28
|
granularity: types.Granularity;
|
|
29
29
|
timeSpan: types.TimeSpan;
|
|
30
30
|
}>>;
|
|
31
|
-
'\n query GetSentiments(\n $instrument: String!\n $granularity: Granularity!\n $timeSpan: TimeSpan!\n ) {\n sentiments(\n instrument: $instrument\n granularity: $granularity\n timeSpan: $timeSpan\n ) {\n sentiments {\n sentiment {\n
|
|
31
|
+
'\n query GetSentiments(\n $instrument: String!\n $granularity: Granularity!\n $timeSpan: TimeSpan!\n ) {\n sentiments(\n instrument: $instrument\n granularity: $granularity\n timeSpan: $timeSpan\n ) {\n sentiments {\n sentiment {\n shortPercent\n }\n time\n }\n }\n }\n': DocumentNode<types.GetSentimentsQuery, types.Exact<{
|
|
32
32
|
instrument: types.Scalars["String"]["input"];
|
|
33
33
|
granularity: types.Granularity;
|
|
34
34
|
timeSpan: types.TimeSpan;
|
|
@@ -58,6 +58,6 @@ export declare function graphql(source: '\n query GetPriceCandles(\n $dataSo
|
|
|
58
58
|
/**
|
|
59
59
|
* The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
|
|
60
60
|
*/
|
|
61
|
-
export declare function graphql(source: '\n query GetSentiments(\n $instrument: String!\n $granularity: Granularity!\n $timeSpan: TimeSpan!\n ) {\n sentiments(\n instrument: $instrument\n granularity: $granularity\n timeSpan: $timeSpan\n ) {\n sentiments {\n sentiment {\n
|
|
61
|
+
export declare function graphql(source: '\n query GetSentiments(\n $instrument: String!\n $granularity: Granularity!\n $timeSpan: TimeSpan!\n ) {\n sentiments(\n instrument: $instrument\n granularity: $granularity\n timeSpan: $timeSpan\n ) {\n sentiments {\n sentiment {\n shortPercent\n }\n time\n }\n }\n }\n'): (typeof documents)['\n query GetSentiments(\n $instrument: String!\n $granularity: Granularity!\n $timeSpan: TimeSpan!\n ) {\n sentiments(\n instrument: $instrument\n granularity: $granularity\n timeSpan: $timeSpan\n ) {\n sentiments {\n sentiment {\n shortPercent\n }\n time\n }\n }\n }\n'];
|
|
62
62
|
export type DocumentType<TDocumentNode extends DocumentNode<any, any>> = TDocumentNode extends DocumentNode<infer TType, any> ? TType : never;
|
|
63
63
|
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oanda/labs-crowd-view-widget",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.69",
|
|
4
4
|
"description": "Labs Crowd View Widget",
|
|
5
5
|
"main": "dist/main/index.js",
|
|
6
6
|
"module": "dist/module/index.js",
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"author": "OANDA",
|
|
14
14
|
"license": "UNLICENSED",
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"@oanda/labs-widget-common": "^1.0.
|
|
16
|
+
"@oanda/labs-widget-common": "^1.0.251",
|
|
17
17
|
"@oanda/mono-i18n": "10.0.1",
|
|
18
18
|
"chroma-js": "^3.1.2",
|
|
19
19
|
"decimal.js": "^10.6.0",
|
|
@@ -24,5 +24,5 @@
|
|
|
24
24
|
"@graphql-codegen/client-preset": "4.1.0",
|
|
25
25
|
"@types/chroma-js": "^3.1.2"
|
|
26
26
|
},
|
|
27
|
-
"gitHead": "
|
|
27
|
+
"gitHead": "9f0bb69ebb741a06a9fbd53c1b63a32085d0f2f4"
|
|
28
28
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Locale } from '@oanda/mono-i18n';
|
|
1
2
|
import type { TooltipComponentOption } from 'echarts';
|
|
2
3
|
|
|
3
4
|
import type { BookType } from '../../../../gql/types/graphql';
|
|
@@ -58,6 +59,7 @@ export const getTooltipConfig = ({
|
|
|
58
59
|
isDesktop,
|
|
59
60
|
locale,
|
|
60
61
|
isDark,
|
|
62
|
+
isJapanese: locale === Locale.ja,
|
|
61
63
|
}),
|
|
62
64
|
hideDelay: 0,
|
|
63
65
|
axisPointer: {
|
|
@@ -171,6 +171,7 @@ export const getTooltipFormatter = ({
|
|
|
171
171
|
isDesktop,
|
|
172
172
|
locale,
|
|
173
173
|
isDark,
|
|
174
|
+
isJapanese,
|
|
174
175
|
}: {
|
|
175
176
|
params: TooltipParam[];
|
|
176
177
|
buckets: Bucket[][];
|
|
@@ -183,6 +184,7 @@ export const getTooltipFormatter = ({
|
|
|
183
184
|
isDesktop: boolean;
|
|
184
185
|
locale: string;
|
|
185
186
|
isDark: boolean;
|
|
187
|
+
isJapanese: boolean;
|
|
186
188
|
}) => {
|
|
187
189
|
if (!params || !Array.isArray(params) || params.length === 0) {
|
|
188
190
|
return '';
|
|
@@ -250,6 +252,7 @@ export const getTooltipFormatter = ({
|
|
|
250
252
|
sentimentSection,
|
|
251
253
|
bookSection,
|
|
252
254
|
isDark,
|
|
255
|
+
isJapanese,
|
|
253
256
|
});
|
|
254
257
|
}
|
|
255
258
|
|
|
@@ -274,21 +277,23 @@ const buildDesktopTooltip = ({
|
|
|
274
277
|
sentimentSection,
|
|
275
278
|
bookSection,
|
|
276
279
|
isDark,
|
|
280
|
+
isJapanese,
|
|
277
281
|
}: TooltipSections & {
|
|
278
282
|
isDark: boolean;
|
|
283
|
+
isJapanese: boolean;
|
|
279
284
|
}): string => {
|
|
280
285
|
const backgroundColor = isDark ? colorPalette.black : colorPalette.white;
|
|
281
286
|
const fullWidth = TOOLTIP_STYLES.FULL_WIDTH;
|
|
282
287
|
|
|
283
288
|
return `<div style="width: ${fullWidth}; background-color: ${backgroundColor};">
|
|
284
289
|
<div style="width: ${fullWidth}; display: flex; justify-content: space-between;">
|
|
285
|
-
<div style="width: 40%;">
|
|
290
|
+
<div style="${isJapanese ? 'width: 45%;' : 'width: 40%;'}">
|
|
286
291
|
${candleSection}
|
|
287
292
|
</div>
|
|
288
|
-
<div style="width: 22%;">
|
|
293
|
+
<div style="${isJapanese ? 'width: 24%;' : 'width: 22%;'}">
|
|
289
294
|
${sentimentSection}
|
|
290
295
|
</div>
|
|
291
|
-
<div style="width: 38%;">
|
|
296
|
+
<div style="${isJapanese ? 'width: 31%;' : 'width: 38%;'}">
|
|
292
297
|
${bookSection}
|
|
293
298
|
</div>
|
|
294
299
|
</div>
|