@jbrowse/core 1.4.4 → 1.5.3

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 (159) hide show
  1. package/BaseFeatureWidget/BaseFeatureDetail.d.ts +4 -4
  2. package/BaseFeatureWidget/BaseFeatureDetail.js +27 -8
  3. package/BaseFeatureWidget/SequenceFeatureDetails.js +10 -10
  4. package/BaseFeatureWidget/index.js +1 -1
  5. package/BaseFeatureWidget/types.d.ts +1 -1
  6. package/BaseFeatureWidget/util.js +3 -3
  7. package/CorePlugin.d.ts +0 -1
  8. package/CorePlugin.js +13 -1
  9. package/PluginLoader.d.ts +26 -4
  10. package/PluginLoader.js +337 -51
  11. package/PluginManager.d.ts +18 -11
  12. package/PluginManager.js +53 -31
  13. package/ReExports/list.js +1 -1
  14. package/ReExports/material-ui-colors.js +38 -38
  15. package/ReExports/modules.d.ts +19 -20
  16. package/ReExports/modules.js +10 -3
  17. package/TextSearch/BaseResults.d.ts +5 -14
  18. package/TextSearch/BaseResults.js +16 -58
  19. package/TextSearch/BaseResults.test.js +1 -11
  20. package/TextSearch/TextSearchManager.d.ts +3 -3
  21. package/TextSearch/TextSearchManager.js +1 -1
  22. package/assemblyManager/assembly.d.ts +21 -8
  23. package/assemblyManager/assembly.js +163 -120
  24. package/assemblyManager/assemblyConfigSchema.d.ts +3 -0
  25. package/assemblyManager/{assemblyConfigSchemas.js → assemblyConfigSchema.js} +35 -27
  26. package/assemblyManager/assemblyManager.d.ts +169 -60
  27. package/assemblyManager/index.d.ts +1 -1
  28. package/assemblyManager/index.js +5 -5
  29. package/configuration/configurationSchema.d.ts +3 -2
  30. package/configuration/configurationSchema.js +7 -10
  31. package/configuration/configurationSchema.test.js +4 -2
  32. package/configuration/configurationSlot.js +5 -4
  33. package/configuration/index.js +4 -4
  34. package/configuration/util.js +5 -5
  35. package/data_adapters/BaseAdapter.d.ts +5 -3
  36. package/data_adapters/BaseAdapter.js +7 -4
  37. package/data_adapters/BaseAdapter.test.js +4 -2
  38. package/data_adapters/CytobandAdapter.d.ts +8 -0
  39. package/data_adapters/CytobandAdapter.js +128 -0
  40. package/data_adapters/dataAdapterCache.js +3 -3
  41. package/package.json +7 -7
  42. package/pluggableElementTypes/AdapterType.d.ts +9 -1
  43. package/pluggableElementTypes/AdapterType.js +20 -0
  44. package/pluggableElementTypes/InternetAccountType.d.ts +12 -0
  45. package/pluggableElementTypes/InternetAccountType.js +64 -0
  46. package/pluggableElementTypes/PluggableElementBase.d.ts +1 -2
  47. package/pluggableElementTypes/PluggableElementBase.js +2 -3
  48. package/pluggableElementTypes/RpcMethodType.d.ts +3 -0
  49. package/pluggableElementTypes/RpcMethodType.js +269 -26
  50. package/pluggableElementTypes/RpcMethodType.test.d.ts +4 -0
  51. package/pluggableElementTypes/RpcMethodType.test.js +118 -0
  52. package/pluggableElementTypes/ViewType.d.ts +1 -1
  53. package/pluggableElementTypes/WidgetType.d.ts +1 -0
  54. package/pluggableElementTypes/index.d.ts +7 -3
  55. package/pluggableElementTypes/index.js +127 -1
  56. package/pluggableElementTypes/models/BaseDisplayModel.d.ts +6 -6
  57. package/pluggableElementTypes/models/BaseDisplayModel.js +1 -3
  58. package/pluggableElementTypes/models/BaseViewModel.js +13 -15
  59. package/pluggableElementTypes/models/InternetAccountModel.d.ts +24 -0
  60. package/pluggableElementTypes/models/InternetAccountModel.js +85 -0
  61. package/pluggableElementTypes/models/baseInternetAccountConfig.d.ts +4 -0
  62. package/pluggableElementTypes/models/baseInternetAccountConfig.js +25 -0
  63. package/pluggableElementTypes/models/index.d.ts +3 -0
  64. package/pluggableElementTypes/models/index.js +24 -8
  65. package/pluggableElementTypes/renderers/BoxRendererType.js +1 -1
  66. package/pluggableElementTypes/renderers/ComparativeServerSideRendererType.d.ts +1 -1
  67. package/pluggableElementTypes/renderers/ComparativeServerSideRendererType.js +15 -6
  68. package/pluggableElementTypes/renderers/FeatureRendererType.d.ts +3 -3
  69. package/pluggableElementTypes/renderers/FeatureRendererType.js +17 -8
  70. package/pluggableElementTypes/renderers/RendererType.d.ts +1 -0
  71. package/pluggableElementTypes/renderers/RendererType.js +4 -1
  72. package/pluggableElementTypes/renderers/ServerSideRenderedContent.js +1 -1
  73. package/pluggableElementTypes/renderers/index.d.ts +9 -0
  74. package/pluggableElementTypes/renderers/index.js +63 -0
  75. package/rpc/BaseRpcDriver.js +5 -9
  76. package/rpc/BaseRpcDriver.test.js +6 -6
  77. package/rpc/RpcManager.d.ts +1 -1
  78. package/rpc/RpcManager.js +44 -16
  79. package/rpc/WebWorkerRpcDriver.js +3 -3
  80. package/rpc/coreRpcMethods.d.ts +2 -1
  81. package/rpc/coreRpcMethods.js +109 -75
  82. package/rpc/remoteAbortSignals.js +2 -2
  83. package/ui/App.d.ts +17 -4
  84. package/ui/App.js +55 -41
  85. package/ui/Drawer.d.ts +6 -14
  86. package/ui/Drawer.js +11 -12
  87. package/ui/DrawerWidget.d.ts +5 -3
  88. package/ui/DrawerWidget.js +100 -61
  89. package/ui/ErrorMessage.d.ts +5 -0
  90. package/ui/ErrorMessage.js +54 -0
  91. package/ui/FileSelector/FileSelector.d.ts +11 -0
  92. package/ui/FileSelector/FileSelector.js +198 -0
  93. package/ui/FileSelector/LocalFileChooser.d.ts +7 -0
  94. package/ui/FileSelector/LocalFileChooser.js +79 -0
  95. package/ui/FileSelector/UrlChooser.d.ts +9 -0
  96. package/ui/FileSelector/UrlChooser.js +41 -0
  97. package/ui/FileSelector/index.d.ts +2 -0
  98. package/ui/FileSelector/index.js +13 -0
  99. package/ui/Icons.d.ts +4 -0
  100. package/ui/Icons.js +34 -0
  101. package/ui/Logo.js +1 -1
  102. package/ui/PrerenderedCanvas.d.ts +1 -0
  103. package/ui/PrerenderedCanvas.js +4 -1
  104. package/ui/ResizeHandle.d.ts +2 -3
  105. package/ui/ResizeHandle.js +6 -7
  106. package/ui/SanitizedHTML.js +1 -1
  107. package/ui/Snackbar.js +4 -6
  108. package/ui/SnackbarModel.d.ts +16 -0
  109. package/ui/SnackbarModel.js +56 -0
  110. package/ui/Tooltip.d.ts +1 -1
  111. package/ui/index.js +24 -24
  112. package/ui/theme.js +5 -5
  113. package/util/QuickLRU.d.ts +1 -1
  114. package/util/QuickLRU.js +3 -3
  115. package/util/aborting.d.ts +1 -1
  116. package/util/aborting.js +10 -11
  117. package/util/analytics.d.ts +2 -2
  118. package/util/analytics.js +20 -7
  119. package/util/blockTypes.d.ts +11 -6
  120. package/util/blockTypes.js +7 -1
  121. package/util/color/cssColorsLevel4.js +1 -1
  122. package/util/color/index.js +5 -5
  123. package/util/compositeMap.js +3 -3
  124. package/util/index.d.ts +6 -16
  125. package/util/index.js +76 -100
  126. package/util/io/RemoteFileWithRangeCache.d.ts +17 -0
  127. package/util/io/RemoteFileWithRangeCache.js +266 -0
  128. package/util/io/index.d.ts +4 -2
  129. package/util/io/index.js +134 -25
  130. package/util/jexl.js +4 -1
  131. package/util/layouts/BaseLayout.d.ts +3 -0
  132. package/util/layouts/GranularRectLayout.d.ts +19 -10
  133. package/util/layouts/GranularRectLayout.js +459 -100
  134. package/util/layouts/GranularRectLayout.test.js +57 -10
  135. package/util/layouts/PrecomputedLayout.js +2 -1
  136. package/util/layouts/index.d.ts +7 -0
  137. package/util/layouts/index.js +68 -0
  138. package/util/mst-reflection.js +3 -3
  139. package/util/offscreenCanvasPonyfill.js +1 -1
  140. package/util/range.js +1 -1
  141. package/util/simpleFeature.js +1 -1
  142. package/util/stats.js +2 -2
  143. package/util/tracks.d.ts +31 -362
  144. package/util/tracks.js +74 -190
  145. package/util/types/index.d.ts +54 -10
  146. package/util/types/index.js +110 -8
  147. package/util/types/mst.d.ts +46 -2
  148. package/util/types/mst.js +56 -8
  149. package/util/types/util.d.ts +1 -1
  150. package/util/when.js +1 -1
  151. package/assemblyManager/assemblyConfigSchemas.d.ts +0 -7
  152. package/ui/FileSelector.d.ts +0 -9
  153. package/ui/FileSelector.js +0 -150
  154. package/util/io/LocalFile.d.ts +0 -18
  155. package/util/io/LocalFile.js +0 -220
  156. package/util/io/rangeFetcher.d.ts +0 -3
  157. package/util/io/rangeFetcher.js +0 -236
  158. package/value.d.ts +0 -1
  159. package/value.js +0 -10
