"use strict";(globalThis.webpackChunk_jbrowse_web=globalThis.webpackChunk_jbrowse_web||[]).push([[946],{90946:(e,t,s)=>{s.r(t),s.d(t,{default:()=>c});var a=s(46377),r=s(66885),n=s(99546),i=s(82088),o=s(44728);class c extends a.BaseFeatureDataAdapter{async configure(){const e=await(this.getSubAdapter?.(this.getConf("sequenceAdapter")));if(!e)throw new Error("Error getting subadapter");return e.dataAdapter}async getRefNames(){return(await this.configure()).getRefNames()}getFeatures(e,t){return(0,r.ObservableCreate)((async s=>{const a=await this.configure(),r=e.end+1e4,c=Math.max(0,e.start-1e4);if(r<0||c>r)return void s.complete();const d=a.getFeatures({...e,start:c,end:r},t),f=await(0,o._)(d.pipe((0,i.$)())),u=f[0]?.get("seq")||"",h=this.getConf("search"),g=this.getConf("searchForward"),l=this.getConf("searchReverse"),m=this.getConf("caseInsensitive"),p=new RegExp(h,"g"+(m?"i":""));if(h){if(g){const t=u.matchAll(p);for(const a of t){const t=c+a.index,r=c+a.index+a[0].length;(0,n.doesIntersect2)(t,r,e.start,e.end)&&s.next(new n.SimpleFeature({uniqueId:`${this.id}-${t}-${a[0]}-pos`,refName:e.refName,start:t,end:r,name:a[0],strand:1}))}}if(l){const t=(0,n.revcom)(u).matchAll(p);for(const a of t){const t=r-a.index,i=r-a.index-a[0].length;(0,n.doesIntersect2)(i,t,e.start,e.end)&&s.next(new n.SimpleFeature({uniqueId:`${this.id}-${i}-${a[0]}-neg`,refName:e.refName,start:i,end:t,name:a[0],strand:-1}))}}}s.complete()}))}freeResources(){}}}}]);
//# sourceMappingURL=946.245d7df9.chunk.js.map