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(), 'platform.ibm.com.customer.api.v0.models.customer': (): platform.ibm.com.customer.api.v0.models.Customer => ({ financialAccountNumber: factories.uuid(), customerName: factories.string(), branchNumber: factories.string(), address1: factories.string(), address2: factories.string(), city: factories.string(), state: factories.string(), zip: factories.string(), }), 'platform.ibm.com.customer.api.v0.models.customer_create_form': (): platform.ibm.com.customer.api.v0.models.CustomerCreateForm => ({ branchNumber: factories.string(), customerName: factories.string(), email: factories.string(), address1: factories.string(), address2: factories.string(), city: factories.string(), state: factories.string(), zip: factories.string(), }), 'platform.ibm.com.customer.api.v0.models.customer_summary': (): platform.ibm.com.customer.api.v0.models.CustomerSummary => ({ financialAccountNumber: factories.uuid(), customerName: factories.string(), }), 'platform.ibm.com.customer.api.v0.models.customer_update_form': (): platform.ibm.com.customer.api.v0.models.CustomerUpdateForm => ({ financialAccountNumber: factories.string(), customerName: factories.string(), email: factories.string(), address1: factories.string(), address2: factories.string(), city: factories.string(), state: factories.string(), zip: factories.string(), }), 'platform.ibm.com.customer.api.v0.models.error': (): platform.ibm.com.customer.api.v0.models.Error => ({ code: factories.string(), description: factories.string(), }), }; export const makeCustomer = () => factories['platform.ibm.com.customer.api.v0.models.customer'](); export const makeCustomerCreateForm = () => factories['platform.ibm.com.customer.api.v0.models.customer_create_form'](); export const makeCustomerSummary = () => factories['platform.ibm.com.customer.api.v0.models.customer_summary'](); export const makeCustomerUpdateForm = () => factories['platform.ibm.com.customer.api.v0.models.customer_update_form'](); export const makeError = () => factories['platform.ibm.com.customer.api.v0.models.error']();