@jbrowse/core 2.0.0 → 2.1.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 (184) hide show
  1. package/BaseFeatureWidget/BaseFeatureDetail.d.ts +9 -3
  2. package/BaseFeatureWidget/BaseFeatureDetail.js +313 -581
  3. package/BaseFeatureWidget/SequenceFeatureDetails.js +213 -478
  4. package/BaseFeatureWidget/index.js +88 -126
  5. package/BaseFeatureWidget/types.d.ts +1 -0
  6. package/BaseFeatureWidget/types.js +1 -4
  7. package/BaseFeatureWidget/util.js +40 -75
  8. package/CorePlugin.js +55 -94
  9. package/Plugin.js +9 -34
  10. package/PluginLoader.js +153 -422
  11. package/PluginManager.d.ts +28 -33
  12. package/PluginManager.js +377 -666
  13. package/ReExports/Attributes.js +3 -10
  14. package/ReExports/BaseCard.js +3 -10
  15. package/ReExports/DataGrid.js +5 -12
  16. package/ReExports/FeatureDetails.js +3 -10
  17. package/ReExports/index.js +6 -12
  18. package/ReExports/list.d.ts +5 -0
  19. package/ReExports/list.js +271 -7
  20. package/ReExports/material-ui-colors.js +15 -16
  21. package/ReExports/modules.d.ts +11 -20
  22. package/ReExports/modules.js +453 -798
  23. package/TextSearch/BaseResults.js +51 -123
  24. package/TextSearch/TextSearchManager.js +66 -144
  25. package/assemblyManager/assembly.js +280 -555
  26. package/assemblyManager/assemblyConfigSchema.js +47 -64
  27. package/assemblyManager/assemblyManager.js +126 -272
  28. package/assemblyManager/index.js +9 -22
  29. package/configuration/configurationSchema.js +167 -203
  30. package/configuration/configurationSlot.js +248 -326
  31. package/configuration/index.js +19 -35
  32. package/configuration/util.js +131 -173
  33. package/data_adapters/BaseAdapter.d.ts +2 -2
  34. package/data_adapters/BaseAdapter.js +132 -521
  35. package/data_adapters/CytobandAdapter.js +40 -126
  36. package/data_adapters/dataAdapterCache.js +77 -158
  37. package/package.json +4 -5
  38. package/pluggableElementTypes/AdapterType.js +24 -79
  39. package/pluggableElementTypes/AddTrackWorkflowType.d.ts +17 -0
  40. package/pluggableElementTypes/AddTrackWorkflowType.js +20 -0
  41. package/pluggableElementTypes/ConnectionType.js +22 -65
  42. package/pluggableElementTypes/DisplayType.js +35 -82
  43. package/pluggableElementTypes/InternetAccountType.js +23 -64
  44. package/pluggableElementTypes/PluggableElementBase.js +8 -20
  45. package/pluggableElementTypes/RpcMethodType.js +85 -427
  46. package/pluggableElementTypes/TextSearchAdapterType.js +16 -55
  47. package/pluggableElementTypes/TrackType.js +26 -70
  48. package/pluggableElementTypes/ViewType.js +21 -63
  49. package/pluggableElementTypes/WidgetType.js +21 -64
  50. package/pluggableElementTypes/index.d.ts +4 -3
  51. package/pluggableElementTypes/index.js +42 -125
  52. package/pluggableElementTypes/models/BaseConnectionModelFactory.js +28 -43
  53. package/pluggableElementTypes/models/BaseDisplayModel.js +58 -95
  54. package/pluggableElementTypes/models/BaseTrackModel.js +139 -199
  55. package/pluggableElementTypes/models/BaseViewModel.js +24 -40
  56. package/pluggableElementTypes/models/InternetAccountModel.js +116 -263
  57. package/pluggableElementTypes/models/baseConnectionConfig.js +14 -25
  58. package/pluggableElementTypes/models/baseInternetAccountConfig.js +29 -38
  59. package/pluggableElementTypes/models/baseTrackConfig.js +106 -133
  60. package/pluggableElementTypes/models/index.js +21 -70
  61. package/pluggableElementTypes/renderers/BoxRendererType.js +132 -291
  62. package/pluggableElementTypes/renderers/CircularChordRendererType.js +8 -38
  63. package/pluggableElementTypes/renderers/ComparativeServerSideRendererType.js +60 -192
  64. package/pluggableElementTypes/renderers/FeatureRendererType.d.ts +0 -2
  65. package/pluggableElementTypes/renderers/FeatureRendererType.js +89 -255
  66. package/pluggableElementTypes/renderers/RendererType.js +31 -105
  67. package/pluggableElementTypes/renderers/ServerSideRenderedContent.js +61 -72
  68. package/pluggableElementTypes/renderers/ServerSideRendererType.js +112 -265
  69. package/pluggableElementTypes/renderers/index.js +19 -62
  70. package/pluggableElementTypes/renderers/util/serializableFilterChain.js +27 -65
  71. package/rpc/BaseRpcDriver.js +169 -405
  72. package/rpc/MainThreadRpcDriver.js +27 -150
  73. package/rpc/RpcManager.js +58 -159
  74. package/rpc/WebWorkerRpcDriver.js +54 -171
  75. package/rpc/configSchema.js +25 -49
  76. package/rpc/coreRpcMethods.d.ts +1 -3
  77. package/rpc/coreRpcMethods.js +221 -959
  78. package/rpc/remoteAbortSignals.js +46 -70
  79. package/tsconfig.build.tsbuildinfo +1 -1
  80. package/ui/AboutDialog.js +106 -162
  81. package/ui/App.js +157 -242
  82. package/ui/AssemblySelector.js +59 -120
  83. package/ui/CascadingMenu.js +101 -196
  84. package/ui/ColorPicker.d.ts +16 -0
  85. package/ui/ColorPicker.js +97 -0
  86. package/ui/Drawer.js +28 -61
  87. package/ui/DrawerWidget.js +108 -202
  88. package/ui/DropDownMenu.js +60 -91
  89. package/ui/EditableTypography.js +87 -149
  90. package/ui/ErrorMessage.js +41 -56
  91. package/ui/FactoryResetDialog.js +24 -57
  92. package/ui/FatalErrorDialog.js +59 -91
  93. package/ui/FileSelector/FileSelector.js +123 -189
  94. package/ui/FileSelector/LocalFileChooser.js +44 -75
  95. package/ui/FileSelector/UrlChooser.js +17 -38
  96. package/ui/FileSelector/index.js +6 -12
  97. package/ui/Icons.js +45 -69
  98. package/ui/Logo.js +57 -110
  99. package/ui/Menu.js +232 -354
  100. package/ui/PrerenderedCanvas.js +63 -87
  101. package/ui/ResizeHandle.js +87 -116
  102. package/ui/ReturnToImportFormDialog.js +32 -63
  103. package/ui/SanitizedHTML.js +64 -47
  104. package/ui/Snackbar.js +74 -101
  105. package/ui/SnackbarModel.js +37 -51
  106. package/ui/Tooltip.js +49 -76
  107. package/ui/ViewContainer.js +113 -196
  108. package/ui/colors.d.ts +10 -0
  109. package/ui/colors.js +78 -0
  110. package/ui/index.js +51 -181
  111. package/ui/react-colorful.d.ts +17 -0
  112. package/ui/react-colorful.js +455 -0
  113. package/ui/theme.d.ts +23 -1
  114. package/ui/theme.js +199 -247
  115. package/util/Base1DUtils.d.ts +32 -0
  116. package/util/Base1DUtils.js +174 -0
  117. package/util/Base1DViewModel.d.ts +16 -30
  118. package/util/Base1DViewModel.js +116 -293
  119. package/util/QuickLRU.js +84 -332
  120. package/util/TimeTraveller.d.ts +19 -0
  121. package/util/TimeTraveller.js +86 -0
  122. package/util/aborting.js +49 -127
  123. package/util/analytics.js +91 -154
  124. package/util/blockTypes.js +106 -240
  125. package/util/calculateDynamicBlocks.js +98 -128
  126. package/util/calculateStaticBlocks.js +105 -125
  127. package/util/color/cssColorsLevel4.js +156 -160
  128. package/util/color/index.js +33 -55
  129. package/util/compositeMap.js +49 -333
  130. package/util/formatFastaStrings.js +9 -14
  131. package/util/idMaker.js +18 -31
  132. package/util/index.d.ts +18 -32
  133. package/util/index.js +747 -1226
  134. package/util/io/RemoteFileWithRangeCache.js +88 -257
  135. package/util/io/index.js +95 -169
  136. package/util/jexl.js +60 -115
  137. package/util/jexlStrings.js +24 -29
  138. package/util/layouts/BaseLayout.js +1 -4
  139. package/util/layouts/GranularRectLayout.js +388 -555
  140. package/util/layouts/MultiLayout.js +41 -109
  141. package/util/layouts/PrecomputedLayout.js +56 -112
  142. package/util/layouts/PrecomputedMultiLayout.js +22 -59
  143. package/util/layouts/SceneGraph.js +127 -197
  144. package/util/layouts/index.js +29 -66
  145. package/util/mst-reflection.js +55 -71
  146. package/util/offscreenCanvasPonyfill.js +66 -134
  147. package/util/offscreenCanvasUtils.d.ts +2 -7
  148. package/util/offscreenCanvasUtils.js +49 -146
  149. package/util/range.js +29 -40
  150. package/util/rxjs.js +20 -27
  151. package/util/simpleFeature.js +88 -152
  152. package/util/stats.js +91 -151
  153. package/util/tracks.js +130 -173
  154. package/util/types/index.js +110 -179
  155. package/util/types/mst.js +91 -146
  156. package/util/types/util.js +1 -4
  157. package/util/when.js +54 -101
  158. package/BaseFeatureWidget/SequenceFeatureDetails.test.js +0 -122
  159. package/BaseFeatureWidget/index.test.js +0 -69
  160. package/TextSearch/BaseResults.test.js +0 -42
  161. package/configuration/configurationSchema.test.js +0 -266
  162. package/configuration/configurationSlot.test.js +0 -69
  163. package/configuration/util.test.js +0 -39
  164. package/data_adapters/BaseAdapter.test.js +0 -200
  165. package/declare.d.js +0 -1
  166. package/pluggableElementTypes/RpcMethodType.test.js +0 -118
  167. package/pluggableElementTypes/renderers/declare.d.js +0 -1
  168. package/pluggableElementTypes/renderers/util/serializableFilterChain.test.js +0 -20
  169. package/rpc/BaseRpcDriver.test.js +0 -540
  170. package/rpc/declaration.d.js +0 -1
  171. package/ui/FatalErrorDialog.test.js +0 -82
  172. package/ui/SanitizedHTML.test.js +0 -36
  173. package/ui/theme.test.js +0 -92
  174. package/util/Base1DViewModel.test.js +0 -130
  175. package/util/calculateDynamicBlocks.test.js +0 -74
  176. package/util/calculateStaticBlocks.test.js +0 -297
  177. package/util/declare.d.js +0 -1
  178. package/util/formatFastaStrings.test.js +0 -40
  179. package/util/index.test.js +0 -213
  180. package/util/jexlStrings.test.js +0 -48
  181. package/util/layouts/GranularRectLayout.test.js +0 -99
  182. package/util/range.test.js +0 -64
  183. package/util/simpleFeature.test.js +0 -34
  184. package/util/stats.test.js +0 -172
