UNPKG

@prismicio/mock

Version:

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

1 lines 1.73 kB
{"version":3,"file":"title.cjs","sources":["../../../src/value/title.ts"],"sourcesContent":["import * as prismic from \"@prismicio/client\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockValueConfig, MockValueStateConfig } from \"../types\";\n\nimport { heading, MockRichTextHeadingValueConfig } from \"./richText/heading\";\n\nexport type MockTitleValueConfig<\n\tModel extends\n\t\tprismic.CustomTypeModelTitleField = prismic.CustomTypeModelTitleField,\n\tState extends prismic.FieldState = prismic.FieldState,\n> = {\n\tpattern?: MockRichTextHeadingValueConfig[\"pattern\"];\n} & MockValueConfig<Model> &\n\tMockValueStateConfig<State>;\n\nexport type MockTitleValue<\n\tState extends prismic.FieldState = prismic.FieldState,\n> = prismic.TitleField<State>;\n\nexport const title = <\n\tModel extends\n\t\tprismic.CustomTypeModelTitleField = prismic.CustomTypeModelTitleField,\n\tState extends prismic.FieldState = \"filled\",\n>(\n\tconfig: MockTitleValueConfig<Model, State>,\n): MockTitleValue<State> => {\n\tconst faker = config.faker || createFaker(config.seed);\n\n\tif (config.state === \"empty\") {\n\t\treturn [] as MockTitleValue<State>;\n\t} else {\n\t\treturn [\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\t\t\theading({\n\t\t\t\tfaker,\n\t\t\t\tmodel: config.model,\n\t\t\t\tpattern: config.pattern,\n\t\t\t})!,\n\t\t] as MockTitleValue<State>;\n\t}\n};\n"],"names":["createFaker","heading"],"mappings":";;;;AAqBa,MAAA,QAAQ,CAKpB,WAC0B;AAC1B,QAAM,QAAQ,OAAO,SAASA,YAAAA,YAAY,OAAO,IAAI;AAEjD,MAAA,OAAO,UAAU,SAAS;AAC7B,WAAO;SACD;AACC,WAAA;AAAA;AAAA,MAENC,gBAAQ;AAAA,QACP;AAAA,QACA,OAAO,OAAO;AAAA,QACd,SAAS,OAAO;AAAA,MAAA,CAChB;AAAA,IAAA;AAAA,EAEH;AACD;;"}