@jbrowse/plugin-legacy-jbrowse 2.1.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.
@@ -1,21 +1,10 @@
1
1
  "use strict";
2
- var __values = (this && this.__values) || function(o) {
3
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
4
- if (m) return m.call(o);
5
- if (o && typeof o.length === "number") return {
6
- next: function () {
7
- if (o && i >= o.length) o = void 0;
8
- return { value: o && o[i++], done: !o };
9
- }
10
- };
11
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
12
- };
13
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
14
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
15
4
  };
16
5
  Object.defineProperty(exports, "__esModule", { value: true });
17
6
  exports.clone = exports.fillTemplate = exports.deepUpdate = exports.isSource = exports.isTrack = void 0;
18
- var get_value_1 = __importDefault(require("get-value"));
7
+ const get_value_1 = __importDefault(require("get-value"));
19
8
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
20
9
  function isTrack(arg) {
21
10
  return arg && arg.label && typeof arg.label === 'string';
@@ -27,27 +16,16 @@ function isSource(arg) {
27
16
  }
28
17
  exports.isSource = isSource;
29
18
  function deepUpdate(a, b) {
30
- var e_1, _a;
31
- try {
32
- for (var _b = __values(Object.keys(b)), _c = _b.next(); !_c.done; _c = _b.next()) {
33
- var prop = _c.value;
34
- if (prop in a &&
35
- typeof b[prop] === 'object' &&
36
- typeof a[prop] === 'object') {
37
- deepUpdate(a[prop], b[prop]);
38
- }
39
- else if (typeof a[prop] === 'undefined' ||
40
- typeof b[prop] !== 'undefined') {
41
- a[prop] = b[prop];
42
- }
19
+ for (const prop of Object.keys(b)) {
20
+ if (prop in a &&
21
+ typeof b[prop] === 'object' &&
22
+ typeof a[prop] === 'object') {
23
+ deepUpdate(a[prop], b[prop]);
43
24
  }
44
- }
45
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
46
- finally {
47
- try {
48
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
25
+ else if (typeof a[prop] === 'undefined' ||
26
+ typeof b[prop] !== 'undefined') {
27
+ a[prop] = b[prop];
49
28
  }
50
- finally { if (e_1) throw e_1.error; }
51
29
  }
52
30
  return a;
53
31
  }
@@ -62,10 +40,9 @@ exports.deepUpdate = deepUpdate;
62
40
  * e.g., 'htp://foo/someurl?arg=valueforbaz'
63
41
  */
64
42
  function fillTemplate(template, fillWith) {
65
- var _this = this;
66
- return template.replace(/\{([\w\s.]+)\}/g, function (match, varName) {
43
+ return template.replace(/\{([\w\s.]+)\}/g, (match, varName) => {
67
44
  varName = varName.replace(/\s+/g, ''); // remove all whitespace
68
- var fill = (0, get_value_1.default)(fillWith, varName);
45
+ const fill = (0, get_value_1.default)(fillWith, varName);
69
46
  if (fill !== undefined) {
70
47
  if (typeof fill === 'function') {
71
48
  return fill(varName);
@@ -74,7 +51,7 @@ function fillTemplate(template, fillWith) {
74
51
  }
75
52
  if (fillWith.callback) {
76
53
  // @ts-ignore
77
- var v = fillWith.callback.call(_this, varName);
54
+ const v = fillWith.callback.call(this, varName);
78
55
  if (v !== undefined) {
79
56
  return v;
80
57
  }
@@ -109,9 +86,9 @@ function clone(src) {
109
86
  // RegExp
110
87
  return new RegExp(src); // RegExp
111
88
  }
112
- var r;
113
- var i;
114
- var l;
89
+ let r;
90
+ let i;
91
+ let l;
115
92
  if (Array.isArray(src)) {
116
93
  // array
117
94
  r = [];
@@ -150,9 +127,9 @@ exports.clone = clone;
150
127
  * @returns dest, as modified
151
128
  */
152
129
  function mixin(dest, source, copyFunc) {
153
- var name;
154
- var s;
155
- var empty = {};
130
+ let name;
131
+ let s;
132
+ const empty = {};
156
133
  for (name in source) {
157
134
  // the (!(name in empty) || empty[name] !== s) condition avoids copying
158
135
  // properties in "source" inherited from Object.prototype. For example,
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/JBrowse1Connection/util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/JBrowse1Connection/util.ts"],"names":[],"mappings":";;;;;;AAAA,0DAAgC;AAGhC,8DAA8D;AAC9D,SAAgB,OAAO,CAAC,GAAQ;IAC9B,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAA;AAC1D,CAAC;AAFD,0BAEC;AAED,8DAA8D;AAC9D,SAAgB,QAAQ,CAAC,GAAQ;IAC/B,OAAO,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,OAAO,GAAG,CAAC,GAAG,KAAK,QAAQ,CAAA;AACtD,CAAC;AAFD,4BAEC;AAOD,SAAgB,UAAU,CAAC,CAAM,EAAE,CAAM;IACvC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;QACjC,IACE,IAAI,IAAI,CAAC;YACT,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,QAAQ;YAC3B,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,QAAQ,EAC3B;YACA,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;SAC7B;aAAM,IACL,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,WAAW;YAC9B,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,WAAW,EAC9B;YACA,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAA;SAClB;KACF;IACD,OAAO,CAAC,CAAA;AACV,CAAC;AAhBD,gCAgBC;AAED;;;;;;;;GAQG;AACH,SAAgB,YAAY,CAAC,QAAgB,EAAE,QAAa;IAC1D,OAAO,QAAQ,CAAC,OAAO,CACrB,iBAAiB,EACjB,CAAC,KAAK,EAAE,OAAe,EAAU,EAAE;QACjC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA,CAAC,wBAAwB;QAC9D,MAAM,IAAI,GAAG,IAAA,mBAAQ,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QACxC,IAAI,IAAI,KAAK,SAAS,EAAE;YACtB,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE;gBAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,CAAA;aACrB;YACD,OAAO,IAAI,CAAA;SACZ;QACD,IAAI,QAAQ,CAAC,QAAQ,EAAE;YACrB,aAAa;YACb,MAAM,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;YAC/C,IAAI,CAAC,KAAK,SAAS,EAAE;gBACnB,OAAO,CAAC,CAAA;aACT;SACF;QACD,OAAO,KAAK,CAAA;IACd,CAAC,CACF,CAAA;AACH,CAAC;AAtBD,oCAsBC;AAED;;;;;GAKG;AACH,8DAA8D;AAC9D,SAAgB,KAAK,CAAC,GAAQ;IAC5B,IACE,CAAC,GAAG;QACJ,OAAO,GAAG,KAAK,QAAQ;QACvB,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,mBAAmB,EAC3D;QACA,+CAA+C;QAC/C,OAAO,GAAG,CAAA,CAAC,WAAW;KACvB;IACD,IAAI,GAAG,CAAC,QAAQ,IAAI,WAAW,IAAI,GAAG,EAAE;QACtC,WAAW;QACX,OAAO,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA,CAAC,OAAO;KACnC;IACD,IAAI,GAAG,YAAY,IAAI,EAAE;QACvB,OAAO;QACP,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA,CAAC,OAAO;KACvC;IACD,IAAI,GAAG,YAAY,MAAM,EAAE;QACzB,SAAS;QACT,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,CAAA,CAAC,SAAS;KACjC;IACD,IAAI,CAAC,CAAA;IACL,IAAI,CAAC,CAAA;IACL,IAAI,CAAC,CAAA;IACL,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACtB,QAAQ;QACR,CAAC,GAAG,EAAE,CAAA;QACN,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE;YACtC,IAAI,CAAC,IAAI,GAAG,EAAE;gBACZ,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;aACrB;SACF;QACD,mDAAmD;QACnD,kCAAkC;QAClC,mBAAmB;QACnB,6DAA6D;KAC9D;SAAM;QACL,kBAAkB;QAClB,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;KACjD;IACD,OAAO,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;AAC7B,CAAC;AAzCD,sBAyCC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,SAAS,KAAK,CAAC,IAAS,EAAE,MAAW,EAAE,QAAkB;IACvD,IAAI,IAAI,CAAA;IACR,IAAI,CAAC,CAAA;IACL,MAAM,KAAK,GAAG,EAAE,CAAA;IAChB,KAAK,IAAI,IAAI,MAAM,EAAE;QACnB,uEAAuE;QACvE,wEAAwE;QACxE,sEAAsE;QACtE,gEAAgE;QAChE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;QAChB,IACE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;YACf,aAAa;YACb,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAC7D;YACA,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;SACxC;KACF;IAED,OAAO,IAAI,CAAA,CAAC,SAAS;AACvB,CAAC"}
@@ -1,40 +1,4 @@
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
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
39
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
40
4
  };
@@ -43,163 +7,89 @@ Object.defineProperty(exports, "__esModule", { value: true });
43
7
  * Helper class allows reading names index generated in JBrowse1
44
8
  * Adapted from https://github.com/GMOD/jbrowse/blob/master/src/JBrowse/Store/Hash.js
45
9
  */
46
- var buffer_crc32_1 = __importDefault(require("buffer-crc32"));
47
- var HttpMap = /** @class */ (function () {
48
- function HttpMap(args) {
10
+ const buffer_crc32_1 = __importDefault(require("buffer-crc32"));
11
+ class HttpMap {
12
+ constructor(args) {
49
13
  // make sure url has a trailing slash
50
- this.url = /\/$/.test(args.url) ? args.url : "".concat(args.url, "/");
14
+ this.url = /\/$/.test(args.url) ? args.url : `${args.url}/`;
51
15
  }
52
16
  /**
53
17
  * loads meta.json file from names directory and reads number of hash_bits used
54
18
  */
55
- HttpMap.prototype.readMeta = function () {
56
- return __awaiter(this, void 0, void 0, function () {
57
- var meta, compress, tracks, hashHexCharacters;
58
- return __generator(this, function (_a) {
59
- switch (_a.label) {
60
- case 0: return [4 /*yield*/, this.loadFile('meta.json')];
61
- case 1:
62
- meta = _a.sent();
63
- compress = meta.compress, tracks = meta.track_names;
64
- hashHexCharacters = Math.ceil(meta.hash_bits / 4);
65
- return [2 /*return*/, { hashHexCharacters: hashHexCharacters, compress: compress, tracks: tracks }];
66
- }
67
- });
68
- });
69
- };
70
- HttpMap.prototype.getHashHexCharacters = function () {
71
- return __awaiter(this, void 0, void 0, function () {
72
- var meta;
73
- return __generator(this, function (_a) {
74
- switch (_a.label) {
75
- case 0: return [4 /*yield*/, this.readMeta()];
76
- case 1:
77
- meta = _a.sent();
78
- return [2 /*return*/, meta.hashHexCharacters];
79
- }
80
- });
81
- });
82
- };
83
- HttpMap.prototype.getCompress = function () {
84
- return __awaiter(this, void 0, void 0, function () {
85
- var meta;
86
- return __generator(this, function (_a) {
87
- switch (_a.label) {
88
- case 0: return [4 /*yield*/, this.readMeta()];
89
- case 1:
90
- meta = _a.sent();
91
- return [2 /*return*/, meta.compress];
92
- }
93
- });
94
- });
95
- };
96
- HttpMap.prototype.getTrackNames = function () {
97
- return __awaiter(this, void 0, void 0, function () {
98
- var meta;
99
- return __generator(this, function (_a) {
100
- switch (_a.label) {
101
- case 0: return [4 /*yield*/, this.readMeta()];
102
- case 1:
103
- meta = _a.sent();
104
- return [2 /*return*/, meta.tracks];
105
- }
106
- });
107
- });
108
- };
19
+ async readMeta() {
20
+ const meta = await this.loadFile('meta.json');
21
+ const { compress, track_names: tracks } = meta;
22
+ const hashHexCharacters = Math.ceil(meta.hash_bits / 4);
23
+ return { hashHexCharacters, compress, tracks };
24
+ }
25
+ async getHashHexCharacters() {
26
+ const meta = await this.readMeta();
27
+ return meta.hashHexCharacters;
28
+ }
29
+ async getCompress() {
30
+ const meta = await this.readMeta();
31
+ return meta.compress;
32
+ }
33
+ async getTrackNames() {
34
+ const meta = await this.readMeta();
35
+ return meta.tracks;
36
+ }
109
37
  /**
110
38
  * Returns contents of a bucket given a key
111
39
  * @param key - string
112
40
  */
113
- HttpMap.prototype.get = function (key) {
114
- return __awaiter(this, void 0, void 0, function () {
115
- var bucket;
116
- return __generator(this, function (_a) {
117
- switch (_a.label) {
118
- case 0: return [4 /*yield*/, this.getBucket(key)];
119
- case 1:
120
- bucket = _a.sent();
121
- return [2 /*return*/, bucket[key]];
122
- }
123
- });
124
- });
125
- };
41
+ async get(key) {
42
+ const bucket = await this.getBucket(key);
43
+ return bucket[key];
44
+ }
126
45
  /**
127
46
  * Returns a bucket given a key
128
47
  * @param key - string
129
48
  */
130
- HttpMap.prototype.getBucket = function (key) {
131
- return __awaiter(this, void 0, void 0, function () {
132
- var bucketIdent, hexToDirPath;
133
- return __generator(this, function (_a) {
134
- switch (_a.label) {
135
- case 0:
136
- bucketIdent = this.hash(key);
137
- return [4 /*yield*/, this.hexToDirPath(bucketIdent)];
138
- case 1:
139
- hexToDirPath = _a.sent();
140
- return [2 /*return*/, this.loadFile(hexToDirPath)];
141
- }
142
- });
143
- });
144
- };
49
+ async getBucket(key) {
50
+ const bucketIdent = this.hash(key);
51
+ const hexToDirPath = await this.hexToDirPath(bucketIdent);
52
+ return this.loadFile(hexToDirPath);
53
+ }
145
54
  /**
146
55
  * Loads a file using the url and provided id.
147
56
  * Returns response object with contents of the file
148
57
  * @param id - string
149
58
  */
150
- HttpMap.prototype.loadFile = function (id) {
151
- return __awaiter(this, void 0, void 0, function () {
152
- var response;
153
- return __generator(this, function (_a) {
154
- switch (_a.label) {
155
- case 0: return [4 /*yield*/, fetch("".concat(this.url).concat(id))];
156
- case 1:
157
- response = _a.sent();
158
- if (!response.ok) {
159
- throw new Error("HTTP ".concat(response.status, " ").concat(response.statusText));
160
- }
161
- return [2 /*return*/, response.json()];
162
- }
163
- });
164
- });
165
- };
59
+ async loadFile(id) {
60
+ const response = await fetch(`${this.url}${id}`);
61
+ if (!response.ok) {
62
+ throw new Error(`HTTP ${response.status} ${response.statusText}`);
63
+ }
64
+ return response.json();
65
+ }
166
66
  /**
167
67
  * Returns the corresponding path of the file given a hex string
168
68
  * @param hex - hex string
169
69
  */
170
- HttpMap.prototype.hexToDirPath = function (hex) {
171
- return __awaiter(this, void 0, void 0, function () {
172
- var hashHexCharacters, compress, dirpath, i;
173
- return __generator(this, function (_a) {
174
- switch (_a.label) {
175
- case 0: return [4 /*yield*/, this.getHashHexCharacters()];
176
- case 1:
177
- hashHexCharacters = _a.sent();
178
- if (!hashHexCharacters) return [3 /*break*/, 3];
179
- return [4 /*yield*/, this.getCompress()];
180
- case 2:
181
- compress = _a.sent();
182
- while (hex.length < 8) {
183
- hex = "0".concat(hex);
184
- }
185
- hex = hex.substr(8 - hashHexCharacters);
186
- dirpath = [];
187
- for (i = 0; i < hex.length; i += 3) {
188
- dirpath.push(hex.substring(i, i + 3));
189
- }
190
- return [2 /*return*/, "".concat(dirpath.join('/'), ".json").concat(compress ? 'z' : '')];
191
- case 3: return [2 /*return*/, ''];
192
- }
193
- });
194
- });
195
- };
196
- HttpMap.prototype.hash = function (data) {
70
+ async hexToDirPath(hex) {
71
+ // zero-pad the hex string to be 8 chars if necessary
72
+ const hashHexCharacters = await this.getHashHexCharacters();
73
+ if (hashHexCharacters) {
74
+ const compress = await this.getCompress();
75
+ while (hex.length < 8) {
76
+ hex = `0${hex}`;
77
+ }
78
+ hex = hex.substr(8 - hashHexCharacters);
79
+ const dirpath = [];
80
+ for (let i = 0; i < hex.length; i += 3) {
81
+ dirpath.push(hex.substring(i, i + 3));
82
+ }
83
+ return `${dirpath.join('/')}.json${compress ? 'z' : ''}`;
84
+ }
85
+ return '';
86
+ }
87
+ hash(data) {
197
88
  return (0, buffer_crc32_1.default)(Buffer.from(data))
198
89
  .toString('hex')
199
90
  .toLowerCase()
200
91
  .replace('-', 'n');
201
- };
202
- return HttpMap;
203
- }());
92
+ }
93
+ }
204
94
  exports.default = HttpMap;
205
95
  //# sourceMappingURL=HttpMap.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HttpMap.js","sourceRoot":"","sources":["../../src/JBrowse1TextSeachAdapter/HttpMap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HttpMap.js","sourceRoot":"","sources":["../../src/JBrowse1TextSeachAdapter/HttpMap.ts"],"names":[],"mappings":"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"}
@@ -1,170 +1,73 @@
1
1
  "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
- return new (P || (P = Promise))(function (resolve, reject) {
20
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
21
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
22
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
23
- step((generator = generator.apply(thisArg, _arguments || [])).next());
24
- });
25
- };
26
- var __generator = (this && this.__generator) || function (thisArg, body) {
27
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
28
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
29
- function verb(n) { return function (v) { return step([n, v]); }; }
30
- function step(op) {
31
- if (f) throw new TypeError("Generator is already executing.");
32
- while (_) try {
33
- 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;
34
- if (y = 0, t) op = [op[0] & 2, t.value];
35
- switch (op[0]) {
36
- case 0: case 1: t = op; break;
37
- case 4: _.label++; return { value: op[1], done: false };
38
- case 5: _.label++; y = op[1]; op = [0]; continue;
39
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
40
- default:
41
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
42
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
43
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
44
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
45
- if (t[2]) _.ops.pop();
46
- _.trys.pop(); continue;
47
- }
48
- op = body.call(thisArg, _);
49
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
50
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
51
- }
52
- };
53
- var __read = (this && this.__read) || function (o, n) {
54
- var m = typeof Symbol === "function" && o[Symbol.iterator];
55
- if (!m) return o;
56
- var i = m.call(o), r, ar = [], e;
57
- try {
58
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
59
- }
60
- catch (error) { e = { error: error }; }
61
- finally {
62
- try {
63
- if (r && !r.done && (m = i["return"])) m.call(i);
64
- }
65
- finally { if (e) throw e.error; }
66
- }
67
- return ar;
68
- };
69
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
70
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
71
- if (ar || !(i in from)) {
72
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
73
- ar[i] = from[i];
74
- }
75
- }
76
- return to.concat(ar || Array.prototype.slice.call(from));
77
- };
78
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
79
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
80
4
  };
81
5
  Object.defineProperty(exports, "__esModule", { value: true });
82
- var BaseAdapter_1 = require("@jbrowse/core/data_adapters/BaseAdapter");
83
- var BaseResults_1 = __importDefault(require("@jbrowse/core/TextSearch/BaseResults"));
84
- var configuration_1 = require("@jbrowse/core/configuration");
85
- var HttpMap_1 = __importDefault(require("./HttpMap"));
6
+ const BaseAdapter_1 = require("@jbrowse/core/data_adapters/BaseAdapter");
7
+ const BaseResults_1 = __importDefault(require("@jbrowse/core/TextSearch/BaseResults"));
8
+ const configuration_1 = require("@jbrowse/core/configuration");
9
+ const HttpMap_1 = __importDefault(require("./HttpMap"));
86
10
  // Jbrowse1 text search adapter
87
11
  // Uses index built by generate-names.pl
88
- var JBrowse1TextSearchAdapter = /** @class */ (function (_super) {
89
- __extends(JBrowse1TextSearchAdapter, _super);
90
- function JBrowse1TextSearchAdapter(config, getSubAdapter, pluginManager) {
91
- var _this = _super.call(this, config, getSubAdapter, pluginManager) || this;
92
- var namesIndexLocation = (0, configuration_1.readConfObject)(config, 'namesIndexLocation');
12
+ class JBrowse1TextSearchAdapter extends BaseAdapter_1.BaseAdapter {
13
+ constructor(config, getSubAdapter, pluginManager) {
14
+ super(config, getSubAdapter, pluginManager);
15
+ const namesIndexLocation = (0, configuration_1.readConfObject)(config, 'namesIndexLocation');
93
16
  if (!namesIndexLocation) {
94
17
  throw new Error('must provide namesIndexLocation');
95
18
  }
96
- _this.httpMap = new HttpMap_1.default({
19
+ this.httpMap = new HttpMap_1.default({
97
20
  url: namesIndexLocation.baseUri
98
21
  ? new URL(namesIndexLocation.uri, namesIndexLocation.baseUri).href
99
22
  : namesIndexLocation.uri,
100
23
  });
101
- return _this;
102
24
  }
103
25
  /**
104
26
  * Returns the contents of the file containing the query if it exists
105
27
  * else it returns empty
106
28
  * @param query - string query
107
29
  */
108
- JBrowse1TextSearchAdapter.prototype.loadIndexFile = function (query) {
109
- return __awaiter(this, void 0, void 0, function () {
110
- return __generator(this, function (_a) {
111
- return [2 /*return*/, this.httpMap.getBucket(query)];
112
- });
113
- });
114
- };
115
- JBrowse1TextSearchAdapter.prototype.searchIndex = function (args) {
116
- return __awaiter(this, void 0, void 0, function () {
117
- var searchType, queryString, tracks, _a, entries;
118
- return __generator(this, function (_b) {
119
- switch (_b.label) {
120
- case 0:
121
- searchType = args.searchType, queryString = args.queryString;
122
- _a = this.tracksNames;
123
- if (_a) return [3 /*break*/, 2];
124
- return [4 /*yield*/, this.httpMap.getTrackNames()];
125
- case 1:
126
- _a = (_b.sent());
127
- _b.label = 2;
128
- case 2:
129
- tracks = _a;
130
- return [4 /*yield*/, this.loadIndexFile(queryString.toLowerCase())];
131
- case 3:
132
- entries = _b.sent();
133
- if (entries[queryString]) {
134
- return [2 /*return*/, this.formatResults(entries[queryString], tracks, searchType)];
135
- }
136
- return [2 /*return*/, []];
137
- }
138
- });
139
- });
140
- };
141
- JBrowse1TextSearchAdapter.prototype.formatResults = function (results, tracks, searchType) {
142
- return __spreadArray(__spreadArray([], __read((searchType === 'exact'
143
- ? []
144
- : results.prefix.map(function (result) {
30
+ async loadIndexFile(query) {
31
+ return this.httpMap.getBucket(query);
32
+ }
33
+ async searchIndex(args) {
34
+ const { searchType, queryString } = args;
35
+ const tracks = this.tracksNames || (await this.httpMap.getTrackNames());
36
+ const entries = await this.loadIndexFile(queryString.toLowerCase());
37
+ if (entries[queryString]) {
38
+ return this.formatResults(entries[queryString], tracks, searchType);
39
+ }
40
+ return [];
41
+ }
42
+ formatResults(results, tracks, searchType) {
43
+ return [
44
+ ...(searchType === 'exact'
45
+ ? []
46
+ : results.prefix.map(result => {
47
+ return new BaseResults_1.default({
48
+ label: typeof result === 'object' ? result.name : result,
49
+ matchedAttribute: 'name',
50
+ matchedObject: { result: result },
51
+ });
52
+ })),
53
+ ...results.exact.map(result => {
54
+ const name = result[0];
55
+ const trackIndex = result[1];
56
+ const refName = result[3];
57
+ const start = result[4];
58
+ const end = result[5];
59
+ const locstring = `${refName || name}:${start}-${end}`;
145
60
  return new BaseResults_1.default({
146
- label: typeof result === 'object' ? result.name : result,
61
+ locString: locstring,
62
+ label: name,
147
63
  matchedAttribute: 'name',
148
- matchedObject: { result: result },
64
+ matchedObject: result,
65
+ trackId: tracks[trackIndex],
149
66
  });
150
- }))), false), __read(results.exact.map(function (result) {
151
- var name = result[0];
152
- var trackIndex = result[1];
153
- var refName = result[3];
154
- var start = result[4];
155
- var end = result[5];
156
- var locstring = "".concat(refName || name, ":").concat(start, "-").concat(end);
157
- return new BaseResults_1.default({
158
- locString: locstring,
159
- label: name,
160
- matchedAttribute: 'name',
161
- matchedObject: result,
162
- trackId: tracks[trackIndex],
163
- });
164
- })), false).filter(function (result) { return result.getLabel() !== 'too many matches'; });
165
- };
166
- JBrowse1TextSearchAdapter.prototype.freeResources = function () { };
167
- return JBrowse1TextSearchAdapter;
168
- }(BaseAdapter_1.BaseAdapter));
67
+ }),
68
+ ].filter(result => result.getLabel() !== 'too many matches');
69
+ }
70
+ freeResources() { }
71
+ }
169
72
  exports.default = JBrowse1TextSearchAdapter;
170
73
  //# sourceMappingURL=JBrowse1TextSearchAdapter.js.map