package/util/tracks.js CHANGED
@@ -1,147 +1,108 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.UNSUPPORTED = exports.UNKNOWN = void 0;
7
- exports.generateUnknownTrackConf = generateUnknownTrackConf;
8
- exports.generateUnsupportedTrackConf = generateUnsupportedTrackConf;
9
- exports.getBlob = getBlob;
10
- exports.getBlobMap = getBlobMap;
11
- exports.getFileName = getFileName;
12
- exports.getParentRenderProps = getParentRenderProps;
13
- exports.getRpcSessionId = getRpcSessionId;
14
- exports.getTrackAssemblyNames = getTrackAssemblyNames;
15
- exports.guessAdapter = guessAdapter;
16
- exports.guessTrackType = guessTrackType;
17
- exports.makeIndex = makeIndex;
18
- exports.makeIndexType = makeIndexType;
19
- exports.setBlobMap = setBlobMap;
20
- exports.storeBlobLocation = storeBlobLocation;
21
-
22
- var _mobxStateTree = require("mobx-state-tree");
23
-
24
- var _index2 = require("./index");
25
-
26
- var _configuration = require("../configuration");
27
-
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateUnknownTrackConf = exports.generateUnsupportedTrackConf = exports.guessTrackType = exports.guessAdapter = exports.getFileName = exports.makeIndexType = exports.makeIndex = exports.storeBlobLocation = exports.setBlobMap = exports.getBlobMap = exports.getBlob = exports.UNSUPPORTED = exports.UNKNOWN = exports.getParentRenderProps = exports.getRpcSessionId = exports.getTrackAssemblyNames = void 0;
4
+ const mobx_state_tree_1 = require("mobx-state-tree");
5
+ const index_1 = require("./index");
6
+ const configuration_1 = require("../configuration");
28
7
  /* utility functions for use by track models and so forth */
