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.grhodes.code.deploy.dashboard.v0.models.application': (): io.grhodes.code.deploy.dashboard.v0.models.Application => ({ name: factories.string(), deploymentGroups: arrayOf( () => factories['io.grhodes.code.deploy.dashboard.v0.models.deployment_group'](), ), }), 'io.grhodes.code.deploy.dashboard.v0.models.deployment': (): io.grhodes.code.deploy.dashboard.v0.models.Deployment => ({ id: factories.string(), created: factories.date_time_iso_8601(), started: factories.date_time_iso_8601(), completed: factories.date_time_iso_8601(), creator: factories.string(), deployment_group_name: factories.string(), failed: factories.integer(), skipped: factories.integer(), in_progress: factories.integer(), pending: factories.integer(), succeeded: factories.integer(), status: factories.string(), error_message: factories.string(), revision_location: factories.string(), instances: arrayOf( () => factories['io.grhodes.code.deploy.dashboard.v0.models.deployment_instance'](), ), }), 'io.grhodes.code.deploy.dashboard.v0.models.deployment_group': (): io.grhodes.code.deploy.dashboard.v0.models.DeploymentGroup => ({ name: factories.string(), autoScalingGroupNames: arrayOf(() => factories.string()), }), 'io.grhodes.code.deploy.dashboard.v0.models.deployment_instance': (): io.grhodes.code.deploy.dashboard.v0.models.DeploymentInstance => ({ id: factories.string(), status: factories.string(), last_updated_at: factories.date_time_iso_8601(), lifecycle_events: arrayOf( () => factories['io.grhodes.code.deploy.dashboard.v0.models.deployment_lifecycle_event'](), ), }), 'io.grhodes.code.deploy.dashboard.v0.models.deployment_lifecycle_event': (): io.grhodes.code.deploy.dashboard.v0.models.DeploymentLifecycleEvent => ({ name: factories.string(), start_time: factories.date_time_iso_8601(), end_time: factories.date_time_iso_8601(), status: factories.string(), error_log_tail: factories.string(), error_message: factories.string(), script_name: factories.string(), }), 'io.grhodes.code.deploy.dashboard.v0.models.info': (): io.grhodes.code.deploy.dashboard.v0.models.Info => ({ name: factories.string(), version: factories.string(), scala_version: factories.string(), sbt_version: factories.string(), build_time: factories.date_time_iso_8601(), }), }; export const makeApplication = () => factories['io.grhodes.code.deploy.dashboard.v0.models.application'](); export const makeDeployment = () => factories['io.grhodes.code.deploy.dashboard.v0.models.deployment'](); export const makeDeploymentGroup = () => factories['io.grhodes.code.deploy.dashboard.v0.models.deployment_group'](); export const makeDeploymentInstance = () => factories['io.grhodes.code.deploy.dashboard.v0.models.deployment_instance'](); export const makeDeploymentLifecycleEvent = () => factories['io.grhodes.code.deploy.dashboard.v0.models.deployment_lifecycle_event'](); export const makeInfo = () => factories['io.grhodes.code.deploy.dashboard.v0.models.info']();