@oanda/labs-sentiment-widget 1.0.67 → 1.0.68

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 (49) hide show
  1. package/CHANGELOG.md +260 -0
  2. package/dist/main/SentimentWidget/Tool.js +11 -4
  3. package/dist/main/SentimentWidget/Tool.js.map +1 -1
  4. package/dist/main/SentimentWidget/Widget.js +15 -5
  5. package/dist/main/SentimentWidget/Widget.js.map +1 -1
  6. package/dist/main/constant.js +2 -1
  7. package/dist/main/constant.js.map +1 -1
  8. package/dist/main/gql/getInstrumentSentiment.js +1 -1
  9. package/dist/main/gql/getInstrumentSentiment.js.map +1 -1
  10. package/dist/main/gql/getSentimentList.js +1 -1
  11. package/dist/main/gql/getSentimentList.js.map +1 -1
  12. package/dist/main/gql/types/gql.js +2 -2
  13. package/dist/main/gql/types/gql.js.map +1 -1
  14. package/dist/main/gql/types/graphql.js +55 -1
  15. package/dist/main/gql/types/graphql.js.map +1 -1
  16. package/dist/main/translations/sources/en.json +3 -1
  17. package/dist/main/translations/sources/zh_TW.json +3 -1
  18. package/dist/module/SentimentWidget/Tool.js +13 -6
  19. package/dist/module/SentimentWidget/Tool.js.map +1 -1
  20. package/dist/module/SentimentWidget/Widget.js +17 -7
  21. package/dist/module/SentimentWidget/Widget.js.map +1 -1
  22. package/dist/module/constant.js +2 -1
  23. package/dist/module/constant.js.map +1 -1
  24. package/dist/module/gql/getInstrumentSentiment.js +1 -1
  25. package/dist/module/gql/getInstrumentSentiment.js.map +1 -1
  26. package/dist/module/gql/getSentimentList.js +1 -1
  27. package/dist/module/gql/getSentimentList.js.map +1 -1
  28. package/dist/module/gql/types/gql.js +2 -2
  29. package/dist/module/gql/types/gql.js.map +1 -1
  30. package/dist/module/gql/types/graphql.js +54 -0
  31. package/dist/module/gql/types/graphql.js.map +1 -1
  32. package/dist/module/translations/sources/en.json +3 -1
  33. package/dist/module/translations/sources/zh_TW.json +3 -1
  34. package/dist/types/SentimentWidget/utils.d.ts +1 -0
  35. package/dist/types/constant.d.ts +2 -1
  36. package/dist/types/gql/types/gql.d.ts +4 -4
  37. package/dist/types/gql/types/graphql.d.ts +92 -15
  38. package/package.json +3 -3
  39. package/src/SentimentWidget/Tool.tsx +21 -4
  40. package/src/SentimentWidget/Widget.tsx +35 -23
  41. package/src/constant.ts +3 -1
  42. package/src/gql/getInstrumentSentiment.ts +1 -0
  43. package/src/gql/getSentimentList.ts +1 -0
  44. package/src/gql/types/gql.ts +4 -4
  45. package/src/gql/types/graphql.ts +108 -20
  46. package/src/translations/sources/en.json +3 -1
  47. package/src/translations/sources/zh_TW.json +3 -1
  48. package/test/Widget.test.tsx +4 -4
  49. package/test/sortData.test.ts +42 -12
package/CHANGELOG.md CHANGED
@@ -3,6 +3,266 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## 1.0.68 (2024-01-15)
7
+
8
+
9
+
10
+ ## 1.0.67 (2024-01-15)
11
+
12
+
13
+
14
+ ## 1.0.66 (2024-01-12)
15
+
16
+
17
+
18
+ ## 1.0.65 (2024-01-11)
19
+
20
+
21
+
22
+ ## 1.0.64 (2024-01-11)
23
+
24
+
25
+
26
+ ## 1.0.63 (2024-01-11)
27
+
28
+
29
+
30
+ ## 1.0.62 (2024-01-10)
31
+
32
+
33
+
34
+ ## 1.0.61 (2024-01-09)
35
+
36
+
37
+
38
+ ## 1.0.60 (2024-01-05)
39
+
40
+
41
+
42
+ ## 1.0.59 (2023-12-27)
43
+
44
+
45
+
46
+ ## 1.0.58 (2023-12-22)
47
+
48
+
49
+
50
+ ## 1.0.57 (2023-12-22)
51
+
52
+
53
+
54
+ ## 1.0.56 (2023-12-21)
55
+
56
+
57
+
58
+ ## 1.0.55 (2023-12-19)
59
+
60
+
61
+
62
+ ## 1.0.54 (2023-12-15)
63
+
64
+
65
+
66
+ ## 1.0.53 (2023-12-13)
67
+
68
+
69
+
70
+ ## 1.0.52 (2023-12-13)
71
+
72
+
73
+
74
+ ## 1.0.51 (2023-12-07)
75
+
76
+
77
+
78
+ ## 1.0.50 (2023-12-04)
79
+
80
+
81
+
82
+ ## 1.0.49 (2023-12-01)
83
+
84
+
85
+
86
+ ## 1.0.48 (2023-12-01)
87
+
88
+
89
+
90
+ ## 1.0.47 (2023-11-29)
91
+
92
+
93
+
94
+ ## 1.0.46 (2023-11-28)
95
+
96
+
97
+
98
+ ## 1.0.45 (2023-11-23)
99
+
100
+
101
+
102
+ ## 1.0.44 (2023-11-22)
103
+
104
+
105
+
106
+ ## 1.0.43 (2023-11-15)
107
+
108
+
109
+
110
+ ## 1.0.42 (2023-11-10)
111
+
112
+
113
+
114
+ ## 1.0.41 (2023-11-03)
115
+
116
+
117
+
118
+ ## 1.0.40 (2023-11-02)
119
+
120
+
121
+
122
+ ## 1.0.39 (2023-11-02)
123
+
124
+
125
+
126
+ ## 1.0.38 (2023-10-26)
127
+
128
+
129
+
130
+ ## 1.0.37 (2023-10-26)
131
+
132
+
133
+
134
+ ## 1.0.36 (2023-10-25)
135
+
136
+
137
+
138
+ ## 1.0.35 (2023-10-24)
139
+
140
+
141
+
142
+ ## 1.0.34 (2023-10-23)
143
+
144
+
145
+
146
+ ## 1.0.33 (2023-10-23)
147
+
148
+
149
+
150
+ ## 1.0.32 (2023-10-23)
151
+
152
+
153
+
154
+ ## 1.0.31 (2023-10-20)
155
+
156
+
157
+
158
+ ## 1.0.30 (2023-10-19)
159
+
160
+
161
+
162
+ ## 1.0.29 (2023-10-19)
163
+
164
+
165
+
166
+ ## 1.0.28 (2023-10-19)
167
+
168
+
169
+
170
+ ## 1.0.27 (2023-10-18)
171
+
172
+
173
+
174
+ ## 1.0.26 (2023-10-18)
175
+
176
+
177
+
178
+ ## 1.0.25 (2023-10-17)
179
+
180
+
181
+
182
+ ## 1.0.24 (2023-10-13)
183
+
184
+
185
+
186
+ ## 1.0.23 (2023-10-13)
187
+
188
+
189
+
190
+ ## 1.0.22 (2023-10-11)
191
+
192
+
193
+
194
+ ## 1.0.21 (2023-10-10)
195
+
196
+
197
+
198
+ ## 1.0.20 (2023-10-06)
199
+
200
+
201
+
202
+ ## 1.0.19 (2023-10-06)
203
+
204
+
205
+
206
+ ## 1.0.18 (2023-10-05)
207
+
208
+
209
+
210
+ ## 1.0.17 (2023-10-04)
211
+
212
+
213
+
214
+ ## 1.0.16 (2023-10-04)
215
+
216
+
217
+
218
+ ## 1.0.15 (2023-10-04)
219
+
220
+
221
+
222
+ ## 1.0.14 (2023-10-03)
223
+
224
+
225
+
226
+ ## 1.0.13 (2023-10-03)
227
+
228
+
229
+
230
+ ## 1.0.12 (2023-10-03)
231
+
232
+
233
+
234
+ ## 1.0.11 (2023-10-02)
235
+
236
+
237
+
238
+ ## 1.0.10 (2023-09-29)
239
+
240
+
241
+
242
+ ## 1.0.9 (2023-09-28)
243
+
244
+
245
+
246
+ ## 1.0.8 (2023-09-27)
247
+
248
+
249
+
250
+ ## 1.0.7 (2023-09-26)
251
+
252
+
253
+
254
+ ## 1.0.6 (2023-09-21)
255
+
256
+
257
+
258
+ ## 1.0.5 (2023-09-13)
259
+
260
+ **Note:** Version bump only for package @oanda/labs-sentiment-widget
261
+
262
+
263
+
264
+
265
+
6
266
  ## 1.0.67 (2024-01-15)