29
8
  function getTrackAssemblyNames(track) {
30
- var trackConf = track.configuration;
31
- var trackAssemblyNames = (0, _configuration.readConfObject)(trackConf, 'assemblyNames');
32
-
33
- if (!trackAssemblyNames) {
34
- // Check if it's an assembly sequence track
35
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
36
- var parent = (0, _mobxStateTree.getParent)(track.configuration);
37
-
38
- if ('sequence' in parent) {
39
- return [(0, _configuration.readConfObject)(parent, 'name')];
9
+ const trackConf = track.configuration;
10
+ const trackAssemblyNames = (0, configuration_1.readConfObject)(trackConf, 'assemblyNames');
11
+ if (!trackAssemblyNames) {
12
+ // Check if it's an assembly sequence track
13
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
14
+ const parent = (0, mobx_state_tree_1.getParent)(track.configuration);
15
+ if ('sequence' in parent) {
16
+ return [(0, configuration_1.readConfObject)(parent, 'name')];
17
+ }
40
18
  }
41
- }
42
-
43
- return trackAssemblyNames;
19
+ return trackAssemblyNames;
44
20
  }
21
+ exports.getTrackAssemblyNames = getTrackAssemblyNames;
45
22
  /** return the rpcSessionId of the highest parent node in the tree that has an rpcSessionId */
46
-
47
-
48
23
  function getRpcSessionId(thisNode) {
49
- var highestRpcSessionId; // eslint-disable-next-line @typescript-eslint/no-explicit-any
50
-
51
- for (var node = thisNode; !(0, _mobxStateTree.isRoot)(node); node = (0, _mobxStateTree.getParent)(node)) {
52
- if ('rpcSessionId' in node) {
53
- highestRpcSessionId = node.rpcSessionId;
24
+ let highestRpcSessionId;
25
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
26
+ for (let node = thisNode; !(0, mobx_state_tree_1.isRoot)(node); node = (0, mobx_state_tree_1.getParent)(node)) {
27
+ if ('rpcSessionId' in node) {
28
+ highestRpcSessionId = node.rpcSessionId;
29
+ }
30
+ }
31
+ if (!highestRpcSessionId) {
32
+ throw new Error('getRpcSessionId failed, no parent node in the state tree has an `rpcSessionId` attribute');
54
33
  }
55
- }
56
-
57
- if (!highestRpcSessionId) {
58
- throw new Error('getRpcSessionId failed, no parent node in the state tree has an `rpcSessionId` attribute');
59
- }
60
-
61
- return highestRpcSessionId;
34
+ return highestRpcSessionId;
62
35
  }
36
+ exports.getRpcSessionId = getRpcSessionId;
63
37
  /**
64
38
  * given an MST node, get the renderprops of the first parent container that has
65
39
  * renderProps
66
40
  * @param node -
67
41
  * @returns renderprops, or empty object if none found
68
42
  */
69
-
70
-
71
43
  function getParentRenderProps(node) {
72
- for ( // eslint-disable-next-line @typescript-eslint/no-explicit-any
73
- var currentNode = (0, _mobxStateTree.getParent)(node); !(0, _mobxStateTree.isRoot)(currentNode); // eslint-disable-next-line @typescript-eslint/no-explicit-any
74
- currentNode = (0, _mobxStateTree.getParent)(currentNode)) {
75
- if ('renderProps' in currentNode) {
76
- return currentNode.renderProps();
44
+ for (
45
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
46
+ let currentNode = (0, mobx_state_tree_1.getParent)(node); !(0, mobx_state_tree_1.isRoot)(currentNode);
47
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
48
+ currentNode = (0, mobx_state_tree_1.getParent)(currentNode)) {
49
+ if ('renderProps' in currentNode) {
50
+ return currentNode.renderProps();
51
+ }
77
52
  }
78
- }
79
-
80
- return {};
53
+ return {};
81
54
  }
82
-
83
- var UNKNOWN = 'UNKNOWN';
84
- exports.UNKNOWN = UNKNOWN;
85
- var UNSUPPORTED = 'UNSUPPORTED';
86
- exports.UNSUPPORTED = UNSUPPORTED;
87
- var blobMap = {}; // get a specific blob
88
-
55
+ exports.getParentRenderProps = getParentRenderProps;
56
+ exports.UNKNOWN = 'UNKNOWN';
57
+ exports.UNSUPPORTED = 'UNSUPPORTED';
58
+ let blobMap = {};
59
+ // get a specific blob
89
60
  function getBlob(id) {
90
- return blobMap[id];
91
- } // used to export entire context to webworker
92
-
93
-
61
+ return blobMap[id];
62
+ }
63
+ exports.getBlob = getBlob;
64
+ // used to export entire context to webworker
94
65
  function getBlobMap() {
95
- return blobMap;
96
- } // used in new contexts like webworkers
97
-
98
-
66
+ return blobMap;
67
+ }
68
+ exports.getBlobMap = getBlobMap;
69
+ // used in new contexts like webworkers
99
70
  function setBlobMap(map) {
100
- blobMap = map;
101
- } // blob files are stored in a global map
102
-
103
-
71
+ blobMap = map;
72
+ }
73
+ exports.setBlobMap = setBlobMap;
74
+ let counter = 0;
75
+ // blob files are stored in a global map. the blobId is based on a combination
76
+ // of timestamp plus counter to be unique across sessions and fast repeated
77
+ // calls
104
78
  function storeBlobLocation(location) {
105
- if (location && 'blob' in location) {
106
- // possibly we should be more clear about when this is not undefined, and
107
- // also allow mix of blob and url for index and file
108
- // @ts-ignore
109
- var blobId = "b".concat(+Date.now());
110
- blobMap[blobId] = location.blob;
111
- return {
112
- name: location === null || location === void 0 ? void 0 : location.blob.name,
113
- blobId: blobId,
114
- locationType: 'BlobLocation'
115
- };
116
- }
117
-
118
- return location;
79
+ if (location && 'blob' in location) {
80
+ const blobId = `b${+Date.now()}-${counter++}`;
81
+ blobMap[blobId] = location.blob;
82
+ return { name: location === null || location === void 0 ? void 0 : location.blob.name, blobId, locationType: 'BlobLocation' };
83
+ }
84
+ return location;
119
85
  }