@@ -7,6 +7,10 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = void 0;
9
9
 
10
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
+
12
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
+
10
14
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
15
 
12
16
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
@@ -29,8 +33,16 @@ var _PluggableElementBase2 = _interopRequireDefault(require("./PluggableElementB
29
33
 
30
34
  var _tracks = require("../util/tracks");
31
35
 
36
+ var _types = require("../util/types");
37
+
32
38
  var _remoteAbortSignals = require("../rpc/remoteAbortSignals");
33
39
 
40
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
41
+
42
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
43
+
44
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
45
+
34
46
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
35
47
 
36
48
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
@@ -67,16 +79,20 @@ var RpcMethodType = /*#__PURE__*/function (_PluggableElementBase) {
67
79
  switch (_context.prev = _context.next) {
68
80
  case 0:
69
81
  blobMap = (0, _tracks.getBlobMap)();
82
+ _context.next = 3;
83
+ return this.augmentLocationObjects(args);
84
+
85
+ case 3:
70
86
  return _context.abrupt("return", _objectSpread(_objectSpread({}, args), {}, {
71
87
  blobMap: blobMap
72
88
  }));
73
89
 
74
- case 2:
90
+ case 4:
75
91
  case "end":
76
92
  return _context.stop();
77
93
  }
78
94
  }
79
- }, _callee);
95
+ }, _callee, this);
80
96
  }));
