@prismicio/mock
Version:
Generate mock Prismic documents, fields, Slices, and models for development and testing environments
1 lines • 2.1 kB
Source Map (JSON)
{"version":3,"file":"embed.cjs","sources":["../../../src/value/embed.ts"],"sourcesContent":["import * as prismic from \"@prismicio/client\";\n\nimport { buildEmbedField } from \"../lib/buildEmbedField\";\nimport { createFaker } from \"../lib/createFaker\";\nimport { getMockEmbedData } from \"../lib/getMockEmbedData\";\n\nimport { MockValueStateConfig, MockValueConfig } from \"../types\";\n\nexport type MockEmbedValueConfig<\n\tModel extends\n\t\tprismic.CustomTypeModelEmbedField = prismic.CustomTypeModelEmbedField,\n\tData extends prismic.AnyOEmbed = prismic.AnyOEmbed,\n\tState extends prismic.FieldState = prismic.FieldState,\n> = {\n\turl?: string;\n\thtml?: string;\n\tdata?: Data;\n} & MockValueConfig<Model> &\n\tMockValueStateConfig<State>;\n\nexport type MockEmbedValue<\n\tData extends prismic.AnyOEmbed = prismic.AnyOEmbed,\n\tState extends prismic.FieldState = prismic.FieldState,\n> = prismic.EmbedField<Data, State>;\n\nexport const embed = <\n\tModel extends\n\t\tprismic.CustomTypeModelEmbedField = prismic.CustomTypeModelEmbedField,\n\tData extends prismic.AnyOEmbed = prismic.AnyOEmbed,\n\tState extends prismic.FieldState = \"filled\",\n>(\n\tconfig: MockEmbedValueConfig<Model, Data, State>,\n): MockEmbedValue<Data, State> => {\n\tconst faker = config.faker || createFaker(config.seed);\n\n\tconst data = config.data ?? getMockEmbedData({ faker });\n\n\treturn (\n\t\tconfig.state === \"empty\"\n\t\t\t? {}\n\t\t\t: buildEmbedField({\n\t\t\t\t\tfaker,\n\t\t\t\t\turl: config.url ?? (\"embed_url\" in data ? data.embed_url : undefined),\n\t\t\t\t\thtml: config.html ?? (\"html\" in data ? data.html : undefined),\n\t\t\t\t\tdata,\n\t\t\t\t})\n\t) as MockEmbedValue<Data, State>;\n};\n"],"names":["createFaker","getMockEmbedData","buildEmbedField"],"mappings":";;;;;AAyBa,MAAA,QAAQ,CAMpB,WACgC;AAChC,QAAM,QAAQ,OAAO,SAASA,YAAAA,YAAY,OAAO,IAAI;AAErD,QAAM,OAAO,OAAO,QAAQC,iBAAAA,iBAAiB,EAAE,OAAO;AAEtD,SACC,OAAO,UAAU,UACd,CAAA,IACAC,gBAAAA,gBAAgB;AAAA,IAChB;AAAA,IACA,KAAK,OAAO,QAAQ,eAAe,OAAO,KAAK,YAAY;AAAA,IAC3D,MAAM,OAAO,SAAS,UAAU,OAAO,KAAK,OAAO;AAAA,IACnD;AAAA,EAAA,CACA;AAEL;;"}