@prismicio/mock
Version:
Generate mock Prismic documents, fields, Slices, and models for development and testing environments
1 lines • 1.87 kB
Source Map (JSON)
{"version":3,"file":"preformatted.cjs","sources":["../../../../src/value/richText/preformatted.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\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 MockRichTextPreformattedValueConfig = {\n\tpattern?: keyof typeof patterns;\n} & MockRichTextValueConfig;\n\nexport const preformatted = (\n\tconfig: MockRichTextPreformattedValueConfig,\n): prismic.RTPreformattedNode | 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\t// TODO: Use code, not lorem ipsum.\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.preformatted,\n\t\ttext,\n\t\tspans: [],\n\t};\n};\n"],"names":["createFaker","sentenceCase","prismic"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAOA,MAAM,WAAW;AAAA,EAChB,OAAO;AAAA,IACN,eAAe;AAAA,EACf;AAAA,EACD,QAAQ;AAAA,IACP,eAAe;AAAA,EACf;AAAA,EACD,MAAM;AAAA,IACL,eAAe;AAAA,EACf;;AAOW,MAAA,eAAe,CAC3B,WAC2C;AAC3C,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;AAG7B,QAAA,OAAO,MAAM,KAClB,EAAE,QAAQ,QAAQ,cAAA,GAClB,MAAMC,WAAAA,aAAa,MAAM,MAAM,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC,IAAI,GAAG,EACxD,KAAK,GAAG;AAEH,SAAA;AAAA,IACN,MAAMC,mBAAQ,iBAAiB;AAAA,IAC/B;AAAA,IACA,OAAO,CAAE;AAAA,EAAA;AAEX;;"}