UNPKG

@wordpress/editor

Version:
72 lines (70 loc) 2.61 kB
"use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // packages/editor/src/store/local-autosave.js var local_autosave_exports = {}; __export(local_autosave_exports, { localAutosaveClear: () => localAutosaveClear, localAutosaveGet: () => localAutosaveGet, localAutosaveGetSnapshot: () => localAutosaveGetSnapshot, localAutosaveSet: () => localAutosaveSet }); module.exports = __toCommonJS(local_autosave_exports); var import_core_data = require("@wordpress/core-data"); var import_lock_unlock = require("../lock-unlock.cjs"); var { CRDT_AUTOSAVE_SNAPSHOT_KEY } = (0, import_lock_unlock.unlock)(import_core_data.privateApis); function postKey(postId, isPostNew) { return `wp-autosave-block-editor-post-${isPostNew ? "auto-draft" : postId}`; } function localAutosaveGet(postId, isPostNew) { return window.sessionStorage.getItem(postKey(postId, isPostNew)); } function localAutosaveSet(postId, isPostNew, title, content, excerpt, crdtSnapshot) { const backup = { post_title: title, content, excerpt }; if (crdtSnapshot) { backup[CRDT_AUTOSAVE_SNAPSHOT_KEY] = crdtSnapshot; } const key = postKey(postId, isPostNew); try { window.sessionStorage.setItem(key, JSON.stringify(backup)); } catch (error) { if (!backup[CRDT_AUTOSAVE_SNAPSHOT_KEY]) { throw error; } delete backup[CRDT_AUTOSAVE_SNAPSHOT_KEY]; window.sessionStorage.setItem(key, JSON.stringify(backup)); } } function localAutosaveGetSnapshot(backup) { return backup?.[CRDT_AUTOSAVE_SNAPSHOT_KEY]; } function localAutosaveClear(postId, isPostNew) { window.sessionStorage.removeItem(postKey(postId, isPostNew)); } // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { localAutosaveClear, localAutosaveGet, localAutosaveGetSnapshot, localAutosaveSet }); //# sourceMappingURL=local-autosave.cjs.map