@prismicio/mock
Version:
Generate mock Prismic documents, fields, Slices, and models for development and testing environments
69 lines (68 loc) • 1.86 kB
JavaScript
;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const prismic = require("@prismicio/client");
const createFaker = require("../lib/createFaker.cjs");
const index = require("./richText/index.cjs");
function _interopNamespaceDefault(e) {
const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
if (e) {
for (const k in e) {
if (k !== "default") {
const d = Object.getOwnPropertyDescriptor(e, k);
Object.defineProperty(n, k, d.get ? d : {
enumerable: true,
get: () => e[k]
});
}
}
}
n.default = e;
return Object.freeze(n);
}
const prismic__namespace = /* @__PURE__ */ _interopNamespaceDefault(prismic);
const table = (config) => {
const faker = config.faker || createFaker.createFaker(config.seed);
const cells = faker.range(1, 10);
const bodyRows = faker.range(1, 10);
return config.state === "empty" ? null : {
head: {
rows: [
{
cells: Array.from({ length: cells }, () => mockTableCell({
type: "header",
faker
}))
}
]
},
body: {
rows: Array.from({ length: bodyRows }, () => ({
cells: Array.from({ length: cells }, () => mockTableCell({
type: "data",
faker
}))
}))
}
};
};
const TableCell = {
type: "StructuredText",
config: {
multi: [
prismic__namespace.RichTextNodeType.paragraph,
prismic__namespace.RichTextNodeType.strong,
prismic__namespace.RichTextNodeType.em,
prismic__namespace.RichTextNodeType.hyperlink
].join(",")
}
};
const mockTableCell = ({ type, faker }) => ({
type,
content: index.richText({
faker,
model: TableCell
})
});
exports.TableCell = TableCell;
exports.table = table;
//# sourceMappingURL=table.cjs.map