UNPKG

@prismicio/mock

Version:

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

1 lines 1.61 kB
{"version":3,"file":"date.cjs","sources":["../../../src/value/date.ts"],"sourcesContent":["import * as prismic from \"@prismicio/client\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockValueStateConfig, MockValueConfig } from \"../types\";\n\nimport { MockTimestampValueConfig, timestamp } from \"./timestamp\";\n\nexport type MockDateValueConfig<\n\tModel extends\n\t\tprismic.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<\n\tState extends prismic.FieldState = prismic.FieldState,\n> = prismic.DateField<State>;\n\nexport const date = <\n\tModel extends\n\t\tprismic.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"],"names":["createFaker","timestamp"],"mappings":";;;;AAoBa,MAAA,OAAO,CAKnB,WACyB;AACzB,QAAM,QAAQ,OAAO,SAASA,YAAAA,YAAY,OAAO,IAAI;AAErD,SACC,OAAO,UAAU,UACd,OACAC,UAAAA,UAAU;AAAA,IACV;AAAA,IACA,OAAO,OAAO;AAAA,IACd,QAAQ,OAAO;AAAA,IACf,OAAO;AAAA,EACP,CAAA,EAAE,MAAM,GAAG,EAAE,CAAC;AAEnB;;"}