alinea
Version:
Headless git-based CMS
37 lines (35 loc) • 1.05 kB
JavaScript
import {
createDecoder,
createEncoder,
readVarString,
readVarUint8Array,
toUint8Array,
writeVarString,
writeVarUint8Array
} from "../chunks/chunk-AJJSW27C.js";
import "../chunks/chunk-NZLE2WMY.js";
// src/preview/PreviewPayload.ts
import { decode, encode } from "alinea/core/util/BufferToBase64";
function encodePreviewPayload(update) {
const encoder = createEncoder();
writeVarString(encoder, update.locale ?? "");
writeVarString(encoder, update.entryId);
writeVarString(encoder, update.contentHash);
writeVarString(encoder, update.status);
writeVarUint8Array(encoder, update.patch);
return encode(toUint8Array(encoder));
}
async function decodePreviewPayload(payload) {
const decoder = createDecoder(new Uint8Array(await decode(payload)));
return {
locale: readVarString(decoder) || null,
entryId: readVarString(decoder),
contentHash: readVarString(decoder),
status: readVarString(decoder),
patch: readVarUint8Array(decoder)
};
}
export {
decodePreviewPayload,
encodePreviewPayload
};