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(), 'io.github.mkows.state.example.v0.enums.item_state_failed_cause': (): io.github.mkows.state.example.v0.enums.ItemStateFailedCause => faker.helpers.arrayElement(['ErrorCause1', 'ErrorCause2', 'ErrorCause3']), 'io.github.mkows.state.example.v0.enums.item_state_progress': (): io.github.mkows.state.example.v0.enums.ItemStateProgress => faker.helpers.arrayElement(['Init', 'Pending', 'Completed']), 'io.github.mkows.state.example.v0.models.error': (): io.github.mkows.state.example.v0.models.Error => ({ code: factories.integer(), message: factories.string(), details: factories.string(), }), 'io.github.mkows.state.example.v0.models.healthcheck': (): io.github.mkows.state.example.v0.models.Healthcheck => ({ status: factories.string(), }), 'io.github.mkows.state.example.v0.unions.item_state': (): io.github.mkows.state.example.v0.unions.ItemState => { const f = faker.helpers.arrayElement([() => ({ type: 'item_state_progress' as const, value: factories['io.github.mkows.state.example.v0.enums.item_state_progress'](), }), () => ({ type: 'item_state_failed_cause' as const, value: factories['io.github.mkows.state.example.v0.enums.item_state_failed_cause'](), })]); return f(); }, }; export const makeError = () => factories['io.github.mkows.state.example.v0.models.error'](); export const makeHealthcheck = () => factories['io.github.mkows.state.example.v0.models.healthcheck'](); export const makeItemState = () => factories['io.github.mkows.state.example.v0.unions.item_state'](); export const makeItemStateFailedCause = () => factories['io.github.mkows.state.example.v0.enums.item_state_failed_cause'](); export const makeItemStateProgress = () => factories['io.github.mkows.state.example.v0.enums.item_state_progress']();