UNPKG

@prismicio/mock

Version:

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

1 lines 1.85 kB
{"version":3,"file":"sharedSlice.cjs","names":["createFaker","capitalCase","snakeCase","pascalCase","prismic","sentenceCase"],"sources":["../../src/model/sharedSlice.ts"],"sourcesContent":["import * as prismic from \"@prismicio/client\"\n\nimport { capitalCase, pascalCase, sentenceCase, snakeCase } from \"../lib/changeCase\"\nimport { createFaker } from \"../lib/createFaker\"\nimport type { MockModelConfig } from \"../types\"\n\nexport type MockSharedSliceModelConfig<Variation extends prismic.SharedSliceModelVariation> = {\n\tid?: string\n\tname?: string\n\tvariations?: Variation[]\n} & MockModelConfig\n\nexport const sharedSlice = <Variation extends prismic.SharedSliceModelVariation>(\n\tconfig: MockSharedSliceModelConfig<Variation>,\n): prismic.SharedSliceModel<string, Variation> => {\n\tconst faker = config.faker || createFaker(config.seed)\n\n\tlet name: string = config.name || capitalCase(faker.words(faker.range(1, 2)))\n\tlet id: string = config.id || snakeCase(name)\n\n\tif (config.id && !config.name) {\n\t\tname = pascalCase(config.id)\n\t} else if (config.name && !config.id) {\n\t\tid = snakeCase(config.name)\n\t}\n\n\treturn {\n\t\ttype: prismic.CustomTypeModelSliceType.SharedSlice,\n\t\tid,\n\t\tname,\n\t\tdescription: sentenceCase(faker.words(faker.range(5, 10))),\n\t\tvariations: config.variations || ([] as Variation[]),\n\t}\n}\n"],"mappings":";;;;;;AAYA,MAAa,eACZ,WACiD;CACjD,MAAM,QAAQ,OAAO,SAASA,oBAAAA,YAAY,OAAO,KAAK;CAEtD,IAAI,OAAe,OAAO,QAAQC,mBAAAA,YAAY,MAAM,MAAM,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC;CAC7E,IAAI,KAAa,OAAO,MAAMC,mBAAAA,UAAU,KAAK;AAE7C,KAAI,OAAO,MAAM,CAAC,OAAO,KACxB,QAAOC,mBAAAA,WAAW,OAAO,GAAG;UAClB,OAAO,QAAQ,CAAC,OAAO,GACjC,MAAKD,mBAAAA,UAAU,OAAO,KAAK;AAG5B,QAAO;EACN,MAAME,kBAAQ,yBAAyB;EACvC;EACA;EACA,aAAaC,mBAAAA,aAAa,MAAM,MAAM,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC;EAC1D,YAAY,OAAO,cAAe,EAAE;EACpC"}