7
267
 
8
268
 
@@ -31,14 +31,17 @@ const Tool = _ref => {
31
31
  },
32
32
  fetchPolicy: 'cache-and-network'
33
33
  });
34
+ const {
35
+ lang
36
+ } = (0, _monoI18n.useLocale)();
37
+ const [updatedTimestamp, setUpdatedTimestamp] = (0, _react.useState)(_constant.EMPTY_VALUE);
34
38
  (0, _react.useEffect)(() => {
35
39
  if (data) {
40
+ var _;
36
41
  setSortedData((0, _utils.sortData)(data, sort));
42
+ setUpdatedTimestamp((0, _labsWidgetCommon.formatUpdatedTimestamp)((_ = data.sentimentList[0]) === null || _ === void 0 ? void 0 : _.updatedAt, lang('today')));
37
43
  }
38
44
  }, [data, sort]);
39
- const {
40
- lang
41
- } = (0, _monoI18n.useLocale)();
42
45
  return _react.default.createElement("div", {
43
46
  "data-testid": "sentiment-tool",
44
47
  className: "lw-relative lw-bg-bg-primary lw-text-sm lw-tracking-normal lw-text-text-primary"
@@ -77,7 +80,11 @@ const Tool = _ref => {
77
80
  sentiment: item.sentiment
78
81
  }))))), _react.default.createElement(_labsWidgetCommon.Tooltip, {
79
82
  id: _constant.INSTRUMENT_TOOLTIP_ID
80
- }));
83
+ }), !error && _react.default.createElement("div", {
84
+ className: "lw-mt-2 lw-h-8"
85
+ }, _react.default.createElement(_labsWidgetCommon.InfoBox, {
86
+ text: "".concat(lang('last_updated'), ": ").concat(updatedTimestamp)
87
+ })));
81
88
  };
82
89
  exports.Tool = Tool;
