@prismicio/mock
Version:
Generate mock Prismic documents, fields, Slices, and models for development and testing environments
1 lines • 1.82 kB
Source Map (JSON)
{"version":3,"file":"image.cjs","sources":["../../../src/model/image.ts"],"sourcesContent":["import * as prismic from \"@prismicio/client\";\n\nimport { capitalCase } from \"../lib/changeCase\";\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockImageModelConfig<ThumbnailNames extends string = string> = {\n\twithConstraint?: boolean;\n\tthumbnailNames?: readonly ThumbnailNames[];\n} & MockModelConfig;\n\nexport const image = <ThumbnailNames extends string = string>(\n\tconfig: MockImageModelConfig<ThumbnailNames>,\n): prismic.CustomTypeModelImageField<ThumbnailNames> => {\n\tconst faker = config.faker || createFaker(config.seed);\n\n\tconst thumbnails = (config.thumbnailNames || []).map((name) => {\n\t\treturn {\n\t\t\tname,\n\t\t\twidth: faker.range(500, 2000),\n\t\t\theight: faker.range(500, 2000),\n\t\t};\n\t});\n\n\treturn {\n\t\ttype: prismic.CustomTypeModelFieldType.Image,\n\t\tconfig: {\n\t\t\tlabel: capitalCase(faker.word()),\n\t\t\tconstraint: {\n\t\t\t\twidth: config.withConstraint ? faker.range(500, 2000) : null,\n\t\t\t\theight: config.withConstraint ? faker.range(500, 2000) : null,\n\t\t\t},\n\t\t\tthumbnails,\n\t\t},\n\t};\n};\n"],"names":["createFaker","prismic","capitalCase"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAYa,MAAA,QAAQ,CACpB,WACsD;AACtD,QAAM,QAAQ,OAAO,SAASA,YAAAA,YAAY,OAAO,IAAI;AAErD,QAAM,cAAc,OAAO,kBAAkB,CAAA,GAAI,IAAI,CAAC,SAAQ;AACtD,WAAA;AAAA,MACN;AAAA,MACA,OAAO,MAAM,MAAM,KAAK,GAAI;AAAA,MAC5B,QAAQ,MAAM,MAAM,KAAK,GAAI;AAAA,IAAA;AAAA,GAE9B;AAEM,SAAA;AAAA,IACN,MAAMC,mBAAQ,yBAAyB;AAAA,IACvC,QAAQ;AAAA,MACP,OAAOC,WAAA,YAAY,MAAM,MAAM;AAAA,MAC/B,YAAY;AAAA,QACX,OAAO,OAAO,iBAAiB,MAAM,MAAM,KAAK,GAAI,IAAI;AAAA,QACxD,QAAQ,OAAO,iBAAiB,MAAM,MAAM,KAAK,GAAI,IAAI;AAAA,MACzD;AAAA,MACD;AAAA,IACA;AAAA,EAAA;AAEH;;"}