diff --git a/plugins/config/src/FromConfigAdapter/FromConfigSequenceAdapter.ts b/plugins/config/src/FromConfigAdapter/FromConfigSequenceAdapter.ts index 3ce23d801c..9eba9d4e77 100644 --- a/plugins/config/src/FromConfigAdapter/FromConfigSequenceAdapter.ts +++ b/plugins/config/src/FromConfigAdapter/FromConfigSequenceAdapter.ts @@ -11,35 +11,30 @@ export default class FromSequenceConfigAdapter extends FromConfigAdapter { * @returns Observable of Feature objects in the region */ getFeatures(region: NoAssemblyRegion) { - const { start, end } = region // TODO: restore commented version below once TSDX supports Rollup v2 // xref: https://github.com/rollup/rollup/blob/master/CHANGELOG.md#bug-fixes-45 + /// / return ObservableCreate(async observer => { + // const feats = await super.getFeatures(region).pipe(toArray()).toPromise() + const superGetFeatures = super.getFeatures return ObservableCreate(async observer => { const feats = await superGetFeatures .call(this, region) .pipe(toArray()) .toPromise() - // return ObservableCreate(async observer => { - // const feats = await super.getFeatures(region).pipe(toArray()).toPromise() + const feat = feats[0] + observer.next( + new SimpleFeature({ + ...feat.toJSON(), + uniqueId: `${feat.id()}:${region.start}-${region.end}`, + end: region.end, + start: region.start, + seq: feat + .get('seq') + .slice(Math.max(region.start, 0), Math.max(region.end, 0)), + }), + ) - feats.forEach(feat => { - const featStart = feat.get('start') - const seqStart = start - featStart - const seqEnd = seqStart + (end - start) - const seq = feat - .get('seq') - .slice(Math.max(seqStart, 0), Math.max(seqEnd, 0)) - observer.next( - new SimpleFeature({ - ...feat.toJSON(), - end: region.end, - start: region.start, - seq, - uniqueId: `${Math.random()}`, - }), - ) - }) observer.complete() }) }