in packages/sdk/src/abstract-cache.ts [52:74]
async load(entries?: AsyncIterable<[string, S]>) {
if (!entries) return;
this.loading = true;
try {
for await (const [key, value] of entries) {
const cacheValue = this.data.get(key);
if (cacheValue && cacheValue.resolve) {
cacheValue.resolve(this.deserialize(value));
delete cacheValue.resolve;
} else {
this.put(key, AccessiblePromise.resolve(this.deserialize(value)));
}
}
for (const cacheValue of this.data.values()) {
if (cacheValue.resolve) {
cacheValue.resolve();
delete cacheValue.resolve;
}
}
} finally {
this.loading = false;
}
}