UNPKG

@shaggytools/nhtsa-api-wrapper

Version:

Universal javascript wrapper for the NHTSA.dot.gov VPIC 'vehicles' API, useful for VIN decoding, etc.

75 lines 3.25 kB
/** * @module api/endpoints/GetModelsForMakeIdYear * @category API Endpoints */ import type { NhtsaResponse, AtLeastOne } from '../../types'; /** * ::: tip :bulb: More Information * See: [GetModelsForMakeIdYear Documentation](/api/endpoints/get-models-for-make-id-year) * ::: * * `GetModelsForMakeIdYear` returns the Models in the vPIC dataset for a specified Model Year * and Make whose name is LIKE the Make in the vPIC Dataset. * * `params.makeId` is an integer and is **required**. * * A minimum of one of the following are also **required** (or a combination of both): * - `params.modelYear` year you want to search for (years >= 1995 are supported according to NHTSA * docs) * - `params.vehicleType` can be a partial name, or a full name for more specificity, e.g., * "Vehicle", "Moto", "Low Speed Vehicle", etc. * * You can get `makeID`s via `MAKE_ID` key in Results objects of the following endpoints: * - `GetAllMakes` endpoint * - `GetMakeForManufacturer` endpoint * - `GetModelsForMake` endpoint * - `GetModelsForMakeYear` endpoint * * You can get `makeID`s via `MakeID` key in Results objects of the following endpoints: * - `DecodeVinValues` * - `DecodeVinValuesBatch` * * You can get `makeID`s via `ValueId` key in Results objects of the following endpoints. * One of the objects in the `Results` array will contain both `Variable: "Make"` and * `VariableId: 26`. The `ValueId` key in that same object is the `makeID` for use in this * endpoint. * - `DecodeVin` * - `DecodeVinExtended` * * _NOTE:_ This endpoint requires special handling of the params object, such that none of the * params are used in the query string and are instead used as part of the URL path for the * endpoint. To account for this, we pass the params object to the `createUrl` function as the * `path`, after encoding the params object key:values into a url path string. * * @param params - Object of Query Search names and values to append to the URL as a query string * @param {(string|number)} params.makeId - Make ID to search * @param {(string|number)} [params.modelYear] - A number representing the model year to search * @param {string} [params.vehicleType] - String representing the vehicle type to search * @param {boolean} [doFetch=true] - Whether to fetch the data or just return the URL * (default: `true`) * @returns {(Promise<NhtsaResponse<GetModelsForMakeIdYearResults> | string>)} - Api Response * `object` -or- url `string` if `doFetch = false` */ declare function GetModelsForMakeIdYear(params: { makeId: string | number; } & AtLeastOne<{ modelYear?: string | number; vehicleType?: string; }>, doFetch?: true): Promise<NhtsaResponse<GetModelsForMakeIdYearResults>>; declare function GetModelsForMakeIdYear(params: { makeId: string | number; } & AtLeastOne<{ modelYear?: string | number; vehicleType?: string; }>, doFetch: false): Promise<string>; export { GetModelsForMakeIdYear }; /** * Objects found in the `Results` array of `GetModelsForMakeIdYear` endpoint response. */ export type GetModelsForMakeIdYearResults = { Make_ID: number; Make_Name: string; Model_ID: number; Model_Name: string; }; //# sourceMappingURL=GetModelsForMakeIdYear.d.ts.map