@jbrowse/core 1.4.1 → 1.5.2

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 -6
  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
@@ -32,43 +32,87 @@ export declare const Region: import("mobx-state-tree").IModelType<{
32
32
  setRefName(newRefName: string): void;
33
33
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
34
34
  export declare const LocalPathLocation: import("mobx-state-tree").IModelType<{
35
+ locationType: import("mobx-state-tree").ISimpleType<"LocalPathLocation">;
35
36
  localPath: import("mobx-state-tree").ISimpleType<string>;
36
37
  }, {}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
37
38
  export declare const BlobLocation: import("mobx-state-tree").IModelType<{
39
+ locationType: import("mobx-state-tree").ISimpleType<"BlobLocation">;
38
40
  name: import("mobx-state-tree").ISimpleType<string>;
39
41
  blobId: import("mobx-state-tree").ISimpleType<string>;
40
42
  }, {}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
41
43
  export declare const UriLocationRaw: import("mobx-state-tree").IModelType<{
44
+ locationType: import("mobx-state-tree").ISimpleType<"UriLocation">;
42
45
  uri: import("mobx-state-tree").ISimpleType<string>;
43
46
  baseUri: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
47
+ internetAccountId: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
48
+ internetAccountPreAuthorization: import("mobx-state-tree").IMaybe<import("mobx-state-tree").IModelType<{
49
+ internetAccountType: import("mobx-state-tree").ISimpleType<string>;
50
+ authInfo: import("mobx-state-tree").IType<any, any, any>;
51
+ }, {}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
44
52
  }, {}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
45
53
  export declare const UriLocation: import("mobx-state-tree").ISnapshotProcessor<import("mobx-state-tree").IModelType<{
54
+ locationType: import("mobx-state-tree").ISimpleType<"UriLocation">;
46
55
  uri: import("mobx-state-tree").ISimpleType<string>;
47
56
  baseUri: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
57
+ internetAccountId: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
58
+ internetAccountPreAuthorization: import("mobx-state-tree").IMaybe<import("mobx-state-tree").IModelType<{
59
+ internetAccountType: import("mobx-state-tree").ISimpleType<string>;
60
+ authInfo: import("mobx-state-tree").IType<any, any, any>;
61
+ }, {}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
48
62
  }, {}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>, import("mobx-state-tree")._NotCustomized, {
63
+ locationType: "UriLocation";
49
64
  uri: string;
65
+ internetAccountId: string | undefined;
66
+ internetAccountPreAuthorization: import("mobx-state-tree").ModelSnapshotType<{
67
+ internetAccountType: import("mobx-state-tree").ISimpleType<string>;
68
+ authInfo: import("mobx-state-tree").IType<any, any, any>;
69
+ }> | undefined;
50
70
  }>;
51
- export declare const FileLocation: import("mobx-state-tree").ITypeUnion<import("mobx-state-tree").ModelCreationType<import("mobx-state-tree/dist/internal").ExtractCFromProps<{
71
+ export declare const FileLocation: import("mobx-state-tree").ISnapshotProcessor<import("mobx-state-tree").ITypeUnion<import("mobx-state-tree").ModelCreationType<import("mobx-state-tree/dist/internal").ExtractCFromProps<{
72
+ locationType: import("mobx-state-tree").ISimpleType<"UriLocation">;
52
73
  uri: import("mobx-state-tree").ISimpleType<string>;
53
74
  baseUri: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
75
+ internetAccountId: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
76
+ internetAccountPreAuthorization: import("mobx-state-tree").IMaybe<import("mobx-state-tree").IModelType<{
77
+ internetAccountType: import("mobx-state-tree").ISimpleType<string>;
78
+ authInfo: import("mobx-state-tree").IType<any, any, any>;
79
+ }, {}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
54
80
  }>> | import("mobx-state-tree").ModelCreationType<import("mobx-state-tree/dist/internal").ExtractCFromProps<{
81
+ locationType: import("mobx-state-tree").ISimpleType<"LocalPathLocation">;
55
82
  localPath: import("mobx-state-tree").ISimpleType<string>;
56
83
  }>> | import("mobx-state-tree").ModelCreationType<import("mobx-state-tree/dist/internal").ExtractCFromProps<{
84
+ locationType: import("mobx-state-tree").ISimpleType<"BlobLocation">;
57
85
  name: import("mobx-state-tree").ISimpleType<string>;
58
86
  blobId: import("mobx-state-tree").ISimpleType<string>;
59
87
  }>>, {
88
+ locationType: "UriLocation";
60
89
  uri: string;
90
+ internetAccountId: string | undefined;
91
+ internetAccountPreAuthorization: import("mobx-state-tree").ModelSnapshotType<{
92
+ internetAccountType: import("mobx-state-tree").ISimpleType<string>;
93
+ authInfo: import("mobx-state-tree").IType<any, any, any>;
94
+ }> | undefined;
61
95
  } | import("mobx-state-tree").ModelSnapshotType<{
96
+ locationType: import("mobx-state-tree").ISimpleType<"LocalPathLocation">;
62
97
  localPath: import("mobx-state-tree").ISimpleType<string>;
63
98
  }> | import("mobx-state-tree").ModelSnapshotType<{
99
+ locationType: import("mobx-state-tree").ISimpleType<"BlobLocation">;
64
100
  name: import("mobx-state-tree").ISimpleType<string>;
65
101
  blobId: import("mobx-state-tree").ISimpleType<string>;
66
102
  }>, import("mobx-state-tree").ModelCreationType<import("mobx-state-tree/dist/internal").ExtractCFromProps<{
103
+ locationType: import("mobx-state-tree").ISimpleType<"UriLocation">;
67
104
  uri: import("mobx-state-tree").ISimpleType<string>;
68
105
  baseUri: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
106
+ internetAccountId: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
107
+ internetAccountPreAuthorization: import("mobx-state-tree").IMaybe<import("mobx-state-tree").IModelType<{
108
+ internetAccountType: import("mobx-state-tree").ISimpleType<string>;
109
+ authInfo: import("mobx-state-tree").IType<any, any, any>;
110
+ }, {}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
69
111
  }>> | import("mobx-state-tree").ModelInstanceTypeProps<{
112
+ locationType: import("mobx-state-tree").ISimpleType<"LocalPathLocation">;
70
113
  localPath: import("mobx-state-tree").ISimpleType<string>;
71
114
  }> | import("mobx-state-tree").ModelInstanceTypeProps<{
115
+ locationType: import("mobx-state-tree").ISimpleType<"BlobLocation">;
72
116
  name: import("mobx-state-tree").ISimpleType<string>;
73
117
  blobId: import("mobx-state-tree").ISimpleType<string>;
74
- }>>;
118
+ }>>, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
package/util/types/mst.js CHANGED
@@ -5,7 +5,9 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.FileLocation = exports.UriLocation = exports.UriLocationRaw = exports.BlobLocation = exports.LocalPathLocation = exports.Region = exports.NoAssemblyRegion = exports.PropTypes = exports.ElementId = void 0;
8
+ exports.UriLocationRaw = exports.UriLocation = exports.Region = exports.PropTypes = exports.NoAssemblyRegion = exports.LocalPathLocation = exports.FileLocation = exports.ElementId = exports.BlobLocation = void 0;
9
+
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
11
 
10
12
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
13
 
@@ -17,7 +19,12 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
17
19
 
18
20
  var _mobxReact = require("mobx-react");
19
21
 
20
- var _excluded = ["baseUri"];
22
+ var _excluded = ["baseUri"],
23
+ _excluded2 = ["locationType"];
24
+
25
+ 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; }
26
+
27
+ 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; }
21
28
 
