@prismicio/mock
Version:
Generate mock Prismic documents, fields, Slices, and models for development and testing environments
42 lines (41 loc) • 1.49 kB
JavaScript
;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const changeCase = require("./changeCase.cjs");
const createFaker = require("./createFaker.cjs");
const buildImageFieldImage = (config) => {
var _a, _b;
if (config.state === "empty") {
return {
id: null,
url: null,
dimensions: null,
alt: null,
copyright: null
};
} else {
const faker = config.faker || createFaker.createFaker(config.seed);
const url = new URL(config.imageData.url);
const dimensions = {
width: ((_a = config.constraint) == null ? void 0 : _a.width) ?? config.imageData.width,
height: ((_b = config.constraint) == null ? void 0 : _b.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: changeCase.sentenceCase(faker.words(faker.range(5, 15))),
copyright: 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()
}
};
}
};
exports.buildImageFieldImage = buildImageFieldImage;
//# sourceMappingURL=buildImageFieldImage.cjs.map