UNPKG

@prismicio/mock

Version:

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

1 lines 2.76 kB
{"version":3,"file":"image.cjs","sources":["../../../src/value/image.ts"],"sourcesContent":["import * as prismic from \"@prismicio/client\";\n\nimport { buildImageFieldImage } from \"../lib/buildImageFieldImage\";\nimport { createFaker } from \"../lib/createFaker\";\nimport { getMockImageData } from \"../lib/getMockImageData\";\n\nimport { MockValueStateConfig, MockValueConfig } from \"../types\";\n\nimport * as modelGen from \"../model\";\n\nexport type MockImageValueConfig<\n\tModel extends\n\t\tprismic.CustomTypeModelImageField = prismic.CustomTypeModelImageField,\n\tState extends prismic.FieldState = prismic.FieldState,\n> = MockValueConfig<Model> & MockValueStateConfig<State>;\n\nexport type MockImageValue<\n\tModel extends\n\t\tprismic.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\n\t\tprismic.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"],"names":["createFaker","modelGen.image","getMockImageData","buildImageFieldImage"],"mappings":";;;;;;AAyBa,MAAA,QAAQ,CAKpB,WACiC;;AACjC,QAAM,QAAQ,OAAO,SAASA,YAAAA,YAAY,OAAO,IAAI;AAErD,QAAM,QAAQ,OAAO,SAASC,QAAAA,MAAe,EAAE,OAAO;AACtD,QAAM,YAAYC,iBAAAA,iBAAiB,EAAE,MAAO,CAAA;AAE5C,QAAM,QAAQC,qBAAAA,qBAAqB;AAAA,IAClC;AAAA,IACA;AAAA,IACA,aAAY,WAAM,WAAN,mBAAc;AAAA,IAC1B,OAAO,OAAO;AAAA,EAAA,CACd;AAEG,OAAA,WAAM,WAAN,mBAAc,YAAY;AAClB,eAAA,aAAa,MAAM,OAAO,YAAY;AAG1C,YAAA,UAAU,IAA0B,IAAIA,0CAAqB;AAAA,QAClE;AAAA,QACA;AAAA,QACA,YAAY;AAAA,UACX,OAAO,UAAU;AAAA,UACjB,QAAQ,UAAU;AAAA,QAClB;AAAA,QACD,OAAO,OAAO;AAAA,MAAA,CACd;AAAA,IACF;AAAA,EACD;AAEO,SAAA;AACR;;"}