@allmaps/render
Version:
Render functions for WebGL and image buffers
46 lines (45 loc) • 929 B
JavaScript
class CacheableTile extends EventTarget {
tile;
imageRequest;
tileUrl;
tileKey;
fetchFn;
abortController;
data;
/**
* Creates an instance of CacheableTile.
*
* @constructor
* @param fetchableTile
* @param fetchFn - Optional fetch function to use
*/
constructor(fetchableTile, fetchFn) {
super();
this.tile = fetchableTile.tile;
this.imageRequest = fetchableTile.imageRequest;
this.tileUrl = fetchableTile.tileUrl;
this.tileKey = fetchableTile.tileKey;
this.fetchFn = fetchFn;
this.abortController = new AbortController();
}
/**
* Whether a tile has fetched its data
*
* @returns
*/
isCachedTile() {
return this.data !== void 0;
}
/**
* Abort the fetch
*/
abort() {
if (!this.abortController.signal.aborted) {
this.abortController.abort();
}
}
}
export {
CacheableTile
};
//# sourceMappingURL=CacheableTile.js.map