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(), 'org.bml.bml.gen.test.application.v0.enums.test_enumeration': (): org.bml.bml.gen.test.application.v0.enums.TestEnumeration => faker.helpers.arrayElement(['foo', 'bar']), 'org.bml.bml.gen.test.application.v0.models.account': (): org.bml.bml.gen.test.application.v0.models.Account => ({ id: factories.uuid(), awsAccount: factories.string(), name: factories.string(), enabled: factories.boolean(), }), 'org.bml.bml.gen.test.application.v0.models.account_form': (): org.bml.bml.gen.test.application.v0.models.AccountForm => ({ name: factories.string(), enabled: factories.boolean(), }), 'org.bml.bml.gen.test.application.v0.models.client': (): org.bml.bml.gen.test.application.v0.models.Client => ({ accounts: arrayOf(() => factories['org.bml.bml.gen.test.application.v0.models.account']()), }), 'org.bml.bml.gen.test.application.v0.models.healthcheck': (): org.bml.bml.gen.test.application.v0.models.Healthcheck => ({ status: factories.string(), }), 'org.bml.validation.v0.enums.fieldValidationErrorType': (): org.bml.validation.v0.enums.FieldValidationErrorType => faker.helpers.arrayElement( ['isNull', 'isEmpty', 'minimumLength', 'maximumLength', 'pattern', 'syntax'], ), 'org.bml.validation.v0.models.conflictResourceExistsResponse': (): org.bml.validation.v0.models.ConflictResourceExistsResponse => ({ status: factories.integer(), message: factories.string(), }), 'org.bml.validation.v0.models.fieldValidationError': (): org.bml.validation.v0.models.FieldValidationError => ({ path: factories.string(), message: factories.string(), }), 'org.bml.validation.v0.models.fieldValidationErrorEntry': (): org.bml.validation.v0.models.FieldValidationErrorEntry => ({ message: factories.string(), errors: factories['org.bml.validation.v0.enums.fieldValidationErrorType'](), }), 'org.bml.validation.v0.models.fieldValidationResponse': (): org.bml.validation.v0.models.FieldValidationResponse => ({ status: factories.integer(), message: factories.string(), errors: arrayOf(() => factories['org.bml.validation.v0.models.fieldValidationError']()), }), }; export const makeAccount = () => factories['org.bml.bml.gen.test.application.v0.models.account'](); export const makeAccountForm = () => factories['org.bml.bml.gen.test.application.v0.models.account_form'](); export const makeClient = () => factories['org.bml.bml.gen.test.application.v0.models.client'](); export const makeHealthcheck = () => factories['org.bml.bml.gen.test.application.v0.models.healthcheck'](); export const makeTestEnumeration = () => factories['org.bml.bml.gen.test.application.v0.enums.test_enumeration']();