86
+ exports.storeBlobLocation = storeBlobLocation;
120
87
  /**
121
88
  * creates a new location from the provided location including the appropriate suffix and location type
122
89
  * @param location - the FileLocation
123
90
  * @param suffix - the file suffix (e.g. .bam)
124
91
  * @returns the constructed location object from the provided prameters
125
92
  */
126
-
127
-
128
93
  function makeIndex(location, suffix) {
129
- if ('uri' in location) {
130
- return {
131
- uri: location.uri + suffix,
132
- locationType: 'UriLocation'
133
- };
134
- }
135
-
136
- if ('localPath' in location) {
137
- return {
138
- localPath: location.localPath + suffix,
139
- locationType: 'LocalPathLocation'
140
- };
141
- }
142
-
143
- return location;
94
+ if ('uri' in location) {
95
+ return { uri: location.uri + suffix, locationType: 'UriLocation' };
96
+ }
97
+ if ('localPath' in location) {
98
+ return {
99
+ localPath: location.localPath + suffix,
100
+ locationType: 'LocalPathLocation',
101
+ };
102
+ }
103
+ return location;
144
104
  }
105
+ exports.makeIndex = makeIndex;
145
106
  /**
146
107
  * constructs a potential index file (with suffix) from the provided file name
147
108
  * @param name - the name of the index file
@@ -149,76 +110,72 @@ function makeIndex(location, suffix) {
149
110
  * @param typeB - the second option of a potential two file suffix (e.g. CSI, BAI)
150
111
  * @returns a likely name of the index file for a given filename
151
112
  */