83
90
  //# sourceMappingURL=Tool.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tool.js","names":["_react","_interopRequireWildcard","require","_labsWidgetCommon","_client","_monoI18n","_getSentimentList","_utils","_SortSwitch","_graphql","_constant","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","Tool","_ref","division","sort","setSort","useState","Sort","Bullish","sortedData","setSortedData","Array","fill","loading","data","error","useQuery","getSentimentList","variables","fetchPolicy","useEffect","sortData","lang","useLocale","createElement","className","length","ChartError","Fragment","SortSwitch","disabled","selected","SelectedArrow","UP","DOWN","onClickButtonDown","Bearish","onClickButtonUp","map","item","index","key","name","Loader","size","LoaderSize","md","Truncate","maxWidth","tooltipId","INSTRUMENT_TOOLTIP_ID","text","displayName","Sentiment","isLoading","height","SentimentHeight","sentiment","Tooltip","id","exports"],"sources":["../../../src/SentimentWidget/Tool.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport {\n Sentiment, SentimentHeight, Loader, LoaderSize, ChartError, Truncate, Tooltip,\n} from '@oanda/labs-widget-common';\nimport { useQuery } from '@apollo/client';\nimport { useLocale } from '@oanda/mono-i18n';\nimport { getSentimentList } from '../gql/getSentimentList';\nimport { SentimentToolConfig } from './types';\nimport { sortData } from './utils';\nimport { SelectedArrow, SortSwitch } from './components/SortSwitch';\nimport {\n GetSentimentListQuery, GetSentimentListQueryVariables, SentimentInstrument, Sort,\n} from '../gql/types/graphql';\nimport { INSTRUMENT_TOOLTIP_ID } from '../constant';\n\nconst Tool = ({ division }: SentimentToolConfig) => {\n const [sort, setSort] = useState(Sort.Bullish);\n const [sortedData, setSortedData] = useState<Omit<SentimentInstrument, 'id'>[]>(new Array(20).fill({}));\n const { loading, data, error } = useQuery<\n GetSentimentListQuery,\n GetSentimentListQueryVariables\n >(getSentimentList, {\n variables: {\n division,\n },\n fetchPolicy: 'cache-and-network',\n });\n\n useEffect(() => {\n if (data) {\n setSortedData(sortData(data, sort));\n }\n }, [data, sort]);\n\n const { lang } = useLocale();\n\n return (\n <div data-testid=\"sentiment-tool\" className=\"lw-relative lw-bg-bg-primary lw-text-sm lw-tracking-normal lw-text-text-primary\">\n {error || sortedData.length === 0 ? (\n <div className=\"lw-flex lw-h-[200px] lw-items-center lw-justify-center lw-border lw-border-solid lw-border-border-primary lw-p-2\">\n <ChartError />\n </div>\n ) : (\n <>\n <div className=\"lw-flex lw-justify-end lw-pb-5\">\n <SortSwitch\n disabled={loading}\n selected={sort === Sort.Bullish ? SelectedArrow.UP : SelectedArrow.DOWN}\n onClickButtonDown={() => setSort(Sort.Bearish)}\n onClickButtonUp={() => setSort(Sort.Bullish)}\n />\n </div>\n <div className=\"lw-flex lw-flex-col lw-border lw-border-solid lw-border-border-primary lw-p-2\">\n <div className=\"lw-mb-2 lw-flex lw-justify-between lw-font-semibold\">\n <span className=\"lw-ml-[7.5rem] lw-uppercase md:lw-ml-40\">{lang('net_short')}</span>\n <span className=\"lw-text-right lw-uppercase md:lw-mr-10\">{lang('net_long')}</span>\n </div>\n {sortedData.map((item, index) => (\n <div className=\"lw-flex lw-h-8 lw-w-full lw-items-center\" key={item.name || index}>\n <div className=\"lw-w-[120px] lw-shrink-0\">\n {loading ? (\n <Loader size={LoaderSize.md} />\n ) : (\n <Truncate\n maxWidth={120}\n tooltipId={INSTRUMENT_TOOLTIP_ID}\n className=\"lw-pr-2 lw-font-sans lw-text-sm lw-font-bold\"\n text={item.displayName || '\\u2014'}\n />\n )}\n </div>\n <Sentiment\n isLoading={loading}\n height={SentimentHeight.md}\n sentiment={item.sentiment}\n />\n </div>\n ))}\n </div>\n </>\n )}\n <Tooltip id={INSTRUMENT_TOOLTIP_ID} />\n </div>\n );\n};\n\nexport { Tool };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Tool.js","names":["_react","_interopRequireWildcard","require","_labsWidgetCommon","_client","_monoI18n","_getSentimentList","_utils","_SortSwitch","_graphql","_constant","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","Tool","_ref","division","sort","setSort","useState","Sort","Bullish","sortedData","setSortedData","Array","fill","loading","data","error","useQuery","getSentimentList","variables","fetchPolicy","lang","useLocale","updatedTimestamp","setUpdatedTimestamp","EMPTY_VALUE","useEffect","_","sortData","formatUpdatedTimestamp","sentimentList","updatedAt","createElement","className","length","ChartError","Fragment","SortSwitch","disabled","selected","SelectedArrow","UP","DOWN","onClickButtonDown","Bearish","onClickButtonUp","map","item","index","key","name","Loader","size","LoaderSize","md","Truncate","maxWidth","tooltipId","INSTRUMENT_TOOLTIP_ID","text","displayName","Sentiment","isLoading","height","SentimentHeight","sentiment","Tooltip","id","InfoBox","concat","exports"],"sources":["../../../src/SentimentWidget/Tool.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport {\n Sentiment,\n SentimentHeight,\n Loader,\n LoaderSize,\n ChartError,\n Truncate,\n Tooltip,\n InfoBox,\n formatUpdatedTimestamp,\n} from '@oanda/labs-widget-common';\nimport { useQuery } from '@apollo/client';\nimport { useLocale } from '@oanda/mono-i18n';\nimport { getSentimentList } from '../gql/getSentimentList';\nimport { SentimentToolConfig } from './types';\nimport { sortData } from './utils';\nimport { SelectedArrow, SortSwitch } from './components/SortSwitch';\nimport {\n GetSentimentListQuery, GetSentimentListQueryVariables, SentimentInstrument, Sort,\n} from '../gql/types/graphql';\nimport { EMPTY_VALUE, INSTRUMENT_TOOLTIP_ID } from '../constant';\n\nconst Tool = ({ division }: SentimentToolConfig) => {\n const [sort, setSort] = useState(Sort.Bullish);\n const [sortedData, setSortedData] = useState<Omit<SentimentInstrument, 'id'>[]>(new Array(20).fill({}));\n const { loading, data, error } = useQuery<\n GetSentimentListQuery,\n GetSentimentListQueryVariables\n >(getSentimentList, {\n variables: {\n division,\n },\n fetchPolicy: 'cache-and-network',\n });\n\n const { lang } = useLocale();\n const [updatedTimestamp, setUpdatedTimestamp] = useState(EMPTY_VALUE);\n\n useEffect(() => {\n if (data) {\n setSortedData(sortData(data, sort));\n setUpdatedTimestamp(formatUpdatedTimestamp(data.sentimentList![0]?.updatedAt, lang('today')));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [data, sort]);\n\n return (\n <div data-testid=\"sentiment-tool\" className=\"lw-relative lw-bg-bg-primary lw-text-sm lw-tracking-normal lw-text-text-primary\">\n {error || sortedData.length === 0 ? (\n <div className=\"lw-flex lw-h-[200px] lw-items-center lw-justify-center lw-border lw-border-solid lw-border-border-primary lw-p-2\">\n <ChartError />\n </div>\n ) : (\n <>\n <div className=\"lw-flex lw-justify-end lw-pb-5\">\n <SortSwitch\n disabled={loading}\n selected={sort === Sort.Bullish ? SelectedArrow.UP : SelectedArrow.DOWN}\n onClickButtonDown={() => setSort(Sort.Bearish)}\n onClickButtonUp={() => setSort(Sort.Bullish)}\n />\n </div>\n <div className=\"lw-flex lw-flex-col lw-border lw-border-solid lw-border-border-primary lw-p-2\">\n <div className=\"lw-mb-2 lw-flex lw-justify-between lw-font-semibold\">\n <span className=\"lw-ml-[7.5rem] lw-uppercase md:lw-ml-40\">{lang('net_short')}</span>\n <span className=\"lw-text-right lw-uppercase md:lw-mr-10\">{lang('net_long')}</span>\n </div>\n {sortedData.map((item, index) => (\n <div className=\"lw-flex lw-h-8 lw-w-full lw-items-center\" key={item.name || index}>\n <div className=\"lw-w-[120px] lw-shrink-0\">\n {loading ? (\n <Loader size={LoaderSize.md} />\n ) : (\n <Truncate\n maxWidth={120}\n tooltipId={INSTRUMENT_TOOLTIP_ID}\n className=\"lw-pr-2 lw-font-sans lw-text-sm lw-font-bold\"\n text={item.displayName || '\\u2014'}\n />\n )}\n </div>\n <Sentiment\n isLoading={loading}\n height={SentimentHeight.md}\n sentiment={item.sentiment}\n />\n </div>\n ))}\n </div>\n </>\n )}\n <Tooltip id={INSTRUMENT_TOOLTIP_ID} />\n {!error\n && (\n <div className=\"lw-mt-2 lw-h-8\">\n <InfoBox text={`${lang('last_updated')}: ${updatedTimestamp}`} />\n </div>\n )}\n </div>\n );\n};\n\nexport { Tool };\n"],"mappings":"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"}
@@ -6,12 +6,13 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.Widget = void 0;
7
7
  var _react = _interopRequireDefault(require("react"));
