async load()

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;
    }
  }