import * as s from "d3";
class d {
  constructor(e) {
    const { breaks: r, defaultFillColor: l, defaultBorderColor: h, defaultSize: o } = e;
    this.breaks = r, this.defaultFillColor = l, this.defaultBorderColor = h, this.defaultSize = o;
    const i = r.filter((t) => t.type !== "graterThan"), a = r.filter((t) => t.type === "graterThan");
    a.length > 0 && (this.graterThanStyle = a[0]), this.domain = i.map((t) => Number(t.end)), this.sizeScale = s.scaleThreshold().domain(this.domain).range(i.map((t) => t.size)), this.colorScale = s.scaleThreshold().domain(i.map((t) => t.end)).range(r.map((t) => t.color)), this.getSize = this.getSize.bind(this), this.getColor = this.getColor.bind(this);
  }
  getSize(e) {
    return this.breaks.length > 0 ? e > Math.max(...this.domain) ? this.graterThanStyle.size : this.defaultSize + this.sizeScale(e) : this.defaultSize;
  }
  getColor(e, r) {
    return this.breaks.length > 0 ? e > Math.max(...this.domain) ? this.graterThanStyle.color : this.colorScale(e) : this.defaultFillColor;
  }
}
export {
  d as default
};
