(key, range, draw, options)
| 22 | return this.#svg; |
| 23 | } |
| 24 | add(key, range, draw, options) { |
| 25 | if (this.#map.has(key)) this.remove(key); |
| 26 | const resolvedRange = typeof range === "function" ? range(this.#svg.getRootNode()) : range; |
| 27 | const rects = resolvedRange.getClientRects(); |
| 28 | const element = draw(rects, options); |
| 29 | this.#content.append(element); |
| 30 | this.#map.set(key, { range: resolvedRange, draw, options, element, rects }); |
| 31 | } |
| 32 | remove(key) { |
| 33 | if (!this.#map.has(key)) return; |
| 34 | this.#map.get(key).element.remove(); |
no test coverage detected