@jbrowse/plugin-config 2.0.0 → 2.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/dist/ConfigurationEditorWidget/components/CallbackEditor.js +49 -57
  2. package/dist/ConfigurationEditorWidget/components/CallbackEditor.js.map +1 -1
  3. package/dist/ConfigurationEditorWidget/components/ColorEditor.js +14 -56
  4. package/dist/ConfigurationEditorWidget/components/ColorEditor.js.map +1 -1
  5. package/dist/ConfigurationEditorWidget/components/ConfigurationEditor.js +37 -74
  6. package/dist/ConfigurationEditorWidget/components/ConfigurationEditor.js.map +1 -1
  7. package/dist/ConfigurationEditorWidget/components/JsonEditor.d.ts +9 -7
  8. package/dist/ConfigurationEditorWidget/components/JsonEditor.js +42 -43
  9. package/dist/ConfigurationEditorWidget/components/JsonEditor.js.map +1 -1
  10. package/dist/ConfigurationEditorWidget/components/SlotEditor.d.ts +7 -5
  11. package/dist/ConfigurationEditorWidget/components/SlotEditor.js +97 -142
  12. package/dist/ConfigurationEditorWidget/components/SlotEditor.js.map +1 -1
  13. package/dist/ConfigurationEditorWidget/components/StringArrayEditor.js +15 -32
  14. package/dist/ConfigurationEditorWidget/components/StringArrayEditor.js.map +1 -1
  15. package/dist/ConfigurationEditorWidget/components/TypeSelector.js +7 -8
  16. package/dist/ConfigurationEditorWidget/components/TypeSelector.js.map +1 -1
  17. package/dist/ConfigurationEditorWidget/index.d.ts +10 -3
  18. package/dist/ConfigurationEditorWidget/index.js +9 -9
  19. package/dist/ConfigurationEditorWidget/index.js.map +1 -1
  20. package/dist/ConfigurationEditorWidget/model.d.ts +3 -2
  21. package/dist/ConfigurationEditorWidget/model.js +16 -17
  22. package/dist/ConfigurationEditorWidget/model.js.map +1 -1
  23. package/dist/FromConfigAdapter/FromConfigAdapter.js +44 -158
  24. package/dist/FromConfigAdapter/FromConfigAdapter.js.map +1 -1
  25. package/dist/FromConfigAdapter/FromConfigRegionsAdapter.js +37 -144
  26. package/dist/FromConfigAdapter/FromConfigRegionsAdapter.js.map +1 -1
  27. package/dist/FromConfigAdapter/FromConfigSequenceAdapter.d.ts +2 -1
  28. package/dist/FromConfigAdapter/FromConfigSequenceAdapter.js +48 -179
  29. package/dist/FromConfigAdapter/FromConfigSequenceAdapter.js.map +1 -1
  30. package/dist/FromConfigAdapter/configSchema.js +1 -1
  31. package/dist/FromConfigAdapter/configSchema.js.map +1 -1
  32. package/dist/RefNameAliasAdapter/RefNameAliasAdapter.js +22 -108
  33. package/dist/RefNameAliasAdapter/RefNameAliasAdapter.js.map +1 -1
  34. package/dist/RefNameAliasAdapter/configSchema.js +1 -1
  35. package/dist/RefNameAliasAdapter/configSchema.js.map +1 -1
  36. package/dist/index.js +60 -94
  37. package/dist/index.js.map +1 -1
  38. package/esm/ConfigurationEditorWidget/components/CallbackEditor.js +28 -19
  39. package/esm/ConfigurationEditorWidget/components/CallbackEditor.js.map +1 -1
  40. package/esm/ConfigurationEditorWidget/components/ColorEditor.js +6 -21
  41. package/esm/ConfigurationEditorWidget/components/ColorEditor.js.map +1 -1
  42. package/esm/ConfigurationEditorWidget/components/ConfigurationEditor.js +6 -2
  43. package/esm/ConfigurationEditorWidget/components/ConfigurationEditor.js.map +1 -1
  44. package/esm/ConfigurationEditorWidget/components/JsonEditor.d.ts +9 -7
  45. package/esm/ConfigurationEditorWidget/components/JsonEditor.js +38 -22
  46. package/esm/ConfigurationEditorWidget/components/JsonEditor.js.map +1 -1
  47. package/esm/ConfigurationEditorWidget/components/SlotEditor.d.ts +7 -5
  48. package/esm/ConfigurationEditorWidget/components/SlotEditor.js +33 -27
  49. package/esm/ConfigurationEditorWidget/components/SlotEditor.js.map +1 -1
  50. package/esm/ConfigurationEditorWidget/index.d.ts +10 -3
  51. package/esm/ConfigurationEditorWidget/index.js +4 -3
  52. package/esm/ConfigurationEditorWidget/index.js.map +1 -1
  53. package/esm/ConfigurationEditorWidget/model.d.ts +3 -2
  54. package/esm/ConfigurationEditorWidget/model.js +2 -1
  55. package/esm/ConfigurationEditorWidget/model.js.map +1 -1
  56. package/esm/FromConfigAdapter/FromConfigSequenceAdapter.d.ts +2 -1
  57. package/esm/FromConfigAdapter/FromConfigSequenceAdapter.js +1 -9
  58. package/esm/FromConfigAdapter/FromConfigSequenceAdapter.js.map +1 -1
  59. package/package.json +4 -6
  60. package/src/ConfigurationEditorWidget/components/CallbackEditor.tsx +44 -45
  61. package/src/ConfigurationEditorWidget/components/ColorEditor.tsx +6 -28
  62. package/src/ConfigurationEditorWidget/components/{ConfigurationEditor.test.js → ConfigurationEditor.test.tsx} +0 -0
  63. package/src/ConfigurationEditorWidget/components/ConfigurationEditor.tsx +6 -2
  64. package/src/ConfigurationEditorWidget/components/JsonEditor.tsx +84 -0
  65. package/src/ConfigurationEditorWidget/components/SlotEditor.tsx +484 -0
  66. package/src/ConfigurationEditorWidget/components/__snapshots__/{ConfigurationEditor.test.js.snap → ConfigurationEditor.test.tsx.snap} +186 -167
  67. package/src/ConfigurationEditorWidget/index.tsx +25 -0
  68. package/src/ConfigurationEditorWidget/{model.js → model.ts} +4 -2
  69. package/src/FromConfigAdapter/FromConfigSequenceAdapter.ts +6 -10
  70. package/dist/ConfigurationEditorWidget/components/CodeEditor.d.ts +0 -5
  71. package/dist/ConfigurationEditorWidget/components/CodeEditor.js +0 -85
  72. package/dist/ConfigurationEditorWidget/components/CodeEditor.js.map +0 -1
  73. package/dist/ConfigurationEditorWidget/components/ColorPicker.d.ts +0 -7
  74. package/dist/ConfigurationEditorWidget/components/ColorPicker.js +0 -69
  75. package/dist/ConfigurationEditorWidget/components/ColorPicker.js.map +0 -1
  76. package/esm/ConfigurationEditorWidget/components/CodeEditor.d.ts +0 -5
  77. package/esm/ConfigurationEditorWidget/components/CodeEditor.js +0 -42
  78. package/esm/ConfigurationEditorWidget/components/CodeEditor.js.map +0 -1
  79. package/esm/ConfigurationEditorWidget/components/ColorPicker.d.ts +0 -7
  80. package/esm/ConfigurationEditorWidget/components/ColorPicker.js +0 -26
  81. package/esm/ConfigurationEditorWidget/components/ColorPicker.js.map +0 -1
  82. package/src/ConfigurationEditorWidget/components/CodeEditor.tsx +0 -59
  83. package/src/ConfigurationEditorWidget/components/ColorPicker.tsx +0 -43
  84. package/src/ConfigurationEditorWidget/components/JsonEditor.js +0 -52
  85. package/src/ConfigurationEditorWidget/components/SlotEditor.js +0 -376
  86. package/src/ConfigurationEditorWidget/index.js +0 -20
