@oanda/labs-instruments-price-chart-widget 1.0.7 → 1.0.8

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 (60) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/dist/main/InstrumentsPriceChartWidget/components/Chart.js +7 -2
  3. package/dist/main/InstrumentsPriceChartWidget/components/Chart.js.map +1 -1
  4. package/dist/main/InstrumentsPriceChartWidget/components/formatters.js +26 -1
  5. package/dist/main/InstrumentsPriceChartWidget/components/formatters.js.map +1 -1
  6. package/dist/main/InstrumentsPriceChartWidget/components/getOption.js +21 -2
  7. package/dist/main/InstrumentsPriceChartWidget/components/getOption.js.map +1 -1
  8. package/dist/main/InstrumentsPriceChartWidget/components/types.js.map +1 -1
  9. package/dist/main/InstrumentsPriceChartWidget/getPriceCandlesMock.js +30 -13
  10. package/dist/main/InstrumentsPriceChartWidget/getPriceCandlesMock.js.map +1 -1
  11. package/dist/main/gql/mock/getPriceCandles.js +3 -0
  12. package/dist/main/gql/mock/getPriceCandles.js.map +1 -1
  13. package/dist/main/gql/mock/schema.graphqls +3 -0
  14. package/dist/main/gql/types/gql.js +1 -1
  15. package/dist/main/gql/types/gql.js.map +1 -1
  16. package/dist/main/gql/types/graphql.js +28 -1
  17. package/dist/main/gql/types/graphql.js.map +1 -1
  18. package/dist/main/translations/sources/en.json +7 -0
  19. package/dist/main/translations/sources/es.json +2 -0
  20. package/dist/main/translations/sources/th.json +2 -0
  21. package/dist/main/translations/sources/zh_TW.json +2 -0
  22. package/dist/module/InstrumentsPriceChartWidget/components/Chart.js +8 -3
  23. package/dist/module/InstrumentsPriceChartWidget/components/Chart.js.map +1 -1
  24. package/dist/module/InstrumentsPriceChartWidget/components/formatters.js +24 -0
  25. package/dist/module/InstrumentsPriceChartWidget/components/formatters.js.map +1 -1
  26. package/dist/module/InstrumentsPriceChartWidget/components/getOption.js +22 -3
  27. package/dist/module/InstrumentsPriceChartWidget/components/getOption.js.map +1 -1
  28. package/dist/module/InstrumentsPriceChartWidget/components/types.js.map +1 -1
  29. package/dist/module/InstrumentsPriceChartWidget/getPriceCandlesMock.js +30 -13
  30. package/dist/module/InstrumentsPriceChartWidget/getPriceCandlesMock.js.map +1 -1
  31. package/dist/module/gql/mock/getPriceCandles.js +3 -0
  32. package/dist/module/gql/mock/getPriceCandles.js.map +1 -1
  33. package/dist/module/gql/mock/schema.graphqls +3 -0
  34. package/dist/module/gql/types/gql.js +1 -1
  35. package/dist/module/gql/types/gql.js.map +1 -1
  36. package/dist/module/gql/types/graphql.js +27 -0
  37. package/dist/module/gql/types/graphql.js.map +1 -1
  38. package/dist/module/translations/sources/en.json +7 -0
  39. package/dist/module/translations/sources/es.json +2 -0
  40. package/dist/module/translations/sources/th.json +2 -0
  41. package/dist/module/translations/sources/zh_TW.json +2 -0
  42. package/dist/types/InstrumentsPriceChartWidget/components/formatters.d.ts +2 -0
  43. package/dist/types/InstrumentsPriceChartWidget/components/types.d.ts +12 -0
  44. package/dist/types/gql/types/gql.d.ts +2 -2
  45. package/dist/types/gql/types/graphql.d.ts +23 -1
  46. package/lokalise.config.json +1 -1
  47. package/package.json +3 -3
  48. package/src/InstrumentsPriceChartWidget/components/Chart.tsx +5 -0
  49. package/src/InstrumentsPriceChartWidget/components/formatters.ts +22 -0
  50. package/src/InstrumentsPriceChartWidget/components/getOption.ts +25 -3
  51. package/src/InstrumentsPriceChartWidget/components/types.ts +14 -0
  52. package/src/InstrumentsPriceChartWidget/getPriceCandlesMock.tsx +13 -5
  53. package/src/gql/mock/getPriceCandles.ts +3 -0
  54. package/src/gql/mock/schema.graphqls +3 -0
  55. package/src/gql/types/gql.ts +3 -3
  56. package/src/gql/types/graphql.ts +32 -2
  57. package/src/translations/sources/en.json +7 -0
  58. package/src/translations/sources/es.json +2 -0
  59. package/src/translations/sources/th.json +2 -0
  60. package/src/translations/sources/zh_TW.json +2 -0