8
8
  var _labsWidgetCommon = require("@oanda/labs-widget-common");
9
+ var _monoI18n = require("@oanda/mono-i18n");
9
10
  var _client = require("@apollo/client");
10
11
  var _getInstrumentSentiment = require("../gql/getInstrumentSentiment");
11
12
  var _constant = require("../constant");
12
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
14
  const Widget = _ref => {
14
- var _data$sentiment, _data$sentiment2;
15
+ var _data$sentiment;
15
16
  let {
16
17
  instrument,
17
18
  division
@@ -28,10 +29,15 @@ const Widget = _ref => {
28
29
  fetchPolicy: 'cache-and-network'
29
30
  });
30
31
  const {
31
- sentiment
32
+ lang
33
+ } = (0, _monoI18n.useLocale)();
34
+ const {
35
+ displayName,
36
+ sentiment,
37
+ updatedAt
32
38
  } = (data === null || data === void 0 || (_data$sentiment = data.sentiment) === null || _data$sentiment === void 0 ? void 0 : _data$sentiment[0]) || {};
33
39
  const isError = error || (sentiment === null || sentiment === void 0 ? void 0 : sentiment.shortPercent) === 0 && (sentiment === null || sentiment === void 0 ? void 0 : sentiment.longPercent) === 0 || (sentiment === null || sentiment === void 0 ? void 0 : sentiment.shortPercent) === undefined || (sentiment === null || sentiment === void 0 ? void 0 : sentiment.longPercent) === undefined;
34
- return _react.default.createElement("div", {
40
+ return _react.default.createElement(_react.default.Fragment, null, _react.default.createElement("div", {
35
41
  "data-testid": "sentiment-widget",
36
42
  className: "lw-border lw-border-solid lw-border-border-primary lw-bg-bg-primary lw-p-4 lw-text-sm lw-tracking-normal lw-text-text-primary"
37
43
  }, _react.default.createElement("div", {
@@ -44,13 +50,17 @@ const Widget = _ref => {
44
50
  maxWidth: 120,
45
51
  tooltipId: _constant.INSTRUMENT_TOOLTIP_ID,
46
52
  className: "lw-pr-2 lw-font-sans lw-text-sm lw-font-bold",
47
- text: (data === null || data === void 0 || (_data$sentiment2 = data.sentiment) === null || _data$sentiment2 === void 0 || (_data$sentiment2 = _data$sentiment2[0]) === null || _data$sentiment2 === void 0 ? void 0 : _data$sentiment2.displayName) || '\u2014'
53
+ text: displayName || '\u2014'
48
54
  })), _react.default.createElement(_labsWidgetCommon.Sentiment, {
49
55
  withError: false,
50
56
  isLoading: loading,
51
57
  height: _labsWidgetCommon.SentimentHeight.md,
52
58
  sentiment: sentiment
53
- })), !loading && isError && _react.default.createElement(_labsWidgetCommon.Error, null));
59
+ })), !loading && isError && _react.default.createElement(_labsWidgetCommon.Error, null)), !isError && updatedAt && _react.default.createElement("div", {
60
+ className: "lw-mt-2 lw-h-8"
61
+ }, _react.default.createElement(_labsWidgetCommon.InfoBox, {
62
+ text: "".concat(lang('last_updated'), ": ").concat((0, _labsWidgetCommon.formatUpdatedTimestamp)(updatedAt, lang('today')) || _constant.EMPTY_VALUE)
63
+ })));
54
64
  };
55
65
  exports.Widget = Widget;
