@allmaps/render
Version:
Render functions for WebGL and image buffers
41 lines (39 loc) • 1.11 kB
TypeScript
import { FetchableTile } from './FetchableTile.js';
import { Tile, ImageRequest, FetchFn } from '@allmaps/types';
/**
* Class for tiles that can be cached.
*/
export declare abstract class CacheableTile<D> extends EventTarget {
readonly tile: Tile;
readonly imageRequest: ImageRequest;
readonly tileUrl: string;
readonly tileKey: string;
readonly fetchFn?: FetchFn;
protected abortController: AbortController;
protected data?: D;
/**
* Creates an instance of CacheableTile.
*
* @constructor
* @param fetchableTile
* @param fetchFn - Optional fetch function to use
*/
constructor(fetchableTile: FetchableTile, fetchFn?: FetchFn);
abstract fetch(): Promise<D | undefined>;
/**
* Whether a tile has fetched its data
*
* @returns
*/
isCachedTile(): this is CachedTile<D>;
/**
* Abort the fetch
*/
abort(): void;
}
/**
* Class for tiles that are cached, i.e. their data has been fetched and processed
*/
export declare abstract class CachedTile<D> extends CacheableTile<D> {
data: D;
}