@prismicio/mock
Version:
Generate mock Prismic documents, fields, Slices, and models for development and testing environments
1 lines • 1.56 kB
Source Map (JSON)
{"version":3,"file":"date.cjs","names":["createFaker","timestamp"],"sources":["../../src/value/date.ts"],"sourcesContent":["import type * as prismic from \"@prismicio/client\"\n\nimport { createFaker } from \"../lib/createFaker\"\nimport type { MockValueStateConfig, MockValueConfig } from \"../types\"\nimport { timestamp, type MockTimestampValueConfig } from \"./timestamp\"\n\nexport type MockDateValueConfig<\n\tModel extends prismic.CustomTypeModelDateField = prismic.CustomTypeModelDateField,\n\tState extends prismic.FieldState = prismic.FieldState,\n> = Pick<MockTimestampValueConfig, \"after\" | \"before\"> &\n\tMockValueConfig<Model> &\n\tMockValueStateConfig<State>\n\nexport type MockDateValue<State extends prismic.FieldState = prismic.FieldState> =\n\tprismic.DateField<State>\n\nexport const date = <\n\tModel extends prismic.CustomTypeModelDateField = prismic.CustomTypeModelDateField,\n\tState extends prismic.FieldState = \"filled\",\n>(\n\tconfig: MockDateValueConfig<Model, State>,\n): MockDateValue<State> => {\n\tconst faker = config.faker || createFaker(config.seed)\n\n\treturn (\n\t\tconfig.state === \"empty\"\n\t\t\t? null\n\t\t\t: timestamp({\n\t\t\t\t\tfaker,\n\t\t\t\t\tafter: config.after,\n\t\t\t\t\tbefore: config.before,\n\t\t\t\t\tstate: \"filled\",\n\t\t\t\t}).split(\"T\")[0]\n\t) as MockDateValue<State>\n}\n"],"mappings":";;;AAgBA,MAAa,QAIZ,WAC0B;CAC1B,MAAM,QAAQ,OAAO,SAASA,oBAAAA,YAAY,OAAO,KAAK;AAEtD,QACC,OAAO,UAAU,UACd,OACAC,kBAAAA,UAAU;EACV;EACA,OAAO,OAAO;EACd,QAAQ,OAAO;EACf,OAAO;EACP,CAAC,CAAC,MAAM,IAAI,CAAC"}