@prismicio/mock
Version:
Generate mock Prismic documents, fields, Slices, and models for development and testing environments
52 lines (51 loc) • 1.49 kB
JavaScript
;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const prismic = require("@prismicio/client");
const changeCase = require("../../lib/changeCase.cjs");
const createFaker = require("../../lib/createFaker.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 patterns = {
short: {
minItems: 1,
maxItems: 3
},
medium: {
minItems: 3,
maxItems: 6
},
long: {
minItems: 6,
maxItems: 12
}
};
const list = (config) => {
const faker = config.faker || createFaker.createFaker(config.seed);
const patternKey = config.pattern || faker.randomElement(Object.keys(patterns));
const pattern = patterns[patternKey];
const itemsCount = faker.range(pattern.minItems, pattern.maxItems);
return Array(itemsCount).fill(void 0).map(() => {
return {
type: prismic__namespace.RichTextNodeType.listItem,
text: changeCase.sentenceCase(faker.words(faker.range(5, 15))),
spans: []
};
});
};
exports.list = list;
//# sourceMappingURL=list.cjs.map