Skip to content

Instantly share code, notes, and snippets.

View ralphschuler's full-sized avatar

Ralph Schuler ralphschuler

View GitHub Profile
@ralphschuler
ralphschuler / BetterMap.ts
Last active September 25, 2023 13:49
Typescript Code Snippets I (found/wrote/generated using ai)
class BetterMap<k, v> extends Map<k, v> {
update(key:k, updater: (v:v, k:k) => v, notset:v = undefined) {
if(this.has(key)) this.set(key, updater(this.get(key), key))
else this.set(key, notset)
}
filter(predicate: (v:v, k:k) => boolean) {
const newMap = new BetterMap<k, v>()
const entries = Array.from(this.entries())
for(const [key, value] of entries) {