@@ -1,20 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var mobx_state_tree_1 = require("mobx-state-tree");
4
- var mst_1 = require("@jbrowse/core/util/types/mst");
5
- exports.default = (function (pluginManager) {
6
- return mobx_state_tree_1.types
7
- .model('ConfigurationEditorWidget', {
8
- id: mst_1.ElementId,
9
- type: mobx_state_tree_1.types.literal('ConfigurationEditorWidget'),
10
- // If you add different types of targets, don't forget to account for that
11
- // in the key of ./components/ConfigurationEditor.js
12
- target: mobx_state_tree_1.types.safeReference(pluginManager.pluggableConfigSchemaType('track')),
13
- })
14
- .actions(function (self) { return ({
15
- setTarget: function (newTarget) {
16
- self.target = newTarget;
17
- },
18
- }); });
19
- });
3
+ const mobx_state_tree_1 = require("mobx-state-tree");
4
+ const mst_1 = require("@jbrowse/core/util/types/mst");
5
+ exports.default = (pluginManager) => mobx_state_tree_1.types
6
+ .model('ConfigurationEditorWidget', {
7
+ id: mst_1.ElementId,
8
+ type: mobx_state_tree_1.types.literal('ConfigurationEditorWidget'),
9
+ // If you add different types of targets, don't forget to account for that
10
+ // in the key of ./components/ConfigurationEditor.js
11
+ target: mobx_state_tree_1.types.safeReference(pluginManager.pluggableConfigSchemaType('track')),
12
+ })
13
+ .actions(self => ({
14
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
15
+ setTarget(newTarget) {
16
+ self.target = newTarget;
17
+ },
18
+ }));
20
19
  //# sourceMappingURL=model.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/ConfigurationEditorWidget/model.js"],"names":[],"mappings":";;AAAA,mDAAuC;AACvC,oDAAwD;AAExD,mBAAe,UAAA,aAAa;IAC1B,OAAA,uBAAK;SACF,KAAK,CAAC,2BAA2B,EAAE;QAClC,EAAE,EAAE,eAAS;QACb,IAAI,EAAE,uBAAK,CAAC,OAAO,CAAC,2BAA2B,CAAC;QAChD,0EAA0E;QAC1E,oDAAoD;QACpD,MAAM,EAAE,uBAAK,CAAC,aAAa,CACzB,aAAa,CAAC,yBAAyB,CAAC,OAAO,CAAC,CACjD;KACF,CAAC;SACD,OAAO,CAAC,UAAA,IAAI,IAAI,OAAA,CAAC;QAChB,SAAS,YAAC,SAAS;YACjB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAA;QACzB,CAAC;KACF,CAAC,EAJe,CAIf,CAAC;AAdL,CAcK,EAAA"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/ConfigurationEditorWidget/model.ts"],"names":[],"mappings":";;AAAA,qDAAuC;AACvC,sDAAwD;AAGxD,kBAAe,CAAC,aAA4B,EAAE,EAAE,CAC9C,uBAAK;KACF,KAAK,CAAC,2BAA2B,EAAE;IAClC,EAAE,EAAE,eAAS;IACb,IAAI,EAAE,uBAAK,CAAC,OAAO,CAAC,2BAA2B,CAAC;IAChD,0EAA0E;IAC1E,oDAAoD;IACpD,MAAM,EAAE,uBAAK,CAAC,aAAa,CACzB,aAAa,CAAC,yBAAyB,CAAC,OAAO,CAAC,CACjD;CACF,CAAC;KACD,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChB,8DAA8D;IAC9D,SAAS,CAAC,SAAc;QACtB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAA;IACzB,CAAC;CACF,CAAC,CAAC,CAAA"}
