@jbrowse/plugin-config 1.6.7 → 1.7.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.
Files changed (29) hide show
  1. package/dist/ConfigurationEditorWidget/components/CallbackEditor.js +123 -0
  2. package/dist/ConfigurationEditorWidget/components/CodeEditor.js +77 -0
  3. package/dist/ConfigurationEditorWidget/components/ColorEditor.js +125 -0
  4. package/dist/ConfigurationEditorWidget/components/ColorEditor.test.js +31 -0
  5. package/dist/ConfigurationEditorWidget/components/ColorPicker.js +72 -0
  6. package/dist/ConfigurationEditorWidget/components/ConfigurationEditor.js +176 -0
  7. package/dist/ConfigurationEditorWidget/components/ConfigurationEditor.test.js +121 -0
  8. package/dist/ConfigurationEditorWidget/components/JsonEditor.js +82 -0
  9. package/dist/ConfigurationEditorWidget/components/SlotEditor.js +438 -0
  10. package/dist/ConfigurationEditorWidget/components/TypeSelector.js +48 -0
  11. package/dist/ConfigurationEditorWidget/index.js +45 -0
  12. package/dist/ConfigurationEditorWidget/model.js +28 -0
  13. package/dist/FromConfigAdapter/FromConfigAdapter.js +215 -0
  14. package/dist/FromConfigAdapter/FromConfigAdapter.test.js +100 -0
  15. package/dist/FromConfigAdapter/FromConfigRegionsAdapter.js +154 -0
  16. package/dist/FromConfigAdapter/FromConfigRegionsAdapter.test.js +200 -0
  17. package/dist/FromConfigAdapter/FromConfigSequenceAdapter.js +201 -0
  18. package/dist/FromConfigAdapter/FromConfigSequenceAdapter.test.js +110 -0
  19. package/dist/FromConfigAdapter/configSchema.js +51 -0
  20. package/dist/FromConfigAdapter/index.js +51 -0
  21. package/dist/RefNameAliasAdapter/RefNameAliasAdapter.js +125 -0
  22. package/dist/RefNameAliasAdapter/RefNameAliasAdapter.test.js +41 -0
  23. package/dist/RefNameAliasAdapter/configSchema.js +26 -0
  24. package/dist/RefNameAliasAdapter/index.js +23 -0
  25. package/dist/index.js +150 -6
  26. package/dist/index.test.js +41 -0
  27. package/package.json +3 -6
  28. package/src/ConfigurationEditorWidget/components/ConfigurationEditor.js +22 -17
  29. package/src/ConfigurationEditorWidget/components/JsonEditor.js +1 -2
