UNPKG

@rimbu/proximity

Version:

Immutable ProximityMap implementation for TypeScript

23 lines (19 loc) 697 B
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(); }