in packages/shared/src/lru.ts [83:104]
assign(entries: any) {
let entry: any
let limit = this.limit || Number.MAX_VALUE
this._keymap.clear()
const it = entries[Symbol.iterator]()
for (let itv = it.next(); !itv.done; itv = it.next()) {
const e = new Entry(itv.value[0], itv.value[1])
this._keymap.set(e.key, e)
if (!entry) {
this.oldest = e
} else {
entry[NEWER] = e
e[OLDER] = entry
}
entry = e
if (limit-- === 0) {
throw new Error('overflow')
}
}
this.newest = entry
this.size = this._keymap.size
}