@prismicio/mock
Version:
Generate mock Prismic documents, fields, Slices, and models for development and testing environments
1 lines • 1.97 kB
Source Map (JSON)
{"version":3,"file":"oList.cjs","sources":["../../../../src/value/richText/oList.ts"],"sourcesContent":["import * as prismic from \"@prismicio/client\";\n\nimport { sentenceCase } from \"../../lib/changeCase\";\nimport { createFaker } from \"../../lib/createFaker\";\n\nimport { MockRichTextValueConfig } from \"../../types\";\n\nconst patterns = {\n\tshort: {\n\t\tminItems: 1,\n\t\tmaxItems: 3,\n\t},\n\tmedium: {\n\t\tminItems: 3,\n\t\tmaxItems: 6,\n\t},\n\tlong: {\n\t\tminItems: 6,\n\t\tmaxItems: 12,\n\t},\n} as const;\n\ntype MockRichTextOListValueConfig = {\n\tpattern?: keyof typeof patterns;\n} & MockRichTextValueConfig;\n\nexport const oList = (\n\tconfig: MockRichTextOListValueConfig,\n): prismic.RTOListItemNode[] | undefined => {\n\tconst faker = config.faker || createFaker(config.seed);\n\n\tconst patternKey =\n\t\tconfig.pattern ||\n\t\tfaker.randomElement(Object.keys(patterns) as (keyof typeof patterns)[]);\n\tconst pattern = patterns[patternKey];\n\n\tconst itemsCount = faker.range(pattern.minItems, pattern.maxItems);\n\n\treturn Array(itemsCount)\n\t\t.fill(undefined)\n\t\t.map(() => {\n\t\t\treturn {\n\t\t\t\ttype: prismic.RichTextNodeType.oListItem,\n\t\t\t\ttext: sentenceCase(faker.words(faker.range(5, 15))),\n\t\t\t\tspans: [],\n\t\t\t};\n\t\t});\n};\n"],"names":["createFaker","prismic","sentenceCase"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAOA,MAAM,WAAW;AAAA,EAChB,OAAO;AAAA,IACN,UAAU;AAAA,IACV,UAAU;AAAA,EACV;AAAA,EACD,QAAQ;AAAA,IACP,UAAU;AAAA,IACV,UAAU;AAAA,EACV;AAAA,EACD,MAAM;AAAA,IACL,UAAU;AAAA,IACV,UAAU;AAAA,EACV;;AAOW,MAAA,QAAQ,CACpB,WAC0C;AAC1C,QAAM,QAAQ,OAAO,SAASA,YAAAA,YAAY,OAAO,IAAI;AAE/C,QAAA,aACL,OAAO,WACP,MAAM,cAAc,OAAO,KAAK,QAAQ,CAA8B;AACjE,QAAA,UAAU,SAAS,UAAU;AAEnC,QAAM,aAAa,MAAM,MAAM,QAAQ,UAAU,QAAQ,QAAQ;AAEjE,SAAO,MAAM,UAAU,EACrB,KAAK,MAAS,EACd,IAAI,MAAK;AACF,WAAA;AAAA,MACN,MAAMC,mBAAQ,iBAAiB;AAAA,MAC/B,MAAMC,WAAAA,aAAa,MAAM,MAAM,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC;AAAA,MAClD,OAAO,CAAE;AAAA,IAAA;AAAA,GAEV;AACH;;"}