@prismicio/mock
Version:
Generate mock Prismic documents, fields, Slices, and models for development and testing environments
1 lines • 2.6 kB
Source Map (JSON)
{"version":3,"file":"image.cjs","names":["createFaker","getMockImageData","buildImageFieldImage"],"sources":["../../src/value/image.ts"],"sourcesContent":["import type * as prismic from \"@prismicio/client\"\n\nimport { buildImageFieldImage } from \"../lib/buildImageFieldImage\"\nimport { createFaker } from \"../lib/createFaker\"\nimport { getMockImageData } from \"../lib/getMockImageData\"\nimport * as modelGen from \"../model\"\nimport type { MockValueStateConfig, MockValueConfig } from \"../types\"\n\nexport type MockImageValueConfig<\n\tModel extends prismic.CustomTypeModelImageField = prismic.CustomTypeModelImageField,\n\tState extends prismic.FieldState = prismic.FieldState,\n> = MockValueConfig<Model> & MockValueStateConfig<State>\n\nexport type MockImageValue<\n\tModel extends prismic.CustomTypeModelImageField = prismic.CustomTypeModelImageField,\n\tState extends prismic.FieldState = prismic.FieldState,\n> = prismic.ImageField<\n\tNonNullable<NonNullable<Model[\"config\"]>[\"thumbnails\"]>[number][\"name\"],\n\tState\n>\n\nexport const image = <\n\tModel extends prismic.CustomTypeModelImageField = prismic.CustomTypeModelImageField,\n\tState extends prismic.FieldState = \"filled\",\n>(\n\tconfig: MockImageValueConfig<Model, State>,\n): MockImageValue<Model, State> => {\n\tconst faker = config.faker || createFaker(config.seed)\n\n\tconst model = config.model || modelGen.image({ faker })\n\tconst imageData = getMockImageData({ faker })\n\n\tconst value = buildImageFieldImage({\n\t\tfaker,\n\t\timageData,\n\t\tconstraint: model.config?.constraint,\n\t\tstate: config.state,\n\t}) as MockImageValue<Model, State>\n\n\tif (model.config?.thumbnails) {\n\t\tfor (const thumbnail of model.config.thumbnails) {\n\t\t\t// TODO: Resolve the following type error\n\t\t\t// @ts-expect-error - Unsure how to fix this type mismatch\n\t\t\tvalue[thumbnail.name as keyof typeof value] = buildImageFieldImage({\n\t\t\t\tfaker,\n\t\t\t\timageData,\n\t\t\t\tconstraint: {\n\t\t\t\t\twidth: thumbnail.width,\n\t\t\t\t\theight: thumbnail.height,\n\t\t\t\t},\n\t\t\t\tstate: config.state,\n\t\t\t})\n\t\t}\n\t}\n\n\treturn value\n}\n"],"mappings":";;;;;AAqBA,MAAa,SAIZ,WACkC;CAClC,MAAM,QAAQ,OAAO,SAASA,oBAAAA,YAAY,OAAO,KAAK;CAEtD,MAAM,QAAQ,OAAO,SAAA,cAAA,MAAwB,EAAE,OAAO,CAAC;CACvD,MAAM,YAAYC,yBAAAA,iBAAiB,EAAE,OAAO,CAAC;CAE7C,MAAM,QAAQC,6BAAAA,qBAAqB;EAClC;EACA;EACA,YAAY,MAAM,QAAQ;EAC1B,OAAO,OAAO;EACd,CAAC;AAEF,KAAI,MAAM,QAAQ,WACjB,MAAK,MAAM,aAAa,MAAM,OAAO,WAGpC,OAAM,UAAU,QAA8BA,6BAAAA,qBAAqB;EAClE;EACA;EACA,YAAY;GACX,OAAO,UAAU;GACjB,QAAQ,UAAU;GAClB;EACD,OAAO,OAAO;EACd,CAAC;AAIJ,QAAO"}