22
29
  var ElementId = _mobxStateTree.types.optional(_mobxStateTree.types.identifier, _shortid.default.generate); // PropTypes that are useful when working with instances of these in react components
23
30
 
@@ -59,24 +66,32 @@ var Region = _mobxStateTree.types.compose('Region', NoAssemblyRegion, _mobxState
59
66
  exports.Region = Region;
60
67
 
61
68
  var LocalPathLocation = _mobxStateTree.types.model('LocalPathLocation', {
62
- localPath: _mobxStateTree.types.string // TODO: refine
69
+ locationType: _mobxStateTree.types.literal('LocalPathLocation'),
70
+ localPath: _mobxStateTree.types.string
71
+ }); // like how blobId is used to get a blob map
63
72
 
64
- });
65
73
 
66
74
  exports.LocalPathLocation = LocalPathLocation;
67
75
 
68
76
  var BlobLocation = _mobxStateTree.types.model('BlobLocation', {
77
+ locationType: _mobxStateTree.types.literal('BlobLocation'),
69
78
  name: _mobxStateTree.types.string,
70
- // TODO: refine
71
79
  blobId: _mobxStateTree.types.string
72
80
  });
73
81
 
74
82
  exports.BlobLocation = BlobLocation;
75
83
 
76
84
  var UriLocationRaw = _mobxStateTree.types.model('UriLocation', {
85
+ locationType: _mobxStateTree.types.literal('UriLocation'),
77
86
  uri: _mobxStateTree.types.string,
78
- // TODO: refine
79
- baseUri: _mobxStateTree.types.maybe(_mobxStateTree.types.string)
87
+ baseUri: _mobxStateTree.types.maybe(_mobxStateTree.types.string),
88
+ internetAccountId: _mobxStateTree.types.maybe(_mobxStateTree.types.string),
89
+ // auths information (such as tokens) needed for using this resource.
90
+ // if provided, these must be completely sufficient for using it
91
+ internetAccountPreAuthorization: _mobxStateTree.types.maybe(_mobxStateTree.types.model('InternetAccountPreAuthorization', {
92
+ internetAccountType: _mobxStateTree.types.string,
93
+ authInfo: _mobxStateTree.types.frozen()
94
+ }))
80
95
  });
