@atlaskit/link-client-extension 1.7.2 → 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +37 -25
- package/dist/cjs/services/use-data-source-client-extension/index.js +24 -21
- package/dist/cjs/services/use-data-source-client-extension/mocks.js +4 -7
- package/dist/cjs/services/use-resolver-url/index.js +2 -3
- package/dist/cjs/services/use-smart-link-client-extension/index.js +29 -8
- package/dist/es2019/services/use-data-source-client-extension/index.js +8 -1
- package/dist/es2019/services/use-smart-link-client-extension/index.js +11 -5
- package/dist/esm/services/use-data-source-client-extension/index.js +19 -12
- package/dist/esm/services/use-smart-link-client-extension/index.js +27 -5
- package/dist/types/services/use-smart-link-client-extension/index.d.ts +1 -0
- package/dist/types-ts4.5/services/use-smart-link-client-extension/index.d.ts +1 -0
- package/package.json +3 -3
- package/report.api.md +1 -0
- package/tmp/api-report-tmp.d.ts +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,22 +1,34 @@
|
|
|
1
1
|
# @atlaskit/link-client-extension
|
|
2
2
|
|
|
3
|
+
## 1.8.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#42199](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/42199) [`896e6300360`](https://bitbucket.org/atlassian/atlassian-frontend/commits/896e6300360) - Add api to make GET request to related-urls endpoint
|
|
8
|
+
|
|
9
|
+
## 1.7.3
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- [#41377](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/41377) [`6191c789222`](https://bitbucket.org/atlassian/atlassian-frontend/commits/6191c789222) - Fix bug where on next page load sorts the column in alphabetical order.
|
|
14
|
+
|
|
3
15
|
## 1.7.2
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
|
6
18
|
|
|
7
|
-
- [`1fedffbd64b`](https://bitbucket.org/atlassian/atlassian-frontend/commits/1fedffbd64b) - Update json-ld-types dependencies to be compatible with version
|
|
19
|
+
- [#40491](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/40491) [`1fedffbd64b`](https://bitbucket.org/atlassian/atlassian-frontend/commits/1fedffbd64b) - Update json-ld-types dependencies to be compatible with version
|
|
8
20
|
|
|
9
21
|
## 1.7.1
|
|
10
22
|
|
|
11
23
|
### Patch Changes
|
|
12
24
|
|
|
13
|
-
- [`2cd7af71b63`](https://bitbucket.org/atlassian/atlassian-frontend/commits/2cd7af71b63) - Bump json-ld-types 3.8.0 -> 3.9.1
|
|
25
|
+
- [#40127](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/40127) [`2cd7af71b63`](https://bitbucket.org/atlassian/atlassian-frontend/commits/2cd7af71b63) - Bump json-ld-types 3.8.0 -> 3.9.1
|
|
14
26
|
|
|
15
27
|
## 1.7.0
|
|
16
28
|
|
|
17
29
|
### Minor Changes
|
|
18
30
|
|
|
19
|
-
- [`8b8a309cb62`](https://bitbucket.org/atlassian/atlassian-frontend/commits/8b8a309cb62) - Added a `DEFAULT_GET_DATA_PAGE_SIZE` constant for default page size on data calls.
|
|
31
|
+
- [#39265](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/39265) [`8b8a309cb62`](https://bitbucket.org/atlassian/atlassian-frontend/commits/8b8a309cb62) - Added a `DEFAULT_GET_DATA_PAGE_SIZE` constant for default page size on data calls.
|
|
20
32
|
|
|
21
33
|
### Patch Changes
|
|
22
34
|
|
|
@@ -26,26 +38,26 @@
|
|
|
26
38
|
|
|
27
39
|
### Patch Changes
|
|
28
40
|
|
|
29
|
-
- [`a21cffb7b23`](https://bitbucket.org/atlassian/atlassian-frontend/commits/a21cffb7b23) - Extended mock response returned for datasources
|
|
41
|
+
- [#39465](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/39465) [`a21cffb7b23`](https://bitbucket.org/atlassian/atlassian-frontend/commits/a21cffb7b23) - Extended mock response returned for datasources
|
|
30
42
|
|
|
31
43
|
## 1.6.0
|
|
32
44
|
|
|
33
45
|
### Minor Changes
|
|
34
46
|
|
|
35
|
-
- [`5bc0af1de85`](https://bitbucket.org/atlassian/atlassian-frontend/commits/5bc0af1de85) - Introduce caching layer for both `getDatasourceDetails` and `getDatasourceData` calls. Export new member - `mockDatasourceDetailsResponse` that has same value as previously exported `mockDatasourceResponse`
|
|
47
|
+
- [#38189](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/38189) [`5bc0af1de85`](https://bitbucket.org/atlassian/atlassian-frontend/commits/5bc0af1de85) - Introduce caching layer for both `getDatasourceDetails` and `getDatasourceData` calls. Export new member - `mockDatasourceDetailsResponse` that has same value as previously exported `mockDatasourceResponse`
|
|
36
48
|
- [`b3b6782c3a0`](https://bitbucket.org/atlassian/atlassian-frontend/commits/b3b6782c3a0) - Add new member `mockDatasourceDetailsResponse` that has same value as existing `mockDatasourceResponse`; Add third optional boolean argument to `getDatasourceDetails` and `getDatasourceData` from `useDatasourceClientExtension` hook called `force` — when it is false (Default) cached version of response promise will be returned (in case request with same parameters has been made), when true new request will be made regardless of cache state.
|
|
37
49
|
|
|
38
50
|
## 1.5.4
|
|
39
51
|
|
|
40
52
|
### Patch Changes
|
|
41
53
|
|
|
42
|
-
- [`e74ae7f06d4`](https://bitbucket.org/atlassian/atlassian-frontend/commits/e74ae7f06d4) - Update dependency json-ld-types@3.8.0
|
|
54
|
+
- [#37720](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/37720) [`e74ae7f06d4`](https://bitbucket.org/atlassian/atlassian-frontend/commits/e74ae7f06d4) - Update dependency json-ld-types@3.8.0
|
|
43
55
|
|
|
44
56
|
## 1.5.3
|
|
45
57
|
|
|
46
58
|
### Patch Changes
|
|
47
59
|
|
|
48
|
-
- [`b9355830504`](https://bitbucket.org/atlassian/atlassian-frontend/commits/b9355830504) - Opt out of peer dependency enforcement
|
|
60
|
+
- [#37340](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/37340) [`b9355830504`](https://bitbucket.org/atlassian/atlassian-frontend/commits/b9355830504) - Opt out of peer dependency enforcement
|
|
49
61
|
|
|
50
62
|
## 1.5.2
|
|
51
63
|
|
|
@@ -57,13 +69,13 @@
|
|
|
57
69
|
|
|
58
70
|
### Patch Changes
|
|
59
71
|
|
|
60
|
-
- [`3fb20c4aeba`](https://bitbucket.org/atlassian/atlassian-frontend/commits/3fb20c4aeba) - Add postinstall check to enforce internal peer dependencies
|
|
72
|
+
- [#36757](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/36757) [`3fb20c4aeba`](https://bitbucket.org/atlassian/atlassian-frontend/commits/3fb20c4aeba) - Add postinstall check to enforce internal peer dependencies
|
|
61
73
|
|
|
62
74
|
## 1.5.0
|
|
63
75
|
|
|
64
76
|
### Minor Changes
|
|
65
77
|
|
|
66
|
-
- [`12411d70076`](https://bitbucket.org/atlassian/atlassian-frontend/commits/12411d70076) - export more datasource types in the linking-type index and remove the defaultProperties in the datasourceDataResponse
|
|
78
|
+
- [#36138](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/36138) [`12411d70076`](https://bitbucket.org/atlassian/atlassian-frontend/commits/12411d70076) - export more datasource types in the linking-type index and remove the defaultProperties in the datasourceDataResponse
|
|
67
79
|
|
|
68
80
|
### Patch Changes
|
|
69
81
|
|
|
@@ -73,7 +85,7 @@
|
|
|
73
85
|
|
|
74
86
|
### Minor Changes
|
|
75
87
|
|
|
76
|
-
- [`04295e9d5bc`](https://bitbucket.org/atlassian/atlassian-frontend/commits/04295e9d5bc) - [ux] Updating ORS response to include datasources and facilitating pasting JQL links turning into datasource tables
|
|
88
|
+
- [#35032](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/35032) [`04295e9d5bc`](https://bitbucket.org/atlassian/atlassian-frontend/commits/04295e9d5bc) - [ux] Updating ORS response to include datasources and facilitating pasting JQL links turning into datasource tables
|
|
77
89
|
|
|
78
90
|
### Patch Changes
|
|
79
91
|
|
|
@@ -83,7 +95,7 @@
|
|
|
83
95
|
|
|
84
96
|
### Minor Changes
|
|
85
97
|
|
|
86
|
-
- [`f427908df3d`](https://bitbucket.org/atlassian/atlassian-frontend/commits/f427908df3d) - change the datasource response type to include the meta data section and the data response will wrap in the data section
|
|
98
|
+
- [#35861](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/35861) [`f427908df3d`](https://bitbucket.org/atlassian/atlassian-frontend/commits/f427908df3d) - change the datasource response type to include the meta data section and the data response will wrap in the data section
|
|
87
99
|
|
|
88
100
|
### Patch Changes
|
|
89
101
|
|
|
@@ -105,13 +117,13 @@
|
|
|
105
117
|
|
|
106
118
|
### Minor Changes
|
|
107
119
|
|
|
108
|
-
- [`b508cc26473`](https://bitbucket.org/atlassian/atlassian-frontend/commits/b508cc26473) - Updated getDatasourceDetails request body to be `DatasourceDetailsRequest` type
|
|
120
|
+
- [#34180](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/34180) [`b508cc26473`](https://bitbucket.org/atlassian/atlassian-frontend/commits/b508cc26473) - Updated getDatasourceDetails request body to be `DatasourceDetailsRequest` type
|
|
109
121
|
|
|
110
122
|
## 1.1.7
|
|
111
123
|
|
|
112
124
|
### Patch Changes
|
|
113
125
|
|
|
114
|
-
- [`61cb5313358`](https://bitbucket.org/atlassian/atlassian-frontend/commits/61cb5313358) - Removing unused dependencies and dev dependencies
|
|
126
|
+
- [#34443](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/34443) [`61cb5313358`](https://bitbucket.org/atlassian/atlassian-frontend/commits/61cb5313358) - Removing unused dependencies and dev dependencies
|
|
115
127
|
- Updated dependencies
|
|
116
128
|
|
|
117
129
|
## 1.1.6
|
|
@@ -130,35 +142,35 @@
|
|
|
130
142
|
|
|
131
143
|
### Patch Changes
|
|
132
144
|
|
|
133
|
-
- [`43ad059dcc5`](https://bitbucket.org/atlassian/atlassian-frontend/commits/43ad059dcc5) - Updated mock response to the new `DatasourceDataResponseItem` format
|
|
145
|
+
- [#34035](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/34035) [`43ad059dcc5`](https://bitbucket.org/atlassian/atlassian-frontend/commits/43ad059dcc5) - Updated mock response to the new `DatasourceDataResponseItem` format
|
|
134
146
|
- Updated dependencies
|
|
135
147
|
|
|
136
148
|
## 1.1.3
|
|
137
149
|
|
|
138
150
|
### Patch Changes
|
|
139
151
|
|
|
140
|
-
- [`e9ad7ee17bb`](https://bitbucket.org/atlassian/atlassian-frontend/commits/e9ad7ee17bb) - Updated mock response to the new `DatasourceType` value format
|
|
152
|
+
- [#33917](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/33917) [`e9ad7ee17bb`](https://bitbucket.org/atlassian/atlassian-frontend/commits/e9ad7ee17bb) - Updated mock response to the new `DatasourceType` value format
|
|
141
153
|
- Updated dependencies
|
|
142
154
|
|
|
143
155
|
## 1.1.2
|
|
144
156
|
|
|
145
157
|
### Patch Changes
|
|
146
158
|
|
|
147
|
-
- [`9d00501a414`](https://bitbucket.org/atlassian/atlassian-frontend/commits/9d00501a414) - Ensure legacy types are published for TS 4.5-4.8
|
|
159
|
+
- [#33793](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/33793) [`9d00501a414`](https://bitbucket.org/atlassian/atlassian-frontend/commits/9d00501a414) - Ensure legacy types are published for TS 4.5-4.8
|
|
148
160
|
- Updated dependencies
|
|
149
161
|
|
|
150
162
|
## 1.1.1
|
|
151
163
|
|
|
152
164
|
### Patch Changes
|
|
153
165
|
|
|
154
|
-
- [`41fae2c6f68`](https://bitbucket.org/atlassian/atlassian-frontend/commits/41fae2c6f68) - Upgrade Typescript from `4.5.5` to `4.9.5`
|
|
166
|
+
- [#33649](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/33649) [`41fae2c6f68`](https://bitbucket.org/atlassian/atlassian-frontend/commits/41fae2c6f68) - Upgrade Typescript from `4.5.5` to `4.9.5`
|
|
155
167
|
- Updated dependencies
|
|
156
168
|
|
|
157
169
|
## 1.1.0
|
|
158
170
|
|
|
159
171
|
### Minor Changes
|
|
160
172
|
|
|
161
|
-
- [`670454dc4a0`](https://bitbucket.org/atlassian/atlassian-frontend/commits/670454dc4a0) - Add totalIssues to mock/types
|
|
173
|
+
- [#33177](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/33177) [`670454dc4a0`](https://bitbucket.org/atlassian/atlassian-frontend/commits/670454dc4a0) - Add totalIssues to mock/types
|
|
162
174
|
|
|
163
175
|
### Patch Changes
|
|
164
176
|
|
|
@@ -168,7 +180,7 @@
|
|
|
168
180
|
|
|
169
181
|
### Minor Changes
|
|
170
182
|
|
|
171
|
-
- [`56507598609`](https://bitbucket.org/atlassian/atlassian-frontend/commits/56507598609) - Skip minor dependency bump
|
|
183
|
+
- [#33258](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/33258) [`56507598609`](https://bitbucket.org/atlassian/atlassian-frontend/commits/56507598609) - Skip minor dependency bump
|
|
172
184
|
|
|
173
185
|
### Patch Changes
|
|
174
186
|
|
|
@@ -178,7 +190,7 @@
|
|
|
178
190
|
|
|
179
191
|
### Minor Changes
|
|
180
192
|
|
|
181
|
-
- [`5f0b51cb0e9`](https://bitbucket.org/atlassian/atlassian-frontend/commits/5f0b51cb0e9) - Updated `useDatasourceClientExtension` hook to use `useSmartLinkContext` for creating smart-card client
|
|
193
|
+
- [#32751](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/32751) [`5f0b51cb0e9`](https://bitbucket.org/atlassian/atlassian-frontend/commits/5f0b51cb0e9) - Updated `useDatasourceClientExtension` hook to use `useSmartLinkContext` for creating smart-card client
|
|
182
194
|
|
|
183
195
|
### Patch Changes
|
|
184
196
|
|
|
@@ -188,7 +200,7 @@
|
|
|
188
200
|
|
|
189
201
|
### Patch Changes
|
|
190
202
|
|
|
191
|
-
- [`f1b712482b1`](https://bitbucket.org/atlassian/atlassian-frontend/commits/f1b712482b1) - Fixed error handling inside of invoke function
|
|
203
|
+
- [#32589](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/32589) [`f1b712482b1`](https://bitbucket.org/atlassian/atlassian-frontend/commits/f1b712482b1) - Fixed error handling inside of invoke function
|
|
192
204
|
- Updated dependencies
|
|
193
205
|
|
|
194
206
|
## 0.4.2
|
|
@@ -201,14 +213,14 @@
|
|
|
201
213
|
|
|
202
214
|
### Patch Changes
|
|
203
215
|
|
|
204
|
-
- [`2e01c9c74b5`](https://bitbucket.org/atlassian/atlassian-frontend/commits/2e01c9c74b5) - DUMMY remove before merging to master; dupe adf-schema via adf-utils
|
|
216
|
+
- [#32424](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/32424) [`2e01c9c74b5`](https://bitbucket.org/atlassian/atlassian-frontend/commits/2e01c9c74b5) - DUMMY remove before merging to master; dupe adf-schema via adf-utils
|
|
205
217
|
- Updated dependencies
|
|
206
218
|
|
|
207
219
|
## 0.4.0
|
|
208
220
|
|
|
209
221
|
### Minor Changes
|
|
210
222
|
|
|
211
|
-
- [`d19a6e77d60`](https://bitbucket.org/atlassian/atlassian-frontend/commits/d19a6e77d60) - Adds new hook useDatasourceClientExtension to fetch data for link datasources
|
|
223
|
+
- [#32368](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/32368) [`d19a6e77d60`](https://bitbucket.org/atlassian/atlassian-frontend/commits/d19a6e77d60) - Adds new hook useDatasourceClientExtension to fetch data for link datasources
|
|
212
224
|
|
|
213
225
|
### Patch Changes
|
|
214
226
|
|
|
@@ -218,13 +230,13 @@
|
|
|
218
230
|
|
|
219
231
|
### Minor Changes
|
|
220
232
|
|
|
221
|
-
- [`7297fb71759`](https://bitbucket.org/atlassian/atlassian-frontend/commits/7297fb71759) - Update response type for useSmartLinkClientExtension
|
|
233
|
+
- [#31900](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/31900) [`7297fb71759`](https://bitbucket.org/atlassian/atlassian-frontend/commits/7297fb71759) - Update response type for useSmartLinkClientExtension
|
|
222
234
|
|
|
223
235
|
## 0.2.0
|
|
224
236
|
|
|
225
237
|
### Minor Changes
|
|
226
238
|
|
|
227
|
-
- [`f32cef73d0f`](https://bitbucket.org/atlassian/atlassian-frontend/commits/f32cef73d0f) - use new types from smart link types
|
|
239
|
+
- [#31905](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/31905) [`f32cef73d0f`](https://bitbucket.org/atlassian/atlassian-frontend/commits/f32cef73d0f) - use new types from smart link types
|
|
228
240
|
|
|
229
241
|
### Patch Changes
|
|
230
242
|
|
|
@@ -6,60 +6,64 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.useDatasourceClientExtension = exports.datasourceDetailsResponsePromiseCache = exports.datasourceDataResponsePromiseCache = exports.DEFAULT_GET_DATASOURCE_DATA_PAGE_SIZE = void 0;
|
|
8
8
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
11
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
12
|
var _react = require("react");
|
|
11
13
|
var _lru_map = require("lru_map");
|
|
12
14
|
var _linkProvider = require("@atlaskit/link-provider");
|
|
13
15
|
var _linkingCommon = require("@atlaskit/linking-common");
|
|
14
16
|
var _useResolverUrl = require("../use-resolver-url");
|
|
17
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
18
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
15
19
|
var URL_RESPONSE_CACHE_SIZE = 50;
|
|
16
|
-
var datasourceDetailsResponsePromiseCache = new _lru_map.LRUMap(URL_RESPONSE_CACHE_SIZE);
|
|
17
|
-
exports.
|
|
18
|
-
var
|
|
19
|
-
exports.
|
|
20
|
-
var DEFAULT_GET_DATASOURCE_DATA_PAGE_SIZE = 20;
|
|
21
|
-
exports.DEFAULT_GET_DATASOURCE_DATA_PAGE_SIZE = DEFAULT_GET_DATASOURCE_DATA_PAGE_SIZE;
|
|
22
|
-
var useDatasourceClientExtension = function useDatasourceClientExtension() {
|
|
20
|
+
var datasourceDetailsResponsePromiseCache = exports.datasourceDetailsResponsePromiseCache = new _lru_map.LRUMap(URL_RESPONSE_CACHE_SIZE);
|
|
21
|
+
var datasourceDataResponsePromiseCache = exports.datasourceDataResponsePromiseCache = new _lru_map.LRUMap(URL_RESPONSE_CACHE_SIZE);
|
|
22
|
+
var DEFAULT_GET_DATASOURCE_DATA_PAGE_SIZE = exports.DEFAULT_GET_DATASOURCE_DATA_PAGE_SIZE = 20;
|
|
23
|
+
var useDatasourceClientExtension = exports.useDatasourceClientExtension = function useDatasourceClientExtension() {
|
|
23
24
|
var _useSmartLinkContext = (0, _linkProvider.useSmartLinkContext)(),
|
|
24
25
|
client = _useSmartLinkContext.connections.client;
|
|
25
26
|
var resolverUrl = (0, _useResolverUrl.useResolverUrl)(client);
|
|
26
27
|
var cachedRequest = /*#__PURE__*/function () {
|
|
27
28
|
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(datasourceId, data, url, lruMap, force) {
|
|
28
|
-
var cacheKey, responsePromise;
|
|
29
|
+
var cacheKeyData, cacheKey, responsePromise;
|
|
29
30
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
30
31
|
while (1) switch (_context.prev = _context.next) {
|
|
31
32
|
case 0:
|
|
33
|
+
cacheKeyData = _objectSpread(_objectSpread({}, data), 'fields' in data ? {
|
|
34
|
+
fields: (0, _toConsumableArray2.default)(data.fields || []).sort()
|
|
35
|
+
} : {});
|
|
32
36
|
cacheKey = JSON.stringify({
|
|
33
37
|
datasourceId: datasourceId,
|
|
34
|
-
|
|
38
|
+
cacheKeyData: cacheKeyData
|
|
35
39
|
});
|
|
36
40
|
if (force) {
|
|
37
41
|
lruMap.delete(cacheKey);
|
|
38
42
|
}
|
|
39
43
|
responsePromise = lruMap.get(cacheKey);
|
|
40
44
|
if (!responsePromise) {
|
|
41
|
-
_context.next =
|
|
45
|
+
_context.next = 6;
|
|
42
46
|
break;
|
|
43
47
|
}
|
|
44
48
|
return _context.abrupt("return", responsePromise);
|
|
45
|
-
case
|
|
46
|
-
_context.prev =
|
|
49
|
+
case 6:
|
|
50
|
+
_context.prev = 6;
|
|
47
51
|
responsePromise = (0, _linkingCommon.request)('post', url, data, undefined, [200, 201, 202, 203, 204]);
|
|
48
52
|
lruMap.set(cacheKey, responsePromise);
|
|
49
|
-
_context.next =
|
|
53
|
+
_context.next = 11;
|
|
50
54
|
return responsePromise;
|
|
51
|
-
case
|
|
55
|
+
case 11:
|
|
52
56
|
return _context.abrupt("return", _context.sent);
|
|
53
|
-
case
|
|
54
|
-
_context.prev =
|
|
55
|
-
_context.t0 = _context["catch"](
|
|
57
|
+
case 14:
|
|
58
|
+
_context.prev = 14;
|
|
59
|
+
_context.t0 = _context["catch"](6);
|
|
56
60
|
lruMap.delete(cacheKey);
|
|
57
61
|
throw _context.t0;
|
|
58
|
-
case
|
|
62
|
+
case 18:
|
|
59
63
|
case "end":
|
|
60
64
|
return _context.stop();
|
|
61
65
|
}
|
|
62
|
-
}, _callee, null, [[
|
|
66
|
+
}, _callee, null, [[6, 14]]);
|
|
63
67
|
}));
|
|
64
68
|
return function cachedRequest(_x, _x2, _x3, _x4, _x5) {
|
|
65
69
|
return _ref.apply(this, arguments);
|
|
@@ -109,5 +113,4 @@ var useDatasourceClientExtension = function useDatasourceClientExtension() {
|
|
|
109
113
|
getDatasourceData: getDatasourceData
|
|
110
114
|
};
|
|
111
115
|
}, [getDatasourceDetails, getDatasourceData]);
|
|
112
|
-
};
|
|
113
|
-
exports.useDatasourceClientExtension = useDatasourceClientExtension;
|
|
116
|
+
};
|
|
@@ -8,7 +8,7 @@ exports.mockDatasourceDetailsResponse = exports.mockDatasourceDataResponseWithSc
|
|
|
8
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
9
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
10
10
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
11
|
-
var mockDatasourceDataResponse = {
|
|
11
|
+
var mockDatasourceDataResponse = exports.mockDatasourceDataResponse = {
|
|
12
12
|
meta: {
|
|
13
13
|
key: 'jira-object-provider',
|
|
14
14
|
access: 'granted',
|
|
@@ -114,8 +114,7 @@ var mockDatasourceDataResponse = {
|
|
|
114
114
|
nextPageCursor: 'c3RhcnRBdD01'
|
|
115
115
|
}
|
|
116
116
|
};
|
|
117
|
-
exports.
|
|
118
|
-
var mockDatasourceDetailsResponse = {
|
|
117
|
+
var mockDatasourceDetailsResponse = exports.mockDatasourceDetailsResponse = {
|
|
119
118
|
meta: {
|
|
120
119
|
key: 'jira-object-provider',
|
|
121
120
|
access: 'granted',
|
|
@@ -187,12 +186,10 @@ var mockDatasourceDetailsResponse = {
|
|
|
187
186
|
}
|
|
188
187
|
}
|
|
189
188
|
};
|
|
190
|
-
exports.
|
|
191
|
-
var mockDatasourceDataResponseWithSchema = _objectSpread(_objectSpread({}, mockDatasourceDataResponse), {}, {
|
|
189
|
+
var mockDatasourceDataResponseWithSchema = exports.mockDatasourceDataResponseWithSchema = _objectSpread(_objectSpread({}, mockDatasourceDataResponse), {}, {
|
|
192
190
|
data: _objectSpread(_objectSpread({}, mockDatasourceDataResponse.data), {}, {
|
|
193
191
|
schema: {
|
|
194
192
|
properties: mockDatasourceDetailsResponse.data.schema.properties
|
|
195
193
|
}
|
|
196
194
|
})
|
|
197
|
-
});
|
|
198
|
-
exports.mockDatasourceDataResponseWithSchema = mockDatasourceDataResponseWithSchema;
|
|
195
|
+
});
|
|
@@ -6,9 +6,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.useResolverUrl = void 0;
|
|
7
7
|
var _react = require("react");
|
|
8
8
|
var _linkingCommon = require("@atlaskit/linking-common");
|
|
9
|
-
var useResolverUrl = function useResolverUrl(cardClient) {
|
|
9
|
+
var useResolverUrl = exports.useResolverUrl = function useResolverUrl(cardClient) {
|
|
10
10
|
return (0, _react.useMemo)(function () {
|
|
11
11
|
return (0, _linkingCommon.getResolverUrl)(cardClient === null || cardClient === void 0 ? void 0 : cardClient.envKey, cardClient === null || cardClient === void 0 ? void 0 : cardClient.baseUrlOverride);
|
|
12
12
|
}, [cardClient === null || cardClient === void 0 ? void 0 : cardClient.baseUrlOverride, cardClient === null || cardClient === void 0 ? void 0 : cardClient.envKey]);
|
|
13
|
-
};
|
|
14
|
-
exports.useResolverUrl = useResolverUrl;
|
|
13
|
+
};
|
|
@@ -19,8 +19,8 @@ var _useResolverUrl = require("../use-resolver-url");
|
|
|
19
19
|
*
|
|
20
20
|
* @param cardClient
|
|
21
21
|
*/
|
|
22
|
-
var useSmartLinkClientExtension = function useSmartLinkClientExtension(cardClient) {
|
|
23
|
-
var
|
|
22
|
+
var useSmartLinkClientExtension = exports.useSmartLinkClientExtension = function useSmartLinkClientExtension(cardClient) {
|
|
23
|
+
var resolverUrl = (0, _useResolverUrl.useResolverUrl)(cardClient);
|
|
24
24
|
var invoke = (0, _react.useCallback)( /*#__PURE__*/function () {
|
|
25
25
|
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(data) {
|
|
26
26
|
var errorBody;
|
|
@@ -29,7 +29,7 @@ var useSmartLinkClientExtension = function useSmartLinkClientExtension(cardClien
|
|
|
29
29
|
case 0:
|
|
30
30
|
_context.prev = 0;
|
|
31
31
|
_context.next = 3;
|
|
32
|
-
return (0, _linkingCommon.request)('post', "".concat(
|
|
32
|
+
return (0, _linkingCommon.request)('post', "".concat(resolverUrl, "/invoke"), data, undefined, [200, 201, 202, 203, 204]);
|
|
33
33
|
case 3:
|
|
34
34
|
return _context.abrupt("return", _context.sent);
|
|
35
35
|
case 6:
|
|
@@ -59,11 +59,32 @@ var useSmartLinkClientExtension = function useSmartLinkClientExtension(cardClien
|
|
|
59
59
|
return function (_x) {
|
|
60
60
|
return _ref.apply(this, arguments);
|
|
61
61
|
};
|
|
62
|
-
}(), [
|
|
62
|
+
}(), [resolverUrl]);
|
|
63
|
+
var relatedUrls = (0, _react.useCallback)( /*#__PURE__*/function () {
|
|
64
|
+
var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(url) {
|
|
65
|
+
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
66
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
67
|
+
case 0:
|
|
68
|
+
_context2.next = 2;
|
|
69
|
+
return (0, _linkingCommon.request)('get', "".concat(resolverUrl, "/related-urls?url=").concat(encodeURIComponent(url)), undefined, {
|
|
70
|
+
'Cache-Control': 'private'
|
|
71
|
+
}, [200]);
|
|
72
|
+
case 2:
|
|
73
|
+
return _context2.abrupt("return", _context2.sent);
|
|
74
|
+
case 3:
|
|
75
|
+
case "end":
|
|
76
|
+
return _context2.stop();
|
|
77
|
+
}
|
|
78
|
+
}, _callee2);
|
|
79
|
+
}));
|
|
80
|
+
return function (_x2) {
|
|
81
|
+
return _ref2.apply(this, arguments);
|
|
82
|
+
};
|
|
83
|
+
}(), [resolverUrl]);
|
|
63
84
|
return (0, _react.useMemo)(function () {
|
|
64
85
|
return {
|
|
65
|
-
invoke: invoke
|
|
86
|
+
invoke: invoke,
|
|
87
|
+
relatedUrls: relatedUrls
|
|
66
88
|
};
|
|
67
|
-
}, [invoke]);
|
|
68
|
-
};
|
|
69
|
-
exports.useSmartLinkClientExtension = useSmartLinkClientExtension;
|
|
89
|
+
}, [invoke, relatedUrls]);
|
|
90
|
+
};
|
|
@@ -15,9 +15,16 @@ export const useDatasourceClientExtension = () => {
|
|
|
15
15
|
} = useSmartLinkContext();
|
|
16
16
|
const resolverUrl = useResolverUrl(client);
|
|
17
17
|
const cachedRequest = async (datasourceId, data, url, lruMap, force) => {
|
|
18
|
+
const cacheKeyData = {
|
|
19
|
+
...data,
|
|
20
|
+
// Sort fields to use cached version of response regardless of the order
|
|
21
|
+
...('fields' in data ? {
|
|
22
|
+
fields: [...(data.fields || [])].sort()
|
|
23
|
+
} : {})
|
|
24
|
+
};
|
|
18
25
|
const cacheKey = JSON.stringify({
|
|
19
26
|
datasourceId,
|
|
20
|
-
|
|
27
|
+
cacheKeyData
|
|
21
28
|
});
|
|
22
29
|
if (force) {
|
|
23
30
|
lruMap.delete(cacheKey);
|
|
@@ -12,10 +12,10 @@ import { useResolverUrl } from '../use-resolver-url';
|
|
|
12
12
|
* @param cardClient
|
|
13
13
|
*/
|
|
14
14
|
export const useSmartLinkClientExtension = cardClient => {
|
|
15
|
-
const
|
|
15
|
+
const resolverUrl = useResolverUrl(cardClient);
|
|
16
16
|
const invoke = useCallback(async data => {
|
|
17
17
|
try {
|
|
18
|
-
return await request('post', `${
|
|
18
|
+
return await request('post', `${resolverUrl}/invoke`, data, undefined, [200, 201, 202, 203, 204]);
|
|
19
19
|
} catch (err) {
|
|
20
20
|
// checking if the error is a Response type
|
|
21
21
|
// since we already had a few HOTs caused by comparing with instanceOf',
|
|
@@ -28,8 +28,14 @@ export const useSmartLinkClientExtension = cardClient => {
|
|
|
28
28
|
}
|
|
29
29
|
throw err;
|
|
30
30
|
}
|
|
31
|
-
}, [
|
|
31
|
+
}, [resolverUrl]);
|
|
32
|
+
const relatedUrls = useCallback(async url => {
|
|
33
|
+
return await request('get', `${resolverUrl}/related-urls?url=${encodeURIComponent(url)}`, undefined, {
|
|
34
|
+
'Cache-Control': 'private'
|
|
35
|
+
}, [200]);
|
|
36
|
+
}, [resolverUrl]);
|
|
32
37
|
return useMemo(() => ({
|
|
33
|
-
invoke
|
|
34
|
-
|
|
38
|
+
invoke,
|
|
39
|
+
relatedUrls
|
|
40
|
+
}), [invoke, relatedUrls]);
|
|
35
41
|
};
|
|
@@ -1,5 +1,9 @@
|
|
|
1
|
+
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
2
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
1
3
|
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
2
4
|
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
5
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
6
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
3
7
|
import { useCallback, useMemo } from 'react';
|
|
4
8
|
import { LRUMap } from 'lru_map';
|
|
5
9
|
import { useSmartLinkContext } from '@atlaskit/link-provider';
|
|
@@ -15,41 +19,44 @@ export var useDatasourceClientExtension = function useDatasourceClientExtension(
|
|
|
15
19
|
var resolverUrl = useResolverUrl(client);
|
|
16
20
|
var cachedRequest = /*#__PURE__*/function () {
|
|
17
21
|
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(datasourceId, data, url, lruMap, force) {
|
|
18
|
-
var cacheKey, responsePromise;
|
|
22
|
+
var cacheKeyData, cacheKey, responsePromise;
|
|
19
23
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
20
24
|
while (1) switch (_context.prev = _context.next) {
|
|
21
25
|
case 0:
|
|
26
|
+
cacheKeyData = _objectSpread(_objectSpread({}, data), 'fields' in data ? {
|
|
27
|
+
fields: _toConsumableArray(data.fields || []).sort()
|
|
28
|
+
} : {});
|
|
22
29
|
cacheKey = JSON.stringify({
|
|
23
30
|
datasourceId: datasourceId,
|
|
24
|
-
|
|
31
|
+
cacheKeyData: cacheKeyData
|
|
25
32
|
});
|
|
26
33
|
if (force) {
|
|
27
34
|
lruMap.delete(cacheKey);
|
|
28
35
|
}
|
|
29
36
|
responsePromise = lruMap.get(cacheKey);
|
|
30
37
|
if (!responsePromise) {
|
|
31
|
-
_context.next =
|
|
38
|
+
_context.next = 6;
|
|
32
39
|
break;
|
|
33
40
|
}
|
|
34
41
|
return _context.abrupt("return", responsePromise);
|
|
35
|
-
case
|
|
36
|
-
_context.prev =
|
|
42
|
+
case 6:
|
|
43
|
+
_context.prev = 6;
|
|
37
44
|
responsePromise = request('post', url, data, undefined, [200, 201, 202, 203, 204]);
|
|
38
45
|
lruMap.set(cacheKey, responsePromise);
|
|
39
|
-
_context.next =
|
|
46
|
+
_context.next = 11;
|
|
40
47
|
return responsePromise;
|
|
41
|
-
case
|
|
48
|
+
case 11:
|
|
42
49
|
return _context.abrupt("return", _context.sent);
|
|
43
|
-
case
|
|
44
|
-
_context.prev =
|
|
45
|
-
_context.t0 = _context["catch"](
|
|
50
|
+
case 14:
|
|
51
|
+
_context.prev = 14;
|
|
52
|
+
_context.t0 = _context["catch"](6);
|
|
46
53
|
lruMap.delete(cacheKey);
|
|
47
54
|
throw _context.t0;
|
|
48
|
-
case
|
|
55
|
+
case 18:
|
|
49
56
|
case "end":
|
|
50
57
|
return _context.stop();
|
|
51
58
|
}
|
|
52
|
-
}, _callee, null, [[
|
|
59
|
+
}, _callee, null, [[6, 14]]);
|
|
53
60
|
}));
|
|
54
61
|
return function cachedRequest(_x, _x2, _x3, _x4, _x5) {
|
|
55
62
|
return _ref.apply(this, arguments);
|
|
@@ -14,7 +14,7 @@ import { useResolverUrl } from '../use-resolver-url';
|
|
|
14
14
|
* @param cardClient
|
|
15
15
|
*/
|
|
16
16
|
export var useSmartLinkClientExtension = function useSmartLinkClientExtension(cardClient) {
|
|
17
|
-
var
|
|
17
|
+
var resolverUrl = useResolverUrl(cardClient);
|
|
18
18
|
var invoke = useCallback( /*#__PURE__*/function () {
|
|
19
19
|
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(data) {
|
|
20
20
|
var errorBody;
|
|
@@ -23,7 +23,7 @@ export var useSmartLinkClientExtension = function useSmartLinkClientExtension(ca
|
|
|
23
23
|
case 0:
|
|
24
24
|
_context.prev = 0;
|
|
25
25
|
_context.next = 3;
|
|
26
|
-
return request('post', "".concat(
|
|
26
|
+
return request('post', "".concat(resolverUrl, "/invoke"), data, undefined, [200, 201, 202, 203, 204]);
|
|
27
27
|
case 3:
|
|
28
28
|
return _context.abrupt("return", _context.sent);
|
|
29
29
|
case 6:
|
|
@@ -53,10 +53,32 @@ export var useSmartLinkClientExtension = function useSmartLinkClientExtension(ca
|
|
|
53
53
|
return function (_x) {
|
|
54
54
|
return _ref.apply(this, arguments);
|
|
55
55
|
};
|
|
56
|
-
}(), [
|
|
56
|
+
}(), [resolverUrl]);
|
|
57
|
+
var relatedUrls = useCallback( /*#__PURE__*/function () {
|
|
58
|
+
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(url) {
|
|
59
|
+
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
60
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
61
|
+
case 0:
|
|
62
|
+
_context2.next = 2;
|
|
63
|
+
return request('get', "".concat(resolverUrl, "/related-urls?url=").concat(encodeURIComponent(url)), undefined, {
|
|
64
|
+
'Cache-Control': 'private'
|
|
65
|
+
}, [200]);
|
|
66
|
+
case 2:
|
|
67
|
+
return _context2.abrupt("return", _context2.sent);
|
|
68
|
+
case 3:
|
|
69
|
+
case "end":
|
|
70
|
+
return _context2.stop();
|
|
71
|
+
}
|
|
72
|
+
}, _callee2);
|
|
73
|
+
}));
|
|
74
|
+
return function (_x2) {
|
|
75
|
+
return _ref2.apply(this, arguments);
|
|
76
|
+
};
|
|
77
|
+
}(), [resolverUrl]);
|
|
57
78
|
return useMemo(function () {
|
|
58
79
|
return {
|
|
59
|
-
invoke: invoke
|
|
80
|
+
invoke: invoke,
|
|
81
|
+
relatedUrls: relatedUrls
|
|
60
82
|
};
|
|
61
|
-
}, [invoke]);
|
|
83
|
+
}, [invoke, relatedUrls]);
|
|
62
84
|
};
|
|
@@ -10,4 +10,5 @@ import { InvokeRequest, InvokeResponse } from '@atlaskit/linking-types/smart-lin
|
|
|
10
10
|
*/
|
|
11
11
|
export declare const useSmartLinkClientExtension: (cardClient: CardClient) => {
|
|
12
12
|
invoke: (data: InvokeRequest) => Promise<InvokeResponse>;
|
|
13
|
+
relatedUrls: <TResponse>(url: string) => Promise<TResponse>;
|
|
13
14
|
};
|
|
@@ -10,4 +10,5 @@ import { InvokeRequest, InvokeResponse } from '@atlaskit/linking-types/smart-lin
|
|
|
10
10
|
*/
|
|
11
11
|
export declare const useSmartLinkClientExtension: (cardClient: CardClient) => {
|
|
12
12
|
invoke: (data: InvokeRequest) => Promise<InvokeResponse>;
|
|
13
|
+
relatedUrls: <TResponse>(url: string) => Promise<TResponse>;
|
|
13
14
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/link-client-extension",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.8.0",
|
|
4
4
|
"description": "Extension methods for linking platform client",
|
|
5
5
|
"author": "Atlassian Pty Ltd",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -34,8 +34,8 @@
|
|
|
34
34
|
".": "./src/index.ts"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@atlaskit/linking-common": "^4.
|
|
38
|
-
"@atlaskit/linking-types": "^8.
|
|
37
|
+
"@atlaskit/linking-common": "^4.12.0",
|
|
38
|
+
"@atlaskit/linking-types": "^8.4.0",
|
|
39
39
|
"@babel/runtime": "^7.0.0",
|
|
40
40
|
"json-ld-types": "^3.9.1",
|
|
41
41
|
"lru_map": "^0.4.1"
|
package/report.api.md
CHANGED
|
@@ -72,6 +72,7 @@ export const useDatasourceClientExtension: () => {
|
|
|
72
72
|
// @public
|
|
73
73
|
export const useSmartLinkClientExtension: (cardClient: CardClient) => {
|
|
74
74
|
invoke: (data: InvokeRequest) => Promise<InvokeResponse>;
|
|
75
|
+
relatedUrls: <TResponse>(url: string) => Promise<TResponse>;
|
|
75
76
|
};
|
|
76
77
|
|
|
77
78
|
// (No @packageDocumentation comment for this package)
|
package/tmp/api-report-tmp.d.ts
CHANGED
|
@@ -53,6 +53,7 @@ export const useDatasourceClientExtension: () => {
|
|
|
53
53
|
// @public
|
|
54
54
|
export const useSmartLinkClientExtension: (cardClient: CardClient) => {
|
|
55
55
|
invoke: (data: InvokeRequest) => Promise<InvokeResponse>;
|
|
56
|
+
relatedUrls: <TResponse>(url: string) => Promise<TResponse>;
|
|
56
57
|
};
|
|
57
58
|
|
|
58
59
|
// (No @packageDocumentation comment for this package)
|