@jbrowse/plugin-trix 1.7.11 → 2.0.0

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,191 +1,172 @@
1
1
  "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = void 0;
9
-
10
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
-
12
- var _toArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toArray"));
13
-
14
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
-
16
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
17
-
18
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
19
-
20
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
21
-
22
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
23
-
24
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
25
-
26
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
27
-
28
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
29
-
30
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
31
-
32
- var _trix = _interopRequireDefault(require("@gmod/trix"));
33
-
34
- var _BaseAdapter2 = require("@jbrowse/core/data_adapters/BaseAdapter");
35
-
36
- var _io = require("@jbrowse/core/util/io");
37
-
38
- var _BaseResults = _interopRequireDefault(require("@jbrowse/core/TextSearch/BaseResults"));
39
-
40
- var _configuration = require("@jbrowse/core/configuration");
41
-
42
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
43
-
44
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
45
-
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 __importDefault = (this && this.__importDefault) || function (mod) {
70
+ return (mod && mod.__esModule) ? mod : { "default": mod };
71
+ };
72
+ Object.defineProperty(exports, "__esModule", { value: true });
73
+ var trix_1 = __importDefault(require("@gmod/trix"));
74
+ var BaseAdapter_1 = require("@jbrowse/core/data_adapters/BaseAdapter");
75
+ var io_1 = require("@jbrowse/core/util/io");
76
+ var BaseResults_1 = __importDefault(require("@jbrowse/core/TextSearch/BaseResults"));
77
+ var configuration_1 = require("@jbrowse/core/configuration");
46
78
  function decodeURIComponentNoThrow(uri) {
47
- try {
48
- return decodeURIComponent(uri);
49
- } catch (e) {
50
- // avoid throwing exception on a failure to decode URI component
51
- return uri;
52
- }
79
+ try {
80
+ return decodeURIComponent(uri);
81
+ }
82
+ catch (e) {
83
+ // avoid throwing exception on a failure to decode URI component
84
+ return uri;
85
+ }
53
86
  }