81
97
 
82
98
  function serializeArguments(_x, _x2) {
@@ -86,13 +102,63 @@ var RpcMethodType = /*#__PURE__*/function (_PluggableElementBase) {
86
102
  return serializeArguments;
87
103
  }()
88
104
  }, {
89
- key: "deserializeArguments",
105
+ key: "serializeNewAuthArguments",
90
106
  value: function () {
91
- var _deserializeArguments = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(serializedArgs, _rpcDriverClassName) {
92
- var signal;
107
+ var _serializeNewAuthArguments = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(location) {
108
+ var rootModel, account, modifiedPreAuth;
93
109
  return _regenerator.default.wrap(function _callee2$(_context2) {
94
110
  while (1) {
95
111
  switch (_context2.prev = _context2.next) {
112
+ case 0:
113
+ rootModel = this.pluginManager.rootModel; // args dont need auth or already have auth
114
+
115
+ if (!(!(0, _types.isAppRootModel)(rootModel) || location.internetAccountPreAuthorization)) {
116
+ _context2.next = 3;
117
+ break;
118
+ }
119
+
120
+ return _context2.abrupt("return", location);
121
+
122
+ case 3:
123
+ account = rootModel === null || rootModel === void 0 ? void 0 : rootModel.findAppropriateInternetAccount(location);
124
+
125
+ if (!account) {
126
+ _context2.next = 9;
127
+ break;
128
+ }
129
+
130
+ _context2.next = 7;
131
+ return account.getPreAuthorizationInformation(location);
132
+
133
+ case 7:
134
+ modifiedPreAuth = _context2.sent;
135
+ location.internetAccountPreAuthorization = modifiedPreAuth;
136
+
137
+ case 9:
138
+ return _context2.abrupt("return", location);
139
+
140
+ case 10:
141
+ case "end":
142
+ return _context2.stop();
143
+ }
144
+ }
145
+ }, _callee2, this);
146
+ }));
147
+
148
+ function serializeNewAuthArguments(_x3) {
149
+ return _serializeNewAuthArguments.apply(this, arguments);
150
+ }
151
+
152
+ return serializeNewAuthArguments;
153
+ }()
154
+ }, {
155
+ key: "deserializeArguments",
156
+ value: function () {
157
+ var _deserializeArguments = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(serializedArgs, _rpcDriverClassName) {
158
+ var signal;
159
+ return _regenerator.default.wrap(function _callee3$(_context3) {
160
+ while (1) {
161
+ switch (_context3.prev = _context3.next) {
96
162
  case 0:
97
163
  if (serializedArgs.blobMap) {
98
164
  (0, _tracks.setBlobMap)(serializedArgs.blobMap);
@@ -101,28 +167,28 @@ var RpcMethodType = /*#__PURE__*/function (_PluggableElementBase) {
101
167
  signal = serializedArgs.signal;
102
168
 
103
169
  if (!(signal && (0, _remoteAbortSignals.isRemoteAbortSignal)(signal))) {
104
- _context2.next = 4;
170
+ _context3.next = 4;
105
171
  break;
106
172
  }
107
173
 
108
- return _context2.abrupt("return", _objectSpread(_objectSpread({}, serializedArgs), {}, {
174
+ return _context3.abrupt("return", _objectSpread(_objectSpread({}, serializedArgs), {}, {
109
175
  signal: (0, _remoteAbortSignals.deserializeAbortSignal)(signal)
110
176
  }));
111
177
 
112
178
  case 4:
113
- return _context2.abrupt("return", _objectSpread(_objectSpread({}, serializedArgs), {}, {
179
+ return _context3.abrupt("return", _objectSpread(_objectSpread({}, serializedArgs), {}, {
114
180
  signal: undefined
115
181
  }));
116
182
 
117
183
  case 5:
118
184
  case "end":
119
- return _context2.stop();
185
+ return _context3.stop();
120
186
  }
121
187
  }
122
- }, _callee2);
188
+ }, _callee3);
123
189
  }));
124
190
 
125
- function deserializeArguments(_x3, _x4) {
191
+ function deserializeArguments(_x4, _x5) {
126
192
  return _deserializeArguments.apply(this, arguments);
127
193
  }
128
194
 
@@ -131,22 +197,22 @@ var RpcMethodType = /*#__PURE__*/function (_PluggableElementBase) {
131
197
  }, {
132
198
  key: "serializeReturn",
133
199
  value: function () {
134
- var _serializeReturn = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(originalReturn, _args, _rpcDriverClassName) {
135
- return _regenerator.default.wrap(function _callee3$(_context3) {
200
+ var _serializeReturn = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(originalReturn, _args, _rpcDriverClassName) {
201
+ return _regenerator.default.wrap(function _callee4$(_context4) {
136
202
  while (1) {
137
- switch (_context3.prev = _context3.next) {
203
+ switch (_context4.prev = _context4.next) {
138
204
  case 0:
139
- return _context3.abrupt("return", originalReturn);
205
+ return _context4.abrupt("return", originalReturn);
140
206
 
141
207
  case 1:
142
208
  case "end":
143
- return _context3.stop();
209
+ return _context4.stop();
144
210
  }
145
211
  }
146
- }, _callee3);
212
+ }, _callee4);
147
213
  }));
148
214
 
149
- function serializeReturn(_x5, _x6, _x7) {
215
+ function serializeReturn(_x6, _x7, _x8) {
150
216
  return _serializeReturn.apply(this, arguments);
151
217
  }
152
218
 
@@ -155,27 +221,204 @@ var RpcMethodType = /*#__PURE__*/function (_PluggableElementBase) {
155
221
  }, {
156
222
  key: "deserializeReturn",
157
223
  value: function () {
158
- var _deserializeReturn = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(serializedReturn, _args, _rpcDriverClassName) {
159
- return _regenerator.default.wrap(function _callee4$(_context4) {
224
+ var _deserializeReturn = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5(serializedReturn, _args, _rpcDriverClassName) {
225
+ var r, _this$pluginManager, _this$pluginManager$r, retryAccount;
226
+
227
+ return _regenerator.default.wrap(function _callee5$(_context5) {
160
228
  while (1) {
161
- switch (_context4.prev = _context4.next) {
229
+ switch (_context5.prev = _context5.next) {
162
230
  case 0:
163
- return _context4.abrupt("return", serializedReturn);
231
+ _context5.prev = 0;
232
+ _context5.next = 3;
233
+ return serializedReturn;
164
234
 
165
- case 1:
235
+ case 3:
236
+ r = _context5.sent;
237
+ _context5.next = 12;
238
+ break;
239
+
240
+ case 6:
241
+ _context5.prev = 6;
242
+ _context5.t0 = _context5["catch"](0);
243
+
244
+ if (!(0, _types.isAuthNeededException)(_context5.t0)) {
245
+ _context5.next = 11;
246
+ break;
247
+ }
248
+
249
+ retryAccount = // @ts-ignore
250
+ (_this$pluginManager = this.pluginManager) === null || _this$pluginManager === void 0 ? void 0 : (_this$pluginManager$r = _this$pluginManager.rootModel) === null || _this$pluginManager$r === void 0 ? void 0 : _this$pluginManager$r.createEphemeralInternetAccount("HTTPBasicInternetAccount-".concat(new URL(_context5.t0.location.uri).origin), {}, _context5.t0.location);
251
+ throw new _types.RetryError('Retrying with created internet account', retryAccount.internetAccountId);
252
+
253
+ case 11:
254
+ throw _context5.t0;
255
+
256
+ case 12:
257
+ return _context5.abrupt("return", r);
258
+
259
+ case 13:
166
260
  case "end":
167
- return _context4.stop();
261
+ return _context5.stop();
168
262
  }
169
263
  }
170
- }, _callee4);
264
+ }, _callee5, this, [[0, 6]]);
171
265
  }));
172
266
 
173
- function deserializeReturn(_x8, _x9, _x10) {
267
+ function deserializeReturn(_x9, _x10, _x11) {
174
268
  return _deserializeReturn.apply(this, arguments);
175
269
  }
176
270
 
177
271
  return deserializeReturn;
178
272
  }()
273
+ }, {
274
+ key: "augmentLocationObjects",
275
+ value: function () {
276
+ var _augmentLocationObjects = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6(thing) {
277
+ var _iterator, _step, val, _i, _Object$entries, _Object$entries$_i, key, value, _iterator2, _step2, _val;
278
+
279
+ return _regenerator.default.wrap(function _callee6$(_context6) {
280
+ while (1) {
281
+ switch (_context6.prev = _context6.next) {
282
+ case 0:
283
+ if (!(0, _types.isUriLocation)(thing)) {
284
+ _context6.next = 3;
285
+ break;
286
+ }
287
+
288
+ _context6.next = 3;
289
+ return this.serializeNewAuthArguments(thing);
290
+
291
+ case 3:
292
+ if (!Array.isArray(thing)) {
293
+ _context6.next = 21;
294
+ break;
295
+ }
296
+
297
+ _iterator = _createForOfIteratorHelper(thing);
298
+ _context6.prev = 5;
299
+
300
+ _iterator.s();
301
+
302
+ case 7:
303
+ if ((_step = _iterator.n()).done) {
304
+ _context6.next = 13;
305
+ break;
306
+ }
307
+
308
+ val = _step.value;
309
+ _context6.next = 11;
310
+ return this.augmentLocationObjects(val);
311
+
312
+ case 11:
313
+ _context6.next = 7;
314
+ break;
315
+
316
+ case 13:
317
+ _context6.next = 18;
318
+ break;
319
+
320
+ case 15:
321
+ _context6.prev = 15;
322
+ _context6.t0 = _context6["catch"](5);
323
+
324
+ _iterator.e(_context6.t0);
325
+
326
+ case 18:
327
+ _context6.prev = 18;
328
+
329
+ _iterator.f();
330
+
331
+ return _context6.finish(18);
332
+
333
+ case 21:
334
+ if (!((0, _typeof2.default)(thing) === 'object' && thing !== null)) {
335
+ _context6.next = 51;
336
+ break;
337
+ }
338
+
339
+ _i = 0, _Object$entries = Object.entries(thing);
340
+
341
+ case 23:
342
+ if (!(_i < _Object$entries.length)) {
343
+ _context6.next = 51;
344
+ break;
345
+ }
346
+
347
+ _Object$entries$_i = (0, _slicedToArray2.default)(_Object$entries[_i], 2), key = _Object$entries$_i[0], value = _Object$entries$_i[1];
348
+
349
+ if (!Array.isArray(value)) {
350
+ _context6.next = 45;
351
+ break;
352
+ }
353
+
354
+ _iterator2 = _createForOfIteratorHelper(thing[key]);
355
+ _context6.prev = 27;
356
+
357
+ _iterator2.s();
358
+
359
+ case 29:
360
+ if ((_step2 = _iterator2.n()).done) {
361
+ _context6.next = 35;
362
+ break;
363
+ }
364
+
365
+ _val = _step2.value;
366
+ _context6.next = 33;
367
+ return this.augmentLocationObjects(_val);
368
+
369
+ case 33:
370
+ _context6.next = 29;
371
+ break;
372
+
373
+ case 35:
374
+ _context6.next = 40;
375
+ break;
376
+
377
+ case 37:
378
+ _context6.prev = 37;
379
+ _context6.t1 = _context6["catch"](27);
380
+
381
+ _iterator2.e(_context6.t1);
382
+
383
+ case 40:
384
+ _context6.prev = 40;
385
+
386
+ _iterator2.f();
387
+
388
+ return _context6.finish(40);
389
+
390
+ case 43:
391
+ _context6.next = 48;
392
+ break;
393
+
394
+ case 45:
395
+ if (!((0, _typeof2.default)(value) === 'object' && value !== null)) {
396
+ _context6.next = 48;
397
+ break;
398
+ }
399
+
400
+ _context6.next = 48;
401
+ return this.augmentLocationObjects(thing[key]);
402
+
403
+ case 48:
404
+ _i++;
405
+ _context6.next = 23;
406
+ break;
407
+
408
+ case 51:
409
+ case "end":
410
+ return _context6.stop();
411
+ }
412
+ }
413
+ }, _callee6, this, [[5, 15, 18, 21], [27, 37, 40, 43]]);
414
+ }));
415
+
416
+ function augmentLocationObjects(_x12) {
417
+ return _augmentLocationObjects.apply(this, arguments);
418
+ }
419
+
420
+ return augmentLocationObjects;
421
+ }()
179
422
  }]);
180
423
  return RpcMethodType;
181
424
  }(_PluggableElementBase2.default);
@@ -0,0 +1,4 @@
1
+ import RpcMethodType from './RpcMethodType';
2
+ export declare class MockRpcMethodType extends RpcMethodType {
3
+ execute(): Promise<void>;
4
+ }
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.MockRpcMethodType = void 0;
9
+
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+
12
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
+
14
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
+
16
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
+
18
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
+
20
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
21
+
22
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
23
+
24
+ var _PluginManager = _interopRequireDefault(require("../PluginManager"));
25
+
26
+ var _RpcMethodType2 = _interopRequireDefault(require("./RpcMethodType"));
27
+
28
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
29
+
30
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
31
+
32
+ var pluginManager = new _PluginManager.default();
33
+
34
+ var MockRpcMethodType = /*#__PURE__*/function (_RpcMethodType) {
35
+ (0, _inherits2.default)(MockRpcMethodType, _RpcMethodType);
36
+
37
+ var _super = _createSuper(MockRpcMethodType);
38
+
39
+ function MockRpcMethodType() {
40
+ (0, _classCallCheck2.default)(this, MockRpcMethodType);
41
+ return _super.apply(this, arguments);
42
+ }
43
+
44
+ (0, _createClass2.default)(MockRpcMethodType, [{
45
+ key: "execute",
46
+ value: function () {
47
+ var _execute = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
48
+ return _regenerator.default.wrap(function _callee$(_context) {
49
+ while (1) {
50
+ switch (_context.prev = _context.next) {
51
+ case 0:
52
+ case "end":
53
+ return _context.stop();
54
+ }
55
+ }
56
+ }, _callee);
57
+ }));
58
+
59
+ function execute() {
60
+ return _execute.apply(this, arguments);
61
+ }
62
+
63
+ return execute;
64
+ }()
65
+ }]);
66
+ return MockRpcMethodType;
67
+ }(_RpcMethodType2.default);
68
+
69
+ exports.MockRpcMethodType = MockRpcMethodType;
70
+ test('test serialize arguments with augmentLocationObject', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
71
+ var mockRpc, locationInAdapter, deeplyNestedLocation;
72
+ return _regenerator.default.wrap(function _callee2$(_context2) {
73
+ while (1) {
74
+ switch (_context2.prev = _context2.next) {
75
+ case 0:
76
+ mockRpc = new MockRpcMethodType(pluginManager);
77
+ mockRpc.serializeNewAuthArguments = jest.fn().mockReturnValue({
78
+ locationType: 'UriLocation',
79
+ uri: 'test',
80
+ internetAccountId: 'HTTPBasicInternetAccount-test'
81
+ });
82
+ locationInAdapter = {
83
+ locationType: 'UriLocation',
84
+ uri: 'test',
85
+ internetAccountId: 'HTTPBasicInternetAccount-test'
86
+ };
87
+ deeplyNestedLocation = {
88
+ locationType: 'UriLocation',
89
+ uri: 'test2',
90
+ internetAccountId: 'HTTPBasicInternetAccount-test2'
91
+ };
92
+ _context2.next = 6;
93
+ return mockRpc.serializeArguments({
94
+ adapter: {
95
+ testLocation: locationInAdapter
96
+ },
97
+ filters: [],
98
+ signal: 'teststring',
99
+ randomProperty: 'randomstring',
100
+ parentObject: {
101
+ nestedObject: {
102
+ arrayInNestedObject: [deeplyNestedLocation]
103
+ }
104
+ }
105
+ }, '');
106
+
107
+ case 6:
108
+ expect(mockRpc.serializeNewAuthArguments).toHaveBeenCalledTimes(2);
109
+ expect(mockRpc.serializeNewAuthArguments).toHaveBeenCalledWith(locationInAdapter);
110
+ expect(mockRpc.serializeNewAuthArguments).toHaveBeenCalledWith(deeplyNestedLocation);
111
+
112
+ case 9:
113
+ case "end":
114
+ return _context2.stop();
115
+ }
116
+ }
117
+ }, _callee2);
118
+ })));
@@ -1,4 +1,4 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
2
  import { IAnyModelType, IAnyStateTreeNode } from 'mobx-state-tree';
