UNPKG

@prismicio/mock

Version:

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

1 lines 1.68 kB
{"version":3,"file":"paragraph.cjs","names":["createFaker","sentenceCase","prismic"],"sources":["../../../src/value/richText/paragraph.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\tsentenceCount: 2,\n\t},\n\tmedium: {\n\t\tsentenceCount: 6,\n\t},\n\tlong: {\n\t\tsentenceCount: 12,\n\t},\n} as const\n\ntype MockRichTextParagraphValueConfig = {\n\tpattern?: keyof typeof patterns\n} & MockRichTextValueConfig\n\nexport const paragraph = (\n\tconfig: MockRichTextParagraphValueConfig,\n): prismic.RTParagraphNode | 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 text = Array.from(\n\t\t{ length: pattern.sentenceCount },\n\t\t() => sentenceCase(faker.words(faker.range(5, 15))) + \".\",\n\t).join(\" \")\n\n\treturn {\n\t\ttype: prismic.RichTextNodeType.paragraph,\n\t\ttext,\n\t\tspans: [],\n\t}\n}\n"],"mappings":";;;;;;AAMA,MAAM,WAAW;CAChB,OAAO,EACN,eAAe,GACf;CACD,QAAQ,EACP,eAAe,GACf;CACD,MAAM,EACL,eAAe,IACf;CACD;AAMD,MAAa,aACZ,WACyC;CACzC,MAAM,QAAQ,OAAO,SAASA,oBAAAA,YAAY,OAAO,KAAK;CAItD,MAAM,UAAU,SADf,OAAO,WAAW,MAAM,cAAc,OAAO,KAAK,SAAS,CAA8B;CAG1F,MAAM,OAAO,MAAM,KAClB,EAAE,QAAQ,QAAQ,eAAe,QAC3BC,mBAAAA,aAAa,MAAM,MAAM,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,IACtD,CAAC,KAAK,IAAI;AAEX,QAAO;EACN,MAAMC,kBAAQ,iBAAiB;EAC/B;EACA,OAAO,EAAE;EACT"}