UNPKG

carsxe-api

Version:

CarsXE is a powerful, easy-to-use API that gives you instant access to a wide range of vehicle data, including specs, market value, license plate decoding, and more. Our API is designed to be fast, flexible, and scalable, so you can quickly and easily int

173 lines (172 loc) 8.53 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __generator = (this && this.__generator) || function (thisArg, body) { var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { case 0: case 1: t = op; break; case 4: _.label++; return { value: op[1], done: false }; case 5: _.label++; y = op[1]; op = [0]; continue; case 7: op = _.ops.pop(); _.trys.pop(); continue; default: if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } if (t[2]) _.ops.pop(); _.trys.pop(); continue; } op = body.call(thisArg, _); } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } }; Object.defineProperty(exports, "__esModule", { value: true }); exports.CarsXE = exports.Greeter = void 0; var node_fetch_1 = require("node-fetch"); var Greeter = function (name) { return "CarsXE API says hello ".concat(name, "!"); }; exports.Greeter = Greeter; // create class CarsXE to handle all the API calls var CarsXE = /** @class */ (function () { // create constructor to set the API key and version function CarsXE(apiKey) { this.apiKey = apiKey; } // create method to get the API key CarsXE.prototype.getApiKey = function () { return this.apiKey; }; // create method to get the API base URL CarsXE.prototype.getApiBaseUrl = function () { return 'https://api.carsxe.com'; }; CarsXE.prototype.specs = function (_a) { var vin = _a.vin; return __awaiter(this, void 0, void 0, function () { var response; return __generator(this, function (_b) { switch (_b.label) { case 0: return [4 /*yield*/, (0, node_fetch_1.default)("".concat(this.getApiBaseUrl(), "/specs?vin=").concat(vin, "&key=").concat(this.getApiKey()))]; case 1: response = _b.sent(); return [2 /*return*/, response.json()]; } }); }); }; CarsXE.prototype.marketvalue = function (_a) { var vin = _a.vin; return __awaiter(this, void 0, void 0, function () { var response; return __generator(this, function (_b) { switch (_b.label) { case 0: return [4 /*yield*/, (0, node_fetch_1.default)("".concat(this.getApiBaseUrl(), "/marketvalue?vin=").concat(vin, "&key=").concat(this.getApiKey()))]; case 1: response = _b.sent(); return [2 /*return*/, response.json()]; } }); }); }; CarsXE.prototype.history = function (_a) { var vin = _a.vin; return __awaiter(this, void 0, void 0, function () { var response; return __generator(this, function (_b) { switch (_b.label) { case 0: return [4 /*yield*/, (0, node_fetch_1.default)("".concat(this.getApiBaseUrl(), "/history?vin=").concat(vin, "&key=").concat(this.getApiKey()))]; case 1: response = _b.sent(); return [2 /*return*/, response.json()]; } }); }); }; CarsXE.prototype.platedecoder = function (_a) { var plate = _a.plate, state = _a.state, country = _a.country; return __awaiter(this, void 0, void 0, function () { var url, response; return __generator(this, function (_b) { switch (_b.label) { case 0: url = "".concat(this.getApiBaseUrl(), "/platedecoder?plate=").concat(plate, "&state=").concat(state, "&key=").concat(this.getApiKey()); if (country) { url += "&country=".concat(country); } return [4 /*yield*/, (0, node_fetch_1.default)(url)]; case 1: response = _b.sent(); return [2 /*return*/, response.json()]; } }); }); }; CarsXE.prototype.images = function (_a) { var make = _a.make, model = _a.model, year = _a.year, trim = _a.trim, color = _a.color, _b = _a.transparent, transparent = _b === void 0 ? true : _b, angle = _a.angle, photoType = _a.photoType, size = _a.size, license = _a.license; return __awaiter(this, void 0, void 0, function () { var url, response; return __generator(this, function (_c) { switch (_c.label) { case 0: url = "".concat(this.getApiBaseUrl(), "/images?make=").concat(make, "&model=").concat(model, "&transparent=").concat(transparent, "&key=").concat(this.getApiKey()); if (year) { url += "&year=".concat(year); } if (trim) { url += "&trim=".concat(trim); } if (color) { url += "&color=".concat(color); } if (angle) { url += "&angle=".concat(angle); } if (photoType) { url += "&photoType=".concat(photoType); } if (size) { url += "&size=".concat(size); } if (license) { url += "&license=".concat(license); } return [4 /*yield*/, (0, node_fetch_1.default)(url)]; case 1: response = _c.sent(); return [2 /*return*/, response.json()]; } }); }); }; CarsXE.prototype.obdcodesdecoder = function (_a) { var code = _a.code; return __awaiter(this, void 0, void 0, function () { var response; return __generator(this, function (_b) { switch (_b.label) { case 0: return [4 /*yield*/, (0, node_fetch_1.default)("".concat(this.getApiBaseUrl(), "/obdcodesdecoder?code=").concat(code, "&key=").concat(this.getApiKey()))]; case 1: response = _b.sent(); return [2 /*return*/, response.json()]; } }); }); }; return CarsXE; }()); exports.CarsXE = CarsXE; exports.default = CarsXE;