3
3
  import PluggableElementBase from './PluggableElementBase';
4
4
  import DisplayType from './DisplayType';
@@ -1,3 +1,4 @@
1
+ import React from 'react';
1
2
  import { ComponentType, LazyExoticComponent } from 'react';
2
3
  import { IAnyModelType, IAnyStateTreeNode } from 'mobx-state-tree';
3
4
  import PluggableElementBase from './PluggableElementBase';
@@ -6,6 +6,10 @@ import TrackType from './TrackType';
6
6
  import DisplayType from './DisplayType';
7
7
  import ViewType from './ViewType';
8
8
  import RpcMethodType from './RpcMethodType';
9
- import TextSearchAdapter from './TextSearchAdapterType';
10
- export declare type PluggableElementType = AdapterType | ConnectionType | RendererType | WidgetType | TrackType | DisplayType | ViewType | RpcMethodType | TextSearchAdapter;
11
- export declare type PluggableElementMember = keyof AdapterType | keyof ConnectionType | keyof RendererType | keyof WidgetType | keyof TrackType | keyof DisplayType | keyof ViewType | keyof RpcMethodType | keyof TextSearchAdapter;
9
+ import InternetAccountType from './InternetAccountType';
10
+ import TextSearchAdapterType from './TextSearchAdapterType';
11
+ export * from './renderers';
12
+ export * from './models';
13
+ export { AdapterType, ConnectionType, RendererType, WidgetType, TrackType, DisplayType, ViewType, RpcMethodType, InternetAccountType, TextSearchAdapterType, };
14
+ export declare type PluggableElementType = AdapterType | ConnectionType | RendererType | WidgetType | TrackType | DisplayType | ViewType | RpcMethodType | InternetAccountType | TextSearchAdapterType;
15
+ export declare type PluggableElementMember = keyof AdapterType | keyof ConnectionType | keyof RendererType | keyof WidgetType | keyof TrackType | keyof DisplayType | keyof ViewType | keyof RpcMethodType | keyof InternetAccountType | keyof TextSearchAdapterType;
@@ -1 +1,127 @@
1
- "use strict";
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ var _exportNames = {
9
+ AdapterType: true,
10
+ ConnectionType: true,
11
+ RendererType: true,
12
+ WidgetType: true,
13
+ TrackType: true,
14
+ DisplayType: true,
15
+ ViewType: true,
16
+ RpcMethodType: true,
17
+ InternetAccountType: true,
18
+ TextSearchAdapterType: true
19
+ };
20
+ Object.defineProperty(exports, "AdapterType", {
21
+ enumerable: true,
22
+ get: function get() {
23
+ return _AdapterType.default;
24
+ }
25
+ });
26
+ Object.defineProperty(exports, "ConnectionType", {
27
+ enumerable: true,
28
+ get: function get() {
29
+ return _ConnectionType.default;
30
+ }
31
+ });
32
+ Object.defineProperty(exports, "DisplayType", {
33
+ enumerable: true,
34
+ get: function get() {
35
+ return _DisplayType.default;
36
+ }
37
+ });
38
+ Object.defineProperty(exports, "InternetAccountType", {
39
+ enumerable: true,
40
+ get: function get() {
41
+ return _InternetAccountType.default;
42
+ }
43
+ });
44
+ Object.defineProperty(exports, "RendererType", {
45
+ enumerable: true,
46
+ get: function get() {
47
+ return _RendererType.default;
48
+ }
49
+ });
50
+ Object.defineProperty(exports, "RpcMethodType", {
51
+ enumerable: true,
52
+ get: function get() {
53
+ return _RpcMethodType.default;
54
+ }
55
+ });
56
+ Object.defineProperty(exports, "TextSearchAdapterType", {
57
+ enumerable: true,
58
+ get: function get() {
59
+ return _TextSearchAdapterType.default;
60
+ }
61
+ });
62
+ Object.defineProperty(exports, "TrackType", {
63
+ enumerable: true,
64
+ get: function get() {
65
+ return _TrackType.default;
66
+ }
67
+ });
68
+ Object.defineProperty(exports, "ViewType", {
69
+ enumerable: true,
70
+ get: function get() {
71
+ return _ViewType.default;
72
+ }
73
+ });
74
+ Object.defineProperty(exports, "WidgetType", {
75
+ enumerable: true,
76
+ get: function get() {
77
+ return _WidgetType.default;
78
+ }
79
+ });
80
+
81
+ var _AdapterType = _interopRequireDefault(require("./AdapterType"));
82
+
83
+ var _ConnectionType = _interopRequireDefault(require("./ConnectionType"));
84
+
85
+ var _RendererType = _interopRequireDefault(require("./renderers/RendererType"));
86
+
87
+ var _WidgetType = _interopRequireDefault(require("./WidgetType"));
88
+
89
+ var _TrackType = _interopRequireDefault(require("./TrackType"));
90
+
91
+ var _DisplayType = _interopRequireDefault(require("./DisplayType"));
92
+
93
+ var _ViewType = _interopRequireDefault(require("./ViewType"));
94
+
95
+ var _RpcMethodType = _interopRequireDefault(require("./RpcMethodType"));
96
+
97
+ var _InternetAccountType = _interopRequireDefault(require("./InternetAccountType"));
98
+
99
+ var _TextSearchAdapterType = _interopRequireDefault(require("./TextSearchAdapterType"));
100
+
101
+ var _renderers = require("./renderers");
102
+
103
+ Object.keys(_renderers).forEach(function (key) {
104
+ if (key === "default" || key === "__esModule") return;
105
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
106
+ if (key in exports && exports[key] === _renderers[key]) return;
107
+ Object.defineProperty(exports, key, {
108
+ enumerable: true,
109
+ get: function get() {
110
+ return _renderers[key];
111
+ }
112
+ });
113
+ });
114
+
115
+ var _models = require("./models");
116
+
117
+ Object.keys(_models).forEach(function (key) {
118
+ if (key === "default" || key === "__esModule") return;
119
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
120
+ if (key in exports && exports[key] === _models[key]) return;
121
+ Object.defineProperty(exports, key, {
122
+ enumerable: true,
123
+ get: function get() {
124
+ return _models[key];
125
+ }
126
+ });
127
+ });