@techmely/utils
Version:
Collection of helpful JavaScript / TypeScript utils
23 lines (21 loc) • 961 B
text/typescript
type OrderMapContent<T = any> = string | T;
type MapLike<T = any> = Record<string, T> | OrderedMap<T>;
declare class OrderedMap<T = any> {
#private;
content: OrderMapContent<T>[];
private constructor();
static from<T>(value: MapLike<T>): OrderedMap<T>;
get size(): number;
get(key: OrderMapContent): OrderMapContent<T> | undefined;
update(key: string, value: T, newKey?: string): OrderedMap<T>;
remove(key: OrderMapContent): OrderedMap<T>;
addToStart(key: OrderMapContent, value: T): OrderedMap<T>;
addToEnd(key: OrderMapContent, value: T): OrderedMap<T>;
addBefore(place: string, key: OrderMapContent, value: T): OrderedMap<T>;
forEach(fn: (key: OrderMapContent, value: OrderMapContent) => any): void;
prepend(map: MapLike<T>): OrderedMap<T>;
append(map: MapLike<T>): OrderedMap<T>;
subtract(map: MapLike<T>): OrderedMap<T>;
toObject(): Record<string, T>;
}
export { type MapLike, OrderedMap };