152
-
153
-
154
113
  function makeIndexType(name, typeA, typeB) {
155
- return name !== null && name !== void 0 && name.toUpperCase().endsWith(typeA) ? typeA : typeB;
114
+ return (name === null || name === void 0 ? void 0 : name.toUpperCase().endsWith(typeA)) ? typeA : typeB;
156
115
  }
157
-
116
+ exports.makeIndexType = makeIndexType;
158
117
  function getFileName(track) {
159
- var uri = 'uri' in track ? track.uri : undefined;
160
- var localPath = 'localPath' in track ? track.localPath : undefined;
161
- var blob = 'blobId' in track ? track : undefined;
162
- return (blob === null || blob === void 0 ? void 0 : blob.name) || (uri === null || uri === void 0 ? void 0 : uri.slice(uri.lastIndexOf('/') + 1)) || (localPath === null || localPath === void 0 ? void 0 : localPath.slice(localPath.lastIndexOf('/') + 1)) || '';
118
+ const uri = 'uri' in track ? track.uri : undefined;
119
+ const localPath = 'localPath' in track ? track.localPath : undefined;
120
+ const blob = 'blobId' in track ? track : undefined;
121
+ return ((blob === null || blob === void 0 ? void 0 : blob.name) ||
122
+ (uri === null || uri === void 0 ? void 0 : uri.slice(uri.lastIndexOf('/') + 1)) ||
123
+ (localPath === null || localPath === void 0 ? void 0 : localPath.slice(localPath.lastIndexOf('/') + 1)) ||
124
+ '');
163
125
  }