@@ -1 +1 @@
1
- {"version":3,"file":"graphql.js","names":["AssetClassName","BookType","CorrelationTimeUnit","CurrencyName","CurrencyPowerBalanceTimeUnit","DataSource","Division","Granularity","InstrumentDataSource","Region","Sort","TimeSpan","TopicalSort","ValueAtRiskBars","ValueAtRiskDuration","VolatilityChartTimeSpan","VolatilityChartTimeUnit","GetPriceCandlesDocument","kind","definitions","operation","name","value","variableDefinitions","variable","type","selectionSet","selections","arguments","ValidateInstrumentsDocument"],"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 Rates = 'RATES',\n}\n\nexport enum BookType {\n Order = 'ORDER',\n Position = 'POSITION',\n}\n\nexport type Candle = {\n __typename?: 'Candle';\n high: Scalars['Float']['output'];\n};\n\nexport type CandlesData = {\n __typename?: 'CandlesData';\n candle: Candle;\n time: Scalars['String']['output'];\n timeSpan: TimeSpan;\n unixTime: Scalars['Int']['output'];\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 Ny4 = 'NY4',\n Ty3 = 'TY3',\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 enum Granularity {\n Day_1 = 'DAY_1',\n Hour_1 = 'HOUR_1',\n Hour_4 = 'HOUR_4',\n Minute_5 = 'MINUTE_5',\n Minute_15 = 'MINUTE_15',\n Minute_30 = 'MINUTE_30',\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 enum InstrumentDataSource {\n Mt5 = 'MT5',\n V20 = 'V20',\n}\n\nexport type InstrumentTableResult = {\n __typename?: 'InstrumentTableResult';\n instruments: Array<Instrument>;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type Matrix = {\n __typename?: 'Matrix';\n instrument: Instrument;\n instrumentCorrelation: Array<InstrumentCorrelation>;\n};\n\nexport type OrderPositionBucket = {\n __typename?: 'OrderPositionBucket';\n longCountPercent: Scalars['Float']['output'];\n price: Scalars['Float']['output'];\n shortCountPercent: 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 getPriceCandles: Array<CandlesData>;\n isAllowedPartner?: Maybe<Scalars['Boolean']['output']>;\n mapInstrumentNames?: Maybe<Array<Maybe<Instrument>>>;\n orderPositionBooks: Array<Maybe<OrderPositionData>>;\n resolveInstrumentsByDivision?: Maybe<Array<Instrument>>;\n resolveInstrumentsWithFilters?: Maybe<InstrumentTableResult>;\n sentiment?: Maybe<Array<SentimentInstrument>>;\n sentimentList?: Maybe<Array<SentimentInstrument>>;\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 QueryGetPriceCandlesArgs = {\n division?: InputMaybe<Division>;\n granularity: Granularity;\n instrument: Scalars['String']['input'];\n timeSpan: TimeSpan;\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 QueryOrderPositionBooksArgs = {\n bookType: BookType;\n dataSource?: InputMaybe<DataSource>;\n instrument: Scalars['String']['input'];\n recentHours?: InputMaybe<Scalars['Int']['input']>;\n region?: InputMaybe<Region>;\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?: InputMaybe<InstrumentDataSource>;\n division: Division;\n instruments?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n offset?: InputMaybe<Scalars['Int']['input']>;\n searchPattern?: InputMaybe<Scalars['String']['input']>;\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 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 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 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 Day_1 = 'DAY_1',\n Day_2 = 'DAY_2',\n Hour_1 = 'HOUR_1',\n Hour_12 = 'HOUR_12',\n Month_1 = 'MONTH_1',\n Month_3 = 'MONTH_3',\n Month_6 = 'MONTH_6',\n Week_1 = 'WEEK_1',\n Week_2 = 'WEEK_2',\n Week_3 = 'WEEK_3',\n Year_1 = 'YEAR_1',\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 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 GetPriceCandlesQueryVariables = Exact<{\n division?: InputMaybe<Division>;\n instrument: Scalars['String']['input'];\n granularity: Granularity;\n timeSpan: TimeSpan;\n}>;\n\nexport type GetPriceCandlesQuery = {\n __typename?: 'Query';\n getPriceCandles: Array<{\n __typename?: 'CandlesData';\n time: string;\n unixTime: number;\n timeSpan: TimeSpan;\n candle: { __typename?: 'Candle'; high: number };\n }>;\n};\n\nexport type ValidateInstrumentsQueryVariables = Exact<{\n instruments:\n | Array<InputMaybe<Scalars['String']['input']>>\n | InputMaybe<Scalars['String']['input']>;\n division?: InputMaybe<Division>;\n}>;\n\nexport type ValidateInstrumentsQuery = {\n __typename?: 'Query';\n mapInstrumentNames?: Array<{\n __typename?: 'Instrument';\n name: string;\n displayName: string;\n } | null> | null;\n};\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: 'division' },\n },\n type: {\n kind: 'NamedType',\n name: { kind: 'Name', value: 'Division' },\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: 'getPriceCandles' },\n arguments: [\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 { kind: 'Field', name: { kind: 'Name', value: 'time' } },\n { kind: 'Field', name: { kind: 'Name', value: 'unixTime' } },\n {\n kind: 'Field',\n name: { kind: 'Name', value: 'candle' },\n selectionSet: {\n kind: 'SelectionSet',\n selections: [\n { kind: 'Field', name: { kind: 'Name', value: 'high' } },\n ],\n },\n },\n { kind: 'Field', name: { kind: 'Name', value: 'timeSpan' } },\n ],\n },\n },\n ],\n },\n },\n ],\n} as unknown as DocumentNode<\n GetPriceCandlesQuery,\n GetPriceCandlesQueryVariables\n>;\nexport const ValidateInstrumentsDocument = {\n kind: 'Document',\n definitions: [\n {\n kind: 'OperationDefinition',\n operation: 'query',\n name: { kind: 'Name', value: 'validateInstruments' },\n variableDefinitions: [\n {\n kind: 'VariableDefinition',\n variable: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'instruments' },\n },\n type: {\n kind: 'NonNullType',\n type: {\n kind: 'ListType',\n type: {\n kind: 'NamedType',\n name: { kind: 'Name', value: 'String' },\n },\n },\n },\n },\n {\n kind: 'VariableDefinition',\n variable: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'division' },\n },\n type: {\n kind: 'NamedType',\n name: { kind: 'Name', value: 'Division' },\n },\n },\n ],\n selectionSet: {\n kind: 'SelectionSet',\n selections: [\n {\n kind: 'Field',\n name: { kind: 'Name', value: 'mapInstrumentNames' },\n arguments: [\n {\n kind: 'Argument',\n name: { kind: 'Name', value: 'instruments' },\n value: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'instruments' },\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 selectionSet: {\n kind: 'SelectionSet',\n selections: [\n { kind: 'Field', name: { kind: 'Name', value: 'name' } },\n { kind: 'Field', name: { kind: 'Name', value: 'displayName' } },\n ],\n },\n },\n ],\n },\n },\n ],\n} as unknown as DocumentNode<\n ValidateInstrumentsQuery,\n ValidateInstrumentsQueryVariables\n>;\n"],"mappings":"AAqCA,WAAYA,cAAc,aAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAA,OAAdA,cAAc;AAAA;AAU1B,WAAYC,QAAQ,aAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAAA,OAARA,QAAQ;AAAA;AA8BpB,WAAYC,mBAAmB,aAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAA,OAAnBA,mBAAmB;AAAA;AAW/B,WAAYC,YAAY,aAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAA,OAAZA,YAAY;AAAA;AAyBxB,WAAYC,4BAA4B,aAA5BA,4BAA4B;EAA5BA,4BAA4B;EAA5BA,4BAA4B;EAA5BA,4BAA4B;EAA5BA,4BAA4B;EAA5BA,4BAA4B;EAA5BA,4BAA4B;EAA5BA,4BAA4B;EAA5BA,4BAA4B;EAAA,OAA5BA,4BAA4B;AAAA;AAkBxC,WAAYC,UAAU,aAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA;AAKtB,WAAYC,QAAQ,aAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAAA,OAARA,QAAQ;AAAA;AAYpB,WAAYC,WAAW,aAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA;AA2BvB,WAAYC,oBAAoB,aAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAAA,OAApBA,oBAAoB;AAAA;AAyKhC,WAAYC,MAAM,aAANA,MAAM;EAANA,MAAM;EAANA,MAAM;EAANA,MAAM;EAAA,OAANA,MAAM;AAAA;AAoBlB,WAAYC,IAAI,aAAJA,IAAI;EAAJA,IAAI;EAAJA,IAAI;EAAA,OAAJA,IAAI;AAAA;AAiBhB,WAAYC,QAAQ,aAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAAA,OAARA,QAAQ;AAAA;AA6BpB,WAAYC,WAAW,aAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA;AAQvB,WAAYC,eAAe,aAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA;AA2B3B,WAAYC,mBAAmB,aAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAA,OAAnBA,mBAAmB;AAAA;AAiB/B,WAAYC,uBAAuB,aAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAA,OAAvBA,uBAAuB;AAAA;AAenC,WAAYC,uBAAuB,aAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAA,OAAvBA,uBAAuB;AAAA;AAwCnC,OAAO,MAAMC,uBAAuB,GAAG;EACrCC,IAAI,EAAE,UAAU;EAChBC,WAAW,EAAE,CACX;IACED,IAAI,EAAE,qBAAqB;IAC3BE,SAAS,EAAE,OAAO;IAClBC,IAAI,EAAE;MAAEH,IAAI,EAAE,MAAM;MAAEI,KAAK,EAAE;IAAkB,CAAC;IAChDC,mBAAmB,EAAE,CACnB;MACEL,IAAI,EAAE,oBAAoB;MAC1BM,QAAQ,EAAE;QACRN,IAAI,EAAE,UAAU;QAChBG,IAAI,EAAE;UAAEH,IAAI,EAAE,MAAM;UAAEI,KAAK,EAAE;QAAW;MAC1C,CAAC;MACDG,IAAI,EAAE;QACJP,IAAI,EAAE,WAAW;QACjBG,IAAI,EAAE;UAAEH,IAAI,EAAE,MAAM;UAAEI,KAAK,EAAE;QAAW;MAC1C;IACF,CAAC,EACD;MACEJ,IAAI,EAAE,oBAAoB;MAC1BM,QAAQ,EAAE;QACRN,IAAI,EAAE,UAAU;QAChBG,IAAI,EAAE;UAAEH,IAAI,EAAE,MAAM;UAAEI,KAAK,EAAE;QAAa;MAC5C,CAAC;MACDG,IAAI,EAAE;QACJP,IAAI,EAAE,aAAa;QACnBO,IAAI,EAAE;UACJP,IAAI,EAAE,WAAW;UACjBG,IAAI,EAAE;YAAEH,IAAI,EAAE,MAAM;YAAEI,KAAK,EAAE;UAAS;QACxC;MACF;IACF,CAAC,EACD;MACEJ,IAAI,EAAE,oBAAoB;MAC1BM,QAAQ,EAAE;QACRN,IAAI,EAAE,UAAU;QAChBG,IAAI,EAAE;UAAEH,IAAI,EAAE,MAAM;UAAEI,KAAK,EAAE;QAAc;MAC7C,CAAC;MACDG,IAAI,EAAE;QACJP,IAAI,EAAE,aAAa;QACnBO,IAAI,EAAE;UACJP,IAAI,EAAE,WAAW;UACjBG,IAAI,EAAE;YAAEH,IAAI,EAAE,MAAM;YAAEI,KAAK,EAAE;UAAc;QAC7C;MACF;IACF,CAAC,EACD;MACEJ,IAAI,EAAE,oBAAoB;MAC1BM,QAAQ,EAAE;QACRN,IAAI,EAAE,UAAU;QAChBG,IAAI,EAAE;UAAEH,IAAI,EAAE,MAAM;UAAEI,KAAK,EAAE;QAAW;MAC1C,CAAC;MACDG,IAAI,EAAE;QACJP,IAAI,EAAE,aAAa;QACnBO,IAAI,EAAE;UACJP,IAAI,EAAE,WAAW;UACjBG,IAAI,EAAE;YAAEH,IAAI,EAAE,MAAM;YAAEI,KAAK,EAAE;UAAW;QAC1C;MACF;IACF,CAAC,CACF;IACDI,YAAY,EAAE;MACZR,IAAI,EAAE,cAAc;MACpBS,UAAU,EAAE,CACV;QACET,IAAI,EAAE,OAAO;QACbG,IAAI,EAAE;UAAEH,IAAI,EAAE,MAAM;UAAEI,KAAK,EAAE;QAAkB,CAAC;QAChDM,SAAS,EAAE,CACT;UACEV,IAAI,EAAE,UAAU;UAChBG,IAAI,EAAE;YAAEH,IAAI,EAAE,MAAM;YAAEI,KAAK,EAAE;UAAW,CAAC;UACzCA,KAAK,EAAE;YACLJ,IAAI,EAAE,UAAU;YAChBG,IAAI,EAAE;cAAEH,IAAI,EAAE,MAAM;cAAEI,KAAK,EAAE;YAAW;UAC1C;QACF,CAAC,EACD;UACEJ,IAAI,EAAE,UAAU;UAChBG,IAAI,EAAE;YAAEH,IAAI,EAAE,MAAM;YAAEI,KAAK,EAAE;UAAa,CAAC;UAC3CA,KAAK,EAAE;YACLJ,IAAI,EAAE,UAAU;YAChBG,IAAI,EAAE;cAAEH,IAAI,EAAE,MAAM;cAAEI,KAAK,EAAE;YAAa;UAC5C;QACF,CAAC,EACD;UACEJ,IAAI,EAAE,UAAU;UAChBG,IAAI,EAAE;YAAEH,IAAI,EAAE,MAAM;YAAEI,KAAK,EAAE;UAAc,CAAC;UAC5CA,KAAK,EAAE;YACLJ,IAAI,EAAE,UAAU;YAChBG,IAAI,EAAE;cAAEH,IAAI,EAAE,MAAM;cAAEI,KAAK,EAAE;YAAc;UAC7C;QACF,CAAC,EACD;UACEJ,IAAI,EAAE,UAAU;UAChBG,IAAI,EAAE;YAAEH,IAAI,EAAE,MAAM;YAAEI,KAAK,EAAE;UAAW,CAAC;UACzCA,KAAK,EAAE;YACLJ,IAAI,EAAE,UAAU;YAChBG,IAAI,EAAE;cAAEH,IAAI,EAAE,MAAM;cAAEI,KAAK,EAAE;YAAW;UAC1C;QACF,CAAC,CACF;QACDI,YAAY,EAAE;UACZR,IAAI,EAAE,cAAc;UACpBS,UAAU,EAAE,CACV;YAAET,IAAI,EAAE,OAAO;YAAEG,IAAI,EAAE;cAAEH,IAAI,EAAE,MAAM;cAAEI,KAAK,EAAE;YAAO;UAAE,CAAC,EACxD;YAAEJ,IAAI,EAAE,OAAO;YAAEG,IAAI,EAAE;cAAEH,IAAI,EAAE,MAAM;cAAEI,KAAK,EAAE;YAAW;UAAE,CAAC,EAC5D;YACEJ,IAAI,EAAE,OAAO;YACbG,IAAI,EAAE;cAAEH,IAAI,EAAE,MAAM;cAAEI,KAAK,EAAE;YAAS,CAAC;YACvCI,YAAY,EAAE;cACZR,IAAI,EAAE,cAAc;cACpBS,UAAU,EAAE,CACV;gBAAET,IAAI,EAAE,OAAO;gBAAEG,IAAI,EAAE;kBAAEH,IAAI,EAAE,MAAM;kBAAEI,KAAK,EAAE;gBAAO;cAAE,CAAC;YAE5D;UACF,CAAC,EACD;YAAEJ,IAAI,EAAE,OAAO;YAAEG,IAAI,EAAE;cAAEH,IAAI,EAAE,MAAM;cAAEI,KAAK,EAAE;YAAW;UAAE,CAAC;QAEhE;MACF,CAAC;IAEL;EACF,CAAC;AAEL,CAGC;AACD,OAAO,MAAMO,2BAA2B,GAAG;EACzCX,IAAI,EAAE,UAAU;EAChBC,WAAW,EAAE,CACX;IACED,IAAI,EAAE,qBAAqB;IAC3BE,SAAS,EAAE,OAAO;IAClBC,IAAI,EAAE;MAAEH,IAAI,EAAE,MAAM;MAAEI,KAAK,EAAE;IAAsB,CAAC;IACpDC,mBAAmB,EAAE,CACnB;MACEL,IAAI,EAAE,oBAAoB;MAC1BM,QAAQ,EAAE;QACRN,IAAI,EAAE,UAAU;QAChBG,IAAI,EAAE;UAAEH,IAAI,EAAE,MAAM;UAAEI,KAAK,EAAE;QAAc;MAC7C,CAAC;MACDG,IAAI,EAAE;QACJP,IAAI,EAAE,aAAa;QACnBO,IAAI,EAAE;UACJP,IAAI,EAAE,UAAU;UAChBO,IAAI,EAAE;YACJP,IAAI,EAAE,WAAW;YACjBG,IAAI,EAAE;cAAEH,IAAI,EAAE,MAAM;cAAEI,KAAK,EAAE;YAAS;UACxC;QACF;MACF;IACF,CAAC,EACD;MACEJ,IAAI,EAAE,oBAAoB;MAC1BM,QAAQ,EAAE;QACRN,IAAI,EAAE,UAAU;QAChBG,IAAI,EAAE;UAAEH,IAAI,EAAE,MAAM;UAAEI,KAAK,EAAE;QAAW;MAC1C,CAAC;MACDG,IAAI,EAAE;QACJP,IAAI,EAAE,WAAW;QACjBG,IAAI,EAAE;UAAEH,IAAI,EAAE,MAAM;UAAEI,KAAK,EAAE;QAAW;MAC1C;IACF,CAAC,CACF;IACDI,YAAY,EAAE;MACZR,IAAI,EAAE,cAAc;MACpBS,UAAU,EAAE,CACV;QACET,IAAI,EAAE,OAAO;QACbG,IAAI,EAAE;UAAEH,IAAI,EAAE,MAAM;UAAEI,KAAK,EAAE;QAAqB,CAAC;QACnDM,SAAS,EAAE,CACT;UACEV,IAAI,EAAE,UAAU;UAChBG,IAAI,EAAE;YAAEH,IAAI,EAAE,MAAM;YAAEI,KAAK,EAAE;UAAc,CAAC;UAC5CA,KAAK,EAAE;YACLJ,IAAI,EAAE,UAAU;YAChBG,IAAI,EAAE;cAAEH,IAAI,EAAE,MAAM;cAAEI,KAAK,EAAE;YAAc;UAC7C;QACF,CAAC,EACD;UACEJ,IAAI,EAAE,UAAU;UAChBG,IAAI,EAAE;YAAEH,IAAI,EAAE,MAAM;YAAEI,KAAK,EAAE;UAAW,CAAC;UACzCA,KAAK,EAAE;YACLJ,IAAI,EAAE,UAAU;YAChBG,IAAI,EAAE;cAAEH,IAAI,EAAE,MAAM;cAAEI,KAAK,EAAE;YAAW;UAC1C;QACF,CAAC,CACF;QACDI,YAAY,EAAE;UACZR,IAAI,EAAE,cAAc;UACpBS,UAAU,EAAE,CACV;YAAET,IAAI,EAAE,OAAO;YAAEG,IAAI,EAAE;cAAEH,IAAI,EAAE,MAAM;cAAEI,KAAK,EAAE;YAAO;UAAE,CAAC,EACxD;YAAEJ,IAAI,EAAE,OAAO;YAAEG,IAAI,EAAE;cAAEH,IAAI,EAAE,MAAM;cAAEI,KAAK,EAAE;YAAc;UAAE,CAAC;QAEnE;MACF,CAAC;IAEL;EACF,CAAC;AAEL,CAGC","ignoreList":[]}
1
+ {"version":3,"file":"graphql.js","names":["AssetClassName","BookType","CorrelationTimeUnit","CurrencyName","CurrencyPowerBalanceTimeUnit","DataSource","Division","Granularity","InstrumentDataSource","Region","Sort","TimeSpan","TopicalSort","TradeMode","ValueAtRiskBars","ValueAtRiskDuration","VolatilityChartTimeSpan","VolatilityChartTimeUnit","GetPriceCandlesDocument","kind","definitions","operation","name","value","variableDefinitions","variable","type","selectionSet","selections","arguments","ValidateInstrumentsDocument"],"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 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};\n\nexport type CandlesData = {\n __typename?: 'CandlesData';\n candle: Candle;\n time: Scalars['String']['output'];\n timeSpan: TimeSpan;\n unixTime: Scalars['Int']['output'];\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 Ny4 = 'NY4',\n Ty3 = 'TY3',\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 displayName: Scalars['String']['output'];\n name: Scalars['String']['output'];\n tradeMode: TradeMode;\n};\n\nexport enum Granularity {\n Day_1 = 'DAY_1',\n Hour_1 = 'HOUR_1',\n Hour_4 = 'HOUR_4',\n Minute_5 = 'MINUTE_5',\n Minute_15 = 'MINUTE_15',\n Minute_30 = 'MINUTE_30',\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 enum InstrumentDataSource {\n Mt5 = 'MT5',\n V20 = 'V20',\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 Matrix = {\n __typename?: 'Matrix';\n instrument: Instrument;\n instrumentCorrelation: Array<InstrumentCorrelation>;\n};\n\nexport type OrderPositionBucket = {\n __typename?: 'OrderPositionBucket';\n longCountPercent: Scalars['Float']['output'];\n price: Scalars['Float']['output'];\n shortCountPercent: 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 getPriceCandles: Array<CandlesData>;\n isAllowedPartner?: Maybe<Scalars['Boolean']['output']>;\n mapInstrumentNames?: Maybe<Array<Maybe<Instrument>>>;\n orderPositionBooks: Array<Maybe<OrderPositionData>>;\n resolveInstrumentsByDivision?: Maybe<Array<Instrument>>;\n resolveInstrumentsWithFilters?: Maybe<InstrumentTableResult>;\n sentiment?: Maybe<Array<SentimentInstrument>>;\n sentimentList?: Maybe<Array<SentimentInstrument>>;\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 QueryGetPriceCandlesArgs = {\n division?: InputMaybe<Division>;\n granularity: Granularity;\n instrument: Scalars['String']['input'];\n timeSpan: TimeSpan;\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 QueryOrderPositionBooksArgs = {\n bookType: BookType;\n dataSource?: InputMaybe<DataSource>;\n instrument: Scalars['String']['input'];\n recentHours?: InputMaybe<Scalars['Int']['input']>;\n region?: InputMaybe<Region>;\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?: InputMaybe<InstrumentDataSource>;\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 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 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 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 Day_1 = 'DAY_1',\n Day_2 = 'DAY_2',\n Hour_1 = 'HOUR_1',\n Hour_12 = 'HOUR_12',\n Month_1 = 'MONTH_1',\n Month_3 = 'MONTH_3',\n Month_6 = 'MONTH_6',\n Week_1 = 'WEEK_1',\n Week_2 = 'WEEK_2',\n Week_3 = 'WEEK_3',\n Year_1 = 'YEAR_1',\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 GetPriceCandlesQueryVariables = Exact<{\n division?: InputMaybe<Division>;\n instrument: Scalars['String']['input'];\n granularity: Granularity;\n timeSpan: TimeSpan;\n}>;\n\nexport type GetPriceCandlesQuery = {\n __typename?: 'Query';\n getPriceCandles: Array<{\n __typename?: 'CandlesData';\n time: string;\n unixTime: number;\n timeSpan: TimeSpan;\n candle: {\n __typename?: 'Candle';\n high: number;\n low: number;\n open: number;\n close: number;\n };\n }>;\n};\n\nexport type ValidateInstrumentsQueryVariables = Exact<{\n instruments:\n | Array<InputMaybe<Scalars['String']['input']>>\n | InputMaybe<Scalars['String']['input']>;\n division?: InputMaybe<Division>;\n}>;\n\nexport type ValidateInstrumentsQuery = {\n __typename?: 'Query';\n mapInstrumentNames?: Array<{\n __typename?: 'Instrument';\n name: string;\n displayName: string;\n } | null> | null;\n};\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: 'division' },\n },\n type: {\n kind: 'NamedType',\n name: { kind: 'Name', value: 'Division' },\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: 'getPriceCandles' },\n arguments: [\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 { kind: 'Field', name: { kind: 'Name', value: 'time' } },\n { kind: 'Field', name: { kind: 'Name', value: 'unixTime' } },\n {\n kind: 'Field',\n name: { kind: 'Name', value: 'candle' },\n selectionSet: {\n kind: 'SelectionSet',\n selections: [\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 { kind: 'Field', name: { kind: 'Name', value: 'timeSpan' } },\n ],\n },\n },\n ],\n },\n },\n ],\n} as unknown as DocumentNode<\n GetPriceCandlesQuery,\n GetPriceCandlesQueryVariables\n>;\nexport const ValidateInstrumentsDocument = {\n kind: 'Document',\n definitions: [\n {\n kind: 'OperationDefinition',\n operation: 'query',\n name: { kind: 'Name', value: 'validateInstruments' },\n variableDefinitions: [\n {\n kind: 'VariableDefinition',\n variable: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'instruments' },\n },\n type: {\n kind: 'NonNullType',\n type: {\n kind: 'ListType',\n type: {\n kind: 'NamedType',\n name: { kind: 'Name', value: 'String' },\n },\n },\n },\n },\n {\n kind: 'VariableDefinition',\n variable: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'division' },\n },\n type: {\n kind: 'NamedType',\n name: { kind: 'Name', value: 'Division' },\n },\n },\n ],\n selectionSet: {\n kind: 'SelectionSet',\n selections: [\n {\n kind: 'Field',\n name: { kind: 'Name', value: 'mapInstrumentNames' },\n arguments: [\n {\n kind: 'Argument',\n name: { kind: 'Name', value: 'instruments' },\n value: {\n kind: 'Variable',\n name: { kind: 'Name', value: 'instruments' },\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 selectionSet: {\n kind: 'SelectionSet',\n selections: [\n { kind: 'Field', name: { kind: 'Name', value: 'name' } },\n { kind: 'Field', name: { kind: 'Name', value: 'displayName' } },\n ],\n },\n },\n ],\n },\n },\n ],\n} as unknown as DocumentNode<\n ValidateInstrumentsQuery,\n ValidateInstrumentsQueryVariables\n>;\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,9 @@
1
1
  {
2
+ "close": "Close",
3
+ "data_unavailable": "Data unavailable",
4
+ "high": "High",
5
+ "low": "Low",
6
+ "no_matching_results": "No matching results",
7
+ "open": "Open",
8
+ "pagination_entries_range": "{{firstItemOnPage}}-{{lastItemOnPage}} of {{itemCount}} entries"
2
9
  }
@@ -1,2 +1,4 @@
1
1
  {
2
+ "data_unavailable": "No hay datos disponibles",
3
+ "pagination_entries_range": "{{firstItemOnPage}}-{{lastItemOnPage}} de {{itemCount}} entradas"
2
4
  }
@@ -1,2 +1,4 @@
1
1
  {
2
+ "data_unavailable": "ข้อมูลไม่พร้อมใช้งาน",
3
+ "pagination_entries_range": "{{firstItemOnPage}}-{{lastItemOnPage}} จาก {{itemCount}} รายการ"
2
4
  }
@@ -1,2 +1,4 @@
1
1
  {
2
+ "data_unavailable": "沒有數據",
3
+ "pagination_entries_range": "{{itemCount}}个挂单中的{{firstItemOnPage}}-{{lastItemOnPage}}"
2
4
  }
@@ -1 +1,3 @@
1
+ import type { TooltipFormatterParams } from './types';
1
2
  export declare const dailyFormatter: (timestamp: string) => string;
3
+ export declare const tooltipFormatter: ({ lang, data }: TooltipFormatterParams) => string;
@@ -6,9 +6,21 @@ export interface ChartProps {
6
6
  export interface GetOptionProps {
7
7
  values: CandlesData[];
8
8
  isDark: boolean;
9
+ lang: (label: string) => string;
9
10
  }
10
11
  export type GetOptionType = (props: GetOptionProps) => EChartsOption;
11
12
  export interface ChartValue {
12
13
  min: number;
13
14
  max: number;
14
15
  }
16
+ export interface TooltipData {
17
+ time: string;
18
+ open: number;
19
+ high: number;
20
+ low: number;
21
+ close: number;
22
+ }
23
+ export interface TooltipFormatterParams {
24
+ data: TooltipData;
25
+ lang: (label: string) => string;
26
+ }
@@ -11,7 +11,7 @@ import { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/
11
11
  * Therefore it is highly recommended to use the babel or swc plugin for production.
12
12
  */
13
13
  declare const documents: {
14
- '\n query GetPriceCandles(\n $division: Division\n $instrument: String!\n $granularity: Granularity!\n $timeSpan: TimeSpan!\n ) {\n getPriceCandles(\n division: $division\n instrument: $instrument\n granularity: $granularity\n timeSpan: $timeSpan\n ) {\n time\n unixTime\n candle {\n high\n }\n timeSpan\n }\n }\n': DocumentNode<types.GetPriceCandlesQuery, types.Exact<{
14
+ '\n query GetPriceCandles(\n $division: Division\n $instrument: String!\n $granularity: Granularity!\n $timeSpan: TimeSpan!\n ) {\n getPriceCandles(\n division: $division\n instrument: $instrument\n granularity: $granularity\n timeSpan: $timeSpan\n ) {\n time\n unixTime\n candle {\n high\n low\n open\n close\n }\n timeSpan\n }\n }\n': DocumentNode<types.GetPriceCandlesQuery, types.Exact<{
15
15
  division?: types.InputMaybe<types.Division>;
16
16
  instrument: types.Scalars["String"]["input"];
17
17
  granularity: types.Granularity;
@@ -38,7 +38,7 @@ export declare function graphql(source: string): unknown;
38
38
  /**
39
39
  * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
40
40
  */
41
- export declare function graphql(source: '\n query GetPriceCandles(\n $division: Division\n $instrument: String!\n $granularity: Granularity!\n $timeSpan: TimeSpan!\n ) {\n getPriceCandles(\n division: $division\n instrument: $instrument\n granularity: $granularity\n timeSpan: $timeSpan\n ) {\n time\n unixTime\n candle {\n high\n }\n timeSpan\n }\n }\n'): (typeof documents)['\n query GetPriceCandles(\n $division: Division\n $instrument: String!\n $granularity: Granularity!\n $timeSpan: TimeSpan!\n ) {\n getPriceCandles(\n division: $division\n instrument: $instrument\n granularity: $granularity\n timeSpan: $timeSpan\n ) {\n time\n unixTime\n candle {\n high\n }\n timeSpan\n }\n }\n'];
41
+ export declare function graphql(source: '\n query GetPriceCandles(\n $division: Division\n $instrument: String!\n $granularity: Granularity!\n $timeSpan: TimeSpan!\n ) {\n getPriceCandles(\n division: $division\n instrument: $instrument\n granularity: $granularity\n timeSpan: $timeSpan\n ) {\n time\n unixTime\n candle {\n high\n low\n open\n close\n }\n timeSpan\n }\n }\n'): (typeof documents)['\n query GetPriceCandles(\n $division: Division\n $instrument: String!\n $granularity: Granularity!\n $timeSpan: TimeSpan!\n ) {\n getPriceCandles(\n division: $division\n instrument: $instrument\n granularity: $granularity\n timeSpan: $timeSpan\n ) {\n time\n unixTime\n candle {\n high\n low\n open\n close\n }\n timeSpan\n }\n }\n'];
42
42
  /**
43
43
  * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
44
44
  */
@@ -63,7 +63,10 @@ export declare enum BookType {
63
63
  }
64
64
  export type Candle = {
65
65
  __typename?: 'Candle';
66
+ close: Scalars['Float']['output'];
66
67
  high: Scalars['Float']['output'];
68
+ low: Scalars['Float']['output'];
69
+ open: Scalars['Float']['output'];
67
70
  };
68
71
  export type CandlesData = {
69
72
  __typename?: 'CandlesData';
@@ -145,6 +148,12 @@ export declare enum Division {
145
148
  Opt = "OPT",
146
149
  Otms = "OTMS"
147
150
  }
151
+ export type ExtendedInstrument = {
152
+ __typename?: 'ExtendedInstrument';
153
+ displayName: Scalars['String']['output'];
154
+ name: Scalars['String']['output'];
155
+ tradeMode: TradeMode;
156
+ };
148
157
  export declare enum Granularity {
149
158
  Day_1 = "DAY_1",
150
159
  Hour_1 = "HOUR_1",
@@ -174,8 +183,9 @@ export declare enum InstrumentDataSource {
174
183
  }
175
184
  export type InstrumentTableResult = {
176
185
  __typename?: 'InstrumentTableResult';
177
- instruments: Array<Instrument>;
186
+ instruments: Array<ExtendedInstrument>;
178
187
  totalCount: Scalars['Int']['output'];
188
+ updatedAt: Scalars['String']['output'];
179
189
  };
180
190
  export type Matrix = {
181
191
  __typename?: 'Matrix';
@@ -269,6 +279,7 @@ export type QueryResolveInstrumentsWithFiltersArgs = {
269
279
  instruments?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;
270
280
  offset?: InputMaybe<Scalars['Int']['input']>;
271
281
  searchPattern?: InputMaybe<Scalars['String']['input']>;
282
+ tradeModes?: InputMaybe<Array<InputMaybe<TradeMode>>>;
272
283
  };
273
284
  export type QuerySentimentArgs = {
274
285
  division?: InputMaybe<Division>;
@@ -376,6 +387,14 @@ export declare enum TopicalSort {
376
387
  Popular = "POPULAR",
377
388
  Volatile = "VOLATILE"
378
389
  }
390
+ export declare enum TradeMode {
391
+ TradeCloseonly = "TRADE_CLOSEONLY",
392
+ TradeDisabled = "TRADE_DISABLED",
393
+ TradeFull = "TRADE_FULL",
394
+ TradeLongonly = "TRADE_LONGONLY",
395
+ TradeShortonly = "TRADE_SHORTONLY",
396
+ TradeUndefined = "TRADE_UNDEFINED"
397
+ }
379
398
  export declare enum ValueAtRiskBars {
380
399
  C100 = "C100",
381
400
  C200 = "C200",
@@ -449,6 +468,9 @@ export type GetPriceCandlesQuery = {
449
468
  candle: {
450
469
  __typename?: 'Candle';
451
470
  high: number;
471
+ low: number;
472
+ open: number;
473
+ close: number;
452
474
  };
453
475
  }>;
454
476
  };
@@ -12,7 +12,7 @@
12
12
  "indentation": "2sp",
13
13
  "plural_format": "i18next",
14
14
  "export_empty_as": "skip",
15
- "include_tags": ["common_widgets"],
15
+ "include_tags": ["common_widgets", "instruments_price_chart_widget"],
16
16
  "filter_langs": ["en", "zh_TW", "es", "th"]
17
17
  }
18
18
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oanda/labs-instruments-price-chart-widget",
3
- "version": "1.0.7",
3
+ "version": "1.0.8",
4
4
  "description": "Labs Instruments Price Chart Widget",
5
5
  "main": "dist/main/index.js",
6
6
  "module": "dist/module/index.js",
@@ -12,7 +12,7 @@
12
12
  "author": "OANDA",
13
13
  "license": "UNLICENSED",
14
14
  "dependencies": {
15
- "@oanda/labs-widget-common": "^1.0.211",
15
+ "@oanda/labs-widget-common": "^1.0.212",
16
16
  "@oanda/mono-i18n": "10.0.1",
17
17
  "graphql": "16.8.1"
18
18
  },
@@ -20,5 +20,5 @@
20
20
  "@graphql-codegen/cli": "5.0.0",
21
21
  "@graphql-codegen/client-preset": "4.1.0"
22
22
  },
23
- "gitHead": "ecce179e47e442c6d1dac02607b4ae851f175740"
23
+ "gitHead": "53a43d8d60d462d74949c32e30a75b09e86f659d"
24
24
  }
@@ -4,11 +4,13 @@ import {
4
4
  Theme,
5
5
  useLayoutProvider,
6
6
  } from '@oanda/labs-widget-common';
7
+ import { useLocale } from '@oanda/mono-i18n';
7
8
  import { CustomChart, LineChart } from 'echarts/charts';
8
9
  import {
9
10
  DatasetComponent,
10
11
  GraphicComponent,
11
12
  GridSimpleComponent,
13
+ TooltipComponent,
12
14
  } from 'echarts/components';
13
15
  import * as echarts from 'echarts/core';
14
16
  import { CanvasRenderer } from 'echarts/renderers';
@@ -25,6 +27,7 @@ echarts.use([
25
27
  DatasetComponent,
26
28
  CustomChart,
27
29
  CanvasRenderer,
30
+ TooltipComponent,
28
31
  ]);
29
32
 
30
33
  echarts.registerTheme('dark_theme', getChartTheme(Theme.Dark));
@@ -32,6 +35,7 @@ echarts.registerTheme('light_theme', getChartTheme(Theme.Light));
32
35
 
33
36
  export const Chart = ({ values }: ChartProps) => {
34
37
  const { isDark } = useLayoutProvider();
38
+ const { lang } = useLocale();
35
39
 
36
40
  return (
37
41
  <BaseChart
@@ -41,6 +45,7 @@ export const Chart = ({ values }: ChartProps) => {
41
45
  option={getOption({
42
46
  values,
43
47
  isDark,
48
+ lang,
44
49
  })}
45
50
  />
46
51
  );
@@ -1,3 +1,10 @@
1
+ import {
2
+ chartDateTimeFormat,
3
+ getChartDateAndTime,
4
+ } from '@oanda/labs-widget-common';
5
+
6
+ import type { TooltipFormatterParams } from './types';
7
+
1
8
  export const dailyFormatter = (timestamp: string) => {
2
9
  const date = new Date(timestamp);
3
10
  return date.toLocaleTimeString(undefined, {
@@ -5,3 +12,18 @@ export const dailyFormatter = (timestamp: string) => {
5
12
  hour12: true,
6
13
  });
7
14
  };
15
+
16
+ export const tooltipFormatter = ({ lang, data }: TooltipFormatterParams) => {
17
+ const { open, high, close, low, time } = data;
18
+ const date = chartDateTimeFormat(getChartDateAndTime(time));
19
+
20
+ return `
21
+ <div style="display:flex; flex-direction:column;">
22
+ <span style="margin-bottom:5px;">${date}</span>
23
+ ${lang('open')}: ${open.toFixed(4)}<br />
24
+ ${lang('high')}: ${high.toFixed(4)}<br />
25
+ ${lang('low')}: ${low.toFixed(4)}<br />
26
+ ${lang('close')}: ${close.toFixed(4)}
27
+ </div>
28
+ `;
29
+ };
@@ -11,10 +11,10 @@ import {
11
11
  X_LABEL_SIZE,
12
12
  Y_LABEL_SIZE_DESKTOP,
13
13
  } from './constants';
14
- import { dailyFormatter } from './formatters';
14
+ import { dailyFormatter, tooltipFormatter } from './formatters';
15
15
  import type { ChartValue, GetOptionType } from './types';
16
16
 
17
- export const getOption: GetOptionType = ({ values, isDark }) => {
17
+ export const getOption: GetOptionType = ({ values, isDark, lang }) => {
18
18
  const priceValues = values.map((d) => d.candle.high);
19
19
 
20
20
  const timestamps = values.map((d) => dailyFormatter(d.time));
@@ -31,6 +31,24 @@ export const getOption: GetOptionType = ({ values, isDark }) => {
31
31
  });
32
32
 
33
33
  return {
34
+ tooltip: {
35
+ trigger: 'axis',
36
+ axisPointer: {
37
+ axis: 'x',
38
+ },
39
+ formatter: (params) => {
40
+ const p = Array.isArray(params) ? params[0] : params;
41
+ const data = p.data as {
42
+ time: string;
43
+ open: number;
44
+ high: number;
45
+ low: number;
46
+ close: number;
47
+ };
48
+
49
+ return tooltipFormatter({ lang, data });
50
+ },
51
+ },
34
52
  xAxis: {
35
53
  type: 'category',
36
54
  boundaryGap: false,
@@ -78,7 +96,11 @@ export const getOption: GetOptionType = ({ values, isDark }) => {
78
96
  {
79
97
  name: 'price-close',
80
98
  type: 'line',
81
- data: priceValues,
99
+ data: values.map((d) => ({
100
+ value: d.candle.high,
101
+ ...d.candle,
102
+ time: d.time,
103
+ })),
82
104
  smooth: true,
83
105
  symbol: 'none',
84
106
  lineStyle: {
@@ -9,6 +9,7 @@ export interface ChartProps {
9
9
  export interface GetOptionProps {
10
10
  values: CandlesData[];
11
11
  isDark: boolean;
12
+ lang: (label: string) => string;
12
13
  }
13
14
 
14
15
  export type GetOptionType = (props: GetOptionProps) => EChartsOption;
@@ -17,3 +18,16 @@ export interface ChartValue {
17
18
  min: number;
18
19
  max: number;
19
20
  }
21
+
22
+ export interface TooltipData {
23
+ time: string;
24
+ open: number;
25
+ high: number;
26
+ low: number;
27
+ close: number;
28
+ }
29
+
30
+ export interface TooltipFormatterParams {
31
+ data: TooltipData;
32
+ lang: (label: string) => string;
33
+ }
@@ -7,13 +7,16 @@ const generateMockPriceCandles = (
7
7
  ): CandlesData[] => {
8
8
  const rawCandles = generateMockCandleData(count);
9
9
 
10
- return rawCandles.map((candle) => ({
10
+ return rawCandles.map(({ high, low, timestamp, open, close }) => ({
11
11
  __typename: 'CandlesData',
12
- time: new Date(candle.timestamp).toISOString(),
13
- unixTime: Math.floor(candle.timestamp / 1000),
12
+ time: new Date(timestamp).toISOString(),
13
+ unixTime: Math.floor(timestamp / 1000),
14
14
  candle: {
15
15
  __typename: 'Candle',
16
- high: candle.max,
16
+ high,
17
+ low,
18
+ open,
19
+ close,
17
20
  },
18
21
  timeSpan,
19
22
  }));
@@ -47,12 +50,17 @@ const generateMockCandleData = (count: number = 30) => {
47
50
  const open = currentPrice;
48
51
  const high = open + Math.random() * 0.0008;
49
52
  const close = open + (Math.random() - 0.5) * 0.0005;
53
+ const low = open - Math.random() * 0.0008;
50
54
 
51
55
  const finalHigh = Math.max(open, close, high);
56
+ const finalLow = Math.min(open, close, low);
52
57
 
53
58
  return {
54
59
  timestamp: now - (count - i) * candleInterval,
55
- max: finalHigh,
60
+ high: finalHigh,
61
+ open,
62
+ close,
63
+ low: finalLow,
56
64
  };
57
65
  });
58
66
  };
@@ -17,6 +17,9 @@ const getPriceCandles = gql`
17
17
  unixTime
18
18
  candle {
19
19
  high
20
+ low
21
+ open
22
+ close
20
23
  }
21
24
  timeSpan
22
25
  }
@@ -35,6 +35,9 @@ enum Division {
35
35
 
36
36
  type Candle {
37
37
  high: Float!
38
+ low: Float!
39
+ open: Float!
40
+ close: Float!
38
41
  }
39
42
 
40
43
  type Instrument {
@@ -13,7 +13,7 @@ import { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/
13
13
  * Therefore it is highly recommended to use the babel or swc plugin for production.
14
14
  */
15
15
  const documents = {
16
- '\n query GetPriceCandles(\n $division: Division\n $instrument: String!\n $granularity: Granularity!\n $timeSpan: TimeSpan!\n ) {\n getPriceCandles(\n division: $division\n instrument: $instrument\n granularity: $granularity\n timeSpan: $timeSpan\n ) {\n time\n unixTime\n candle {\n high\n }\n timeSpan\n }\n }\n':
16
+ '\n query GetPriceCandles(\n $division: Division\n $instrument: String!\n $granularity: Granularity!\n $timeSpan: TimeSpan!\n ) {\n getPriceCandles(\n division: $division\n instrument: $instrument\n granularity: $granularity\n timeSpan: $timeSpan\n ) {\n time\n unixTime\n candle {\n high\n low\n open\n close\n }\n timeSpan\n }\n }\n':
17
17
  types.GetPriceCandlesDocument,
18
18
  '\n query validateInstruments($instruments: [String]!, $division: Division) {\n mapInstrumentNames(instruments: $instruments, division: $division) {\n name\n displayName\n }\n }\n':
19
19
  types.ValidateInstrumentsDocument,
@@ -37,8 +37,8 @@ export function graphql(source: string): unknown;
37
37
  * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
38
38
  */
39
39
  export function graphql(
40
- source: '\n query GetPriceCandles(\n $division: Division\n $instrument: String!\n $granularity: Granularity!\n $timeSpan: TimeSpan!\n ) {\n getPriceCandles(\n division: $division\n instrument: $instrument\n granularity: $granularity\n timeSpan: $timeSpan\n ) {\n time\n unixTime\n candle {\n high\n }\n timeSpan\n }\n }\n'
41
- ): (typeof documents)['\n query GetPriceCandles(\n $division: Division\n $instrument: String!\n $granularity: Granularity!\n $timeSpan: TimeSpan!\n ) {\n getPriceCandles(\n division: $division\n instrument: $instrument\n granularity: $granularity\n timeSpan: $timeSpan\n ) {\n time\n unixTime\n candle {\n high\n }\n timeSpan\n }\n }\n'];
40
+ source: '\n query GetPriceCandles(\n $division: Division\n $instrument: String!\n $granularity: Granularity!\n $timeSpan: TimeSpan!\n ) {\n getPriceCandles(\n division: $division\n instrument: $instrument\n granularity: $granularity\n timeSpan: $timeSpan\n ) {\n time\n unixTime\n candle {\n high\n low\n open\n close\n }\n timeSpan\n }\n }\n'
41
+ ): (typeof documents)['\n query GetPriceCandles(\n $division: Division\n $instrument: String!\n $granularity: Granularity!\n $timeSpan: TimeSpan!\n ) {\n getPriceCandles(\n division: $division\n instrument: $instrument\n granularity: $granularity\n timeSpan: $timeSpan\n ) {\n time\n unixTime\n candle {\n high\n low\n open\n close\n }\n timeSpan\n }\n }\n'];
42
42
  /**
43
43
  * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
44
44
  */
@@ -52,7 +52,10 @@ export enum BookType {
52
52
 
53
53
  export type Candle = {
54
54
  __typename?: 'Candle';
55
+ close: Scalars['Float']['output'];
55
56
  high: Scalars['Float']['output'];
57
+ low: Scalars['Float']['output'];
58
+ open: Scalars['Float']['output'];
56
59
  };
57
60
 
58
61
  export type CandlesData = {
@@ -146,6 +149,13 @@ export enum Division {
146
149
  Otms = 'OTMS',
147
150
  }
148
151
 
152
+ export type ExtendedInstrument = {
153
+ __typename?: 'ExtendedInstrument';
154
+ displayName: Scalars['String']['output'];
155
+ name: Scalars['String']['output'];
156
+ tradeMode: TradeMode;
157
+ };
158
+
149
159
  export enum Granularity {
150
160
  Day_1 = 'DAY_1',
151
161
  Hour_1 = 'HOUR_1',
@@ -180,8 +190,9 @@ export enum InstrumentDataSource {
180
190
 
181
191
  export type InstrumentTableResult = {
182
192
  __typename?: 'InstrumentTableResult';
183
- instruments: Array<Instrument>;
193
+ instruments: Array<ExtendedInstrument>;
184
194
  totalCount: Scalars['Int']['output'];
195
+ updatedAt: Scalars['String']['output'];
185
196
  };
186
197
 
187
198
  export type Matrix = {
@@ -289,6 +300,7 @@ export type QueryResolveInstrumentsWithFiltersArgs = {
289
300
  instruments?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;
290
301
  offset?: InputMaybe<Scalars['Int']['input']>;
291
302
  searchPattern?: InputMaybe<Scalars['String']['input']>;
303
+ tradeModes?: InputMaybe<Array<InputMaybe<TradeMode>>>;
292
304
  };
293
305
 
294
306
  export type QuerySentimentArgs = {
@@ -416,6 +428,15 @@ export enum TopicalSort {
416
428
  Volatile = 'VOLATILE',
417
429
  }
418
430
 
431
+ export enum TradeMode {
432
+ TradeCloseonly = 'TRADE_CLOSEONLY',
433
+ TradeDisabled = 'TRADE_DISABLED',
434
+ TradeFull = 'TRADE_FULL',
435
+ TradeLongonly = 'TRADE_LONGONLY',
436
+ TradeShortonly = 'TRADE_SHORTONLY',
437
+ TradeUndefined = 'TRADE_UNDEFINED',
438
+ }
439
+
419
440
  export enum ValueAtRiskBars {
420
441
  C100 = 'C100',
421
442
  C200 = 'C200',
@@ -495,7 +516,13 @@ export type GetPriceCandlesQuery = {
495
516
  time: string;
496
517
  unixTime: number;
497
518
  timeSpan: TimeSpan;
498
- candle: { __typename?: 'Candle'; high: number };
519
+ candle: {
520
+ __typename?: 'Candle';
521
+ high: number;
522
+ low: number;
523
+ open: number;
524
+ close: number;
525
+ };
499
526
  }>;
500
527
  };
501
528
 
@@ -629,6 +656,9 @@ export const GetPriceCandlesDocument = {
629
656
  kind: 'SelectionSet',
630
657
  selections: [
631
658
  { kind: 'Field', name: { kind: 'Name', value: 'high' } },
659
+ { kind: 'Field', name: { kind: 'Name', value: 'low' } },
660
+ { kind: 'Field', name: { kind: 'Name', value: 'open' } },
661
+ { kind: 'Field', name: { kind: 'Name', value: 'close' } },
632
662
  ],
633
663
  },
634
664
  },