UNPKG

taxonium-component

Version:

React component for exploring large phylogenetic trees in the browser

46 lines (45 loc) 1.27 kB
import { s as u } from "./JBrowsePanel-uJIA-L6s.js"; import { B as m } from "./index-BnQfM3Nw.js"; import { r as c } from "./rxjs-BnZkaVAs.js"; import { S as i } from "./simpleFeature-Bntv68qr.js"; function p(f) { const e = /* @__PURE__ */ new Map(); for (const r of f) { const t = new i(r), s = t.get("refName"); let a = e.get(s); a || (a = [], e.set(s, a)), a.push(t); } for (const r of e.values()) r.sort((t, s) => t.get("start") - s.get("start")); return e; } class N extends m.BaseFeatureDataAdapter { constructor(e, r, t) { super(e, r, t); const s = u.readConfObject(e, "features"); this.features = p(s); } async getRefNames() { return [...this.features.keys()]; } async getRefNameAliases() { return [...this.features.values()].map((e) => ({ refName: e[0].get("refName"), aliases: e[0].get("aliases") })); } getFeatures(e) { const { refName: r, start: t, end: s } = e; return c.ObservableCreate(async (a) => { const n = this.features.get(r) || []; for (const o of n) o.get("end") > t && o.get("start") < s && a.next(o); a.complete(); }); } } export { N as default, p as makeFeatures }; //# sourceMappingURL=FromConfigAdapter-CiB-ZikG.js.map