@prismicio/mock
Version:
Generate mock Prismic documents, fields, Slices, and models for development and testing environments
1 lines • 2.06 kB
Source Map (JSON)
{"version":3,"file":"embed.cjs","names":["createFaker","getMockEmbedData","buildEmbedField"],"sources":["../../src/value/embed.ts"],"sourcesContent":["import type * as prismic from \"@prismicio/client\"\n\nimport { buildEmbedField } from \"../lib/buildEmbedField\"\nimport { createFaker } from \"../lib/createFaker\"\nimport { getMockEmbedData } from \"../lib/getMockEmbedData\"\nimport type { MockValueStateConfig, MockValueConfig } from \"../types\"\n\nexport type MockEmbedValueConfig<\n\tModel extends prismic.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 prismic.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"],"mappings":";;;;AAuBA,MAAa,SAKZ,WACiC;CACjC,MAAM,QAAQ,OAAO,SAASA,oBAAAA,YAAY,OAAO,KAAK;CAEtD,MAAM,OAAO,OAAO,QAAQC,yBAAAA,iBAAiB,EAAE,OAAO,CAAC;AAEvD,QACC,OAAO,UAAU,UACd,EAAE,GACFC,wBAAAA,gBAAgB;EAChB;EACA,KAAK,OAAO,QAAQ,eAAe,OAAO,KAAK,YAAY,KAAA;EAC3D,MAAM,OAAO,SAAS,UAAU,OAAO,KAAK,OAAO,KAAA;EACnD;EACA,CAAC"}