UNPKG

@prismicio/mock

Version:

Generate mock Prismic documents, fields, Slices, and models for development and testing environments

40 lines (39 loc) 1.23 kB
import { sentenceCase } from "./changeCase.js"; import { createFaker } from "./createFaker.js"; //#region src/lib/buildImageFieldImage.ts const buildImageFieldImage = (config) => { if (config.state === "empty") return { id: null, url: null, dimensions: null, alt: null, copyright: null }; else { const faker = config.faker || createFaker(config.seed); const url = new URL(config.imageData.url); const dimensions = { width: config.constraint?.width ?? config.imageData.width, height: config.constraint?.height ?? config.imageData.height }; url.searchParams.set("w", dimensions.width.toString()); url.searchParams.set("h", dimensions.height.toString()); url.searchParams.set("fit", "crop"); return { id: faker.hash(11), url: url.toString(), dimensions, alt: sentenceCase(faker.words(faker.range(5, 15))), copyright: sentenceCase(faker.words(faker.range(5, 15))), edit: { x: faker.range(-dimensions.width / 2, dimensions.width / 2), y: faker.range(-dimensions.width / 2, dimensions.height / 2), zoom: faker.rangeFloat(1, 2), background: faker.hexColor() } }; } }; //#endregion export { buildImageFieldImage }; //# sourceMappingURL=buildImageFieldImage.js.map