UNPKG

@netlify/content-engine

Version:
84 lines 3.65 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.PlaceholderType = void 0; exports.generatePlaceholder = generatePlaceholder; const mime_type_helpers_1 = require("./utils/mime-type-helpers"); var PlaceholderType; (function (PlaceholderType) { PlaceholderType["BLURRED"] = "blurred"; PlaceholderType["DOMINANT_COLOR"] = "dominantColor"; PlaceholderType["TRACED_SVG"] = "tracedSVG"; })(PlaceholderType || (exports.PlaceholderType = PlaceholderType = {})); const PLACEHOLDER_BASE64_WIDTH = 20; const PLACEHOLDER_QUALITY = 25; const PLACEHOLDER_DOMINANT_WIDTH = 200; const PLACEHOLDER_TRACED_WIDTH = 200; async function generatePlaceholder(source, placeholderType, store) { switch (placeholderType) { case PlaceholderType.BLURRED: { return { fallback: await runPlaceholder({ id: source.id, placeholderUrl: source.placeholderUrl, originalUrl: source.url, format: (0, mime_type_helpers_1.getImageFormatFromMimeType)(source.mimeType), width: source.width, height: source.height, contentDigest: source.internal.contentDigest, type: PlaceholderType.BLURRED, placeholderOptions: { width: PLACEHOLDER_BASE64_WIDTH, quality: PLACEHOLDER_QUALITY, }, store, }), }; } case PlaceholderType.DOMINANT_COLOR: { return { backgroundColor: await runPlaceholder({ id: source.id, placeholderUrl: source.placeholderUrl, originalUrl: source.url, format: (0, mime_type_helpers_1.getImageFormatFromMimeType)(source.mimeType), width: source.width, height: source.height, contentDigest: source.internal.contentDigest, type: PlaceholderType.DOMINANT_COLOR, placeholderOptions: { width: PLACEHOLDER_DOMINANT_WIDTH, quality: PLACEHOLDER_QUALITY, }, store, }), }; } case PlaceholderType.TRACED_SVG: { return { fallback: await runPlaceholder({ id: source.id, placeholderUrl: source.placeholderUrl, originalUrl: source.url, format: (0, mime_type_helpers_1.getImageFormatFromMimeType)(source.mimeType), width: source.width, height: source.height, contentDigest: source.internal.contentDigest, type: PlaceholderType.TRACED_SVG, placeholderOptions: { width: PLACEHOLDER_TRACED_WIDTH, quality: PLACEHOLDER_QUALITY, }, store, }), }; } } } async function runPlaceholder(_args) { // TODO: completely remove this entire fn and file. Just leaving this clearly wrong code here // so that we can make a separate PR fully removing file/image code // None of this code runs in content-engine anyway, but deleting the files results in compile errors // I deleted part of it here to remove `sharp` as a dep before we fully remove all image code return ""; } //# sourceMappingURL=placeholder-handler.js.map