81
96
 
82
97
  exports.UriLocationRaw = UriLocationRaw;
@@ -96,6 +111,39 @@ var UriLocation = _mobxStateTree.types.snapshotProcessor(UriLocationRaw, {
96
111
 
97
112
  exports.UriLocation = UriLocation;
98
113
 
99
- var FileLocation = _mobxStateTree.types.union(LocalPathLocation, UriLocation, BlobLocation);
114
+ var FileLocation = _mobxStateTree.types.snapshotProcessor(_mobxStateTree.types.union(LocalPathLocation, UriLocation, BlobLocation), {
115
+ // @ts-ignore
116
+ preProcessor: function preProcessor(snapshot) {
117
+ if (!snapshot) {
118
+ return undefined;
119
+ } // @ts-ignore
120
+
121
+
122
+ var locationType = snapshot.locationType,
123
+ rest = (0, _objectWithoutProperties2.default)(snapshot, _excluded2);
124
+
125
+ if (!locationType) {
126
+ // @ts-ignore
127
+ var uri = rest.uri,
128
+ localPath = rest.localPath,
129
+ blob = rest.blob;
130
+ var _locationType = '';
131
+
132
+ if (uri !== undefined) {
133
+ _locationType = 'UriLocation';
134
+ } else if (localPath !== undefined) {
135
+ _locationType = 'LocalPathLocation';
136
+ } else if (blob !== undefined) {
137
+ _locationType = 'BlobLocation';
138
+ }
139
+
140
+ return _objectSpread(_objectSpread({}, rest), {}, {
141
+ locationType: _locationType
142
+ });
143
+ }
144
+
145
+ return snapshot;
146
+ }
147
+ });
100
148
 
101
149
  exports.FileLocation = FileLocation;
@@ -1,4 +1,4 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
2
  import { IAnyModelType, Instance } from 'mobx-state-tree';
3
3
  import PluginManager from '../../PluginManager';
4
4
  /**
package/util/when.js CHANGED
@@ -64,7 +64,7 @@ function when(getter) {
64
64
  if (!finished) {
65
65
  finished = true;
66
66
  finishTimeout();
67
- resolve();
67
+ resolve(true);
68
68
  }
69
69
  }).catch(function (err) {
70
70
  if (!finished) {
@@ -1,7 +0,0 @@
1
- import { SnapshotIn } from 'mobx-state-tree';
2
- import PluginManager from '../PluginManager';
3
- declare const _default: (pluginManager: PluginManager) => {
4
- assemblyConfigSchemas: import("../configuration/configurationSchema").AnyConfigurationSchemaType[];
5
- dispatcher: (snapshot: import("mobx-state-tree").ModelCreationType<import("mobx-state-tree/dist/internal").ExtractCFromProps<Record<string, any>>> | undefined) => import("../configuration/configurationSchema").AnyConfigurationSchemaType;
6
- };
7
- export default _default;
@@ -1,9 +0,0 @@
1
- /// <reference types="react" />
2
- import { LocalPathLocation, UriLocation, FileLocation, BlobLocation } from '../util/types';
3
- declare const FileLocationEditor: (props: {
4
- location?: LocalPathLocation | UriLocation | BlobLocation | undefined;
5
- setLocation: (param: FileLocation) => void;
6
- name?: string | undefined;
7
- description?: string | undefined;
8
- }) => JSX.Element;
9
- export default FileLocationEditor;
@@ -1,150 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
- Object.defineProperty(exports, "__esModule", {
8
- value: true
9
- });
10
- exports.default = void 0;
11
-
12
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
-
14
- var _react = _interopRequireWildcard(require("react"));
15
-
16
- var _core = require("@material-ui/core");
17
-
18
- var _lab = require("@material-ui/lab");
19
-
20
- var _mobxReact = require("mobx-react");
21
-
22
- var _util = require("../util");
23
-
24
- var _tracks = require("../util/tracks");
25
-
26
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
27
-
28
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
29
-
30
- function isUriLocation(location) {
31
- return 'uri' in location;
32
- }
33
-
34
- function isLocalPathLocation(location) {
35
- return 'localPath' in location;
36
- }
37
-
38
- function isBlobLocation(location) {
39
- return 'blobId' in location;
40
- }
41
-
42
- var FileLocationEditor = (0, _mobxReact.observer)(function (props) {
43
- var location = props.location,
44
- name = props.name,
45
- description = props.description;
46
- var fileOrUrl = !location || isUriLocation(location) ? 'url' : 'file';
47
-
48
- var _useState = (0, _react.useState)(fileOrUrl),
49
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
50
- fileOrUrlState = _useState2[0],
51
- setFileOrUrlState = _useState2[1];
52
-
53
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_core.InputLabel, {
54
- shrink: true,
55
- htmlFor: "callback-editor"
56
- }, name), /*#__PURE__*/_react.default.createElement(_core.Grid, {
57
- container: true,
58
- spacing: 1,
59
- direction: "row",
60
- alignItems: "center"
61
- }, /*#__PURE__*/_react.default.createElement(_core.Grid, {
62
- item: true
63
- }, /*#__PURE__*/_react.default.createElement(_lab.ToggleButtonGroup, {
64
- value: fileOrUrlState,
65
- exclusive: true,
66
- onChange: function onChange(_, newValue) {
67
- if (newValue === 'url') {
68
- setFileOrUrlState('url');
69
- } else if (newValue === 'file') {
70
- setFileOrUrlState('file');
71
- }
72
- },
73
- "aria-label": "file or url picker"
74
- }, new URLSearchParams(window.location.search).get('adminKey') ? null : /*#__PURE__*/_react.default.createElement(_lab.ToggleButton, {
75
- value: "file",
76
- "aria-label": "local file"
77
- }, "File"), /*#__PURE__*/_react.default.createElement(_lab.ToggleButton, {
78
- value: "url",
79
- "aria-label": "url"
80
- }, "URL"))), /*#__PURE__*/_react.default.createElement(_core.Grid, {
81
- item: true
82
- }, fileOrUrlState === 'url' ? /*#__PURE__*/_react.default.createElement(UrlChooser, props) : /*#__PURE__*/_react.default.createElement(LocalFileChooser, props))), /*#__PURE__*/_react.default.createElement(_core.FormHelperText, null, description));
83
- });
84
-
85
- var UrlChooser = function UrlChooser(props) {
86
- var location = props.location,
87
- setLocation = props.setLocation;
88
- return /*#__PURE__*/_react.default.createElement(_core.TextField, {
89
- fullWidth: true,
90
- inputProps: {
91
- 'data-testid': 'urlInput'
92
- },
93
- defaultValue: location && isUriLocation(location) ? location.uri : '',
94
- onChange: function onChange(event) {
95
- return setLocation({
96
- uri: event.target.value.trim()
97
- });
98
- }
99
- });
100
- };
101
-
102
- var LocalFileChooser = (0, _mobxReact.observer)(function (props) {
103
- var location = props.location,
104
- setLocation = props.setLocation;
105
- var filename = location && (isBlobLocation(location) && location.name || isLocalPathLocation(location) && location.localPath);
106
- var needToReload = location && isBlobLocation(location) && !(0, _tracks.getBlob)(location.blobId);
107
- return /*#__PURE__*/_react.default.createElement("div", {
108
- style: {
109
- position: 'relative'
110
- }
111
- }, /*#__PURE__*/_react.default.createElement(_core.Button, {
112
- variant: "outlined",
113
- component: "label"
114
- }, "Choose File", /*#__PURE__*/_react.default.createElement("input", {
115
- type: "file",
116
- style: {
117
- position: 'absolute',
118
- top: 0,
119
- left: 0,
120
- width: '100%',
121
- opacity: 0
122
- },
123
- onChange: function onChange(_ref) {
124
- var target = _ref.target;
125
- var file = target && target.files && target.files[0];
126
-
127
- if (file) {
128
- if (_util.isElectron) {
129
- setLocation({
130
- localPath: file.path
131
- });
132
- } else {
133
- setLocation((0, _tracks.storeBlobLocation)({
134
- blob: file
135
- }));
136
- }
137
- }
138
- }
139
- })), filename ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_core.Typography, {
140
- style: {
141
- marginLeft: '0.4rem'
142
- },
143
- variant: "body1",
144
- component: "span"
145
- }, filename), needToReload ? /*#__PURE__*/_react.default.createElement(_core.Typography, {
146
- color: "error"
147
- }, "(need to reload)") : null) : null);
148
- });
149
- var _default = FileLocationEditor;
150
- exports.default = _default;
@@ -1,18 +0,0 @@
1
- /// <reference types="node" />
2
- import { GenericFilehandle, FilehandleOptions } from 'generic-filehandle';
3
- export default class LocalFile implements GenericFilehandle {
4
- private fdPromise?;
5
- private filename;
6
- private fsOpenPromise;
7
- private fsReadPromise;
8
- private fsReadFilePromise;
9
- private fsStatPromise;
10
- constructor(source: string, _opts?: FilehandleOptions);
11
- private getFd;
12
- read(buffer: Buffer, offset: number | undefined, length: number, position?: number): Promise<{
13
- bytesRead: number;
14
- buffer: Buffer;
15
- }>;
16
- readFile(options?: FilehandleOptions | string): Promise<Buffer | string>;
17
- stat(): Promise<import('fs').Stats>;
18
- }
@@ -1,220 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
- Object.defineProperty(exports, "__esModule", {
8
- value: true
9
- });
10
- exports.default = void 0;
11
-
12
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
13
-
14
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
15
-
16
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
-
18
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
19
-
20
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
21
-
22
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
-
24
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
25
-
26
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
27
-
28
- var LocalFile = /*#__PURE__*/function () {
29
- function LocalFile(source) {
30
- var _opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
31
-
32
- (0, _classCallCheck2.default)(this, LocalFile);
33
- (0, _defineProperty2.default)(this, "fdPromise", void 0);
34
- (0, _defineProperty2.default)(this, "filename", void 0);
35
- (0, _defineProperty2.default)(this, "fsOpenPromise", void 0);
36
- (0, _defineProperty2.default)(this, "fsReadPromise", void 0);
37
- (0, _defineProperty2.default)(this, "fsReadFilePromise", void 0);
38
- (0, _defineProperty2.default)(this, "fsStatPromise", void 0);
39
- this.filename = source;
40
- var utilPromise = Promise.resolve().then(function () {
41
- return _interopRequireWildcard(require('util'));
42
- });
43
- var fsPromise = Promise.resolve().then(function () {
44
- return _interopRequireWildcard(require('fs'));
45
- });
46
- this.fsOpenPromise = Promise.all([utilPromise, fsPromise]).then(function (_ref) {
47
- var _ref2 = (0, _slicedToArray2.default)(_ref, 2),
48
- util = _ref2[0],
49
- fs = _ref2[1];
50
-
51
- return util.promisify(fs.open);
52
- });
53
- this.fsReadPromise = Promise.all([utilPromise, fsPromise]).then(function (_ref3) {
54
- var _ref4 = (0, _slicedToArray2.default)(_ref3, 2),
55
- util = _ref4[0],
56
- fs = _ref4[1];
57
-
58
- return util.promisify(fs.read);
59
- });
60
- this.fsReadFilePromise = Promise.all([utilPromise, fsPromise]).then(function (_ref5) {
61
- var _ref6 = (0, _slicedToArray2.default)(_ref5, 2),
62
- util = _ref6[0],
63
- fs = _ref6[1];
64
-
65
- return util.promisify(fs.readFile);
66
- });
67
- this.fsStatPromise = Promise.all([utilPromise, fsPromise]).then(function (_ref7) {
68
- var _ref8 = (0, _slicedToArray2.default)(_ref7, 2),
69
- util = _ref8[0],
70
- fs = _ref8[1];
71
-
72
- return util.promisify(fs.stat);
73
- });
74
- }
75
-
76
- (0, _createClass2.default)(LocalFile, [{
77
- key: "getFd",
78
- value: function () {
79
- var _getFd = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
80
- return _regenerator.default.wrap(function _callee$(_context) {
81
- while (1) {
82
- switch (_context.prev = _context.next) {
83
- case 0:
84
- if (this.fdPromise) {
85
- _context.next = 5;
86
- break;
87
- }
88
-
89
- _context.next = 3;
90
- return this.fsOpenPromise;
91
-
92
- case 3:
93
- _context.t0 = _context.sent;
94
- this.fdPromise = (0, _context.t0)(this.filename, 'r');
95
-
96
- case 5:
97
- return _context.abrupt("return", this.fdPromise);
98
-
99
- case 6:
100
- case "end":
101
- return _context.stop();
102
- }
103
- }
104
- }, _callee, this);
105
- }));
106
-
107
- function getFd() {
108
- return _getFd.apply(this, arguments);
109
- }
110
-
111
- return getFd;
112
- }()
113
- }, {
114
- key: "read",
115
- value: function () {
116
- var _read = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(buffer) {
117
- var offset,
118
- length,
119
- position,
120
- fetchLength,
121
- fd,
122
- _args2 = arguments;
123
- return _regenerator.default.wrap(function _callee2$(_context2) {
124
- while (1) {
125
- switch (_context2.prev = _context2.next) {
126
- case 0:
127
- offset = _args2.length > 1 && _args2[1] !== undefined ? _args2[1] : 0;
128
- length = _args2.length > 2 ? _args2[2] : undefined;
129
- position = _args2.length > 3 && _args2[3] !== undefined ? _args2[3] : 0;
130
- fetchLength = Math.min(buffer.length - offset, length);
131
- _context2.next = 6;
132
- return this.getFd();
133
-
134
- case 6:
135
- fd = _context2.sent;
136
- _context2.next = 9;
137
- return this.fsReadPromise;
138
-
139
- case 9:
140
- _context2.t0 = _context2.sent;
141
- return _context2.abrupt("return", (0, _context2.t0)(fd, buffer, offset, fetchLength, position));
142
-
143
- case 11:
144
- case "end":
145
- return _context2.stop();
146
- }
147
- }
148
- }, _callee2, this);
149
- }));
150
-
151
- function read(_x) {
152
- return _read.apply(this, arguments);
153
- }
154
-
155
- return read;
156
- }()
157
- }, {
158
- key: "readFile",
159
- value: function () {
160
- var _readFile = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(options) {
161
- return _regenerator.default.wrap(function _callee3$(_context3) {
162
- while (1) {
163
- switch (_context3.prev = _context3.next) {
164
- case 0:
165
- _context3.next = 2;
166
- return this.fsReadFilePromise;
167
-
168
- case 2:
169
- _context3.t0 = _context3.sent;
170
- return _context3.abrupt("return", (0, _context3.t0)(this.filename, options));
171
-
172
- case 4:
173
- case "end":
174
- return _context3.stop();
175
- }
176
- }
177
- }, _callee3, this);
178
- }));
179
-
180
- function readFile(_x2) {
181
- return _readFile.apply(this, arguments);
182
- }
183
-
184
- return readFile;
185
- }() // todo memoize
186
-
187
- }, {
188
- key: "stat",
189
- value: function () {
190
- var _stat = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() {
191
- return _regenerator.default.wrap(function _callee4$(_context4) {
192
- while (1) {
193
- switch (_context4.prev = _context4.next) {
194
- case 0:
195
- _context4.next = 2;
196
- return this.fsStatPromise;
197
-
198
- case 2:
199
- _context4.t0 = _context4.sent;
200
- return _context4.abrupt("return", (0, _context4.t0)(this.filename));
201
-
202
- case 4:
203
- case "end":
204
- return _context4.stop();
205
- }
206
- }
207
- }, _callee4, this);
208
- }));
209
-
210
- function stat() {
211
- return _stat.apply(this, arguments);
212
- }
213
-
214
- return stat;
215
- }()
216
- }]);
217
- return LocalFile;
218
- }();
219
-
220
- exports.default = LocalFile;
@@ -1,3 +0,0 @@
1
- import { GenericFilehandle } from 'generic-filehandle';
2
- export declare function clearCache(): void;
3
- export declare function openUrl(url: string): GenericFilehandle;