@wordpress/editor
Version:
Enhanced block editor for WordPress posts.
72 lines (70 loc) • 2.61 kB
JavaScript
;
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