advanced-map-base
Version:
Abstract base class of advanced-map packages
17 lines (16 loc) • 644 B
TypeScript
import { MapLikeConstructor, MapLike } from 'advanced-map-types';
/**
* Abstract base class for every Map-like class within `advanced-map` package
*/
declare abstract class Base<Key, Value, Data extends MapLike<Key, Value> = Map<Key, Value>> implements MapLike<Key, Value> {
protected readonly data: Data;
abstract has(key: Key): boolean;
abstract get(key: Key): Value | undefined;
abstract set(key: Key, value: Value): this;
abstract delete(key: Key): boolean;
/**
* @param Map A constructor (a.k.a class) that creates a Map-like instance
*/
constructor(Map: MapLikeConstructor<Data>);
}
export = Base;