@prismicio/mock
Version:
Generate mock Prismic documents, fields, Slices, and models for development and testing environments
1 lines • 1.62 kB
Source Map (JSON)
{"version":3,"file":"linkToMedia.cjs","names":["createFaker","prismic","capitalCase","sentenceCase"],"sources":["../../src/model/linkToMedia.ts"],"sourcesContent":["import * as prismic from \"@prismicio/client\"\n\nimport { capitalCase, sentenceCase } from \"../lib/changeCase\"\nimport { createFaker } from \"../lib/createFaker\"\nimport type { MockModelConfig } from \"../types\"\n\ntype MockLinkToMediaModel<AllowText extends boolean = boolean> =\n\tprismic.CustomTypeModelLinkToMediaField & {\n\t\tconfig: AllowText extends true ? { allowText: true } : { allowText?: undefined }\n\t}\n\nexport type MockLinkToMediaModelConfig<AllowText extends boolean = boolean> = MockModelConfig & {\n\tallowText?: AllowText\n}\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: (\"allowText\" in config ? config.allowText : faker.boolean()) || undefined,\n\t\t},\n\t} as MockLinkToMediaModel<AllowText>\n}\n"],"mappings":";;;;;;AAeA,MAAa,eACZ,WACqC;CACrC,MAAM,QAAQ,OAAO,SAASA,oBAAAA,YAAY,OAAO,KAAK;AAEtD,QAAO;EACN,MAAMC,kBAAQ,yBAAyB;EACvC,QAAQ;GACP,OAAOC,mBAAAA,YAAY,MAAM,MAAM,CAAC;GAChC,aAAaC,mBAAAA,aAAa,MAAM,MAAM,EAAE,CAAC;GACzC,QAAQF,kBAAQ,8BAA8B;GAC9C,YAAY,eAAe,SAAS,OAAO,YAAY,MAAM,SAAS,KAAK,KAAA;GAC3E;EACD"}