@jbrowse/plugin-legacy-jbrowse 2.1.0 → 2.1.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.
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var models_1 = require("@jbrowse/core/pluggableElementTypes/models");
4
- var configuration_1 = require("@jbrowse/core/configuration");
3
+ const models_1 = require("@jbrowse/core/pluggableElementTypes/models");
4
+ const configuration_1 = require("@jbrowse/core/configuration");
5
5
  exports.default = (0, configuration_1.ConfigurationSchema)('JBrowse1Connection', {
6
6
  dataDirLocation: {
7
7
  type: 'fileLocation',
@@ -1 +1 @@
1
- {"version":3,"file":"configSchema.js","sourceRoot":"","sources":["../../src/JBrowse1Connection/configSchema.ts"],"names":[],"mappings":";;AAAA,qEAAiF;AACjF,6DAAiE;AAEjE,kBAAe,IAAA,mCAAmB,EAChC,oBAAoB,EACpB;IACE,eAAe,EAAE;QACf,IAAI,EAAE,cAAc;QACpB,YAAY,EAAE;YACZ,GAAG,EAAE,iCAAiC;YACtC,YAAY,EAAE,aAAa;SAC5B;QACD,WAAW,EACT,oGAAoG;KACvG;IACD,aAAa,EAAE;QACb,WAAW,EACT,0EAA0E;QAC5E,IAAI,EAAE,aAAa;QACnB,YAAY,EAAE,EAAE;KACjB;CACF,EACD,EAAE,iBAAiB,EAAE,6BAAoB,EAAE,CAC5C,CAAA"}
1
+ {"version":3,"file":"configSchema.js","sourceRoot":"","sources":["../../src/JBrowse1Connection/configSchema.ts"],"names":[],"mappings":";;AAAA,uEAAiF;AACjF,+DAAiE;AAEjE,kBAAe,IAAA,mCAAmB,EAChC,oBAAoB,EACpB;IACE,eAAe,EAAE;QACf,IAAI,EAAE,cAAc;QACpB,YAAY,EAAE;YACZ,GAAG,EAAE,iCAAiC;YACtC,YAAY,EAAE,aAAa;SAC5B;QACD,WAAW,EACT,oGAAoG;KACvG;IACD,aAAa,EAAE;QACb,WAAW,EACT,0EAA0E;QAC5E,IAAI,EAAE,aAAa;QACnB,YAAY,EAAE,EAAE;KACjB;CACF,EACD,EAAE,iBAAiB,EAAE,6BAAoB,EAAE,CAC5C,CAAA"}
@@ -1,198 +1,90 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (_) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- var __values = (this && this.__values) || function(o) {
39
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
40
- if (m) return m.call(o);
41
- if (o && typeof o.length === "number") return {
42
- next: function () {
43
- if (o && i >= o.length) o = void 0;
44
- return { value: o && o[i++], done: !o };
45
- }
46
- };
47
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
48
- };
49
2
  Object.defineProperty(exports, "__esModule", { value: true });
50
3
  exports.parseJb1 = exports.fetchConfigFile = exports.createFinalConfig = exports.fetchJb1 = void 0;
51
- var io_1 = require("@jbrowse/core/util/io");
52
- var jb1ConfigParse_1 = require("./jb1ConfigParse");
53
- var util_1 = require("./util");
4
+ const io_1 = require("@jbrowse/core/util/io");
5
+ const jb1ConfigParse_1 = require("./jb1ConfigParse");
6
+ const util_1 = require("./util");
54
7
  function isUriLocation(location) {
55
8
  return location.uri !== undefined;
56
9
  }
57
10
  function isLocalPathLocation(location) {
58
11
  return location.localPath !== undefined;
59
12
  }
60
- function fetchJb1(dataRoot, baseConfig, baseConfigRoot) {
61
- if (dataRoot === void 0) { dataRoot = { uri: '', locationType: 'UriLocation' }; }
62
- if (baseConfig === void 0) { baseConfig = {
63
- include: ['{dataRoot}/trackList.json', '{dataRoot}/tracks.conf'],
64
- }; }
65
- if (baseConfigRoot === void 0) { baseConfigRoot = { uri: '', locationType: 'UriLocation' }; }
66
- return __awaiter(this, void 0, void 0, function () {
67
- var protocol, dataRootReg, dataRootLocation, baseProtocol, baseConfigLocation, newConfig_1, _a, _b, conf, fetchedConfig, error_1, e_1_1, newConfig;
68
- var e_1, _c, _d;
69
- return __generator(this, function (_e) {
70
- switch (_e.label) {
71
- case 0:
72
- protocol = 'uri' in dataRoot ? 'uri' : 'localPath';
73
- dataRootReg = JSON.parse(JSON.stringify(dataRoot));
74
- dataRootLocation = '';
75
- if (isUriLocation(dataRoot)) {
76
- dataRootLocation = dataRoot.uri;
77
- }
78
- if (isLocalPathLocation(dataRoot)) {
79
- dataRootLocation = dataRoot.localPath;
80
- }
81
- if (dataRootLocation.endsWith('/')) {
82
- dataRootReg[protocol] = dataRootLocation.slice(0, dataRootLocation.length - 1);
83
- }
84
- if (!((isUriLocation(baseConfigRoot) && baseConfigRoot.uri) ||
85
- (isLocalPathLocation(baseConfigRoot) && baseConfigRoot.localPath))) return [3 /*break*/, 12];
86
- baseProtocol = 'uri' in baseConfigRoot ? 'uri' : 'localPath';
87
- baseConfigLocation = '';
88
- if (isUriLocation(baseConfigRoot)) {
89
- baseConfigLocation = baseConfigRoot.uri;
90
- }
91
- if (isLocalPathLocation(baseConfigRoot)) {
92
- baseConfigLocation = baseConfigRoot.localPath;
93
- }
94
- if (baseConfigLocation.endsWith('/')) {
95
- baseConfigLocation = baseConfigLocation.slice(0, baseConfigLocation.length - 1);
96
- }
97
- newConfig_1 = {};
98
- _e.label = 1;
99
- case 1:
100
- _e.trys.push([1, 9, 10, 11]);
101
- _a = __values(['jbrowse.conf', 'jbrowse_conf.json']), _b = _a.next();
102
- _e.label = 2;
103
- case 2:
104
- if (!!_b.done) return [3 /*break*/, 8];
105
- conf = _b.value;
106
- fetchedConfig = null;
107
- _e.label = 3;
108
- case 3:
109
- _e.trys.push([3, 5, , 6]);
110
- return [4 /*yield*/, fetchConfigFile((_d = {},
111
- _d[baseProtocol] = "".concat(baseConfigLocation, "/").concat(conf),
112
- _d))];
113
- case 4:
114
- // @ts-ignore
115
- fetchedConfig = _e.sent();
116
- return [3 /*break*/, 6];
117
- case 5:
118
- error_1 = _e.sent();
119
- console.error("tried to access ".concat(baseConfigLocation, "/").concat(conf, ", but failed"));
120
- return [3 /*break*/, 6];
121
- case 6:
122
- newConfig_1 = mergeConfigs(newConfig_1, fetchedConfig) || {};
123
- _e.label = 7;
124
- case 7:
125
- _b = _a.next();
126
- return [3 /*break*/, 2];
127
- case 8: return [3 /*break*/, 11];
128
- case 9:
129
- e_1_1 = _e.sent();
130
- e_1 = { error: e_1_1 };
131
- return [3 /*break*/, 11];
132
- case 10:
133
- try {
134
- if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
135
- }
136
- finally { if (e_1) throw e_1.error; }
137
- return [7 /*endfinally*/];
138
- case 11:
139
- if (dataRootReg[protocol]) {
140
- newConfig_1.dataRoot = dataRootReg[protocol];
141
- }
142
- return [2 /*return*/, createFinalConfig(newConfig_1)];
143
- case 12:
144
- newConfig = (0, jb1ConfigParse_1.regularizeConf)(baseConfig, window.location.href);
145
- if (dataRootReg[protocol]) {
146
- newConfig.dataRoot = dataRootReg[protocol];
147
- }
148
- return [2 /*return*/, createFinalConfig(newConfig)];
13
+ async function fetchJb1(dataRoot = { uri: '', locationType: 'UriLocation' }, baseConfig = {
14
+ include: ['{dataRoot}/trackList.json', '{dataRoot}/tracks.conf'],
15
+ }, baseConfigRoot = { uri: '', locationType: 'UriLocation' }) {
16
+ const protocol = 'uri' in dataRoot ? 'uri' : 'localPath';
17
+ const dataRootReg = JSON.parse(JSON.stringify(dataRoot));
18
+ let dataRootLocation = '';
19
+ if (isUriLocation(dataRoot)) {
20
+ dataRootLocation = dataRoot.uri;
21
+ }
22
+ if (isLocalPathLocation(dataRoot)) {
23
+ dataRootLocation = dataRoot.localPath;
24
+ }
25
+ if (dataRootLocation.endsWith('/')) {
26
+ dataRootReg[protocol] = dataRootLocation.slice(0, dataRootLocation.length - 1);
27
+ }
28
+ if ((isUriLocation(baseConfigRoot) && baseConfigRoot.uri) ||
29
+ (isLocalPathLocation(baseConfigRoot) && baseConfigRoot.localPath)) {
30
+ const baseProtocol = 'uri' in baseConfigRoot ? 'uri' : 'localPath';
31
+ let baseConfigLocation = '';
32
+ if (isUriLocation(baseConfigRoot)) {
33
+ baseConfigLocation = baseConfigRoot.uri;
34
+ }
35
+ if (isLocalPathLocation(baseConfigRoot)) {
36
+ baseConfigLocation = baseConfigRoot.localPath;
37
+ }
38
+ if (baseConfigLocation.endsWith('/')) {
39
+ baseConfigLocation = baseConfigLocation.slice(0, baseConfigLocation.length - 1);
40
+ }
41
+ let newConfig = {};
42
+ for (const conf of ['jbrowse.conf', 'jbrowse_conf.json']) {
43
+ let fetchedConfig = null;
44
+ try {
45
+ // @ts-ignore
46
+ fetchedConfig = await fetchConfigFile({
47
+ [baseProtocol]: `${baseConfigLocation}/${conf}`,
48
+ });
149
49
  }
150
- });
151
- });
50
+ catch (error) {
51
+ console.error(`tried to access ${baseConfigLocation}/${conf}, but failed`);
52
+ }
53
+ newConfig = mergeConfigs(newConfig, fetchedConfig) || {};
54
+ }
55
+ if (dataRootReg[protocol]) {
56
+ newConfig.dataRoot = dataRootReg[protocol];
57
+ }
58
+ return createFinalConfig(newConfig);
59
+ }
60
+ const newConfig = (0, jb1ConfigParse_1.regularizeConf)(baseConfig, window.location.href);
61
+ if (dataRootReg[protocol]) {
62
+ newConfig.dataRoot = dataRootReg[protocol];
63
+ }
64
+ return createFinalConfig(newConfig);
152
65
  }
153
66
  exports.fetchJb1 = fetchJb1;
154
- function createFinalConfig(baseConfig, defaults) {
155
- if (defaults === void 0) { defaults = configDefaults; }
156
- return __awaiter(this, void 0, void 0, function () {
157
- var configWithDefaults, finalConfig;
158
- return __generator(this, function (_a) {
159
- switch (_a.label) {
160
- case 0:
161
- configWithDefaults = (0, util_1.deepUpdate)((0, util_1.clone)(defaults), baseConfig);
162
- return [4 /*yield*/, loadIncludes(configWithDefaults)];
163
- case 1:
164
- finalConfig = _a.sent();
165
- finalConfig = mergeConfigs(finalConfig, baseConfig) || finalConfig;
166
- fillTemplates(finalConfig, finalConfig);
167
- validateConfig(finalConfig);
168
- return [2 /*return*/, finalConfig];
169
- }
170
- });
171
- });
67
+ async function createFinalConfig(baseConfig, defaults = configDefaults) {
68
+ const configWithDefaults = (0, util_1.deepUpdate)((0, util_1.clone)(defaults), baseConfig);
69
+ let finalConfig = await loadIncludes(configWithDefaults);
70
+ finalConfig = mergeConfigs(finalConfig, baseConfig) || finalConfig;
71
+ fillTemplates(finalConfig, finalConfig);
72
+ validateConfig(finalConfig);
73
+ return finalConfig;
172
74
  }
173
75
  exports.createFinalConfig = createFinalConfig;
174
- function fetchConfigFile(location) {
175
- return __awaiter(this, void 0, void 0, function () {
176
- var result;
177
- return __generator(this, function (_a) {
178
- switch (_a.label) {
179
- case 0: return [4 /*yield*/, (0, io_1.openLocation)(location).readFile('utf8')];
180
- case 1:
181
- result = _a.sent();
182
- if (isUriLocation(location)) {
183
- return [2 /*return*/, parseJb1(result, location.uri)];
184
- }
185
- if (isLocalPathLocation(location)) {
186
- return [2 /*return*/, parseJb1(result, location.localPath)];
187
- }
188
- return [2 /*return*/, parseJb1(result)];
189
- }
190
- });
191
- });
76
+ async function fetchConfigFile(location) {
77
+ const result = await (0, io_1.openLocation)(location).readFile('utf8');
78
+ if (isUriLocation(location)) {
79
+ return parseJb1(result, location.uri);
80
+ }
81
+ if (isLocalPathLocation(location)) {
82
+ return parseJb1(result, location.localPath);
83
+ }
84
+ return parseJb1(result);
192
85
  }
193
86
  exports.fetchConfigFile = fetchConfigFile;
194
- function parseJb1(config, url) {
195
- if (url === void 0) { url = ''; }
87
+ function parseJb1(config, url = '') {
196
88
  if (config.trim().startsWith('{')) {
197
89
  return (0, jb1ConfigParse_1.parseJB1Json)(config, url);
198
90
  }
@@ -203,54 +95,43 @@ exports.parseJb1 = parseJb1;
203
95
  * Merges config object b into a. Properties in b override those in a.
204
96
  */
205
97
  function mergeConfigs(a, b) {
206
- var e_2, _a;
207
98
  if (b === null) {
208
99
  return null;
209
100
  }
210
101
  if (a === null) {
211
102
  a = {};
212
103
  }
213
- try {
214
- for (var _b = __values(Object.keys(b)), _c = _b.next(); !_c.done; _c = _b.next()) {
215
- var prop = _c.value;
216
- if (prop === 'tracks' && prop in a) {
217
- var aTracks = a[prop] || [];
218
- var bTracks = b[prop] || [];
219
- if (Array.isArray(aTracks) && Array.isArray(bTracks)) {
220
- a[prop] = mergeTrackConfigs(aTracks || [], bTracks || []);
221
- }
222
- else {
223
- throw new Error("Track config has not been properly regularized: ".concat(aTracks, " ").concat(bTracks));
224
- }
104
+ for (const prop of Object.keys(b)) {
105
+ if (prop === 'tracks' && prop in a) {
106
+ const aTracks = a[prop] || [];
107
+ const bTracks = b[prop] || [];
108
+ if (Array.isArray(aTracks) && Array.isArray(bTracks)) {
109
+ a[prop] = mergeTrackConfigs(aTracks || [], bTracks || []);
225
110
  }
226
- else if (!noRecursiveMerge(prop) &&
227
- prop in a &&
228
- // @ts-ignore
229
- typeof b[prop] === 'object' &&
230
- // @ts-ignore
231
- typeof a[prop] === 'object') {
232
- // @ts-ignore
233
- a[prop] = (0, util_1.deepUpdate)(a[prop], b[prop]);
234
- }
235
- else if (prop === 'dataRoot') {
236
- if (a[prop] === undefined ||
237
- (a[prop] === 'data' && b[prop] !== undefined)) {
238
- a[prop] = b[prop];
239
- }
240
- // @ts-ignore
111
+ else {
112
+ throw new Error(`Track config has not been properly regularized: ${aTracks} ${bTracks}`);
241
113
  }
242
- else if (a[prop] === undefined || b[prop] !== undefined) {
243
- // @ts-ignore
114
+ }
115
+ else if (!noRecursiveMerge(prop) &&
116
+ prop in a &&
117
+ // @ts-ignore
118
+ typeof b[prop] === 'object' &&
119
+ // @ts-ignore
120
+ typeof a[prop] === 'object') {
121
+ // @ts-ignore
122
+ a[prop] = (0, util_1.deepUpdate)(a[prop], b[prop]);
123
+ }
124
+ else if (prop === 'dataRoot') {
125
+ if (a[prop] === undefined ||
126
+ (a[prop] === 'data' && b[prop] !== undefined)) {
244
127
  a[prop] = b[prop];
245
128
  }
129
+ // @ts-ignore
246
130
  }
247
- }
248
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
249
- finally {
250
- try {
251
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
131
+ else if (a[prop] === undefined || b[prop] !== undefined) {
132
+ // @ts-ignore
133
+ a[prop] = b[prop];
252
134
  }
253
- finally { if (e_2) throw e_2.error; }
254
135
  }
255
136
  return a;
256
137
  }
@@ -262,13 +143,13 @@ function mergeTrackConfigs(a, b) {
262
143
  return a;
263
144
  }
264
145
  // index the tracks in `a` by track label
265
- var aTracks = {};
266
- a.forEach(function (t, i) {
146
+ const aTracks = {};
147
+ a.forEach((t, i) => {
267
148
  t.index = i;
268
149
  aTracks[t.label] = t;
269
150
  });
270
- b.forEach(function (bT) {
271
- var aT = aTracks[bT.label];
151
+ b.forEach((bT) => {
152
+ const aT = aTracks[bT.label];
272
153
  if (aT) {
273
154
  mergeConfigs(aT, bT);
274
155
  }
@@ -283,57 +164,34 @@ function mergeTrackConfigs(a, b) {
283
164
  * object. Calls the callback with the resulting configuration when finished.
284
165
  * @param inputConfig - Config to load includes into
285
166
  */
286
- function loadIncludes(inputConfig) {
287
- return __awaiter(this, void 0, void 0, function () {
288
- function loadRecur(config, upstreamConf) {
289
- return __awaiter(this, void 0, void 0, function () {
290
- var sourceUrl, newUpstreamConf, includes, loads, includedDataObjects;
291
- var _this = this;
292
- return __generator(this, function (_a) {
293
- switch (_a.label) {
294
- case 0:
295
- sourceUrl = config.sourceUrl || config.baseUrl;
296
- if (!sourceUrl) {
297
- throw new Error("Could not determine source URL: ".concat(JSON.stringify(config)));
298
- }
299
- newUpstreamConf = mergeConfigs((0, util_1.clone)(upstreamConf), config);
300
- if (!newUpstreamConf) {
301
- throw new Error('Problem merging configs');
302
- }
303
- includes = fillTemplates(regularizeIncludes(config.include || []), newUpstreamConf);
304
- delete config.include;
305
- loads = includes.map(function (include) { return __awaiter(_this, void 0, void 0, function () {
306
- var includedData;
307
- return __generator(this, function (_a) {
308
- switch (_a.label) {
309
- case 0:
310
- include.cacheBuster = inputConfig.cacheBuster;
311
- return [4 /*yield*/, fetchConfigFile({
312
- uri: new URL(include.url, sourceUrl).href,
313
- locationType: 'UriLocation',
314
- })];
315
- case 1:
316
- includedData = _a.sent();
317
- return [2 /*return*/, loadRecur(includedData, newUpstreamConf)];
318
- }
319
- });
320
- }); });
321
- return [4 /*yield*/, Promise.all(loads)];
322
- case 1:
323
- includedDataObjects = _a.sent();
324
- includedDataObjects.forEach(function (includedData) {
325
- config = mergeConfigs(config, includedData) || config;
326
- });
327
- return [2 /*return*/, config];
328
- }
329
- });
330
- });
167
+ async function loadIncludes(inputConfig) {
168
+ inputConfig = (0, util_1.clone)(inputConfig);
169
+ async function loadRecur(config, upstreamConf) {
170
+ const sourceUrl = config.sourceUrl || config.baseUrl;
171
+ if (!sourceUrl) {
172
+ throw new Error(`Could not determine source URL: ${JSON.stringify(config)}`);
331
173
  }
332
- return __generator(this, function (_a) {
333
- inputConfig = (0, util_1.clone)(inputConfig);
334
- return [2 /*return*/, loadRecur(inputConfig, {})];
174
+ const newUpstreamConf = mergeConfigs((0, util_1.clone)(upstreamConf), config);
175
+ if (!newUpstreamConf) {
176
+ throw new Error('Problem merging configs');
177
+ }
178
+ const includes = fillTemplates(regularizeIncludes(config.include || []), newUpstreamConf);
179
+ delete config.include;
180
+ const loads = includes.map(async (include) => {
181
+ include.cacheBuster = inputConfig.cacheBuster;
182
+ const includedData = await fetchConfigFile({
183
+ uri: new URL(include.url, sourceUrl).href,
184
+ locationType: 'UriLocation',
185
+ });
186
+ return loadRecur(includedData, newUpstreamConf);
335
187
  });
336
- });
188
+ const includedDataObjects = await Promise.all(loads);
189
+ includedDataObjects.forEach((includedData) => {
190
+ config = mergeConfigs(config, includedData) || config;
191
+ });
192
+ return config;
193
+ }
194
+ return loadRecur(inputConfig, {});
337
195
  }
338
196
  function regularizeIncludes(includes) {
339
197
  if (!includes) {
@@ -343,7 +201,7 @@ function regularizeIncludes(includes) {
343
201
  if (!Array.isArray(includes)) {
344
202
  includes = [includes];
345
203
  }
346
- return includes.map(function (include) {
204
+ return includes.map((include) => {
347
205
  // coerce bare strings in the includes to URLs
348
206
  if (typeof include === 'string') {
349
207
  include = { url: include };
@@ -360,30 +218,19 @@ function regularizeIncludes(includes) {
360
218
  }
361
219
  // eslint-disable-next-line @typescript-eslint/no-explicit-any,@typescript-eslint/no-unnecessary-type-constraint
362
220
  function fillTemplates(subconfig, config) {
363
- var e_3, _a;
364
221
  if (!subconfig) {
365
222
  return subconfig;
366
223
  }
367
224
  if (Array.isArray(subconfig)) {
368
- for (var i = 0; i < subconfig.length; i += 1) {
225
+ for (let i = 0; i < subconfig.length; i += 1) {
369
226
  subconfig[i] = fillTemplates(subconfig[i], config);
370
227
  }
371
228
  }
372
229
  else if (typeof subconfig === 'object') {
373
230
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
374
- var sub = subconfig;
375
- try {
376
- for (var _b = __values(Object.keys(sub)), _c = _b.next(); !_c.done; _c = _b.next()) {
377
- var name_1 = _c.value;
378
- sub[name_1] = fillTemplates(sub[name_1], config);
379
- }
380
- }
381
- catch (e_3_1) { e_3 = { error: e_3_1 }; }
382
- finally {
383
- try {
384
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
385
- }
386
- finally { if (e_3) throw e_3.error; }
231
+ const sub = subconfig;
232
+ for (const name of Object.keys(sub)) {
233
+ sub[name] = fillTemplates(sub[name], config);
387
234
  }
388
235
  }
389
236
  else if (typeof subconfig === 'string') {
@@ -399,7 +246,7 @@ function fillTemplates(subconfig, config) {
399
246
  function noRecursiveMerge(propName) {
400
247
  return propName === 'datasets';
401
248
  }
402
- var configDefaults = {
249
+ const configDefaults = {
403
250
  tracks: [],
404
251
  containerID: 'GenomeBrowser',
405
252
  dataRoot: 'data',
@@ -1 +1 @@
1
- {"version":3,"file":"jb1ConfigLoad.js","sourceRoot":"","sources":["../../src/JBrowse1Connection/jb1ConfigLoad.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jb1ConfigLoad.js","sourceRoot":"","sources":["../../src/JBrowse1Connection/jb1ConfigLoad.ts"],"names":[],"mappings":";;;AAAA,8CAAoD;AACpD,qDAA6E;AAC7E,iCAAwD;AAUxD,SAAS,aAAa,CAAC,QAAoB;IACzC,OAAQ,QAAwB,CAAC,GAAG,KAAK,SAAS,CAAA;AACpD,CAAC;AAED,SAAS,mBAAmB,CAC1B,QAAoB;IAEpB,OAAQ,QAA8B,CAAC,SAAS,KAAK,SAAS,CAAA;AAChE,CAAC;AAEM,KAAK,UAAU,QAAQ,CAC5B,WAAuB,EAAE,GAAG,EAAE,EAAE,EAAE,YAAY,EAAE,aAAa,EAAE,EAC/D,aAAqB;IACnB,OAAO,EAAE,CAAC,2BAA2B,EAAE,wBAAwB,CAAC;CACjE,EACD,iBAA6B,EAAE,GAAG,EAAE,EAAE,EAAE,YAAY,EAAE,aAAa,EAAE;IAErE,MAAM,QAAQ,GAAG,KAAK,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAA;IACxD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAA;IACxD,IAAI,gBAAgB,GAAG,EAAE,CAAA;IACzB,IAAI,aAAa,CAAC,QAAQ,CAAC,EAAE;QAC3B,gBAAgB,GAAG,QAAQ,CAAC,GAAG,CAAA;KAChC;IACD,IAAI,mBAAmB,CAAC,QAAQ,CAAC,EAAE;QACjC,gBAAgB,GAAG,QAAQ,CAAC,SAAS,CAAA;KACtC;IACD,IAAI,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;QAClC,WAAW,CAAC,QAAQ,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAC5C,CAAC,EACD,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAC5B,CAAA;KACF;IACD,IACE,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,cAAc,CAAC,GAAG,CAAC;QACrD,CAAC,mBAAmB,CAAC,cAAc,CAAC,IAAI,cAAc,CAAC,SAAS,CAAC,EACjE;QACA,MAAM,YAAY,GAAG,KAAK,IAAI,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAA;QAClE,IAAI,kBAAkB,GAAG,EAAE,CAAA;QAC3B,IAAI,aAAa,CAAC,cAAc,CAAC,EAAE;YACjC,kBAAkB,GAAG,cAAc,CAAC,GAAG,CAAA;SACxC;QACD,IAAI,mBAAmB,CAAC,cAAc,CAAC,EAAE;YACvC,kBAAkB,GAAG,cAAc,CAAC,SAAS,CAAA;SAC9C;QACD,IAAI,kBAAkB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACpC,kBAAkB,GAAG,kBAAkB,CAAC,KAAK,CAC3C,CAAC,EACD,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAC9B,CAAA;SACF;QACD,IAAI,SAAS,GAAW,EAAE,CAAA;QAC1B,KAAK,MAAM,IAAI,IAAI,CAAC,cAAc,EAAE,mBAAmB,CAAC,EAAE;YACxD,IAAI,aAAa,GAAG,IAAI,CAAA;YACxB,IAAI;gBACF,aAAa;gBACb,aAAa,GAAG,MAAM,eAAe,CAAC;oBACpC,CAAC,YAAY,CAAC,EAAE,GAAG,kBAAkB,IAAI,IAAI,EAAE;iBAChD,CAAC,CAAA;aACH;YAAC,OAAO,KAAK,EAAE;gBACd,OAAO,CAAC,KAAK,CACX,mBAAmB,kBAAkB,IAAI,IAAI,cAAc,CAC5D,CAAA;aACF;YACD,SAAS,GAAG,YAAY,CAAC,SAAS,EAAE,aAAa,CAAC,IAAI,EAAE,CAAA;SACzD;QACD,IAAI,WAAW,CAAC,QAAQ,CAAC,EAAE;YACzB,SAAS,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAA;SAC3C;QACD,OAAO,iBAAiB,CAAC,SAAS,CAAC,CAAA;KACpC;IACD,MAAM,SAAS,GAAG,IAAA,+BAAc,EAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IAClE,IAAI,WAAW,CAAC,QAAQ,CAAC,EAAE;QACzB,SAAS,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAA;KAC3C;IACD,OAAO,iBAAiB,CAAC,SAAS,CAAC,CAAA;AACrC,CAAC;AAjED,4BAiEC;AAEM,KAAK,UAAU,iBAAiB,CACrC,UAAkB,EAClB,QAAQ,GAAG,cAAc;IAEzB,MAAM,kBAAkB,GAAG,IAAA,iBAAU,EAAC,IAAA,YAAK,EAAC,QAAQ,CAAC,EAAE,UAAU,CAAC,CAAA;IAClE,IAAI,WAAW,GAAG,MAAM,YAAY,CAAC,kBAAkB,CAAC,CAAA;IACxD,WAAW,GAAG,YAAY,CAAC,WAAW,EAAE,UAAU,CAAC,IAAI,WAAW,CAAA;IAClE,aAAa,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;IACvC,cAAc,CAAC,WAAW,CAAC,CAAA;IAC3B,OAAO,WAAW,CAAA;AACpB,CAAC;AAVD,8CAUC;AAEM,KAAK,UAAU,eAAe,CAAC,QAAoB;IACxD,MAAM,MAAM,GAAG,MAAM,IAAA,iBAAY,EAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IAC5D,IAAI,aAAa,CAAC,QAAQ,CAAC,EAAE;QAC3B,OAAO,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAA;KACtC;IACD,IAAI,mBAAmB,CAAC,QAAQ,CAAC,EAAE;QACjC,OAAO,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAA;KAC5C;IACD,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAA;AACzB,CAAC;AATD,0CASC;AAED,SAAgB,QAAQ,CAAC,MAAc,EAAE,GAAG,GAAG,EAAE;IAC/C,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;QACjC,OAAO,IAAA,6BAAY,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KACjC;IACD,OAAO,IAAA,6BAAY,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;AAClC,CAAC;AALD,4BAKC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,CAAgB,EAAE,CAAgB;IACtD,IAAI,CAAC,KAAK,IAAI,EAAE;QACd,OAAO,IAAI,CAAA;KACZ;IAED,IAAI,CAAC,KAAK,IAAI,EAAE;QACd,CAAC,GAAG,EAAE,CAAA;KACP;IAED,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;QACjC,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,IAAI,CAAC,EAAE;YAClC,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;YAC7B,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;YAC7B,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBACpD,CAAC,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,OAAO,IAAI,EAAE,EAAE,OAAO,IAAI,EAAE,CAAC,CAAA;aAC1D;iBAAM;gBACL,MAAM,IAAI,KAAK,CACb,mDAAmD,OAAO,IAAI,OAAO,EAAE,CACxE,CAAA;aACF;SACF;aAAM,IACL,CAAC,gBAAgB,CAAC,IAAI,CAAC;YACvB,IAAI,IAAI,CAAC;YACT,aAAa;YACb,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,QAAQ;YAC3B,aAAa;YACb,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,QAAQ,EAC3B;YACA,aAAa;YACb,CAAC,CAAC,IAAI,CAAC,GAAG,IAAA,iBAAU,EAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;SACvC;aAAM,IAAI,IAAI,KAAK,UAAU,EAAE;YAC9B,IACE,CAAC,CAAC,IAAI,CAAC,KAAK,SAAS;gBACrB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,EAC7C;gBACA,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAA;aAClB;YACD,aAAa;SACd;aAAM,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE;YACzD,aAAa;YACb,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAA;SAClB;KACF;IACD,OAAO,CAAC,CAAA;AACV,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,CAAU,EAAE,CAAU;IAC/C,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE;QACb,OAAO,CAAC,CAAA;KACT;IAED,yCAAyC;IACzC,MAAM,OAAO,GAA0B,EAAE,CAAA;IACzC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAQ,EAAE;QACvB,CAAC,CAAC,KAAK,GAAG,CAAC,CAAA;QACX,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACtB,CAAC,CAAC,CAAA;IAEF,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAQ,EAAE;QACrB,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;QAC5B,IAAI,EAAE,EAAE;YACN,YAAY,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;SACrB;aAAM;YACL,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;SACX;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,CAAC,CAAA;AACV,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,YAAY,CAAC,WAAmB;IAC7C,WAAW,GAAG,IAAA,YAAK,EAAC,WAAW,CAAC,CAAA;IAEhC,KAAK,UAAU,SAAS,CACtB,MAAc,EACd,YAAoB;QAEpB,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,OAAO,CAAA;QACpD,IAAI,CAAC,SAAS,EAAE;YACd,MAAM,IAAI,KAAK,CACb,mCAAmC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAC5D,CAAA;SACF;QACD,MAAM,eAAe,GAAG,YAAY,CAAC,IAAA,YAAK,EAAC,YAAY,CAAC,EAAE,MAAM,CAAC,CAAA;QACjE,IAAI,CAAC,eAAe,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;SAC3C;QACD,MAAM,QAAQ,GAAG,aAAa,CAC5B,kBAAkB,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,EACxC,eAAe,CAChB,CAAA;QACD,OAAO,MAAM,CAAC,OAAO,CAAA;QAErB,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAmB,EAAE;YAC5D,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC,WAAW,CAAA;YAC7C,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC;gBACzC,GAAG,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,IAAI;gBACzC,YAAY,EAAE,aAAa;aAC5B,CAAC,CAAA;YACF,OAAO,SAAS,CAAC,YAAY,EAAE,eAAe,CAAC,CAAA;QACjD,CAAC,CAAC,CAAA;QACF,MAAM,mBAAmB,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACpD,mBAAmB,CAAC,OAAO,CAAC,CAAC,YAAY,EAAQ,EAAE;YACjD,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI,MAAM,CAAA;QACvD,CAAC,CAAC,CAAA;QACF,OAAO,MAAM,CAAA;IACf,CAAC;IAED,OAAO,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;AACnC,CAAC;AAED,SAAS,kBAAkB,CACzB,QAAwD;IAExD,IAAI,CAAC,QAAQ,EAAE;QACb,OAAO,EAAE,CAAA;KACV;IAED,6BAA6B;IAC7B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;QAC5B,QAAQ,GAAG,CAAC,QAAQ,CAAC,CAAA;KACtB;IAED,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAW,EAAE;QACvC,8CAA8C;QAC9C,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;YAC/B,OAAO,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,CAAA;SAC3B;QAED,sCAAsC;QACtC,IAAI,CAAC,CAAC,QAAQ,IAAI,OAAO,CAAC,EAAE;YAC1B,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAA;SACpE;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,SAAS,IAAI,OAAO,CAAC,EAAE;YAC3D,OAAO,CAAC,OAAO,GAAG,CAAC,CAAA;SACpB;QACD,OAAO,OAAO,CAAA;IAChB,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,gHAAgH;AAChH,SAAS,aAAa,CAAgB,SAAY,EAAE,MAAc;IAChE,IAAI,CAAC,SAAS,EAAE;QACd,OAAO,SAAS,CAAA;KACjB;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;QAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;YAC5C,SAAS,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;SACnD;KACF;SAAM,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;QACxC,8DAA8D;QAC9D,MAAM,GAAG,GAAG,SAAgC,CAAA;QAC5C,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACnC,GAAG,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAA;SAC7C;KACF;SAAM,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;QACxC,aAAa;QACb,OAAO,IAAA,mBAAY,EAAC,SAAS,EAAE,MAAM,CAAC,CAAA;KACvC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC;AAED;;;GAGG;AACH,SAAS,gBAAgB,CAAC,QAAgB;IACxC,OAAO,QAAQ,KAAK,UAAU,CAAA;AAChC,CAAC;AAED,MAAM,cAAc,GAAG;IACrB,MAAM,EAAE,EAAE;IAEV,WAAW,EAAE,eAAe;IAC5B,QAAQ,EAAE,MAAM;IAChB,cAAc,EAAE,IAAI;IACpB,QAAQ,EAAE,IAAI;IACd,SAAS,EAAE,IAAI;IACf,aAAa,EAAE,IAAI;IACnB,iBAAiB,EAAE,IAAI;IACvB,oBAAoB,EAAE,IAAI;IAC1B,gBAAgB,EAAE,IAAI;IAEtB,OAAO,EAAE,6BAA6B;IACtC,OAAO,EAAE,CAAC,cAAc,EAAE,mBAAmB,CAAC;IAC9C,OAAO,EAAE,4BAA4B;IAErC,QAAQ,EAAE;QACR,iBAAiB,EAAE,IAAI;QACvB,MAAM,EAAE,EAAE,GAAG,EAAE,+BAA+B,EAAE,IAAI,EAAE,gBAAgB,EAAE;QACxE,SAAS,EAAE;YACT,GAAG,EAAE,kCAAkC;YACvC,IAAI,EAAE,mBAAmB;SAC1B;QACD,KAAK,EAAE,EAAE,GAAG,EAAE,8BAA8B,EAAE,IAAI,EAAE,eAAe,EAAE;KACtE;IAED,wBAAwB,EAAE,KAAK;IAC/B,kBAAkB,EAAE,MAAM;CAC3B,CAAA;AAED;;;;GAIG;AACH,SAAS,cAAc,CAAC,MAAc;IACpC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;QAClB,MAAM,CAAC,MAAM,GAAG,EAAE,CAAA;KACnB;IACD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;QACnB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAA;KAC7D;AACH,CAAC"}