UNPKG

@prismicio/mock

Version:

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

1 lines 1.91 kB
{"version":3,"file":"slice.cjs","names":["createFaker","prismic","snakeCase","capitalCase","sentenceCase"],"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\"\nimport type { 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"],"mappings":";;;;;;AAcA,MAAa,SAIZ,WACiE;CACjE,MAAM,QAAQ,OAAO,SAASA,oBAAAA,YAAY,OAAO,KAAK;AAEtD,QAAO;EACN,MAAMC,kBAAQ,yBAAyB;EACvC,MAAMC,mBAAAA,UAAU,MAAM,MAAM,CAAC;EAC7B,SAAS,MAAM,SAAS,GACrBD,kBAAQ,4BAA4B,OACpCA,kBAAQ,4BAA4B;EACvC,UAAUE,mBAAAA,YAAY,MAAM,MAAM,EAAE,CAAC;EACrC,aAAaC,mBAAAA,aAAa,MAAM,MAAM,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC;EAC1D,QAAQ,OAAO,gBAAiB,EAAE;EAClC,cAAc,OAAO,mBAAoB,EAAE;EAC3C"}