codingjoe / codingjoe/esupgrade
Transformer: Map initialization patterns to getOrInsert APIs
- Dominant language
- JavaScript
- Stars
- 13
- Forks
- 2
- Avg merge
- 1d 5h
- Merged PRs (30d)
- 6
Description
## Summary
Add a transformer that upgrades common Map get-or-init patterns to getOrInsert/getOrInsertComputed.
## Examples
```js
// before
if (!cache.has(key)) {
cache.set(key, []);
}
const value = cache.get(key);
// after
const value = cache.getOrInsert(key, []);
```
```js
// before
if (!cache.has(key)) {
cache.set(key, buildValue());
}
const value = cache.get(key);
// after
const value = cache.getOrInsertComputed(key, buildValue);
```
## Scope
- Baseline category: newly available.
- Preserve side-effect behavior; skip unsafe cases.
## Acceptance criteria
- Implement in src/newlyAvailable/
- Export from src/newlyAvailable.js
- Add tests in tests/newlyAvailable/
- Document in README.md
Contributor guide
Assessment
This issue has not been assessed yet.