import faker from '@faker-js/faker'; const arrayOf = (f: () => T) => { const length = 3; return Array.from({ length, }, f); }; const objectOf = (f: () => T) => { const keys = ['foo', 'bar', 'qux']; return keys.reduce>((object, key) => { object[key] = f(); return object; }, {}); }; const factories = { boolean: () => faker.datatype.boolean(), date_iso_8601: () => faker.datatype.datetime().toISOString().slice(0, 10), date_time_iso_8601: () => faker.datatype.datetime().toISOString(), decimal: () => faker.datatype.float(), double: () => faker.datatype.float(), integer: () => faker.datatype.number(), json: () => faker.datatype.json(), long: () => faker.datatype.number(), object: () => faker.datatype.json(), string: () => faker.datatype.string(), unit: () => undefined, uuid: () => faker.datatype.uuid(), 'movio.apidoc.generator.attributes.v0.models.field_validation': (): movio.apidoc.generator.attributes.v0.models.FieldValidation => ({ regex: factories.string(), maximum: factories.long(), minimum: factories.long(), }), 'movio.apidoc.generator.attributes.v0.models.kafka_props': (): movio.apidoc.generator.attributes.v0.models.KafkaProps => ({ data_type: factories.string(), topic: factories.string(), message_generate_key: factories.string(), }), 'movio.apidoc.generator.attributes.v0.models.scala_field_props': (): movio.apidoc.generator.attributes.v0.models.ScalaFieldProps => ({ 'class': factories.string(), 'default': factories.string(), example: factories.string(), }), 'movio.apidoc.generator.attributes.v0.models.scala_model_props': (): movio.apidoc.generator.attributes.v0.models.ScalaModelProps => ({ 'extends': arrayOf(() => factories.string()), }), }; export const makeFieldValidation = () => factories['movio.apidoc.generator.attributes.v0.models.field_validation'](); export const makeKafkaProps = () => factories['movio.apidoc.generator.attributes.v0.models.kafka_props'](); export const makeScalaFieldProps = () => factories['movio.apidoc.generator.attributes.v0.models.scala_field_props'](); export const makeScalaModelProps = () => factories['movio.apidoc.generator.attributes.v0.models.scala_model_props']();