164
-
126
+ exports.getFileName = getFileName;
165
127
  function guessAdapter(file, index, adapterHint, model) {
166
- if (model) {
167
- var _getEnv = (0, _mobxStateTree.getEnv)(model),
168
- pluginManager = _getEnv.pluginManager;
169
-
170
- var adapterGuesser = pluginManager.evaluateExtensionPoint('Core-guessAdapterForLocation', function (_file, _index, _adapterHint) {
171
- return undefined;
172
- });
173
- var adapter = adapterGuesser(file, index, adapterHint);
174
-
175
- if (adapter) {
176
- return adapter;
128
+ if (model) {
129
+ const { pluginManager } = (0, mobx_state_tree_1.getEnv)(model);
130
+ const adapterGuesser = pluginManager.evaluateExtensionPoint('Core-guessAdapterForLocation', (_file, _index, _adapterHint) => {
131
+ return undefined;
132
+ });
133
+ const adapter = adapterGuesser(file, index, adapterHint);
134
+ if (adapter) {
135
+ return adapter;
136
+ }
177
137
  }
178
- }
179
-
180
- return {
181
- type: UNKNOWN
182
- };
138
+ return {
139
+ type: exports.UNKNOWN,
140
+ };
183
141
  }
184
-
142
+ exports.guessAdapter = guessAdapter;
185
143
  function guessTrackType(adapterType, model) {
186
- if (model) {
187
- // @ts-ignore
188
- var session = (0, _index2.getSession)(model);
189
- var trackTypeGuesser = (0, _mobxStateTree.getEnv)(session).pluginManager.evaluateExtensionPoint('Core-guessTrackTypeForLocation', function (_adapterName) {
190
- return undefined;
191
- });
192
- var trackType = trackTypeGuesser(adapterType);
193
-
194
- if (trackType) {
195
- return trackType;
144
+ if (model) {
145
+ // @ts-ignore
146
+ const session = (0, index_1.getSession)(model);
147
+ const trackTypeGuesser = (0, mobx_state_tree_1.getEnv)(session).pluginManager.evaluateExtensionPoint('Core-guessTrackTypeForLocation', (_adapterName) => {
148
+ return undefined;
149
+ });
150
+ const trackType = trackTypeGuesser(adapterType);
151
+ if (trackType) {
152
+ return trackType;
153
+ }
196
154
  }
197
- }
198
-
199
- return 'FeatureTrack';
155
+ return 'FeatureTrack';
200
156
  }
201
-
157
+ exports.guessTrackType = guessTrackType;
202
158
  function generateUnsupportedTrackConf(trackName, trackUrl, categories) {
203
- var conf = {
204
- type: 'FeatureTrack',
205
- name: "".concat(trackName, " (Unsupported)"),
206
- description: "Support not yet implemented for \"".concat(trackUrl, "\""),
207
- category: categories,
208
- trackId: ''
209
- };
210
- conf.trackId = (0, _index2.objectHash)(conf);
211
- return conf;
159
+ const conf = {
160
+ type: 'FeatureTrack',
161
+ name: `${trackName} (Unsupported)`,
162
+ description: `Support not yet implemented for "${trackUrl}"`,
163
+ category: categories,
164
+ trackId: '',
165
+ };
166
+ conf.trackId = (0, index_1.objectHash)(conf);
167
+ return conf;
212
168
  }
213
-
169
+ exports.generateUnsupportedTrackConf = generateUnsupportedTrackConf;
214
170
  function generateUnknownTrackConf(trackName, trackUrl, categories) {
215
- var conf = {
216
- type: 'FeatureTrack',
217
- name: "".concat(trackName, " (Unknown)"),
218
- description: "Could not determine track type for \"".concat(trackUrl, "\""),
219
- category: categories,
220
- trackId: ''
221
- };
222
- conf.trackId = (0, _index2.objectHash)(conf);
223
- return conf;
224
- }
171
+ const conf = {
172
+ type: 'FeatureTrack',
173
+ name: `${trackName} (Unknown)`,
174
+ description: `Could not determine track type for "${trackUrl}"`,
175
+ category: categories,
176
+ trackId: '',
177
+ };
178
+ conf.trackId = (0, index_1.objectHash)(conf);
179
+ return conf;
180
+ }
181
+ exports.generateUnknownTrackConf = generateUnknownTrackConf;