@prismicio/mock
Version:
Generate mock Prismic documents, fields, Slices, and models for development and testing environments
33 lines (26 loc) • 872 B
text/typescript
import * as prismic from "@prismicio/client";
import { buildImageFieldImage } from "../../lib/buildImageFieldImage";
import { createFaker } from "../../lib/createFaker";
import { getMockImageData } from "../../lib/getMockImageData";
import { MockRichTextValueConfig } from "../../types";
type MockRichTextImageValueConfig = MockRichTextValueConfig;
export const image = (
config: MockRichTextImageValueConfig,
): prismic.RTImageNode | undefined => {
const faker = config.faker || createFaker(config.seed);
const imageData = getMockImageData({ faker });
const imageField = buildImageFieldImage({
faker,
imageData,
state: "filled",
});
return {
id: faker.hash(7),
type: prismic.RichTextNodeType.image,
alt: imageField.alt,
url: imageField.url,
copyright: imageField.copyright,
dimensions: imageField.dimensions,
edit: imageField.edit,
};
};