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(), 'de.nccloud.common.v0.enums.error_source_type': (): de.nccloud.common.v0.enums.ErrorSourceType => faker.helpers.arrayElement(['pointer', 'parameter', 'header']), 'de.nccloud.common.v0.enums.health_status': (): de.nccloud.common.v0.enums.HealthStatus => faker.helpers.arrayElement(['running', 'starting', 'unhealthy']), 'de.nccloud.common.v0.enums.sort_direction': (): de.nccloud.common.v0.enums.SortDirection => faker.helpers.arrayElement(['asc', 'desc']), 'de.nccloud.common.v0.models.audit': (): de.nccloud.common.v0.models.Audit => ({ created_at: factories.date_time_iso_8601(), created_by: factories.uuid(), updated_at: factories.date_time_iso_8601(), updated_by: factories.uuid(), }), 'de.nccloud.common.v0.models.error_links': (): de.nccloud.common.v0.models.ErrorLinks => ({ about: factories['de.nccloud.common.v0.unions.link'](), type: factories['de.nccloud.common.v0.unions.link'](), }), 'de.nccloud.common.v0.models.error_source': (): de.nccloud.common.v0.models.ErrorSource => ({ type: factories['de.nccloud.common.v0.enums.error_source_type'](), source: factories.string(), }), 'de.nccloud.common.v0.models.generic_error': (): de.nccloud.common.v0.models.GenericError => ({ links: factories['de.nccloud.common.v0.models.error_links'](), code: factories.string(), title: factories.string(), detail: factories.string(), source: factories['de.nccloud.common.v0.models.error_source'](), meta: factories.object(), }), 'de.nccloud.common.v0.models.health_check': (): de.nccloud.common.v0.models.HealthCheck => ({ status: factories['de.nccloud.common.v0.enums.health_status'](), message: factories.string(), }), 'de.nccloud.common.v0.models.link_object': (): de.nccloud.common.v0.models.LinkObject => ({ discriminator: 'link_object', href: factories.string(), title: factories.string(), type: factories.string(), }), 'de.nccloud.common.v0.models.page_response': (): de.nccloud.common.v0.models.PageResponse => ({ offset: factories.integer(), limit: factories.integer(), sort: arrayOf(() => factories['de.nccloud.common.v0.models.sort']()), total_results: factories.long(), total_pages: factories.long(), }), 'de.nccloud.common.v0.models.paging_form': (): de.nccloud.common.v0.models.PagingForm => ({ offset: factories.integer(), limit: factories.integer(), sort: arrayOf(() => factories['de.nccloud.common.v0.models.sort']()), }), 'de.nccloud.common.v0.models.service_info': (): de.nccloud.common.v0.models.ServiceInfo => ({ name: factories.string(), version: factories.string(), uri: factories.string(), title: factories.string(), description: factories.string(), }), 'de.nccloud.common.v0.models.sort': (): de.nccloud.common.v0.models.Sort => ({ property: factories.string(), direction: factories['de.nccloud.common.v0.enums.sort_direction'](), }), 'de.nccloud.common.v0.unions.link': (): de.nccloud.common.v0.unions.Link => { const f = faker.helpers.arrayElement([() => ({ discriminator: 'string' as const, value: factories.string(), }), () => factories['de.nccloud.common.v0.models.link_object']()]); return f(); }, }; export const makeAudit = () => factories['de.nccloud.common.v0.models.audit'](); export const makeErrorLinks = () => factories['de.nccloud.common.v0.models.error_links'](); export const makeErrorSource = () => factories['de.nccloud.common.v0.models.error_source'](); export const makeErrorSourceType = () => factories['de.nccloud.common.v0.enums.error_source_type'](); export const makeGenericError = () => factories['de.nccloud.common.v0.models.generic_error'](); export const makeHealthCheck = () => factories['de.nccloud.common.v0.models.health_check'](); export const makeHealthStatus = () => factories['de.nccloud.common.v0.enums.health_status'](); export const makeLink = () => factories['de.nccloud.common.v0.unions.link'](); export const makeLinkObject = () => factories['de.nccloud.common.v0.models.link_object'](); export const makePageResponse = () => factories['de.nccloud.common.v0.models.page_response'](); export const makePagingForm = () => factories['de.nccloud.common.v0.models.paging_form'](); export const makeServiceInfo = () => factories['de.nccloud.common.v0.models.service_info'](); export const makeSort = () => factories['de.nccloud.common.v0.models.sort'](); export const makeSortDirection = () => factories['de.nccloud.common.v0.enums.sort_direction']();