UNPKG

gatsby-source-prismic

Version:

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

61 lines (60 loc) 2.17 kB
"use strict"; Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); const prismic = require("@prismicio/client"); const imgixUrlBuilder = require("imgix-url-builder"); const constants = require("../constants.cjs"); const buildGatsbyImageDataFieldConfig = require("./buildGatsbyImageDataFieldConfig.cjs"); const pascalCase = require("./pascalCase.cjs"); const buildImageObjectType = (config) => { return config.schema.buildObjectType({ name: pascalCase.pascalCase("Prismic", config.pluginOptions.typePrefix, "ImageField"), description: "An Image field.", fields: { alt: { type: "String", description: "An alternative text for the image." }, copyright: { type: "String", description: "Copyright information for the image." }, dimensions: { type: "PrismicImageFieldDimensions", description: "The image's width and height." }, url: { type: "String", description: "The image's URL.", args: { imgixParams: { type: "PrismicImgixURLParams", description: "Parameters to modify the image output using Imgix's URL API. To learn more, see: https://docs.imgix.com/apis/rendering" } }, resolve: (source, args) => { if (prismic.isFilled.imageThumbnail(source)) { return imgixUrlBuilder.buildURL(source.url, { ...constants.DEFAULT_IMGIX_PARAMS, ...config.pluginOptions.imageImgixParams, ...args.imgixParams }); } else { return null; } } }, gatsbyImageData: buildGatsbyImageDataFieldConfig.buildGatsbyImageDataFieldConfig({ cache: config.cache, pluginOptions: config.pluginOptions }), localFile: { type: "File", description: "The locally download image file if the field is configured to download locally.", extensions: { link: {} } } }, interfaces: ["PrismicImageFieldBase"] }); }; exports.buildImageObjectType = buildImageObjectType; //# sourceMappingURL=buildImageObjectType.cjs.map