UNPKG

@prismicio/mock

Version:

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

1 lines 1.97 kB
{"version":3,"file":"sharedSlice.cjs","sources":["../../../src/model/sharedSlice.ts"],"sourcesContent":["import * as prismic from \"@prismicio/client\";\n\nimport {\n\tcapitalCase,\n\tpascalCase,\n\tsentenceCase,\n\tsnakeCase,\n} from \"../lib/changeCase\";\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockSharedSliceModelConfig<\n\tVariation extends prismic.SharedSliceModelVariation,\n> = {\n\tid?: string;\n\tname?: string;\n\tvariations?: Variation[];\n} & MockModelConfig;\n\nexport const sharedSlice = <\n\tVariation extends prismic.SharedSliceModelVariation,\n>(\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.name) {\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"],"names":["createFaker","capitalCase","snakeCase","pascalCase","prismic","sentenceCase"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAoBa,MAAA,cAAc,CAG1B,WACgD;AAChD,QAAM,QAAQ,OAAO,SAASA,YAAAA,YAAY,OAAO,IAAI;AAEjD,MAAA,OAAe,OAAO,QAAQC,WAAY,YAAA,MAAM,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC;AAC5E,MAAI,KAAa,OAAO,MAAMC,WAAA,UAAU,IAAI;AAE5C,MAAI,OAAO,MAAM,CAAC,OAAO,MAAM;AACvB,WAAAC,WAAA,WAAW,OAAO,EAAE;AAAA,EACjB,WAAA,OAAO,QAAQ,CAAC,OAAO,MAAM;AAClC,SAAAD,WAAA,UAAU,OAAO,IAAI;AAAA,EAC3B;AAEO,SAAA;AAAA,IACN,MAAME,mBAAQ,yBAAyB;AAAA,IACvC;AAAA,IACA;AAAA,IACA,aAAaC,WAAAA,aAAa,MAAM,MAAM,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC;AAAA,IACzD,YAAY,OAAO,cAAe,CAAkB;AAAA,EAAA;AAEtD;;"}