(attr: string)
| 502 | } |
| 503 | |
| 504 | protected getExtentsForAttr(attr: string) { |
| 505 | if (this._attrExtents[attr] == null) { |
| 506 | const thunk = memThunk( |
| 507 | () => this.datasets(), |
| 508 | () => this._attrBindings.get(attr), |
| 509 | (datasets, accScaleBinding) => { |
| 510 | if (accScaleBinding == null || accScaleBinding.accessor == null) { |
| 511 | return null; |
| 512 | } |
| 513 | return datasets.map((dataset) => computeExtent(dataset, accScaleBinding, null)); |
| 514 | }, |
| 515 | ); |
| 516 | this._attrExtents[attr] = thunk; |
| 517 | } |
| 518 | return this._attrExtents[attr](); |
| 519 | } |
| 520 | |
| 521 | /** |
| 522 | * Override in subclass to add special extents, such as included values |
no test coverage detected