UNPKG

@prismicio/mock

Version:

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

1 lines 1.72 kB
{"version":3,"file":"linkToMedia.cjs","sources":["../../../src/model/linkToMedia.ts"],"sourcesContent":["import * as prismic from \"@prismicio/client\";\n\nimport { capitalCase, sentenceCase } from \"../lib/changeCase\";\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\ntype MockLinkToMediaModel<AllowText extends boolean = boolean> =\n\tprismic.CustomTypeModelLinkToMediaField & {\n\t\tconfig: AllowText extends true\n\t\t\t? { allowText: true }\n\t\t\t: { allowText?: undefined };\n\t};\n\nexport type MockLinkToMediaModelConfig<AllowText extends boolean = boolean> =\n\tMockModelConfig & { allowText?: AllowText };\n\nexport const linkToMedia = <AllowText extends boolean = boolean>(\n\tconfig: MockLinkToMediaModelConfig<AllowText>,\n): MockLinkToMediaModel<AllowText> => {\n\tconst faker = config.faker || createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismic.CustomTypeModelFieldType.Link,\n\t\tconfig: {\n\t\t\tlabel: capitalCase(faker.word()),\n\t\t\tplaceholder: sentenceCase(faker.words(3)),\n\t\t\tselect: prismic.CustomTypeModelLinkSelectType.Media,\n\t\t\tallowText:\n\t\t\t\t(\"allowText\" in config ? config.allowText : faker.boolean()) ||\n\t\t\t\tundefined,\n\t\t},\n\t} as MockLinkToMediaModel<AllowText>;\n};\n"],"names":["createFaker","prismic","capitalCase","sentenceCase"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAiBa,MAAA,cAAc,CAC1B,WACoC;AACpC,QAAM,QAAQ,OAAO,SAASA,YAAAA,YAAY,OAAO,IAAI;AAE9C,SAAA;AAAA,IACN,MAAMC,mBAAQ,yBAAyB;AAAA,IACvC,QAAQ;AAAA,MACP,OAAOC,WAAA,YAAY,MAAM,MAAM;AAAA,MAC/B,aAAaC,WAAAA,aAAa,MAAM,MAAM,CAAC,CAAC;AAAA,MACxC,QAAQF,mBAAQ,8BAA8B;AAAA,MAC9C,YACE,eAAe,SAAS,OAAO,YAAY,MAAM,QAClD,MAAA;AAAA,IACD;AAAA,EAAA;AAEH;;"}