@@ -0,0 +1,200 @@
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 _FromConfigRegionsAdapter = _interopRequireDefault(require("./FromConfigRegionsAdapter"));
10
+
11
+ var _configSchema = require("./configSchema");
12
+
13
+ test('adapter can fetch regions 1', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
14
+ var features, adapter, result;
15
+ return _regenerator["default"].wrap(function _callee$(_context) {
16
+ while (1) {
17
+ switch (_context.prev = _context.next) {
18
+ case 0:
19
+ features = [{
20
+ uniqueId: 'one',
21
+ refName: 'ctgA',
22
+ start: 250,
23
+ end: 400
24
+ }, {
25
+ uniqueId: 'two',
26
+ refName: 'ctgA',
27
+ start: 150,
28
+ end: 300
29
+ }, {
30
+ uniqueId: 'three',
31
+ refName: 'ctgB',
32
+ start: 50,
33
+ end: 60
34
+ }];
35
+ adapter = new _FromConfigRegionsAdapter["default"](_configSchema.regionsConfigSchema.create({
36
+ features: features
37
+ }));
38
+ _context.next = 4;
39
+ return adapter.getRegions();
40
+
41
+ case 4:
42
+ result = _context.sent;
43
+ expect(result).toEqual([{
44
+ refName: 'ctgA',
45
+ start: 150,
46
+ end: 400
47
+ }, {
48
+ refName: 'ctgB',
49
+ start: 50,
50
+ end: 60
51
+ }]);
52
+
53
+ case 6:
54
+ case "end":
55
+ return _context.stop();
56
+ }
57
+ }
58
+ }, _callee);
59
+ })));
60
+ test('adapter can fetch regions 2', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
61
+ var features, adapter, result;
62
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
63
+ while (1) {
64
+ switch (_context2.prev = _context2.next) {
65
+ case 0:
66
+ features = [{
67
+ uniqueId: 'three',
68
+ refName: 'ctgB',
69
+ start: 50,
70
+ end: 60
71
+ }, {
72
+ uniqueId: 'two',
73
+ refName: 'ctgA',
74
+ start: 150,
75
+ end: 300
76
+ }, {
77
+ uniqueId: 'one',
78
+ refName: 'ctgA',
79
+ start: 250,
80
+ end: 400
81
+ }];
82
+ adapter = new _FromConfigRegionsAdapter["default"](_configSchema.regionsConfigSchema.create({
83
+ features: features
84
+ }));
85
+ _context2.next = 4;
86
+ return adapter.getRegions();
87
+
88
+ case 4:
89
+ result = _context2.sent;
90
+ expect(result).toEqual([{
91
+ refName: 'ctgA',
92
+ start: 150,
93
+ end: 400
94
+ }, {
95
+ refName: 'ctgB',
96
+ start: 50,
97
+ end: 60
98
+ }]);
99
+
100
+ case 6:
101
+ case "end":
102
+ return _context2.stop();
103
+ }
104
+ }
105
+ }, _callee2);
106
+ })));
107
+ test('adapter can fetch regions 3', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
108
+ var features, adapter, result;
109
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
110
+ while (1) {
111
+ switch (_context3.prev = _context3.next) {
112
+ case 0:
113
+ features = [{
114
+ uniqueId: 'two',
115
+ refName: 'ctgA',
116
+ start: 150,
117
+ end: 300
118
+ }, {
119
+ uniqueId: 'one',
120
+ refName: 'ctgA',
121
+ start: 250,
122
+ end: 400
123
+ }, {
124
+ uniqueId: 'three',
125
+ refName: 'ctgB',
126
+ start: 50,
127
+ end: 60
128
+ }];
129
+ adapter = new _FromConfigRegionsAdapter["default"](_configSchema.regionsConfigSchema.create({
130
+ features: features
131
+ }));
132
+ _context3.next = 4;
133
+ return adapter.getRegions();
134
+
135
+ case 4:
136
+ result = _context3.sent;
137
+ expect(result).toEqual([{
138
+ refName: 'ctgA',
139
+ start: 150,
140
+ end: 400
141
+ }, {
142
+ refName: 'ctgB',
143
+ start: 50,
144
+ end: 60
145
+ }]);
146
+
147
+ case 6:
148
+ case "end":
149
+ return _context3.stop();
150
+ }
151
+ }
152
+ }, _callee3);
153
+ })));
154
+ test('adapter can fetch regions 4', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
155
+ var features, adapter, result;
156
+ return _regenerator["default"].wrap(function _callee4$(_context4) {
157
+ while (1) {
158
+ switch (_context4.prev = _context4.next) {
159
+ case 0:
160
+ features = [{
161
+ uniqueId: 'two',
162
+ refName: 'ctgA',
163
+ start: 150,
164
+ end: 300
165
+ }, {
166
+ uniqueId: 'onePrime',
167
+ refName: 'ctgA',
168
+ start: 300,
169
+ end: 400
170
+ }, {
171
+ uniqueId: 'three',
172
+ refName: 'ctgB',
173
+ start: 50,
174
+ end: 60
175
+ }];
176
+ adapter = new _FromConfigRegionsAdapter["default"](_configSchema.regionsConfigSchema.create({
177
+ features: features
178
+ }));
179
+ _context4.next = 4;
180
+ return adapter.getRegions();
181
+
182
+ case 4:
183
+ result = _context4.sent;
184
+ expect(result).toEqual([{
185
+ refName: 'ctgA',
186
+ start: 150,
187
+ end: 400
188
+ }, {
189
+ refName: 'ctgB',
190
+ start: 50,
191
+ end: 60
192
+ }]);
193
+
194
+ case 6:
195
+ case "end":
196
+ return _context4.stop();
197
+ }
198
+ }
199
+ }, _callee4);
200
+ })));
@@ -0,0 +1,201 @@
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 _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
+
14
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
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 _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
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 _simpleFeature = _interopRequireDefault(require("@jbrowse/core/util/simpleFeature"));
31
+
32
+ var _rxjs = require("@jbrowse/core/util/rxjs");
33
+
34
+ var _operators = require("rxjs/operators");
35
+
36
+ var _FromConfigAdapter2 = _interopRequireDefault(require("./FromConfigAdapter"));
37
+
38
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
39
+
40
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
41
+
42
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
43
+
44
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
45
+
46
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
47
+
48
+ 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); }; }
49
+
50
+ 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; } }
51
+
52
+ var FromConfigSequenceAdapter = /*#__PURE__*/function (_FromConfigAdapter) {
53
+ (0, _inherits2["default"])(FromConfigSequenceAdapter, _FromConfigAdapter);
54
+
55
+ var _super = _createSuper(FromConfigSequenceAdapter);
56
+
57
+ function FromConfigSequenceAdapter() {
58
+ (0, _classCallCheck2["default"])(this, FromConfigSequenceAdapter);
59
+ return _super.apply(this, arguments);
60
+ }
61
+
62
+ (0, _createClass2["default"])(FromConfigSequenceAdapter, [{
63
+ key: "getFeatures",
64
+ value:
65
+ /**
66
+ * Fetch features for a certain region
67
+ * @param region - Region
68
+ * @returns Observable of Feature objects in the region
69
+ */
70
+ function getFeatures(region) {
71
+ var _this = this;
72
+
73
+ // TODO: restore commented version below once TSDX supports Rollup v2
74
+ // xref: https://github.com/rollup/rollup/blob/master/CHANGELOG.md#bug-fixes-45
75
+ // return ObservableCreate<Feature>(async observer => {
76
+ // const feats = await super.getFeatures(region).pipe(toArray()).toPromise()
77
+ var superGetFeatures = (0, _get2["default"])((0, _getPrototypeOf2["default"])(FromConfigSequenceAdapter.prototype), "getFeatures", this);
78
+ return (0, _rxjs.ObservableCreate)( /*#__PURE__*/function () {
79
+ var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(observer) {
80
+ var feats, feat;
81
+ return _regenerator["default"].wrap(function _callee$(_context) {
82
+ while (1) {
83
+ switch (_context.prev = _context.next) {
84
+ case 0:
85
+ _context.next = 2;
86
+ return superGetFeatures.call(_this, region).pipe((0, _operators.toArray)()).toPromise();
87
+
88
+ case 2:
89
+ feats = _context.sent;
90
+ feat = feats[0];
91
+ observer.next(new _simpleFeature["default"](_objectSpread(_objectSpread({}, feat.toJSON()), {}, {
92
+ uniqueId: "".concat(feat.id(), ":").concat(region.start, "-").concat(region.end),
93
+ end: region.end,
94
+ start: region.start,
95
+ seq: feat.get('seq').slice(Math.max(region.start - feat.get('start'), 0), Math.max(region.end - feat.get('start'), 0))
96
+ })));
97
+ observer.complete();
98
+
99
+ case 6:
100
+ case "end":
101
+ return _context.stop();
102
+ }
103
+ }
104
+ }, _callee);
105
+ }));
106
+
107
+ return function (_x) {
108
+ return _ref.apply(this, arguments);
109
+ };
110
+ }());
111
+ }
112
+ /**
113
+ * Get refName, start, and end for all features after collapsing any overlaps
114
+ */
115
+
116
+ }, {
117
+ key: "getRegions",
118
+ value: function () {
119
+ var _getRegions = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
120
+ var regions, _iterator, _step, _step$value, refName, features, currentRegion, _iterator2, _step2, feature;
121
+
122
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
123
+ while (1) {
124
+ switch (_context2.prev = _context2.next) {
125
+ case 0:
126
+ regions = []; // recall: features are stored in this object sorted by start coordinate
127
+
128
+ _iterator = _createForOfIteratorHelper(this.features);
129
+
130
+ try {
131
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
132
+ _step$value = (0, _slicedToArray2["default"])(_step.value, 2), refName = _step$value[0], features = _step$value[1];
133
+ currentRegion = void 0;
134
+ _iterator2 = _createForOfIteratorHelper(features);
135
+
136
+ try {
137
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
138
+ feature = _step2.value;
139
+
140
+ if (currentRegion && currentRegion.end >= feature.get('start') && currentRegion.start <= feature.get('end')) {
141
+ currentRegion.end = feature.get('end');
142
+ } else {
143
+ if (currentRegion) {
144
+ regions.push(currentRegion);
145
+ }
146
+
147
+ currentRegion = {
148
+ refName: refName,
149
+ start: feature.get('start'),
150
+ end: feature.get('end')
151
+ };
152
+ }
153
+ }
154
+ } catch (err) {
155
+ _iterator2.e(err);
156
+ } finally {
157
+ _iterator2.f();
158
+ }
159
+
160
+ if (currentRegion) {
161
+ regions.push(currentRegion);
162
+ }
163
+ }
164
+ } catch (err) {
165
+ _iterator.e(err);
166
+ } finally {
167
+ _iterator.f();
168
+ }
169
+
170
+ return _context2.abrupt("return", regions);
171
+
172
+ case 4:
173
+ case "end":
174
+ return _context2.stop();
175
+ }
176
+ }
177
+ }, _callee2, this);
178
+ }));
179
+
180
+ function getRegions() {
181
+ return _getRegions.apply(this, arguments);
182
+ }
183
+
184
+ return getRegions;
185
+ }()
186
+ /**
187
+ * called to provide a hint that data tied to a certain region
188
+ * will not be needed for the forseeable future and can be purged
189
+ * from caches, etc
190
+ */
191
+
192
+ }, {
193
+ key: "freeResources",
194
+ value: function
195
+ /* { region } */
196
+ freeResources() {}
197
+ }]);
198
+ return FromConfigSequenceAdapter;
199
+ }(_FromConfigAdapter2["default"]);
200
+
201
+ exports["default"] = FromConfigSequenceAdapter;
@@ -0,0 +1,110 @@
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 _operators = require("rxjs/operators");
10
+
11
+ var _FromConfigSequenceAdapter = _interopRequireDefault(require("./FromConfigSequenceAdapter"));
12
+
13
+ var _configSchema = require("./configSchema");
14
+
15
+ test('adapter can fetch sequences when there is just one feature representing whole refseq', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
16
+ var features, adapter, result, featuresArray, result2, featuresArray2;
17
+ return _regenerator["default"].wrap(function _callee$(_context) {
18
+ while (1) {
19
+ switch (_context.prev = _context.next) {
20
+ case 0:
21
+ features = [{
22
+ uniqueId: 'one',
23
+ refName: 'ctgA',
24
+ start: 0,
25
+ end: 150,
26
+ seq: 'ccaaaccgtcaattaaccggtatcttctcggaaacggcggttctctcctagatagcgatctgtggtctcaccatgcaatttaaacaggtgagtaaagattgctacaaatacgagactagctgtcaccagatgctgttcatctgttggctc'
27
+ }];
28
+ adapter = new _FromConfigSequenceAdapter["default"](_configSchema.sequenceConfigSchema.create({
29
+ features: features
30
+ }));
31
+ result = adapter.getFeatures({
32
+ refName: 'ctgA',
33
+ start: 0,
34
+ end: 50
35
+ });
36
+ _context.next = 5;
37
+ return result.pipe((0, _operators.toArray)()).toPromise();
38
+
39
+ case 5:
40
+ featuresArray = _context.sent;
41
+ expect(featuresArray.length).toBe(1);
42
+ expect(featuresArray[0].get('seq')).toBe(features[0].seq.slice(0, 50));
43
+ result2 = adapter.getFeatures({
44
+ refName: 'ctgA',
45
+ start: 100,
46
+ end: 150
47
+ });
48
+ _context.next = 11;
49
+ return result2.pipe((0, _operators.toArray)()).toPromise();
50
+
51
+ case 11:
52
+ featuresArray2 = _context.sent;
53
+ expect(featuresArray2.length).toBe(1);
54
+ expect(featuresArray2[0].get('seq')).toBe(features[0].seq.slice(100, 150));
55
+
56
+ case 14:
57
+ case "end":
58
+ return _context.stop();
59
+ }
60
+ }
61
+ }, _callee);
62
+ })));
63
+ test("adapter can fetch sequences when the config's sequence doesn't start at 0", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
64
+ var features, adapter, result, featuresArray, result2, featuresArray2;
65
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
66
+ while (1) {
67
+ switch (_context2.prev = _context2.next) {
68
+ case 0:
69
+ features = [{
70
+ uniqueId: 'one',
71
+ refName: 'ctgA',
72
+ start: 5000,
73
+ end: 5150,
74
+ seq: 'ccaaaccgtcaattaaccggtatcttctcggaaacggcggttctctcctagatagcgatctgtggtctcaccatgcaatttaaacaggtgagtaaagattgctacaaatacgagactagctgtcaccagatgctgttcatctgttggctc'
75
+ }];
76
+ adapter = new _FromConfigSequenceAdapter["default"](_configSchema.sequenceConfigSchema.create({
77
+ features: features
78
+ }));
79
+ result = adapter.getFeatures({
80
+ refName: 'ctgA',
81
+ start: 4950,
82
+ end: 5050
83
+ });
84
+ _context2.next = 5;
85
+ return result.pipe((0, _operators.toArray)()).toPromise();
86
+
87
+ case 5:
88
+ featuresArray = _context2.sent;
89
+ expect(featuresArray.length).toBe(1);
90
+ expect(featuresArray[0].get('seq')).toBe(features[0].seq.slice(0, 50));
91
+ result2 = adapter.getFeatures({
92
+ refName: 'ctgA',
93
+ start: 5050,
94
+ end: 5150
95
+ });
96
+ _context2.next = 11;
97
+ return result2.pipe((0, _operators.toArray)()).toPromise();
98
+
99
+ case 11:
100
+ featuresArray2 = _context2.sent;
101
+ expect(featuresArray2.length).toBe(1);
102
+ expect(featuresArray2[0].get('seq')).toBe(features[0].seq.slice(50, 150));
103
+
104
+ case 14:
105
+ case "end":
106
+ return _context2.stop();
107
+ }
108
+ }
109
+ }, _callee2);
110
+ })));
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.sequenceConfigSchema = exports.regionsConfigSchema = exports.configSchema = void 0;
7
+
8
+ var _configuration = require("@jbrowse/core/configuration");
9
+
10
+ var configSchema = (0, _configuration.ConfigurationSchema)('FromConfigAdapter', {
11
+ features: {
12
+ type: 'frozen',
13
+ defaultValue: []
14
+ },
15
+ featureClass: {
16
+ type: 'string',
17
+ defaultValue: 'SimpleFeature'
18
+ }
19
+ }, {
20
+ explicitlyTyped: true,
21
+ implicitIdentifier: 'adapterId'
22
+ });
23
+ exports.configSchema = configSchema;
24
+ var regionsConfigSchema = (0, _configuration.ConfigurationSchema)('FromConfigRegionsAdapter', {
25
+ features: {
26
+ type: 'frozen',
27
+ defaultValue: []
28
+ },
29
+ featureClass: {
30
+ type: 'string',
31
+ defaultValue: 'SimpleFeature'
32
+ }
33
+ }, {
34
+ explicitlyTyped: true,
35
+ implicitIdentifier: 'adapterId'
36
+ });
37
+ exports.regionsConfigSchema = regionsConfigSchema;
38
+ var sequenceConfigSchema = (0, _configuration.ConfigurationSchema)('FromConfigSequenceAdapter', {
39
+ features: {
40
+ type: 'frozen',
41
+ defaultValue: []
42
+ },
43
+ featureClass: {
44
+ type: 'string',
45
+ defaultValue: 'SimpleFeature'
46
+ }
47
+ }, {
48
+ explicitlyTyped: true,
49
+ implicitIdentifier: 'adapterId'
50
+ });
51
+ exports.sequenceConfigSchema = sequenceConfigSchema;
@@ -0,0 +1,51 @@
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 _FromConfigAdapter["default"];
12
+ }
13
+ });
14
+ Object.defineProperty(exports, "RegionsAdapterClass", {
15
+ enumerable: true,
16
+ get: function get() {
17
+ return _FromConfigRegionsAdapter["default"];
18
+ }
19
+ });
20
+ Object.defineProperty(exports, "SequenceAdapterClass", {
21
+ enumerable: true,
22
+ get: function get() {
23
+ return _FromConfigSequenceAdapter["default"];
24
+ }
25
+ });
26
+ Object.defineProperty(exports, "configSchema", {
27
+ enumerable: true,
28
+ get: function get() {
29
+ return _configSchema.configSchema;
30
+ }
31
+ });
32
+ Object.defineProperty(exports, "regionsConfigSchema", {
33
+ enumerable: true,
34
+ get: function get() {
35
+ return _configSchema.regionsConfigSchema;
36
+ }
37
+ });
38
+ Object.defineProperty(exports, "sequenceConfigSchema", {
39
+ enumerable: true,
40
+ get: function get() {
41
+ return _configSchema.sequenceConfigSchema;
42
+ }
43
+ });
44
+
45
+ var _FromConfigAdapter = _interopRequireDefault(require("./FromConfigAdapter"));
46
+
47
+ var _FromConfigRegionsAdapter = _interopRequireDefault(require("./FromConfigRegionsAdapter"));
48
+
49
+ var _FromConfigSequenceAdapter = _interopRequireDefault(require("./FromConfigSequenceAdapter"));
50
+
51
+ var _configSchema = require("./configSchema");