@prismicio/mock
Version:
Generate mock Prismic documents, fields, Slices, and models for development and testing environments
1 lines • 1.4 kB
Source Map (JSON)
{"version":3,"file":"select.cjs","names":["createFaker","prismic","capitalCase","sentenceCase"],"sources":["../../src/model/select.ts"],"sourcesContent":["import * as prismic from \"@prismicio/client\"\n\nimport { capitalCase, sentenceCase } from \"../lib/changeCase\"\nimport { createFaker } from \"../lib/createFaker\"\nimport type { MockModelConfig } from \"../types\"\n\nexport type MockSelectModelConfig<\n\tOption extends string = string,\n\tDefaultOption extends Option = Option,\n> = {\n\toptions?: Option[]\n\tdefaultValue?: DefaultOption\n} & MockModelConfig\n\nexport const select = <Option extends string, DefaultOption extends Option>(\n\tconfig: MockSelectModelConfig<Option, DefaultOption>,\n): prismic.CustomTypeModelSelectField<Option, DefaultOption> => {\n\tconst faker = config.faker || createFaker(config.seed)\n\n\treturn {\n\t\ttype: prismic.CustomTypeModelFieldType.Select,\n\t\tconfig: {\n\t\t\tlabel: capitalCase(faker.word()),\n\t\t\tplaceholder: sentenceCase(faker.words(3)),\n\t\t\toptions: config.options || [],\n\t\t\tdefault_value: config.defaultValue || undefined,\n\t\t},\n\t}\n}\n"],"mappings":";;;;;;AAcA,MAAa,UACZ,WAC+D;CAC/D,MAAM,QAAQ,OAAO,SAASA,oBAAAA,YAAY,OAAO,KAAK;AAEtD,QAAO;EACN,MAAMC,kBAAQ,yBAAyB;EACvC,QAAQ;GACP,OAAOC,mBAAAA,YAAY,MAAM,MAAM,CAAC;GAChC,aAAaC,mBAAAA,aAAa,MAAM,MAAM,EAAE,CAAC;GACzC,SAAS,OAAO,WAAW,EAAE;GAC7B,eAAe,OAAO,gBAAgB,KAAA;GACtC;EACD"}