UNPKG

@webiny/api-page-builder-so-ddb

Version:

The DynamoDB storage operations Webiny Page Builder API.

42 lines (40 loc) 1.06 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.decompress = exports.compress = void 0; var _gzip = require("@webiny/utils/compression/gzip"); const GZIP = "gzip"; const TO_STORAGE_ENCODING = "base64"; const FROM_STORAGE_ENCODING = "utf8"; const convertToBuffer = value => { if (typeof value === "string") { return Buffer.from(value, TO_STORAGE_ENCODING); } return value; }; const compress = async data => { const value = await (0, _gzip.compress)(JSON.stringify(data)); return { compression: GZIP, value: value.toString(TO_STORAGE_ENCODING) }; }; exports.compress = compress; const decompress = async pageBlock => { try { const buf = await (0, _gzip.decompress)(convertToBuffer(pageBlock.content.value)); const value = buf.toString(FROM_STORAGE_ENCODING); return { ...pageBlock, content: JSON.parse(value) }; } catch (ex) { return { ...pageBlock, content: null }; } }; exports.decompress = decompress; //# sourceMappingURL=compression.js.map