UNPKG

@prismicio/mock

Version:

Generate mock Prismic documents, fields, Slices, and models for development and testing environments

1 lines 1.8 kB
{"version":3,"file":"list.cjs","names":["createFaker","prismic","sentenceCase"],"sources":["../../../src/value/richText/list.ts"],"sourcesContent":["import * as prismic from \"@prismicio/client\"\n\nimport { sentenceCase } from \"../../lib/changeCase\"\nimport { createFaker } from \"../../lib/createFaker\"\nimport type { 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 MockRichTextListValueConfig = {\n\tpattern?: keyof typeof patterns\n} & MockRichTextValueConfig\n\nexport const list = (config: MockRichTextListValueConfig): prismic.RTListItemNode[] | undefined => {\n\tconst faker = config.faker || createFaker(config.seed)\n\n\tconst patternKey =\n\t\tconfig.pattern || faker.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.listItem,\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"],"mappings":";;;;;;AAMA,MAAM,WAAW;CAChB,OAAO;EACN,UAAU;EACV,UAAU;EACV;CACD,QAAQ;EACP,UAAU;EACV,UAAU;EACV;CACD,MAAM;EACL,UAAU;EACV,UAAU;EACV;CACD;AAMD,MAAa,QAAQ,WAA8E;CAClG,MAAM,QAAQ,OAAO,SAASA,oBAAAA,YAAY,OAAO,KAAK;CAItD,MAAM,UAAU,SADf,OAAO,WAAW,MAAM,cAAc,OAAO,KAAK,SAAS,CAA8B;CAG1F,MAAM,aAAa,MAAM,MAAM,QAAQ,UAAU,QAAQ,SAAS;AAElE,QAAO,MAAM,WAAW,CACtB,KAAK,KAAA,EAAU,CACf,UAAU;AACV,SAAO;GACN,MAAMC,kBAAQ,iBAAiB;GAC/B,MAAMC,mBAAAA,aAAa,MAAM,MAAM,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC;GACnD,OAAO,EAAE;GACT;GACA"}