I3 — `Intl.NumberFormat` cache in currency now caps at 256 entries with LRU eviction. The cache was module-global and unbounded; long-running multi-locale / multi-currency apps (financial dashboards, i18n test matrices) accumulated formatter instances forever. Map iteration order is insertion-order so the LRU is implemented as "delete on hit, set on hit, evict the first key when full" — no extra structure. I4 — `createActiveFormatLocaleSource` now maintains its own listener set, so `setLocale()` fires every subscribing submodule through one notification. Previously the parent's `setLocale` only mutated the internal `currentLocale` and the parent then re-called `setLocale` on every submodule manually — two notifications per change. The unified source delivers exactly one. `createActiveFormat.setLocale()` no longer needs to fan out to numbers/currency/units/dates by hand. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>master
parent
7fb071d22e
commit
b1e73f4586
Loading…
Reference in new issue