@rimbu/proximity
Version:
Immutable ProximityMap implementation for TypeScript
23 lines (19 loc) • 697 B
text/typescript
import type { HashMap } from '@rimbu/hashed/map';
import type { ProximityMap } from '@rimbu/proximity/map';
import { ProximityMapNonEmpty } from './implementation/index.mjs';
export function wrapHashMap<K, V>(
context: ProximityMap.Context<K>,
newInternalMap: HashMap.NonEmpty<K, V>
): ProximityMap.NonEmpty<K, V>;
export function wrapHashMap<K, V>(
context: ProximityMap.Context<K>,
newInternalMap: HashMap<K, V>
): ProximityMap<K, V>;
export function wrapHashMap<K, V>(
context: ProximityMap.Context<K>,
newInternalMap: HashMap<K, V>
): ProximityMap<K, V> {
return newInternalMap.nonEmpty()
? new ProximityMapNonEmpty<K, V>(context, newInternalMap)
: context.empty();
}