export type GetApiNhtsaComponentApiV1ComponentDatabaseTestResultsBySearchArgs = {pageNumber?: number | undefined, testNoFrom?: number | undefined, testNoTo?: number | undefined, testDateFrom?: string | undefined, testDateTo?: string | undefined, occupantType?: Array | undefined, testRefNumber?: string | undefined, testType?: string | undefined, contract?: string | undefined, testPerformer?: string | undefined, testSpecification?: string | undefined, orderBy?: 'contractorStudyTitle ,testNo ,testPerformer,testReferenceNo,testType' | undefined, count?: number | undefined, sortBy?: ('ASC' | 'DESC') | undefined}; export type GetApiNhtsaComponentApiV1ComponentDatabaseTestResultsBySearchOptions = {baseUrl: string, fetch?: typeof fetch | undefined}; /** * GET /nhtsa/component/api/v1/component-database-test-results/by-search */ export const getApiNhtsaComponentApiV1ComponentDatabaseTestResultsBySearch = async (args: GetApiNhtsaComponentApiV1ComponentDatabaseTestResultsBySearchArgs, options: GetApiNhtsaComponentApiV1ComponentDatabaseTestResultsBySearchOptions) => { const {baseUrl, fetch: fetchFn = fetch} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('accept', "*/*") if (args.pageNumber != null) query.append("pageNumber", String(args.pageNumber)) if (args.testNoFrom != null) query.append("testNoFrom", String(args.testNoFrom)) if (args.testNoTo != null) query.append("testNoTo", String(args.testNoTo)) if (args.testDateFrom != null) query.append("testDateFrom", String(args.testDateFrom)) if (args.testDateTo != null) query.append("testDateTo", String(args.testDateTo)) for (const item of args.occupantType ?? []) query.append("occupantType", String(item)) if (args.testRefNumber != null) query.append("testRefNumber", String(args.testRefNumber)) if (args.testType != null) query.append("testType", String(args.testType)) if (args.contract != null) query.append("contract", String(args.contract)) if (args.testPerformer != null) query.append("testPerformer", String(args.testPerformer)) if (args.testSpecification != null) query.append("testSpecification", String(args.testSpecification)) if (args.orderBy != null) query.append("orderBy", String(args.orderBy)) if (args.count != null) query.append("count", String(args.count)) if (args.sortBy != null) query.append("sortBy", String(args.sortBy)) const url = `${baseUrl.replace(/\/+$/, '')}/nhtsa/component/api/v1/component-database-test-results/by-search${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "GET", headers}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return res.blob() };