54
-
55
- function shorten(str, term) {
56
- var w = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 15;
57
- var tidx = str.toLowerCase().indexOf(term);
58
- return str.length < 40 ? str : (Math.max(0, tidx - w) > 0 ? '...' : '') + str.slice(Math.max(0, tidx - w), tidx + term.length + w).trim() + (tidx + term.length < str.length ? '...' : '');
87
+ function shorten(str, term, w) {
88
+ if (w === void 0) { w = 15; }
89
+ var tidx = str.toLowerCase().indexOf(term);
90
+ return str.length < 40
91
+ ? str
92
+ : (Math.max(0, tidx - w) > 0 ? '...' : '') +
93
+ str.slice(Math.max(0, tidx - w), tidx + term.length + w).trim() +
94
+ (tidx + term.length < str.length ? '...' : '');
59
95
  }
60
-
61
- var TrixTextSearchAdapter = /*#__PURE__*/function (_BaseAdapter) {
62
- (0, _inherits2.default)(TrixTextSearchAdapter, _BaseAdapter);
63
-
64
- var _super = _createSuper(TrixTextSearchAdapter);
65
-
66
- function TrixTextSearchAdapter(config, getSubAdapter, pluginManager) {
67
- var _this;
68
-
69
- (0, _classCallCheck2.default)(this, TrixTextSearchAdapter);
70
- _this = _super.call(this, config, getSubAdapter, pluginManager);
71
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "indexingAttributes", void 0);
72
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "trixJs", void 0);
73
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "tracksNames", void 0);
74
- var ixFilePath = (0, _configuration.readConfObject)(config, 'ixFilePath');
75
- var ixxFilePath = (0, _configuration.readConfObject)(config, 'ixxFilePath');
76
-
77
- if (!ixFilePath) {
78
- throw new Error('must provide out.ix');
96
+ var TrixTextSearchAdapter = /** @class */ (function (_super) {
97
+ __extends(TrixTextSearchAdapter, _super);
98
+ function TrixTextSearchAdapter(config, getSubAdapter, pluginManager) {
99
+ var _this = _super.call(this, config, getSubAdapter, pluginManager) || this;
100
+ var ixFilePath = (0, configuration_1.readConfObject)(config, 'ixFilePath');
101
+ var ixxFilePath = (0, configuration_1.readConfObject)(config, 'ixxFilePath');
102
+ if (!ixFilePath) {
103
+ throw new Error('must provide out.ix');
104
+ }
105
+ if (!ixxFilePath) {
106
+ throw new Error('must provide out.ixx');
107
+ }
108
+ _this.trixJs = new trix_1.default((0, io_1.openLocation)(ixxFilePath), (0, io_1.openLocation)(ixFilePath), 1500);
109
+ return _this;
79
110
  }
80
-
81
- if (!ixxFilePath) {
82
- throw new Error('must provide out.ixx');
83
- }
84
-
85
- _this.trixJs = new _trix.default((0, _io.openLocation)(ixxFilePath), (0, _io.openLocation)(ixFilePath), 1500);
86
- return _this;
87
- }
88
- /*
89
- * Returns list of results
90
- * @param args - search options/arguments include: search query
91
- * limit of results to return, searchType...prefix | full | exact", etc.
92
- */
93
-
94
-
95
- (0, _createClass2.default)(TrixTextSearchAdapter, [{
96
- key: "searchIndex",
97
- value: function () {
98
- var _searchIndex = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(args) {
99
- var query, strs, results, formatted;
100
- return _regenerator.default.wrap(function _callee$(_context) {
101
- while (1) {
102
- switch (_context.prev = _context.next) {
103
- case 0:
104
- query = args.queryString.toLowerCase();
105
- strs = query.split(' ');
106
- _context.next = 4;
107
- return this.trixJs.search(query);
108
-
109
- case 4:
110
- results = _context.sent;
111
- formatted = results // if multi-word search try to filter out relevant items
112
- .filter(function (_ref) {
113
- var _ref2 = (0, _slicedToArray2.default)(_ref, 2),
114
- data = _ref2[1];
115
-
116
- return strs.every(function (r) {
117
- return decodeURIComponentNoThrow(data).toLowerCase().includes(r);
118
- });
119
- }).map(function (_ref3) {
120
- var _ref4 = (0, _slicedToArray2.default)(_ref3, 2),
121
- term = _ref4[0],
122
- data = _ref4[1];
123
-
124
- var result = JSON.parse(data.replace(/\|/g, ','));
125
-
126
- var _result$map = result.map(function (record) {
127
- return decodeURIComponentNoThrow(record);
128
- }),
129
- _result$map2 = (0, _toArray2.default)(_result$map),
130
- loc = _result$map2[0],
131
- trackId = _result$map2[1],
132
- rest = _result$map2.slice(2);
133
-
134
- var labelFieldIdx = rest.findIndex(function (elt) {
135
- return !!elt;
136
- });
137
- var contextIdx = rest.map(function (elt) {
138
- return elt.toLowerCase();
139
- }).findIndex(function (f) {
140
- return f.indexOf(term.toLowerCase()) !== -1;
141
- });
142
- var labelField = rest[labelFieldIdx];
143
- var contextField = rest[contextIdx];
144
- var context = contextIdx !== -1 ? shorten(contextField, term) : undefined;
145
- var label = shorten(labelField, term);
146
- var displayString = !context || label.toLowerCase() === context.toLowerCase() ? label : "".concat(label, " (").concat(context, ")");
147
- return new _BaseResults.default({
148
- locString: loc,
149
- label: labelField,
150
- displayString: displayString,
151
- matchedObject: result.map(function (record) {
152
- return decodeURIComponent(record);
153
- }),
154
- trackId: trackId
155
- });
156
- });
157
-
158
- if (!(args.searchType === 'exact')) {
159
- _context.next = 8;
160
- break;
111
+ /*
112
+ * Returns list of results
113
+ * @param args - search options/arguments include: search query
114
+ * limit of results to return, searchType...prefix | full | exact", etc.
115
+ */
116
+ TrixTextSearchAdapter.prototype.searchIndex = function (args) {
117
+ return __awaiter(this, void 0, void 0, function () {
118
+ var query, strs, results, formatted;
119
+ return __generator(this, function (_a) {
120
+ switch (_a.label) {
121
+ case 0:
122
+ query = args.queryString.toLowerCase();
123
+ strs = query.split(' ');
124
+ return [4 /*yield*/, this.trixJs.search(query)];
125
+ case 1:
126
+ results = _a.sent();
127
+ formatted = results
128
+ // if multi-word search try to filter out relevant items
129
+ .filter(function (_a) {
130
+ var _b = __read(_a, 2), data = _b[1];
131
+ return strs.every(function (r) {
132
+ return decodeURIComponentNoThrow(data).toLowerCase().includes(r);
133
+ });
134
+ })
135
+ .map(function (_a) {
136
+ var _b = __read(_a, 2), term = _b[0], data = _b[1];
137
+ var result = JSON.parse(data.replace(/\|/g, ','));
138
+ var _c = __read(result.map(function (record) {
139
+ return decodeURIComponentNoThrow(record);
140
+ })), loc = _c[0], trackId = _c[1], rest = _c.slice(2);
141
+ var labelFieldIdx = rest.findIndex(function (elt) { return !!elt; });
142
+ var contextIdx = rest
143
+ .map(function (elt) { return elt.toLowerCase(); })
144
+ .findIndex(function (f) { return f.indexOf(term.toLowerCase()) !== -1; });
145
+ var labelField = rest[labelFieldIdx];
146
+ var contextField = rest[contextIdx];
147
+ var context = contextIdx !== -1 ? shorten(contextField, term) : undefined;
148
+ var label = shorten(labelField, term);
149
+ var displayString = !context || label.toLowerCase() === context.toLowerCase()
150
+ ? label
151
+ : "".concat(label, " (").concat(context, ")");
152
+ return new BaseResults_1.default({
153
+ locString: loc,
154
+ label: labelField,
155
+ displayString: displayString,
156
+ matchedObject: result.map(function (record) { return decodeURIComponent(record); }),
157
+ trackId: trackId,
158
+ });
159
+ });
160
+ if (args.searchType === 'exact') {
161
+ return [2 /*return*/, formatted.filter(function (res) { return res.getLabel().toLowerCase() === args.queryString.toLowerCase(); })];
162
+ }
163
+ return [2 /*return*/, formatted];
161
164
  }
162
-
163
- return _context.abrupt("return", formatted.filter(function (res) {
164
- return res.getLabel().toLowerCase() === args.queryString.toLowerCase();
165
- }));
166
-
167
- case 8:
168
- return _context.abrupt("return", formatted);
169
-
170
- case 9:
171
- case "end":
172
- return _context.stop();
173
- }
174
- }
175
- }, _callee, this);
176
- }));
177
-
178
- function searchIndex(_x) {
179
- return _searchIndex.apply(this, arguments);
180
- }
181
-
182
- return searchIndex;
183
- }()
184
- }, {
185
- key: "freeResources",
186
- value: function freeResources() {}
187
- }]);
188
- return TrixTextSearchAdapter;
189
- }(_BaseAdapter2.BaseAdapter);
190
-
191
- exports.default = TrixTextSearchAdapter;
165
+ });
166
+ });
167
+ };
168
+ TrixTextSearchAdapter.prototype.freeResources = function () { };
169
+ return TrixTextSearchAdapter;
170
+ }(BaseAdapter_1.BaseAdapter));
171
+ exports.default = TrixTextSearchAdapter;
172
+ //# sourceMappingURL=TrixTextSearchAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TrixTextSearchAdapter.js","sourceRoot":"","sources":["../../src/TrixTextSearchAdapter/TrixTextSearchAdapter.ts"],"names":[],"mappings":"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"}
@@ -1,50 +1,31 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _configuration = require("@jbrowse/core/configuration");
9
-
10
- var _default = (0, _configuration.ConfigurationSchema)('TrixTextSearchAdapter', {
11
- ixFilePath: {
12
- type: 'fileLocation',
13
- defaultValue: {
14
- uri: 'out.ix',
15
- locationType: 'UriLocation'
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var configuration_1 = require("@jbrowse/core/configuration");
4
+ exports.default = (0, configuration_1.ConfigurationSchema)('TrixTextSearchAdapter', {
5
+ ixFilePath: {
6
+ type: 'fileLocation',
7
+ defaultValue: { uri: 'out.ix', locationType: 'UriLocation' },
8
+ description: 'the location of the trix ix file',
16
9
  },
17
- description: 'the location of the trix ix file'
18
- },
19
- ixxFilePath: {
20
- type: 'fileLocation',
21
- defaultValue: {
22
- uri: 'out.ixx',
23
- locationType: 'UriLocation'
10
+ ixxFilePath: {
11
+ type: 'fileLocation',
12
+ defaultValue: { uri: 'out.ixx', locationType: 'UriLocation' },
13
+ description: 'the location of the trix ixx file',
24
14
  },
25
- description: 'the location of the trix ixx file'
26
- },
27
- metaFilePath: {
28
- type: 'fileLocation',
29
- defaultValue: {
30
- uri: 'meta.json',
31
- locationType: 'UriLocation'
15
+ metaFilePath: {
16
+ type: 'fileLocation',
17
+ defaultValue: { uri: 'meta.json', locationType: 'UriLocation' },
18
+ description: 'the location of the metadata json file for the trix index',
32
19
  },
33
- description: 'the location of the metadata json file for the trix index'
34
- },
35
- tracks: {
36
- type: 'stringArray',
37
- defaultValue: [],
38
- description: 'List of tracks covered by text search adapter'
39
- },
40
- assemblyNames: {
41
- type: 'stringArray',
42
- defaultValue: [],
43
- description: 'List of assemblies covered by text search adapter'
44
- }
45
- }, {
46
- explicitlyTyped: true,
47
- explicitIdentifier: 'textSearchAdapterId'
48
- });
49
-
50
- exports.default = _default;
20
+ tracks: {
21
+ type: 'stringArray',
22
+ defaultValue: [],
23
+ description: 'List of tracks covered by text search adapter',
24
+ },
25
+ assemblyNames: {
26
+ type: 'stringArray',
27
+ defaultValue: [],
28
+ description: 'List of assemblies covered by text search adapter',
29
+ },
30
+ }, { explicitlyTyped: true, explicitIdentifier: 'textSearchAdapterId' });
31
+ //# sourceMappingURL=configSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configSchema.js","sourceRoot":"","sources":["../../src/TrixTextSearchAdapter/configSchema.ts"],"names":[],"mappings":";;AAAA,6DAAiE;AAEjE,kBAAe,IAAA,mCAAmB,EAChC,uBAAuB,EACvB;IACE,UAAU,EAAE;QACV,IAAI,EAAE,cAAc;QACpB,YAAY,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE;QAC5D,WAAW,EAAE,kCAAkC;KAChD;IACD,WAAW,EAAE;QACX,IAAI,EAAE,cAAc;QACpB,YAAY,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE;QAC7D,WAAW,EAAE,mCAAmC;KACjD;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,cAAc;QACpB,YAAY,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE;QAC/D,WAAW,EAAE,2DAA2D;KACzE;IACD,MAAM,EAAE;QACN,IAAI,EAAE,aAAa;QACnB,YAAY,EAAE,EAAE;QAChB,WAAW,EAAE,+CAA+C;KAC7D;IACD,aAAa,EAAE;QACb,IAAI,EAAE,aAAa;QACnB,YAAY,EAAE,EAAE;QAChB,WAAW,EAAE,mDAAmD;KACjE;CACF,EACD,EAAE,eAAe,EAAE,IAAI,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,CACrE,CAAA"}
@@ -1,23 +1,11 @@
1
1
  "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- Object.defineProperty(exports, "AdapterClass", {
9
- enumerable: true,
10
- get: function get() {
11
- return _TrixTextSearchAdapter.default;
12
- }
13
- });
14
- Object.defineProperty(exports, "configSchema", {
15
- enumerable: true,
16
- get: function get() {
17
- return _configSchema.default;
18
- }
19
- });
20
-
21
- var _TrixTextSearchAdapter = _interopRequireDefault(require("./TrixTextSearchAdapter"));
22
-
23
- var _configSchema = _interopRequireDefault(require("./configSchema"));
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.configSchema = exports.AdapterClass = void 0;
7
+ var TrixTextSearchAdapter_1 = require("./TrixTextSearchAdapter");
8
+ Object.defineProperty(exports, "AdapterClass", { enumerable: true, get: function () { return __importDefault(TrixTextSearchAdapter_1).default; } });
9
+ var configSchema_1 = require("./configSchema");
10
+ Object.defineProperty(exports, "configSchema", { enumerable: true, get: function () { return __importDefault(configSchema_1).default; } });
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/TrixTextSearchAdapter/index.ts"],"names":[],"mappings":";;;;;;AAAA,iEAAiE;AAAxD,sIAAA,OAAO,OAAgB;AAChC,+CAAwD;AAA/C,6HAAA,OAAO,OAAgB"}
package/dist/index.js CHANGED
@@ -1,69 +1,44 @@
1
1
  "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = void 0;
9
-
10
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
-
14
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
15
-
16
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
-
18
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
-
20
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
-
22
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
-
24
- var _TextSearchAdapterType = _interopRequireDefault(require("@jbrowse/core/pluggableElementTypes/TextSearchAdapterType"));
25
-
26
- var _Plugin2 = _interopRequireDefault(require("@jbrowse/core/Plugin"));
27
-
28
- var _TrixTextSearchAdapter = require("./TrixTextSearchAdapter");
29
-
30
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
31
-
32
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
33
-
34
- var _default = /*#__PURE__*/function (_Plugin) {
35
- (0, _inherits2.default)(_default, _Plugin);
36
-
37
- var _super = _createSuper(_default);
38
-
39
- function _default() {
40
- var _this;
41
-
42
- (0, _classCallCheck2.default)(this, _default);
43
-
44
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
45
- args[_key] = arguments[_key];
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 __importDefault = (this && this.__importDefault) || function (mod) {
18
+ return (mod && mod.__esModule) ? mod : { "default": mod };
19
+ };
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ var TextSearchAdapterType_1 = __importDefault(require("@jbrowse/core/pluggableElementTypes/TextSearchAdapterType"));
22
+ var Plugin_1 = __importDefault(require("@jbrowse/core/Plugin"));
23
+ var TrixTextSearchAdapter_1 = require("./TrixTextSearchAdapter");
24
+ var default_1 = /** @class */ (function (_super) {
25
+ __extends(default_1, _super);
26
+ function default_1() {
27
+ var _this = _super !== null && _super.apply(this, arguments) || this;
28
+ _this.name = 'TrixPlugin';
29
+ return _this;
46
30
  }
47
-
48
- _this = _super.call.apply(_super, [this].concat(args));
49
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "name", 'TrixPlugin');
50
- return _this;
51
- }
52
-
53
- (0, _createClass2.default)(_default, [{
54
- key: "install",
55
- value: function install(pluginManager) {
56
- pluginManager.addTextSearchAdapterType(function () {
57
- return new _TextSearchAdapterType.default({
58
- name: 'TrixTextSearchAdapter',
59
- configSchema: _TrixTextSearchAdapter.configSchema,
60
- AdapterClass: _TrixTextSearchAdapter.AdapterClass,
61
- description: 'Trix adapter'
31
+ default_1.prototype.install = function (pluginManager) {
32
+ pluginManager.addTextSearchAdapterType(function () {
33
+ return new TextSearchAdapterType_1.default({
34
+ name: 'TrixTextSearchAdapter',
35
+ configSchema: TrixTextSearchAdapter_1.configSchema,
36
+ AdapterClass: TrixTextSearchAdapter_1.AdapterClass,
37
+ description: 'Trix adapter',
38
+ });
62
39
  });
63
- });
64
- }
65
- }]);
66
- return _default;
67
- }(_Plugin2.default);
68
-
69
- exports.default = _default;
40
+ };
41
+ return default_1;
42
+ }(Plugin_1.default));
43
+ exports.default = default_1;
44
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,oHAA6F;AAC7F,gEAAyC;AAEzC,iEAGgC;AAEhC;IAA6B,6BAAM;IAAnC;QAAA,qEAcC;QAbC,UAAI,GAAG,YAAY,CAAA;;IAarB,CAAC;IAXC,2BAAO,GAAP,UAAQ,aAA4B;QAClC,aAAa,CAAC,wBAAwB,CACpC;YACE,OAAA,IAAI,+BAAqB,CAAC;gBACxB,IAAI,EAAE,uBAAuB;gBAC7B,YAAY,EAAE,oCAAuB;gBACrC,YAAY,EAAE,oCAA0B;gBACxC,WAAW,EAAE,cAAc;aAC5B,CAAC;QALF,CAKE,CACL,CAAA;IACH,CAAC;IACH,gBAAC;AAAD,CAAC,AAdD,CAA6B,gBAAM,GAclC"}
@@ -0,0 +1,14 @@
1
+ import Trix from '@gmod/trix';
2
+ import { BaseTextSearchAdapter, BaseArgs, BaseAdapter } from '@jbrowse/core/data_adapters/BaseAdapter';
3
+ import BaseResult from '@jbrowse/core/TextSearch/BaseResults';
4
+ import { AnyConfigurationModel } from '@jbrowse/core/configuration';
5
+ import PluginManager from '@jbrowse/core/PluginManager';
6
+ import { getSubAdapterType } from '@jbrowse/core/data_adapters/dataAdapterCache';
7
+ export default class TrixTextSearchAdapter extends BaseAdapter implements BaseTextSearchAdapter {
8
+ indexingAttributes?: string[];
9
+ trixJs: Trix;
10
+ tracksNames?: string[];
11
+ constructor(config: AnyConfigurationModel, getSubAdapter?: getSubAdapterType, pluginManager?: PluginManager);
12
+ searchIndex(args: BaseArgs): Promise<BaseResult[]>;
13
+ freeResources(): void;
14
+ }
@@ -0,0 +1,77 @@
1
+ import Trix from '@gmod/trix';
2
+ import { BaseAdapter, } from '@jbrowse/core/data_adapters/BaseAdapter';
3
+ import { openLocation } from '@jbrowse/core/util/io';
4
+ import BaseResult from '@jbrowse/core/TextSearch/BaseResults';
5
+ import { readConfObject, } from '@jbrowse/core/configuration';
6
+ function decodeURIComponentNoThrow(uri) {
7
+ try {
8
+ return decodeURIComponent(uri);
9
+ }
10
+ catch (e) {
11
+ // avoid throwing exception on a failure to decode URI component
12
+ return uri;
13
+ }
14
+ }
15
+ function shorten(str, term, w = 15) {
16
+ const tidx = str.toLowerCase().indexOf(term);
17
+ return str.length < 40
18
+ ? str
19
+ : (Math.max(0, tidx - w) > 0 ? '...' : '') +
20
+ str.slice(Math.max(0, tidx - w), tidx + term.length + w).trim() +
21
+ (tidx + term.length < str.length ? '...' : '');
22
+ }
23
+ export default class TrixTextSearchAdapter extends BaseAdapter {
24
+ constructor(config, getSubAdapter, pluginManager) {
25
+ super(config, getSubAdapter, pluginManager);
26
+ const ixFilePath = readConfObject(config, 'ixFilePath');
27
+ const ixxFilePath = readConfObject(config, 'ixxFilePath');
28
+ if (!ixFilePath) {
29
+ throw new Error('must provide out.ix');
30
+ }
31
+ if (!ixxFilePath) {
32
+ throw new Error('must provide out.ixx');
33
+ }
34
+ this.trixJs = new Trix(openLocation(ixxFilePath), openLocation(ixFilePath), 1500);
35
+ }
36
+ /*
37
+ * Returns list of results
38
+ * @param args - search options/arguments include: search query
39
+ * limit of results to return, searchType...prefix | full | exact", etc.
40
+ */
41
+ async searchIndex(args) {
42
+ const query = args.queryString.toLowerCase();
43
+ const strs = query.split(' ');
44
+ const results = await this.trixJs.search(query);
45
+ const formatted = results
46
+ // if multi-word search try to filter out relevant items
47
+ .filter(([, data]) => strs.every(r => decodeURIComponentNoThrow(data).toLowerCase().includes(r)))
48
+ .map(([term, data]) => {
49
+ const result = JSON.parse(data.replace(/\|/g, ','));
50
+ const [loc, trackId, ...rest] = result.map(record => decodeURIComponentNoThrow(record));
51
+ const labelFieldIdx = rest.findIndex(elt => !!elt);
52
+ const contextIdx = rest
53
+ .map(elt => elt.toLowerCase())
54
+ .findIndex(f => f.indexOf(term.toLowerCase()) !== -1);
55
+ const labelField = rest[labelFieldIdx];
56
+ const contextField = rest[contextIdx];
57
+ const context = contextIdx !== -1 ? shorten(contextField, term) : undefined;
58
+ const label = shorten(labelField, term);
59
+ const displayString = !context || label.toLowerCase() === context.toLowerCase()
60
+ ? label
61
+ : `${label} (${context})`;
62
+ return new BaseResult({
63
+ locString: loc,
64
+ label: labelField,
65
+ displayString,
66
+ matchedObject: result.map(record => decodeURIComponent(record)),
67
+ trackId,
68
+ });
69
+ });
70
+ if (args.searchType === 'exact') {
71
+ return formatted.filter(res => res.getLabel().toLowerCase() === args.queryString.toLowerCase());
72
+ }
73
+ return formatted;
74
+ }
75
+ freeResources() { }
76
+ }
77
+ //# sourceMappingURL=TrixTextSearchAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TrixTextSearchAdapter.js","sourceRoot":"","sources":["../../src/TrixTextSearchAdapter/TrixTextSearchAdapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ declare const _default: import("@jbrowse/core/configuration").AnyConfigurationSchemaType;
2
+ export default _default;
@@ -0,0 +1,29 @@
1
+ import { ConfigurationSchema } from '@jbrowse/core/configuration';
2
+ export default ConfigurationSchema('TrixTextSearchAdapter', {
3
+ ixFilePath: {
4
+ type: 'fileLocation',
5
+ defaultValue: { uri: 'out.ix', locationType: 'UriLocation' },
6
+ description: 'the location of the trix ix file',
7
+ },
8
+ ixxFilePath: {
9
+ type: 'fileLocation',
10
+ defaultValue: { uri: 'out.ixx', locationType: 'UriLocation' },
11
+ description: 'the location of the trix ixx file',
12
+ },
13
+ metaFilePath: {
14
+ type: 'fileLocation',
15
+ defaultValue: { uri: 'meta.json', locationType: 'UriLocation' },
16
+ description: 'the location of the metadata json file for the trix index',
17
+ },
18
+ tracks: {
19
+ type: 'stringArray',
20
+ defaultValue: [],
21
+ description: 'List of tracks covered by text search adapter',
22
+ },
23
+ assemblyNames: {
24
+ type: 'stringArray',
25
+ defaultValue: [],
26
+ description: 'List of assemblies covered by text search adapter',
27
+ },
28
+ }, { explicitlyTyped: true, explicitIdentifier: 'textSearchAdapterId' });
29
+ //# sourceMappingURL=configSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configSchema.js","sourceRoot":"","sources":["../../src/TrixTextSearchAdapter/configSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AAEjE,eAAe,mBAAmB,CAChC,uBAAuB,EACvB;IACE,UAAU,EAAE;QACV,IAAI,EAAE,cAAc;QACpB,YAAY,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE;QAC5D,WAAW,EAAE,kCAAkC;KAChD;IACD,WAAW,EAAE;QACX,IAAI,EAAE,cAAc;QACpB,YAAY,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE;QAC7D,WAAW,EAAE,mCAAmC;KACjD;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,cAAc;QACpB,YAAY,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE;QAC/D,WAAW,EAAE,2DAA2D;KACzE;IACD,MAAM,EAAE;QACN,IAAI,EAAE,aAAa;QACnB,YAAY,EAAE,EAAE;QAChB,WAAW,EAAE,+CAA+C;KAC7D;IACD,aAAa,EAAE;QACb,IAAI,EAAE,aAAa;QACnB,YAAY,EAAE,EAAE;QAChB,WAAW,EAAE,mDAAmD;KACjE;CACF,EACD,EAAE,eAAe,EAAE,IAAI,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,CACrE,CAAA"}
@@ -0,0 +1,2 @@
1
+ export { default as AdapterClass } from './TrixTextSearchAdapter';
2
+ export { default as configSchema } from './configSchema';
@@ -0,0 +1,3 @@
1
+ export { default as AdapterClass } from './TrixTextSearchAdapter';
2
+ export { default as configSchema } from './configSchema';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/TrixTextSearchAdapter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,yBAAyB,CAAA;AACjE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAA"}
package/esm/index.d.ts ADDED
@@ -0,0 +1,6 @@
1
+ import Plugin from '@jbrowse/core/Plugin';
2
+ import PluginManager from '@jbrowse/core/PluginManager';
3
+ export default class extends Plugin {
4
+ name: string;
5
+ install(pluginManager: PluginManager): void;
6
+ }
package/esm/index.js ADDED
@@ -0,0 +1,18 @@
1
+ import TextSearchAdapterType from '@jbrowse/core/pluggableElementTypes/TextSearchAdapterType';
2
+ import Plugin from '@jbrowse/core/Plugin';
3
+ import { AdapterClass as TrixTextSearchAdapterClass, configSchema as trixAdapterConfigSchema, } from './TrixTextSearchAdapter';
4
+ export default class extends Plugin {
5
+ constructor() {
6
+ super(...arguments);
7
+ this.name = 'TrixPlugin';
8
+ }
9
+ install(pluginManager) {
10
+ pluginManager.addTextSearchAdapterType(() => new TextSearchAdapterType({
11
+ name: 'TrixTextSearchAdapter',
12
+ configSchema: trixAdapterConfigSchema,
13
+ AdapterClass: TrixTextSearchAdapterClass,
14
+ description: 'Trix adapter',
15
+ }));
16
+ }
17
+ }
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,MAAM,2DAA2D,CAAA;AAC7F,OAAO,MAAM,MAAM,sBAAsB,CAAA;AAEzC,OAAO,EACL,YAAY,IAAI,0BAA0B,EAC1C,YAAY,IAAI,uBAAuB,GACxC,MAAM,yBAAyB,CAAA;AAEhC,MAAM,CAAC,OAAO,MAAO,SAAQ,MAAM;IAAnC;;QACE,SAAI,GAAG,YAAY,CAAA;IAarB,CAAC;IAXC,OAAO,CAAC,aAA4B;QAClC,aAAa,CAAC,wBAAwB,CACpC,GAAG,EAAE,CACH,IAAI,qBAAqB,CAAC;YACxB,IAAI,EAAE,uBAAuB;YAC7B,YAAY,EAAE,uBAAuB;YACrC,YAAY,EAAE,0BAA0B;YACxC,WAAW,EAAE,cAAc;SAC5B,CAAC,CACL,CAAA;IACH,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jbrowse/plugin-trix",
3
- "version": "1.7.11",
3
+ "version": "2.0.0",
4
4
  "description": "JBrowse 2 trix text search adapter",
5
5
  "keywords": [
6
6
  "jbrowse",
@@ -20,24 +20,28 @@
20
20
  "main": "dist/index.js",
21
21
  "files": [
22
22
  "dist",
23
- "src"
23
+ "src",
24
+ "esm"
24
25
  ],
25
26
  "scripts": {
26
- "build": "babel src --root-mode upward --out-dir dist --extensions .ts,.js,.tsx,.jsx",
27
+ "build": "npm-run-all build:*",
27
28
  "test": "cd ../..; jest plugins/trix",
28
29
  "prepublishOnly": "yarn test",
29
30
  "prepack": "yarn build; yarn useDist",
30
31
  "postpack": "yarn useSrc",
31
32
  "useDist": "node ../../scripts/useDist.js",
32
33
  "useSrc": "node ../../scripts/useSrc.js",
33
- "postbuild": "tsc --build tsconfig.build.json"
34
+ "prebuild": "npm run clean",
35
+ "build:esm": "tsc --build tsconfig.build.esm.json",
36
+ "build:es5": "tsc --build tsconfig.build.es5.json",
37
+ "clean": "rimraf dist esm *.tsbuildinfo"
34
38
  },
35
39
  "peerDependencies": {
36
40
  "@jbrowse/core": "^1.0.0",
37
- "@material-ui/core": "^4.9.13",
38
- "mobx": "^5.0.0",
39
- "mobx-react": "^6.0.0",
40
- "mobx-state-tree": "3.14.1",
41
+ "@mui/material": "^4.9.13",
42
+ "mobx": "^6.0.0",
43
+ "mobx-react": "^7.0.0",
44
+ "mobx-state-tree": "^5.0.0",
41
45
  "prop-types": "^15.0.0",
42
46
  "react": ">=16.8.0"
43
47
  },
@@ -48,5 +52,8 @@
48
52
  "publishConfig": {
49
53
  "access": "public"
50
54
  },
51
- "gitHead": "5c21beb48a21f08b0091d293f09ac99174c48f77"
55
+ "distModule": "esm/index.js",
56
+ "srcModule": "src/index.ts",
57
+ "module": "esm/index.js",
58
+ "gitHead": "ecc7f5d47351a5ea04bc00f3a6eb6dfb607342e6"
52
59
  }
@@ -1,76 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
6
-
7
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
8
-
9
- var _BaseResults = _interopRequireDefault(require("@jbrowse/core/TextSearch/BaseResults"));
10
-
11
- var _path = _interopRequireDefault(require("path"));
12
-
13
- var _TrixTextSearchAdapter = _interopRequireDefault(require("./TrixTextSearchAdapter"));
14
-
15
- var _configSchema = _interopRequireDefault(require("./configSchema"));
16
-
17
- test('adapter can fetch output files', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
18
- var rootTemplate, urlPath, args, adapter, results, results2, test2;
19
- return _regenerator.default.wrap(function _callee$(_context) {
20
- while (1) {
21
- switch (_context.prev = _context.next) {
22
- case 0:
23
- rootTemplate = _path.default.join(__dirname, '..', '..', '..', '..', 'test_data', 'volvox', 'trix').replace(/\\/g, '\\\\');
24
- urlPath = decodeURI(new URL("file://".concat(rootTemplate)).href);
25
- args = {
26
- type: 'TrixTextSearchAdapter',
27
- textSearchAdapterId: 'TrixTextSearchAdapterTest',
28
- ixFilePath: {
29
- uri: "".concat(urlPath, "/volvox.ix"),
30
- locationType: 'UriLocation'
31
- },
32
- ixxFilePath: {
33
- uri: "".concat(urlPath, "/volvox.ixx"),
34
- locationType: 'UriLocation'
35
- },
36
- metaFilePath: {
37
- uri: "".concat(urlPath, "/volvox_meta.json"),
38
- locationType: 'UriLocation'
39
- }
40
- }; // create adapter
41
-
42
- adapter = new _TrixTextSearchAdapter.default(_configSchema.default.create(args)); // prefix search
43
-
44
- _context.next = 6;
45
- return adapter.searchIndex({
46
- queryString: 'apple'
47
- });
48
-
49
- case 6:
50
- results = _context.sent;
51
- // check results are of type BaseResult for prefix search
52
- expect(results[0] instanceof _BaseResults.default).toBeTruthy();
53
- expect(results[0].getLabel()).toEqual('Apple2');
54
- expect(results[1].getLabel()).toEqual('Apple3'); // exact search
55
-
56
- _context.next = 12;
57
- return adapter.searchIndex({
58
- queryString: 'apple3'
59
- });
60
-
61
- case 12:
62
- results2 = _context.sent;
63
- // check results are of type location for exact search
64
- expect(results2.length).toEqual(1);
65
- test2 = results2[0];
66
- expect(test2 instanceof _BaseResults.default).toBeTruthy();
67
- expect(test2.getLabel()).toEqual('Apple3');
68
- expect(test2.getLocation()).toEqual('ctgA:17400..23000');
69
-
70
- case 18:
71
- case "end":
72
- return _context.stop();
73
- }
74
- }
75
- }, _callee);
76
- })));