56
66
  //# sourceMappingURL=Widget.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Widget.js","names":["_react","_interopRequireDefault","require","_labsWidgetCommon","_client","_getInstrumentSentiment","_constant","obj","__esModule","default","Widget","_ref","_data$sentiment","_data$sentiment2","instrument","division","loading","data","error","useQuery","getInstrumentSentiment","variables","name","fetchPolicy","sentiment","isError","shortPercent","longPercent","undefined","createElement","className","Loader","size","LoaderSize","md","Truncate","maxWidth","tooltipId","INSTRUMENT_TOOLTIP_ID","text","displayName","Sentiment","withError","isLoading","height","SentimentHeight","Error","exports"],"sources":["../../../src/SentimentWidget/Widget.tsx"],"sourcesContent":["import React from 'react';\nimport {\n Sentiment, SentimentHeight, Error, Loader, LoaderSize, Truncate,\n} from '@oanda/labs-widget-common';\nimport { useQuery } from '@apollo/client';\nimport { getInstrumentSentiment } from '../gql/getInstrumentSentiment';\nimport { SentimentWidgetConfig } from './types';\nimport { GetInstrumentSentimentQuery, GetInstrumentSentimentQueryVariables } from '../gql/types/graphql';\nimport { INSTRUMENT_TOOLTIP_ID } from '../constant';\n\nconst Widget = ({ instrument, division }: SentimentWidgetConfig) => {\n const { loading, data, error } = useQuery<\n GetInstrumentSentimentQuery,\n GetInstrumentSentimentQueryVariables\n >(getInstrumentSentiment, {\n variables: {\n name: instrument,\n division,\n },\n fetchPolicy: 'cache-and-network',\n });\n\n const { sentiment } = data?.sentiment?.[0] || {};\n const isError = error\n || (sentiment?.shortPercent === 0 && sentiment?.longPercent === 0)\n || sentiment?.shortPercent === undefined\n || sentiment?.longPercent === undefined;\n\n return (\n <div data-testid=\"sentiment-widget\" className=\"lw-border lw-border-solid lw-border-border-primary lw-bg-bg-primary lw-p-4 lw-text-sm lw-tracking-normal lw-text-text-primary\">\n <div className=\"lw-flex lw-items-center lw-justify-between\">\n <div className=\"lw-w-[120px] lw-shrink-0\">\n {loading && <Loader size={LoaderSize.md} />}\n {!loading && !isError && (\n <Truncate\n maxWidth={120}\n tooltipId={INSTRUMENT_TOOLTIP_ID}\n className=\"lw-pr-2 lw-font-sans lw-text-sm lw-font-bold\"\n text={data?.sentiment?.[0]?.displayName || '\\u2014'}\n />\n )}\n </div>\n <Sentiment\n withError={false}\n isLoading={loading}\n height={SentimentHeight.md}\n sentiment={sentiment}\n />\n </div>\n {!loading && isError && <Error />}\n </div>\n );\n};\n\nexport { Widget };\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAD,OAAA;AAGA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,uBAAA,GAAAH,OAAA;AAGA,IAAAI,SAAA,GAAAJ,OAAA;AAAoD,SAAAD,uBAAAM,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEpD,MAAMG,MAAM,GAAGC,IAAA,IAAqD;EAAA,IAAAC,eAAA,EAAAC,gBAAA;EAAA,IAApD;IAAEC,UAAU;IAAEC;EAAgC,CAAC,GAAAJ,IAAA;EAC7D,MAAM;IAAEK,OAAO;IAAEC,IAAI;IAAEC;EAAM,CAAC,GAAG,IAAAC,gBAAQ,EAGvCC,8CAAsB,EAAE;IACxBC,SAAS,EAAE;MACTC,IAAI,EAAER,UAAU;MAChBC;IACF,CAAC;IACDQ,WAAW,EAAE;EACf,CAAC,CAAC;EAEF,MAAM;IAAEC;EAAU,CAAC,GAAG,CAAAP,IAAI,aAAJA,IAAI,gBAAAL,eAAA,GAAJK,IAAI,CAAEO,SAAS,cAAAZ,eAAA,uBAAfA,eAAA,CAAkB,CAAC,CAAC,KAAI,CAAC,CAAC;EAChD,MAAMa,OAAO,GAAGP,KAAK,IACf,CAAAM,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEE,YAAY,MAAK,CAAC,IAAI,CAAAF,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEG,WAAW,MAAK,CAAE,IAC/D,CAAAH,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEE,YAAY,MAAKE,SAAS,IACrC,CAAAJ,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEG,WAAW,MAAKC,SAAS;EAEzC,OACE5B,MAAA,CAAAS,OAAA,CAAAoB,aAAA;IAAK,eAAY,kBAAkB;IAACC,SAAS,EAAC;EAA+H,GAC3K9B,MAAA,CAAAS,OAAA,CAAAoB,aAAA;IAAKC,SAAS,EAAC;EAA4C,GACzD9B,MAAA,CAAAS,OAAA,CAAAoB,aAAA;IAAKC,SAAS,EAAC;EAA0B,GACtCd,OAAO,IAAIhB,MAAA,CAAAS,OAAA,CAAAoB,aAAA,CAAC1B,iBAAA,CAAA4B,MAAM;IAACC,IAAI,EAAEC,4BAAU,CAACC;EAAG,CAAE,CAAC,EAC1C,CAAClB,OAAO,IAAI,CAACS,OAAO,IACnBzB,MAAA,CAAAS,OAAA,CAAAoB,aAAA,CAAC1B,iBAAA,CAAAgC,QAAQ;IACPC,QAAQ,EAAE,GAAI;IACdC,SAAS,EAAEC,+BAAsB;IACjCR,SAAS,EAAC,8CAA8C;IACxDS,IAAI,EAAE,CAAAtB,IAAI,aAAJA,IAAI,gBAAAJ,gBAAA,GAAJI,IAAI,CAAEO,SAAS,cAAAX,gBAAA,gBAAAA,gBAAA,GAAfA,gBAAA,CAAkB,CAAC,CAAC,cAAAA,gBAAA,uBAApBA,gBAAA,CAAsB2B,WAAW,KAAI;EAAS,CACrD,CAEA,CAAC,EACNxC,MAAA,CAAAS,OAAA,CAAAoB,aAAA,CAAC1B,iBAAA,CAAAsC,SAAS;IACRC,SAAS,EAAE,KAAM;IACjBC,SAAS,EAAE3B,OAAQ;IACnB4B,MAAM,EAAEC,iCAAe,CAACX,EAAG;IAC3BV,SAAS,EAAEA;EAAU,CACtB,CACE,CAAC,EACL,CAACR,OAAO,IAAIS,OAAO,IAAIzB,MAAA,CAAAS,OAAA,CAAAoB,aAAA,CAAC1B,iBAAA,CAAA2C,KAAK,MAAE,CAC7B,CAAC;AAEV,CAAC;AAACC,OAAA,CAAArC,MAAA,GAAAA,MAAA"}
1
+ {"version":3,"file":"Widget.js","names":["_react","_interopRequireDefault","require","_labsWidgetCommon","_monoI18n","_client","_getInstrumentSentiment","_constant","obj","__esModule","default","Widget","_ref","_data$sentiment","instrument","division","loading","data","error","useQuery","getInstrumentSentiment","variables","name","fetchPolicy","lang","useLocale","displayName","sentiment","updatedAt","isError","shortPercent","longPercent","undefined","createElement","Fragment","className","Loader","size","LoaderSize","md","Truncate","maxWidth","tooltipId","INSTRUMENT_TOOLTIP_ID","text","Sentiment","withError","isLoading","height","SentimentHeight","Error","InfoBox","concat","formatUpdatedTimestamp","EMPTY_VALUE","exports"],"sources":["../../../src/SentimentWidget/Widget.tsx"],"sourcesContent":["import React from 'react';\nimport {\n Sentiment, SentimentHeight, Error, Loader, LoaderSize, Truncate, InfoBox, formatUpdatedTimestamp,\n} from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport { useQuery } from '@apollo/client';\nimport { getInstrumentSentiment } from '../gql/getInstrumentSentiment';\nimport { SentimentWidgetConfig } from './types';\nimport { GetInstrumentSentimentQuery, GetInstrumentSentimentQueryVariables } from '../gql/types/graphql';\nimport { EMPTY_VALUE, INSTRUMENT_TOOLTIP_ID } from '../constant';\n\nconst Widget = ({ instrument, division }: SentimentWidgetConfig) => {\n const { loading, data, error } = useQuery<\n GetInstrumentSentimentQuery,\n GetInstrumentSentimentQueryVariables\n >(getInstrumentSentiment, {\n variables: {\n name: instrument,\n division,\n },\n fetchPolicy: 'cache-and-network',\n });\n\n const { lang } = useLocale();\n\n const { displayName, sentiment, updatedAt } = data?.sentiment?.[0] || {};\n\n const isError = error\n || (sentiment?.shortPercent === 0 && sentiment?.longPercent === 0)\n || sentiment?.shortPercent === undefined\n || sentiment?.longPercent === undefined;\n\n return (\n <>\n <div data-testid=\"sentiment-widget\" className=\"lw-border lw-border-solid lw-border-border-primary lw-bg-bg-primary lw-p-4 lw-text-sm lw-tracking-normal lw-text-text-primary\">\n <div className=\"lw-flex lw-items-center lw-justify-between\">\n <div className=\"lw-w-[120px] lw-shrink-0\">\n {loading && <Loader size={LoaderSize.md} />}\n {!loading && !isError && (\n <Truncate\n maxWidth={120}\n tooltipId={INSTRUMENT_TOOLTIP_ID}\n className=\"lw-pr-2 lw-font-sans lw-text-sm lw-font-bold\"\n text={displayName || '\\u2014'}\n />\n )}\n </div>\n <Sentiment\n withError={false}\n isLoading={loading}\n height={SentimentHeight.md}\n sentiment={sentiment}\n />\n </div>\n\n {!loading && isError && <Error />}\n </div>\n {!isError && updatedAt && (\n <div className=\"lw-mt-2 lw-h-8\">\n <InfoBox text={`${lang('last_updated')}: ${formatUpdatedTimestamp(updatedAt, lang('today')) || EMPTY_VALUE}`} />\n </div>\n )}\n </>\n );\n};\n\nexport { Widget };\n"],"mappings":"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"}
@@ -3,6 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.INSTRUMENT_TOOLTIP_ID = void 0;
6
+ exports.INSTRUMENT_TOOLTIP_ID = exports.EMPTY_VALUE = void 0;
7
+ const EMPTY_VALUE = exports.EMPTY_VALUE = '\u2014';
7
8
  const INSTRUMENT_TOOLTIP_ID = exports.INSTRUMENT_TOOLTIP_ID = 'instrument_tooltip_id';