@@ -1,120 +1,30 @@
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 __values = (this && this.__values) || function(o) {
54
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
55
- if (m) return m.call(o);
56
- if (o && typeof o.length === "number") return {
57
- next: function () {
58
- if (o && i >= o.length) o = void 0;
59
- return { value: o && o[i++], done: !o };
60
- }
61
- };
62
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
63
- };
64
- var __read = (this && this.__read) || function (o, n) {
65
- var m = typeof Symbol === "function" && o[Symbol.iterator];
66
- if (!m) return o;
67
- var i = m.call(o), r, ar = [], e;
68
- try {
69
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
70
- }
71
- catch (error) { e = { error: error }; }
72
- finally {
73
- try {
74
- if (r && !r.done && (m = i["return"])) m.call(i);
75
- }
76
- finally { if (e) throw e.error; }
77
- }
78
- return ar;
79
- };
80
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
81
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
82
- if (ar || !(i in from)) {
83
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
84
- ar[i] = from[i];
85
- }
86
- }
87
- return to.concat(ar || Array.prototype.slice.call(from));
88
- };
89
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
90
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
91
4
  };
92
5
  Object.defineProperty(exports, "__esModule", { value: true });
93
- var BaseAdapter_1 = require("@jbrowse/core/data_adapters/BaseAdapter");
94
- var simpleFeature_1 = __importDefault(require("@jbrowse/core/util/simpleFeature"));
95
- var rxjs_1 = require("@jbrowse/core/util/rxjs");
96
- var configuration_1 = require("@jbrowse/core/configuration");
6
+ const BaseAdapter_1 = require("@jbrowse/core/data_adapters/BaseAdapter");
7
+ const simpleFeature_1 = __importDefault(require("@jbrowse/core/util/simpleFeature"));
8
+ const rxjs_1 = require("@jbrowse/core/util/rxjs");
9
+ const configuration_1 = require("@jbrowse/core/configuration");
97
10
  /**
98
11
  * Adapter that just returns the features defined in its `features` configuration
99
12
  * key, like:
100
13
  * `"features": [ { "refName": "ctgA", "start":1, "end":20 }, ... ]`
101
14
  */
