UNPKG

gatsby-source-prismic

Version:

Gatsby source plugin for building websites using Prismic as a data source

54 lines (53 loc) 1.69 kB
import { isFilled } from "@prismicio/client"; import { getGatsbyImageFieldConfig } from "gatsby-plugin-image/graphql-utils"; import { DEFAULT_IMGIX_PARAMS, GatsbyImageDataPlaceholderKind } from "../constants.js"; import { resolveGatsbyImageData } from "./resolveGatsbyImageData.server.js"; const buildGatsbyImageDataFieldConfig = (config) => { const fieldConfig = getGatsbyImageFieldConfig(async (source, args) => { if (isFilled.imageThumbnail(source)) { return resolveGatsbyImageData({ url: source.url, width: source.dimensions.width, height: source.dimensions.height }, { ...args, imgixParams: { ...DEFAULT_IMGIX_PARAMS, ...config.pluginOptions.imageImgixParams, ...args.imgixParams }, placeholderImgixParams: { ...DEFAULT_IMGIX_PARAMS, ...config.pluginOptions.imageImgixParams, ...config.pluginOptions.imagePlaceholderImgixParams, ...args.placeholderImgixParams } }, { cache: config.cache, pluginName: "gatsby-source-prismic" }); } else { return null; } }); fieldConfig.args = { ...fieldConfig.args, placeholder: { type: "PrismicGatsbyImageDataPlaceholder", defaultValue: GatsbyImageDataPlaceholderKind.DominantColor }, imgixParams: { type: "PrismicImgixURLParams" }, placeholderImgixParams: { type: "PrismicImgixURLParams" } }; delete fieldConfig.args.outputPixelDensities; fieldConfig.type = "JSON"; return fieldConfig; }; export { buildGatsbyImageDataFieldConfig }; //# sourceMappingURL=buildGatsbyImageDataFieldConfig.js.map