8
9
  //# sourceMappingURL=constant.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constant.js","names":["INSTRUMENT_TOOLTIP_ID","exports"],"sources":["../../src/constant.ts"],"sourcesContent":["const INSTRUMENT_TOOLTIP_ID = 'instrument_tooltip_id';\n\nexport { INSTRUMENT_TOOLTIP_ID };\n"],"mappings":";;;;;;AAAA,MAAMA,qBAAqB,GAAAC,OAAA,CAAAD,qBAAA,GAAG,uBAAuB"}
1
+ {"version":3,"file":"constant.js","names":["EMPTY_VALUE","exports","INSTRUMENT_TOOLTIP_ID"],"sources":["../../src/constant.ts"],"sourcesContent":["const EMPTY_VALUE = '\\u2014';\n\nconst INSTRUMENT_TOOLTIP_ID = 'instrument_tooltip_id';\n\nexport { EMPTY_VALUE, INSTRUMENT_TOOLTIP_ID };\n"],"mappings":";;;;;;AAAA,MAAMA,WAAW,GAAAC,OAAA,CAAAD,WAAA,GAAG,QAAQ;AAE5B,MAAME,qBAAqB,GAAAD,OAAA,CAAAC,qBAAA,GAAG,uBAAuB"}
@@ -7,5 +7,5 @@ exports.getInstrumentSentiment = void 0;
7
7
  var _client = require("@apollo/client");
8
8
  var _templateObject;
9
9
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
10
- const getInstrumentSentiment = exports.getInstrumentSentiment = (0, _client.gql)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n query GetInstrumentSentiment(\n $name: String!\n $division: Division\n ) {\n sentiment(\n name: $name\n division: $division\n ) {\n name\n displayName\n sentiment {\n shortPercent\n longPercent\n }\n }\n }\n"])));
10
+ const getInstrumentSentiment = exports.getInstrumentSentiment = (0, _client.gql)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n query GetInstrumentSentiment(\n $name: String!\n $division: Division\n ) {\n sentiment(\n name: $name\n division: $division\n ) {\n name\n displayName\n sentiment {\n shortPercent\n longPercent\n }\n updatedAt\n }\n }\n"])));
11
11
  //# sourceMappingURL=getInstrumentSentiment.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getInstrumentSentiment.js","names":["_client","require","_templateObject","_taggedTemplateLiteral","strings","raw","slice","Object","freeze","defineProperties","value","getInstrumentSentiment","exports","gql"],"sources":["../../../src/gql/getInstrumentSentiment.ts"],"sourcesContent":["import { gql } from '@apollo/client';\n\nconst getInstrumentSentiment = gql`\n query GetInstrumentSentiment(\n $name: String!\n $division: Division\n ) {\n sentiment(\n name: $name\n division: $division\n ) {\n name\n displayName\n sentiment {\n shortPercent\n longPercent\n }\n }\n }\n`;\n\nexport { getInstrumentSentiment };\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAAqC,IAAAC,eAAA;AAAA,SAAAC,uBAAAC,OAAA,EAAAC,GAAA,SAAAA,GAAA,IAAAA,GAAA,GAAAD,OAAA,CAAAE,KAAA,cAAAC,MAAA,CAAAC,MAAA,CAAAD,MAAA,CAAAE,gBAAA,CAAAL,OAAA,IAAAC,GAAA,IAAAK,KAAA,EAAAH,MAAA,CAAAC,MAAA,CAAAH,GAAA;AAErC,MAAMM,sBAAsB,GAAAC,OAAA,CAAAD,sBAAA,OAAGE,WAAG,EAAAX,eAAA,KAAAA,eAAA,GAAAC,sBAAA,wRAiBjC"}
