@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.
Files changed (40) hide show
  1. package/CHANGELOG.md +556 -0
  2. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getTooltipConfig.js +3 -1
  3. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getTooltipConfig.js.map +1 -1
  4. package/dist/main/CrowdViewWidget/components/Chart/chartUtils/getTooltipFormatter.js +9 -6
  5. package/dist/main/CrowdViewWidget/components/Chart/chartUtils/getTooltipFormatter.js.map +1 -1
  6. package/dist/main/CrowdViewWidget/components/Chart/dataUtils/processSentiments.js +1 -1
  7. package/dist/main/CrowdViewWidget/components/Chart/dataUtils/processSentiments.js.map +1 -1
  8. package/dist/main/gql/getSentiments.js +0 -1
  9. package/dist/main/gql/getSentiments.js.map +1 -1
  10. package/dist/main/gql/types/gql.js +1 -1
  11. package/dist/main/gql/types/gql.js.map +1 -1
  12. package/dist/main/gql/types/graphql.js +0 -6
  13. package/dist/main/gql/types/graphql.js.map +1 -1
  14. package/dist/main/translations/sources/ja.json +1 -1
  15. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getTooltipConfig.js +3 -1
  16. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getTooltipConfig.js.map +1 -1
  17. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/getTooltipFormatter.js +9 -6
  18. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/getTooltipFormatter.js.map +1 -1
  19. package/dist/module/CrowdViewWidget/components/Chart/dataUtils/processSentiments.js +1 -1
  20. package/dist/module/CrowdViewWidget/components/Chart/dataUtils/processSentiments.js.map +1 -1
  21. package/dist/module/gql/getSentiments.js +0 -1
  22. package/dist/module/gql/getSentiments.js.map +1 -1
  23. package/dist/module/gql/types/gql.js +1 -1
  24. package/dist/module/gql/types/gql.js.map +1 -1
  25. package/dist/module/gql/types/graphql.js +0 -6
  26. package/dist/module/gql/types/graphql.js.map +1 -1
  27. package/dist/module/translations/sources/ja.json +1 -1
  28. package/dist/types/CrowdViewWidget/components/Chart/chartUtils/getTooltipFormatter.d.ts +2 -1
  29. package/dist/types/gql/types/gql.d.ts +2 -2
  30. package/dist/types/gql/types/graphql.d.ts +0 -1
  31. package/package.json +3 -3
  32. package/src/CrowdViewWidget/components/Chart/chartOptions/getTooltipConfig.ts +2 -0
  33. package/src/CrowdViewWidget/components/Chart/chartUtils/getTooltipFormatter.ts +8 -3
  34. package/src/CrowdViewWidget/components/Chart/dataUtils/processSentiments.ts +3 -1
  35. package/src/gql/getSentiments.ts +0 -1
  36. package/src/gql/types/gql.ts +3 -3
  37. package/src/gql/types/graphql.ts +1 -9
  38. package/src/translations/sources/ja.json +1 -1
  39. package/test/components/Chart/utils/chartUtils.test.ts +4 -0
  40. 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?.longPercent ?? null
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","longPercent","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?.longPercent ?? 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,EAAEE,WAAW,IAAI;EAClD,CAAC,CACF,CACH,CAAC;EAED,MAAM;IAAEV,cAAc;IAAEC;EAAgB,CAAC,GAAGN,KAAK,CAACgB,MAAM,CACtD,CAACC,GAAG,EAAEC,IAAI,KAAK;IACb,MAAML,SAAS,GAAGL,YAAY,CAACW,GAAG,CAACD,IAAI,CAAC;IAExC,OAAO;MACLb,cAAc,EAAE,CACd,GAAGY,GAAG,CAACZ,cAAc,EACrBQ,SAAS,EAAER,cAAc,IAAI,IAAI,CAClC;MACDC,eAAe,EAAE,CACf,GAAGW,GAAG,CAACX,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
+ {"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":[]}
@@ -12,7 +12,6 @@ const getSentiments = gql`
12
12
  ) {
13
13
  sentiments {
14
14
  sentiment {
15
- longPercent
16
15
  shortPercent
17
16
  }
18
17
  time
@@ -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 longPercent\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;AACA,CAAC;AAED,SAASC,aAAa","ignoreList":[]}
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 longPercent\n shortPercent\n }\n time\n }\n }\n }\n': types.GetSentimentsDocument
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 longPercent\\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 longPercent\\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 longPercent\\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,kXAAkX,EAChXH,KAAK,CAACI;AACV,CAAC;AAmCD,OAAO,SAASC,OAAOA,CAACC,MAAc,EAAE;EACtC,OAAQL,SAAS,CAASK,MAAM,CAAC,IAAI,CAAC,CAAC;AACzC","ignoreList":[]}
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":[]}
@@ -850,12 +850,6 @@ export const GetSentimentsDocument = {
850
850
  selectionSet: {
851
851
  kind: 'SelectionSet',
852
852
  selections: [{
853
- kind: 'Field',
854
- name: {
855
- kind: 'Name',
856
- value: 'longPercent'
857
- }
858
- }, {
859
853
  kind: 'Field',
860
854
  name: {
861
855
  kind: 'Name',
@@ -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":[]}
@@ -2,7 +2,7 @@
2
2
  "buy": "購入",
3
3
  "buy_overbalance": "買い超過",
4
4
  "candle": "ローソク足",
5
- "close": "閉じる",
5
+ "close": "クローズ",
6
6
  "data_unavailable": "データが利用できません",
7
7
  "even_market_demand": "均衡需要",
8
8
  "granularity": "粒度",
@@ -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 longPercent\n shortPercent\n }\n time\n }\n }\n }\n': DocumentNode<types.GetSentimentsQuery, types.Exact<{
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 longPercent\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 longPercent\n shortPercent\n }\n time\n }\n }\n }\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 {};
@@ -563,7 +563,6 @@ export type GetSentimentsQuery = {
563
563
  time: string;
564
564
  sentiment: {
565
565
  __typename?: 'Sentiment';
566
- longPercent: number;
567
566
  shortPercent: number;
568
567
  };
569
568
  } | null>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oanda/labs-crowd-view-widget",
3
- "version": "1.0.67",
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.249",
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": "7cdd69cbf04997c244ed467dd94e5827c029fcfa"
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>