opexrate
Version:
Access Open Exchange Rates API.
74 lines (71 loc) • 2.44 kB
JavaScript
module.exports = exports.default;
;
var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
// If the importer is in node compatibility mode or this is not an ESM
// file that has been converted to a CommonJS file using a Babel-
// compatible transform (i.e. "__esModule" has not been set), then set
// "default" to the CommonJS "module.exports" for node compatibility.
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
mod
));
// source/opexrate.ts
var import_axios = __toESM(require("axios"));
var Opexrate = class {
constructor(id) {
this.id = id;
this.id = id;
}
base_api_url = "https://openexchangerates.org/api/";
async request(endpoint, params = {}) {
try {
params.app_id = this.id;
const response = await import_axios.default.get(
`${this.base_api_url}${endpoint}`,
{ params }
);
if (response.data.error === true) {
const { error, ...details } = response.data;
throw details;
} else return response.data;
} catch (error) {
throw error;
}
}
latest(params) {
return this.request("latest.json", params);
}
historical(date, params) {
return this.request(`historical/${date}.json`, params);
}
currencies(params) {
return this.request("currencies.json", params);
}
timeSeries(params) {
return this.request("time-series.json", params);
}
convert(value, from, to, params) {
return this.request(`convert/${value}/${from}/${to}`, params);
}
ohlc(params) {
return this.request("ohlc.json", params);
}
usage(params) {
return this.request("usage.json", params);
}
};
// source/main.ts
module.exports = Opexrate;