1
+ {"version":3,"file":"getInstrumentSentiment.js","names":["_client","require","_templateObject","_taggedTemplateLiteral","strings","raw","slice","Object","freeze","defineProperties","value","getInstrumentSentiment","exports","gql"],"sources":["../../../src/gql/getInstrumentSentiment.ts"],"sourcesContent":["import { gql } from '@apollo/client';\n\nconst getInstrumentSentiment = gql`\n query GetInstrumentSentiment(\n $name: String!\n $division: Division\n ) {\n sentiment(\n name: $name\n division: $division\n ) {\n name\n displayName\n sentiment {\n shortPercent\n longPercent\n }\n updatedAt\n }\n }\n`;\n\nexport { getInstrumentSentiment };\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAAqC,IAAAC,eAAA;AAAA,SAAAC,uBAAAC,OAAA,EAAAC,GAAA,SAAAA,GAAA,IAAAA,GAAA,GAAAD,OAAA,CAAAE,KAAA,cAAAC,MAAA,CAAAC,MAAA,CAAAD,MAAA,CAAAE,gBAAA,CAAAL,OAAA,IAAAC,GAAA,IAAAK,KAAA,EAAAH,MAAA,CAAAC,MAAA,CAAAH,GAAA;AAErC,MAAMM,sBAAsB,GAAAC,OAAA,CAAAD,sBAAA,OAAGE,WAAG,EAAAX,eAAA,KAAAA,eAAA,GAAAC,sBAAA,ySAkBjC"}
@@ -7,5 +7,5 @@ exports.getSentimentList = void 0;
7
7
  var _client = require("@apollo/client");
8
8
  var _templateObject;
9
9
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
10
- const getSentimentList = exports.getSentimentList = (0, _client.gql)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n query GetSentimentList (\n $division: Division\n ) {\n sentimentList (\n division: $division\n ) {\n name\n displayName\n sentiment {\n shortPercent\n longPercent\n }\n }\n }\n"])));
10
+ const getSentimentList = exports.getSentimentList = (0, _client.gql)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n query GetSentimentList (\n $division: Division\n ) {\n sentimentList (\n division: $division\n ) {\n name\n displayName\n sentiment {\n shortPercent\n longPercent\n }\n updatedAt\n }\n }\n"])));
11
11
  //# sourceMappingURL=getSentimentList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getSentimentList.js","names":["_client","require","_templateObject","_taggedTemplateLiteral","strings","raw","slice","Object","freeze","defineProperties","value","getSentimentList","exports","gql"],"sources":["../../../src/gql/getSentimentList.ts"],"sourcesContent":["import { gql } from '@apollo/client';\n\nconst getSentimentList = gql`\n query GetSentimentList (\n $division: Division\n ) {\n sentimentList (\n division: $division\n ) {\n name\n displayName\n sentiment {\n shortPercent\n longPercent\n }\n }\n }\n`;\n\nexport { getSentimentList };\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAAqC,IAAAC,eAAA;AAAA,SAAAC,uBAAAC,OAAA,EAAAC,GAAA,SAAAA,GAAA,IAAAA,GAAA,GAAAD,OAAA,CAAAE,KAAA,cAAAC,MAAA,CAAAC,MAAA,CAAAD,MAAA,CAAAE,gBAAA,CAAAL,OAAA,IAAAC,GAAA,IAAAK,KAAA,EAAAH,MAAA,CAAAC,MAAA,CAAAH,GAAA;AAErC,MAAMM,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,OAAGE,WAAG,EAAAX,eAAA,KAAAA,eAAA,GAAAC,sBAAA,iPAe3B"}
1
+ {"version":3,"file":"getSentimentList.js","names":["_client","require","_templateObject","_taggedTemplateLiteral","strings","raw","slice","Object","freeze","defineProperties","value","getSentimentList","exports","gql"],"sources":["../../../src/gql/getSentimentList.ts"],"sourcesContent":["import { gql } from '@apollo/client';\n\nconst getSentimentList = gql`\n query GetSentimentList (\n $division: Division\n ) {\n sentimentList (\n division: $division\n ) {\n name\n displayName\n sentiment {\n shortPercent\n longPercent\n }\n updatedAt\n }\n }\n`;\n\nexport { getSentimentList };\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAAqC,IAAAC,eAAA;AAAA,SAAAC,uBAAAC,OAAA,EAAAC,GAAA,SAAAA,GAAA,IAAAA,GAAA,GAAAD,OAAA,CAAAE,KAAA,cAAAC,MAAA,CAAAC,MAAA,CAAAD,MAAA,CAAAE,gBAAA,CAAAL,OAAA,IAAAC,GAAA,IAAAK,KAAA,EAAAH,MAAA,CAAAC,MAAA,CAAAH,GAAA;AAErC,MAAMM,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,OAAGE,WAAG,EAAAX,eAAA,KAAAA,eAAA,GAAAC,sBAAA,kQAgB3B"}
@@ -8,8 +8,8 @@ var types = _interopRequireWildcard(require("./graphql"));
8
8
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
9
9
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
10
10
  const documents = {
11
- "\n query GetInstrumentSentiment(\n $name: String!\n $division: Division\n ) {\n sentiment(\n name: $name\n division: $division\n ) {\n name\n displayName\n sentiment {\n shortPercent\n longPercent\n }\n }\n }\n": types.GetInstrumentSentimentDocument,
12
- "\n query GetSentimentList (\n $division: Division\n ) {\n sentimentList (\n division: $division\n ) {\n name\n displayName\n sentiment {\n shortPercent\n longPercent\n }\n }\n }\n": types.GetSentimentListDocument
11
+ "\n query GetInstrumentSentiment(\n $name: String!\n $division: Division\n ) {\n sentiment(\n name: $name\n division: $division\n ) {\n name\n displayName\n sentiment {\n shortPercent\n longPercent\n }\n updatedAt\n }\n }\n": types.GetInstrumentSentimentDocument,
12
+ "\n query GetSentimentList (\n $division: Division\n ) {\n sentimentList (\n division: $division\n ) {\n name\n displayName\n sentiment {\n shortPercent\n longPercent\n }\n updatedAt\n }\n }\n": types.GetSentimentListDocument
13
13
  };
14
14
  function graphql(source) {
15
15
  var _source;
@@ -1 +1 @@
1
- {"version":3,"file":"gql.js","names":["types","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","documents","GetInstrumentSentimentDocument","GetSentimentListDocument","graphql","source","_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 GetInstrumentSentiment(\\n $name: String!\\n $division: Division\\n ) {\\n sentiment(\\n name: $name\\n division: $division\\n ) {\\n name\\n displayName\\n sentiment {\\n shortPercent\\n longPercent\\n }\\n }\\n }\\n\": types.GetInstrumentSentimentDocument,\n \"\\n query GetSentimentList (\\n $division: Division\\n ) {\\n sentimentList (\\n division: $division\\n ) {\\n name\\n displayName\\n sentiment {\\n shortPercent\\n longPercent\\n }\\n }\\n }\\n\": types.GetSentimentListDocument,\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(source: \"\\n query GetInstrumentSentiment(\\n $name: String!\\n $division: Division\\n ) {\\n sentiment(\\n name: $name\\n division: $division\\n ) {\\n name\\n displayName\\n sentiment {\\n shortPercent\\n longPercent\\n }\\n }\\n }\\n\"): (typeof documents)[\"\\n query GetInstrumentSentiment(\\n $name: String!\\n $division: Division\\n ) {\\n sentiment(\\n name: $name\\n division: $division\\n ) {\\n name\\n displayName\\n sentiment {\\n shortPercent\\n longPercent\\n }\\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(source: \"\\n query GetSentimentList (\\n $division: Division\\n ) {\\n sentimentList (\\n division: $division\\n ) {\\n name\\n displayName\\n sentiment {\\n shortPercent\\n longPercent\\n }\\n }\\n }\\n\"): (typeof documents)[\"\\n query GetSentimentList (\\n $division: Division\\n ) {\\n sentimentList (\\n division: $division\\n ) {\\n name\\n displayName\\n sentiment {\\n shortPercent\\n longPercent\\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>> = TDocumentNode extends DocumentNode< infer TType, any> ? TType : never;"],"mappings":";;;;;;AACA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAmC,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAH,wBAAAG,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAanC,MAAMY,SAAS,GAAG;EACd,kRAAkR,EAAExB,KAAK,CAACyB,8BAA8B;EACxT,2OAA2O,EAAEzB,KAAK,CAAC0B;AACvP,CAAC;AAyBM,SAASC,OAAOA,CAACC,MAAc,EAAE;EAAA,IAAAC,OAAA;EACtC,QAAAA,OAAA,GAAQL,SAAS,CAASI,MAAM,CAAC,cAAAC,OAAA,cAAAA,OAAA,GAAI,CAAC,CAAC;AACzC"}
1
+ {"version":3,"file":"gql.js","names":["types","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","documents","GetInstrumentSentimentDocument","GetSentimentListDocument","graphql","source","_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 GetInstrumentSentiment(\\n $name: String!\\n $division: Division\\n ) {\\n sentiment(\\n name: $name\\n division: $division\\n ) {\\n name\\n displayName\\n sentiment {\\n shortPercent\\n longPercent\\n }\\n updatedAt\\n }\\n }\\n\": types.GetInstrumentSentimentDocument,\n \"\\n query GetSentimentList (\\n $division: Division\\n ) {\\n sentimentList (\\n division: $division\\n ) {\\n name\\n displayName\\n sentiment {\\n shortPercent\\n longPercent\\n }\\n updatedAt\\n }\\n }\\n\": types.GetSentimentListDocument,\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(source: \"\\n query GetInstrumentSentiment(\\n $name: String!\\n $division: Division\\n ) {\\n sentiment(\\n name: $name\\n division: $division\\n ) {\\n name\\n displayName\\n sentiment {\\n shortPercent\\n longPercent\\n }\\n updatedAt\\n }\\n }\\n\"): (typeof documents)[\"\\n query GetInstrumentSentiment(\\n $name: String!\\n $division: Division\\n ) {\\n sentiment(\\n name: $name\\n division: $division\\n ) {\\n name\\n displayName\\n sentiment {\\n shortPercent\\n longPercent\\n }\\n updatedAt\\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(source: \"\\n query GetSentimentList (\\n $division: Division\\n ) {\\n sentimentList (\\n division: $division\\n ) {\\n name\\n displayName\\n sentiment {\\n shortPercent\\n longPercent\\n }\\n updatedAt\\n }\\n }\\n\"): (typeof documents)[\"\\n query GetSentimentList (\\n $division: Division\\n ) {\\n sentimentList (\\n division: $division\\n ) {\\n name\\n displayName\\n sentiment {\\n shortPercent\\n longPercent\\n }\\n updatedAt\\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>> = TDocumentNode extends DocumentNode< infer TType, any> ? TType : never;"],"mappings":";;;;;;AACA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAmC,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAH,wBAAAG,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAanC,MAAMY,SAAS,GAAG;EACd,mSAAmS,EAAExB,KAAK,CAACyB,8BAA8B;EACzU,4PAA4P,EAAEzB,KAAK,CAAC0B;AACxQ,CAAC;AAyBM,SAASC,OAAOA,CAACC,MAAc,EAAE;EAAA,IAAAC,OAAA;EACtC,QAAAA,OAAA,GAAQL,SAAS,CAASI,MAAM,CAAC,cAAAC,OAAA,cAAAA,OAAA,GAAI,CAAC,CAAC;AACzC"}
@@ -3,7 +3,34 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.TopicalSort = exports.Sort = exports.Region = exports.GetSentimentListDocument = exports.GetInstrumentSentimentDocument = exports.Division = exports.DataSource = void 0;
6
+ exports.VolatilityChartTimeUnit = exports.VolatilityChartTimeSpan = exports.TopicalSort = exports.Sort = exports.Region = exports.GetSentimentListDocument = exports.GetInstrumentSentimentDocument = exports.Division = exports.DataSource = exports.CurrencyPowerBalanceTimeUnit = exports.CurrencyName = exports.BookType = void 0;
7
+ let BookType = exports.BookType = function (BookType) {
8
+ BookType["Order"] = "ORDER";
9
+ BookType["Position"] = "POSITION";
10
+ return BookType;
11
+ }({});
12
+ let CurrencyName = exports.CurrencyName = function (CurrencyName) {
13
+ CurrencyName["Aud"] = "AUD";
14
+ CurrencyName["Cad"] = "CAD";
15
+ CurrencyName["Chf"] = "CHF";
16
+ CurrencyName["Eur"] = "EUR";
17
+ CurrencyName["Gbp"] = "GBP";
18
+ CurrencyName["Jpy"] = "JPY";
19
+ CurrencyName["Nzd"] = "NZD";
20
+ CurrencyName["Usd"] = "USD";
21
+ return CurrencyName;
22
+ }({});
23
+ let CurrencyPowerBalanceTimeUnit = exports.CurrencyPowerBalanceTimeUnit = function (CurrencyPowerBalanceTimeUnit) {
24
+ CurrencyPowerBalanceTimeUnit["CurrentDay"] = "CURRENT_DAY";
25
+ CurrencyPowerBalanceTimeUnit["H4"] = "H4";
26
+ CurrencyPowerBalanceTimeUnit["H8"] = "H8";
27
+ CurrencyPowerBalanceTimeUnit["H24"] = "H24";
28
+ CurrencyPowerBalanceTimeUnit["M1"] = "M1";
29
+ CurrencyPowerBalanceTimeUnit["M3"] = "M3";
30
+ CurrencyPowerBalanceTimeUnit["PreviousDay"] = "PREVIOUS_DAY";
31
+ CurrencyPowerBalanceTimeUnit["W1"] = "W1";
32
+ return CurrencyPowerBalanceTimeUnit;
33
+ }({});
7
34
  let DataSource = exports.DataSource = function (DataSource) {
8
35
  DataSource["Ny4"] = "NY4";
9
36
  DataSource["Ty3"] = "TY3";
@@ -39,6 +66,21 @@ let TopicalSort = exports.TopicalSort = function (TopicalSort) {
39
66
  TopicalSort["Volatile"] = "VOLATILE";
40
67
  return TopicalSort;
41
68
  }({});
69
+ let VolatilityChartTimeSpan = exports.VolatilityChartTimeSpan = function (VolatilityChartTimeSpan) {
70
+ VolatilityChartTimeSpan["D5"] = "D5";
71
+ VolatilityChartTimeSpan["D10"] = "D10";
72
+ VolatilityChartTimeSpan["M1"] = "M1";
73
+ VolatilityChartTimeSpan["M3"] = "M3";
74
+ VolatilityChartTimeSpan["W5"] = "W5";
75
+ VolatilityChartTimeSpan["W10"] = "W10";
76
+ return VolatilityChartTimeSpan;
77
+ }({});
78
+ let VolatilityChartTimeUnit = exports.VolatilityChartTimeUnit = function (VolatilityChartTimeUnit) {
79
+ VolatilityChartTimeUnit["D"] = "D";
80
+ VolatilityChartTimeUnit["H"] = "H";
81
+ VolatilityChartTimeUnit["W"] = "W";
82
+ return VolatilityChartTimeUnit;
83
+ }({});
42
84
  const GetInstrumentSentimentDocument = exports.GetInstrumentSentimentDocument = {
43
85
  "kind": "Document",
44
86
  "definitions": [{
@@ -155,6 +197,12 @@ const GetInstrumentSentimentDocument = exports.GetInstrumentSentimentDocument =
155
197
  }
156
198
  }]
157
199
  }
200
+ }, {
201
+ "kind": "Field",
202
+ "name": {
203
+ "kind": "Name",
204
+ "value": "updatedAt"
205
+ }
158
206
  }]
159
207
  }
160
208
  }]
@@ -245,6 +293,12 @@ const GetSentimentListDocument = exports.GetSentimentListDocument = {
245
293
  }
246
294
  }]
247
295
  }
296
+ }, {
297
+ "kind": "Field",
298
+ "name": {
299
+ "kind": "Name",
300
+ "value": "updatedAt"
301
+ }
248
302
  }]
249
303
  }
250
304
  }]