102
- var FromConfigAdapter = /** @class */ (function (_super) {
103
- __extends(FromConfigAdapter, _super);
104
- function FromConfigAdapter(conf, getSubAdapter, pluginManager) {
105
- var _this = _super.call(this, conf, getSubAdapter, pluginManager) || this;
106
- var feats = (0, configuration_1.readConfObject)(conf, 'features');
107
- _this.features = FromConfigAdapter.makeFeatures(feats || []);
108
- return _this;
15
+ class FromConfigAdapter extends BaseAdapter_1.BaseFeatureDataAdapter {
16
+ constructor(conf, getSubAdapter, pluginManager) {
17
+ super(conf, getSubAdapter, pluginManager);
18
+ const feats = (0, configuration_1.readConfObject)(conf, 'features');
19
+ this.features = FromConfigAdapter.makeFeatures(feats || []);
109
20
  }
110
- FromConfigAdapter.makeFeatures = function (fdata) {
111
- var e_1, _a;
112
- var features = new Map();
113
- for (var i = 0; i < fdata.length; i += 1) {
21
+ static makeFeatures(fdata) {
22
+ const features = new Map();
23
+ for (let i = 0; i < fdata.length; i += 1) {
114
24
  if (fdata[i]) {
115
- var f = this.makeFeature(fdata[i]);
116
- var refName = f.get('refName');
117
- var bucket = features.get(refName);
25
+ const f = this.makeFeature(fdata[i]);
26
+ const refName = f.get('refName');
27
+ let bucket = features.get(refName);
118
28
  if (!bucket) {
119
29
  bucket = [];
120
30
  features.set(refName, bucket);
@@ -122,62 +32,38 @@ var FromConfigAdapter = /** @class */ (function (_super) {
122
32
  bucket.push(f);
123
33
  }
124
34
  }
125
- try {
126
- // sort the features on each reference sequence by start coordinate
127
- for (var _b = __values(features.values()), _c = _b.next(); !_c.done; _c = _b.next()) {
128
- var refFeatures = _c.value;
129
- refFeatures.sort(function (a, b) { return a.get('start') - b.get('start'); });
130
- }
131
- }
132
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
133
- finally {
134
- try {
135
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
136
- }
137
- finally { if (e_1) throw e_1.error; }
35
+ // sort the features on each reference sequence by start coordinate
36
+ for (const refFeatures of features.values()) {
37
+ refFeatures.sort((a, b) => a.get('start') - b.get('start'));
138
38
  }
139
39
  return features;
140
- };
141
- FromConfigAdapter.makeFeature = function (data) {
40
+ }
41
+ static makeFeature(data) {
142
42
  return new simpleFeature_1.default(data);
143
- };
144
- FromConfigAdapter.prototype.getRefNames = function () {
145
- return __awaiter(this, void 0, void 0, function () {
146
- return __generator(this, function (_a) {
147
- return [2 /*return*/, __spreadArray([], __read(this.features.keys()), false)];
148
- });
149
- });
150
- };
151
- FromConfigAdapter.prototype.getRefNameAliases = function () {
152
- return __awaiter(this, void 0, void 0, function () {
153
- return __generator(this, function (_a) {
154
- return [2 /*return*/, Array.from(this.features.values()).map(function (featureArray) { return ({
155
- refName: featureArray[0].get('refName'),
156
- aliases: featureArray[0].get('aliases'),
157
- }); })];
158
- });
159
- });
160
- };
161
- FromConfigAdapter.prototype.getFeatures = function (region) {
162
- var _this = this;
163
- var refName = region.refName, start = region.start, end = region.end;
164
- return (0, rxjs_1.ObservableCreate)(function (observer) { return __awaiter(_this, void 0, void 0, function () {
165
- var features, i, f;
166
- return __generator(this, function (_a) {
167
- features = this.features.get(refName) || [];
168
- for (i = 0; i < features.length; i++) {
169
- f = features[i];
170
- if (f.get('end') > start && f.get('start') < end) {
171
- observer.next(f);
172
- }
43
+ }
44
+ async getRefNames() {
45
+ return [...this.features.keys()];
46
+ }
47
+ async getRefNameAliases() {
48
+ return Array.from(this.features.values()).map(featureArray => ({
49
+ refName: featureArray[0].get('refName'),
50
+ aliases: featureArray[0].get('aliases'),
51
+ }));
52
+ }
53
+ getFeatures(region) {
54
+ const { refName, start, end } = region;
55
+ return (0, rxjs_1.ObservableCreate)(async (observer) => {
56
+ const features = this.features.get(refName) || [];
57
+ for (let i = 0; i < features.length; i++) {
58
+ const f = features[i];
59
+ if (f.get('end') > start && f.get('start') < end) {
60
+ observer.next(f);
173
61
  }
174
- observer.complete();
175
- return [2 /*return*/];
176
- });
177
- }); });
178
- };
179
- FromConfigAdapter.prototype.freeResources = function ( /* { region } */) { };
180
- return FromConfigAdapter;
181
- }(BaseAdapter_1.BaseFeatureDataAdapter));
62
+ }
63
+ observer.complete();
64
+ });
65
+ }
66
+ freeResources( /* { region } */) { }
67
+ }
182
68
  exports.default = FromConfigAdapter;
183
69
  //# sourceMappingURL=FromConfigAdapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FromConfigAdapter.js","sourceRoot":"","sources":["../../src/FromConfigAdapter/FromConfigAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FromConfigAdapter.js","sourceRoot":"","sources":["../../src/FromConfigAdapter/FromConfigAdapter.ts"],"names":[],"mappings":"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"}
@@ -1,163 +1,56 @@
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 __values = (this && this.__values) || function(o) {
54
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
55
- if (m) return m.call(o);
56
- if (o && typeof o.length === "number") return {
57
- next: function () {
58
- if (o && i >= o.length) o = void 0;
59
- return { value: o && o[i++], done: !o };
60
- }
61
- };
62
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
63
- };
64
- var __read = (this && this.__read) || function (o, n) {
65
- var m = typeof Symbol === "function" && o[Symbol.iterator];
66
- if (!m) return o;
67
- var i = m.call(o), r, ar = [], e;
68
- try {
69
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
70
- }
71
- catch (error) { e = { error: error }; }
72
- finally {
73
- try {
74
- if (r && !r.done && (m = i["return"])) m.call(i);
75
- }
76
- finally { if (e) throw e.error; }
77
- }
78
- return ar;
79
- };
80
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
81
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
82
4
  };
83
5
  Object.defineProperty(exports, "__esModule", { value: true });
84
- var BaseAdapter_1 = require("@jbrowse/core/data_adapters/BaseAdapter");
85
- var configuration_1 = require("@jbrowse/core/configuration");
86
- var FromConfigAdapter_1 = __importDefault(require("./FromConfigAdapter"));
6
+ const BaseAdapter_1 = require("@jbrowse/core/data_adapters/BaseAdapter");
7
+ const configuration_1 = require("@jbrowse/core/configuration");
8
+ const FromConfigAdapter_1 = __importDefault(require("./FromConfigAdapter"));
87
9
  /**
88
10
  * Adapter that just returns the features defined in its `features` configuration
89
11
  * key, like:
90
12
  * `"features": [ { "refName": "ctgA", "start":1, "end":20 }, ... ]`
91
13
  */
92
- var FromConfigRegionsAdapter = /** @class */ (function (_super) {
93
- __extends(FromConfigRegionsAdapter, _super);
94
- function FromConfigRegionsAdapter(config, getSubAdapter, pluginManager) {
95
- var _this = _super.call(this, config, getSubAdapter, pluginManager) || this;
96
- var features = (0, configuration_1.readConfObject)(config, 'features');
97
- _this.features = FromConfigAdapter_1.default.makeFeatures(features || []);
98
- return _this;
14
+ class FromConfigRegionsAdapter extends BaseAdapter_1.BaseAdapter {
15
+ constructor(config, getSubAdapter, pluginManager) {
16
+ super(config, getSubAdapter, pluginManager);
17
+ const features = (0, configuration_1.readConfObject)(config, 'features');
18
+ this.features = FromConfigAdapter_1.default.makeFeatures(features || []);
99
19
  }
100
20
  /**
101
21
  * Get refName, start, and end for all features after collapsing any overlaps
102
22
  */
103
- FromConfigRegionsAdapter.prototype.getRegions = function () {
104
- return __awaiter(this, void 0, void 0, function () {
105
- var regions, _a, _b, _c, refName, features, currentRegion, features_1, features_1_1, feature;
106
- var e_1, _d, e_2, _e;
107
- return __generator(this, function (_f) {
108
- regions = [];
109
- try {
110
- // recall: features are stored in this object sorted by start coordinate
111
- for (_a = __values(this.features), _b = _a.next(); !_b.done; _b = _a.next()) {
112
- _c = __read(_b.value, 2), refName = _c[0], features = _c[1];
113
- currentRegion = void 0;
114
- try {
115
- for (features_1 = (e_2 = void 0, __values(features)), features_1_1 = features_1.next(); !features_1_1.done; features_1_1 = features_1.next()) {
116
- feature = features_1_1.value;
117
- if (currentRegion &&
118
- currentRegion.end >= feature.get('start') &&
119
- currentRegion.start <= feature.get('end')) {
120
- currentRegion.end = feature.get('end');
121
- }
122
- else {
123
- if (currentRegion) {
124
- regions.push(currentRegion);
125
- }
126
- currentRegion = {
127
- refName: refName,
128
- start: feature.get('start'),
129
- end: feature.get('end'),
130
- };
131
- }
132
- }
133
- }
134
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
135
- finally {
136
- try {
137
- if (features_1_1 && !features_1_1.done && (_e = features_1.return)) _e.call(features_1);
138
- }
139
- finally { if (e_2) throw e_2.error; }
140
- }
141
- if (currentRegion) {
142
- regions.push(currentRegion);
143
- }
144
- }
23
+ async getRegions() {
24
+ const regions = [];
25
+ // recall: features are stored in this object sorted by start coordinate
26
+ for (const [refName, features] of this.features) {
27
+ let currentRegion;
28
+ for (const feature of features) {
29
+ if (currentRegion &&
30
+ currentRegion.end >= feature.get('start') &&
31
+ currentRegion.start <= feature.get('end')) {
32
+ currentRegion.end = feature.get('end');
145
33
  }
146
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
147
- finally {
148
- try {
149
- if (_b && !_b.done && (_d = _a.return)) _d.call(_a);
34
+ else {
35
+ if (currentRegion) {
36
+ regions.push(currentRegion);
150
37
  }
151
- finally { if (e_1) throw e_1.error; }
38
+ currentRegion = {
39
+ refName,
40
+ start: feature.get('start'),
41
+ end: feature.get('end'),
42
+ };
152
43
  }
153
- // sort the regions by refName
154
- regions.sort(function (a, b) { return a.refName.localeCompare(b.refName); });
155
- return [2 /*return*/, regions];
156
- });
157
- });
158
- };
159
- FromConfigRegionsAdapter.prototype.freeResources = function ( /* { region } */) { };
160
- return FromConfigRegionsAdapter;
161
- }(BaseAdapter_1.BaseAdapter));
44
+ }
45
+ if (currentRegion) {
46
+ regions.push(currentRegion);
47
+ }
48
+ }
49
+ // sort the regions by refName
50
+ regions.sort((a, b) => a.refName.localeCompare(b.refName));
51
+ return regions;
52
+ }
53
+ freeResources( /* { region } */) { }
54
+ }
162
55
  exports.default = FromConfigRegionsAdapter;
163
56
  //# sourceMappingURL=FromConfigRegionsAdapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FromConfigRegionsAdapter.js","sourceRoot":"","sources":["../../src/FromConfigAdapter/FromConfigRegionsAdapter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uEAGgD;AAKhD,6DAA4D;AAG5D,0EAAmD;AAInD;;;;GAIG;AACH;IACU,4CAAW;IAKnB,kCACE,MAAgE,EAChE,aAAiC,EACjC,aAA6B;QAH/B,YAKE,kBAAM,MAAM,EAAE,aAAa,EAAE,aAAa,CAAC,SAM5C;QALC,IAAM,QAAQ,GAAG,IAAA,8BAAc,EAC7B,MAAM,EACN,UAAU,CACkB,CAAA;QAC9B,KAAI,CAAC,QAAQ,GAAG,2BAAiB,CAAC,YAAY,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAA;;IAChE,CAAC;IAED;;OAEG;IACG,6CAAU,GAAhB;;;;;gBACQ,OAAO,GAAG,EAAE,CAAA;;oBAElB,wEAAwE;oBACxE,KAAkC,KAAA,SAAA,IAAI,CAAC,QAAQ,CAAA,4CAAE;wBAAtC,KAAA,mBAAmB,EAAlB,OAAO,QAAA,EAAE,QAAQ,QAAA;wBACvB,aAAa,SAAA,CAAA;;4BACjB,KAAsB,4BAAA,SAAA,QAAQ,CAAA,CAAA,0FAAE;gCAArB,OAAO;gCAChB,IACE,aAAa;oCACb,aAAa,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;oCACzC,aAAa,CAAC,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EACzC;oCACA,aAAa,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;iCACvC;qCAAM;oCACL,IAAI,aAAa,EAAE;wCACjB,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;qCAC5B;oCACD,aAAa,GAAG;wCACd,OAAO,SAAA;wCACP,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;wCAC3B,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;qCACxB,CAAA;iCACF;6BACF;;;;;;;;;wBACD,IAAI,aAAa,EAAE;4BACjB,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;yBAC5B;qBACF;;;;;;;;;gBAED,8BAA8B;gBAC9B,OAAO,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,EAAlC,CAAkC,CAAC,CAAA;gBAE1D,sBAAO,OAAO,EAAA;;;KACf;IAED,gDAAa,GAAb,WAAc,gBAAgB,IAAS,CAAC;IAC1C,+BAAC;AAAD,CAAC,AA1DD,CACU,yBAAW,GAyDpB"}
1
+ {"version":3,"file":"FromConfigRegionsAdapter.js","sourceRoot":"","sources":["../../src/FromConfigAdapter/FromConfigRegionsAdapter.ts"],"names":[],"mappings":";;;;;AAAA,yEAGgD;AAKhD,+DAA4D;AAG5D,4EAAmD;AAInD;;;;GAIG;AACH,MAAqB,wBACnB,SAAQ,yBAAW;IAKnB,YACE,MAAgE,EAChE,aAAiC,EACjC,aAA6B;QAE7B,KAAK,CAAC,MAAM,EAAE,aAAa,EAAE,aAAa,CAAC,CAAA;QAC3C,MAAM,QAAQ,GAAG,IAAA,8BAAc,EAC7B,MAAM,EACN,UAAU,CACkB,CAAA;QAC9B,IAAI,CAAC,QAAQ,GAAG,2BAAiB,CAAC,YAAY,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAA;IAChE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,MAAM,OAAO,GAAG,EAAE,CAAA;QAElB,wEAAwE;QACxE,KAAK,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE;YAC/C,IAAI,aAAa,CAAA;YACjB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;gBAC9B,IACE,aAAa;oBACb,aAAa,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;oBACzC,aAAa,CAAC,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EACzC;oBACA,aAAa,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;iBACvC;qBAAM;oBACL,IAAI,aAAa,EAAE;wBACjB,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;qBAC5B;oBACD,aAAa,GAAG;wBACd,OAAO;wBACP,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;wBAC3B,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;qBACxB,CAAA;iBACF;aACF;YACD,IAAI,aAAa,EAAE;gBACjB,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;aAC5B;SACF;QAED,8BAA8B;QAC9B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;QAE1D,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,aAAa,EAAC,gBAAgB,IAAS,CAAC;CACzC;AA1DD,2CA0DC"}
@@ -1,7 +1,8 @@
1
1
  import { Feature } from '@jbrowse/core/util/simpleFeature';
2
2
  import { NoAssemblyRegion } from '@jbrowse/core/util/types';
3
3
  import FromConfigAdapter from './FromConfigAdapter';
4
- export default class FromConfigSequenceAdapter extends FromConfigAdapter {
4
+ import { RegionsAdapter } from '@jbrowse/core/data_adapters/BaseAdapter';
5
+ export default class FromConfigSequenceAdapter extends FromConfigAdapter implements RegionsAdapter {
5
6
  /**
6
7
  * Fetch features for a certain region
7
8
  * @param region - Region