@prismicio/mock
Version:
Generate mock Prismic documents, fields, Slices, and models for development and testing environments
1 lines • 1.98 kB
Source Map (JSON)
{"version":3,"file":"slice.cjs","sources":["../../../src/model/slice.ts"],"sourcesContent":["import * as prismic from \"@prismicio/client\";\n\nimport { capitalCase, sentenceCase, snakeCase } from \"../lib/changeCase\";\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig, NestedGroupFieldModelMap } from \"../types\";\n\nexport type MockSliceModelConfig<\n\tNonRepeatFields extends NestedGroupFieldModelMap = NestedGroupFieldModelMap,\n\tRepeatFields extends NestedGroupFieldModelMap = NestedGroupFieldModelMap,\n> = {\n\tnonRepeatFields?: NonRepeatFields;\n\trepeatFields?: RepeatFields;\n} & MockModelConfig;\n\nexport const slice = <\n\tNonRepeatFields extends NestedGroupFieldModelMap,\n\tRepeatFields extends NestedGroupFieldModelMap,\n>(\n\tconfig: MockSliceModelConfig<NonRepeatFields, RepeatFields>,\n): prismic.CustomTypeModelSlice<NonRepeatFields, RepeatFields> => {\n\tconst faker = config.faker || createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismic.CustomTypeModelSliceType.Slice,\n\t\ticon: snakeCase(faker.word()),\n\t\tdisplay: faker.boolean()\n\t\t\t? prismic.CustomTypeModelSliceDisplay.Grid\n\t\t\t: prismic.CustomTypeModelSliceDisplay.List,\n\t\tfieldset: capitalCase(faker.words(2)),\n\t\tdescription: sentenceCase(faker.words(faker.range(5, 10))),\n\t\trepeat: config.repeatFields || ({} as RepeatFields),\n\t\t\"non-repeat\": config.nonRepeatFields || ({} as NonRepeatFields),\n\t};\n};\n"],"names":["createFaker","prismic","snakeCase","capitalCase","sentenceCase"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAea,MAAA,QAAQ,CAIpB,WACgE;AAChE,QAAM,QAAQ,OAAO,SAASA,YAAAA,YAAY,OAAO,IAAI;AAE9C,SAAA;AAAA,IACN,MAAMC,mBAAQ,yBAAyB;AAAA,IACvC,MAAMC,WAAA,UAAU,MAAM,MAAM;AAAA,IAC5B,SAAS,MAAM,YACZD,mBAAQ,4BAA4B,OACpCA,mBAAQ,4BAA4B;AAAA,IACvC,UAAUE,WAAAA,YAAY,MAAM,MAAM,CAAC,CAAC;AAAA,IACpC,aAAaC,WAAAA,aAAa,MAAM,MAAM,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC;AAAA,IACzD,QAAQ,OAAO,gBAAiB,CAAmB;AAAA,IACnD,cAAc,OAAO,mBAAoB,CAAsB;AAAA,EAAA;AAEjE;;"}