Breaking changes
- TypeScript source, published from
dist/ (ESM + CJS + IIFE + types)
- Dropped bower support
- Minimum Node.js 14
- Removed
hash() — internal legacy helper, no known dependents
Fixed
clone() and constructor/copy() no longer share Entry objects with the source (2.4 semantics)
Changed
- Object-key identity uses a module-level
WeakMap instead of _hmuid_ expando on user objects
- Internal hash index uses native
Map instead of a plain object
Deprecated (kept for compatibility)
count() — use .size
remove() — use .delete()
type() — legacy helper, not used internally
Performance
- Numeric internal hashing, flat entry storage, cached entry hashes
- 18 of 20 benchmarks faster than 2.4.0 — biggest wins on iteration, replace, and clone/copy (
npm run benchmark)
npm install hashmap@3.0.0