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
JavaScript
"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;