import type * as prismic from "@prismicio/client" import { createFaker } from "../lib/createFaker" import type { MockValueStateConfig, MockValueConfig } from "../types" export type MockNumberValueConfig< Model extends prismic.CustomTypeModelNumberField = prismic.CustomTypeModelNumberField, State extends prismic.FieldState = prismic.FieldState, > = MockValueConfig & MockValueStateConfig export type MockNumberValue = prismic.NumberField export const number = < Model extends prismic.CustomTypeModelNumberField = prismic.CustomTypeModelNumberField, State extends prismic.FieldState = "filled", >( config: MockNumberValueConfig, ): MockNumberValue => { const faker = config.faker || createFaker(config.seed) return (config.state === "empty" ? null : faker.range(1, 100)) as MockNumberValue }