@prismicio/mock
Version:
Generate mock Prismic documents, fields, Slices, and models for development and testing environments
40 lines (39 loc) • 1.33 kB
JavaScript
const require_changeCase = require("./changeCase.cjs");
const require_createFaker = require("./createFaker.cjs");
//#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 || require_createFaker.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: require_changeCase.sentenceCase(faker.words(faker.range(5, 15))),
copyright: require_changeCase.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
exports.buildImageFieldImage = buildImageFieldImage;
//# sourceMappingURL=buildImageFieldImage.cjs.map