How to use the netlify-cms-lib-util.localForage.setItem function in netlify-cms-lib-util

To help you get started, we’ve selected a few netlify-cms-lib-util examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github netlify / netlify-cms / packages / netlify-cms-backend-github / src / API.ts View on Github external
this._metadataSemaphore?.take(async () => {
        try {
          const branchData = await this.checkMetadataRef();
          const file = { path: `${key}.json`, raw: JSON.stringify(data) };

          await this.uploadBlob(file);
          const changeTree = await this.updateTree(branchData.sha, [file as File]);
          const { sha } = await this.commit(`Updating “${key}” metadata`, changeTree);
          await this.patchRef('meta', '_netlify_cms', sha);
          localForage.setItem(`gh.meta.${key}`, {
            expires: Date.now() + 300000, // In 5 minutes
            data,
          });
          this._metadataSemaphore?.leave();
          resolve();
        } catch (err) {
          reject(err);
        }
      }),
    );
github netlify / netlify-cms / packages / netlify-cms-core / src / backend.ts View on Github external
const mediaFiles = await Promise.all(
      entry
        .get('mediaFiles')
        .toJS()
        .map(async (file: MediaFile) => {
          // make sure to serialize the file
          if (file.url?.startsWith('blob:')) {
            const blob = await fetch(file.url).then(res => res.blob());
            return { ...file, file: new File([blob], file.name) };
          }
          return file;
        }),
    );

    await localForage.setItem(key, {
      raw,
      path: entry.get('path'),
      mediaFiles,
    });
    return localForage.setItem(getEntryBackupKey(), raw);
  }
github netlify / netlify-cms / packages / netlify-cms-core / src / backend.ts View on Github external
.map(async (file: MediaFile) => {
          // make sure to serialize the file
          if (file.url?.startsWith('blob:')) {
            const blob = await fetch(file.url).then(res => res.blob());
            return { ...file, file: new File([blob], file.name) };
          }
          return file;
        }),
    );

    await localForage.setItem(key, {
      raw,
      path: entry.get('path'),
      mediaFiles,
    });
    return localForage.setItem(getEntryBackupKey(), raw);
  }
github netlify / netlify-cms / packages / netlify-cms-backend-github / src / API.js View on Github external
.then(() => {
          localForage.setItem(`gh.meta.${key}`, {
            expires: Date.now() + 300000, // In 5 minutes
            data,
          });
        });
    });
github netlify / netlify-cms / packages / netlify-cms-backend-github / src / API.js View on Github external
}).then(result => {
        localForage.setItem(`gh.${sha}`, result);
        return result;
      });
    });
github netlify / netlify-cms / packages / netlify-cms-backend-github / src / API.ts View on Github external
return this.fetchBlobContent({ sha, repoURL, parseText }).then(result => {
        localForage.setItem(key, result);
        return result;
      });
    });
github netlify / netlify-cms / packages / netlify-cms-backend-bitbucket / src / API.js View on Github external
readFile = async (path, sha, { parseText = true } = {}) => {
    const cacheKey = parseText ? `bb.${sha}` : `bb.${sha}.blob`;
    const cachedFile = sha ? await localForage.getItem(cacheKey) : null;
    if (cachedFile) {
      return cachedFile;
    }
    const node = await this.branchCommitSha();
    const result = await this.request({
      url: `${this.repoURL}/src/${node}/${path}`,
      cache: 'no-store',
    }).then(parseText ? responseParser({ format: 'text' }) : responseParser({ format: 'blob' }));
    if (sha) {
      localForage.setItem(cacheKey, result);
    }
    return result;
  };
github netlify / netlify-cms / packages / netlify-cms-backend-gitlab / src / API.js View on Github external
readFile = async (path, sha, { ref = this.branch, parseText = true } = {}) => {
    const cacheKey = parseText ? `gl.${sha}` : `gl.${sha}.blob`;
    const cachedFile = sha ? await localForage.getItem(cacheKey) : null;
    if (cachedFile) {
      return cachedFile;
    }
    const result = await this.request({
      url: `${this.repoURL}/repository/files/${encodeURIComponent(path)}/raw`,
      params: { ref },
      cache: 'no-store',
    }).then(parseText ? this.responseToText : this.responseToBlob);
    if (sha) {
      localForage.setItem(cacheKey, result);
    }
    return result;
  };