1.0.1 • Published 11 months ago

@kabeep/forex v1.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
11 months ago

💱 一个 JavaScript 外汇库,通过 fawazahmed0 的 API。

NodeJS License NPM Codecov BundlePhobia CircleCI

English | 简体中文

Insights

📖 简介

forex 全称是 Foreign Exchange,它的目的不是用于 FX 外汇交易,请慎重用于投资相关决策。

在浏览器或终端中获取每日汇率,免费且无速率限制。

查看 文档在线示例

⚙️ 安装

npm install @kabeep/forex --save
yarn add @kabeep/forex
pnpm add @kabeep/forex

🚀 使用

CommonJS

const { ForexClient } = require('@kabeep/forex');

ESModule

import { ForexClient } from '@kabeep/forex';

函数: getCurrencies(date, options)

获取可用的货币列表。

const client = new ForexClient();
// => {
//    code: 200,
//    message: 'OK',
//    data: [
//        { code: 'eur', name: 'Euro' },
//        { code: 'usd', name: 'US Dollar' },
//        { code: 'cny', name: 'Chinese Yuan Renminbi' },
//        { code: 'btc', name: 'Bitcoin', }
//        ... More items
//    ]
// }
client.getCurrencies('latest');

// or
client.getCurrencies(new Date(2024, 11, 1));
参数类型可选默认值描述
dateDate | "latest"true"latest"获取货币的日期,或最新的 'latest'
optionsRequestInittrue{}自定义请求参数

返回: Promise<HttpResponse<AvailableCurrency[]>>

结果对象:

属性类型必选描述
codenumbertrueHTTP 响应状态代码
messagestringtrueHTTP 响应状态消息
dataAvailableCurrency[]false可用货币列表

接口 AvailableCurrency:

属性类型必选描述
codestringtrue货币代码
namestringfalse货币名称

函数: getRates(code, date, options)

获取指定货币的汇率。

const client = new ForexClient();
// => {
//    code: 200,
//    message: 'OK',
//    data: [
//        { code: 'eur', rate: 100_000 },
//        { code: 'usd', rate: 100_000 },
//        { code: 'cny', rate: 100_000 },
//        ... More items
//    ]
// }
client.getRates('USD');

// or
client.getRates('US');
参数类型可选默认值描述
codestringtruethis.options.baseCurrency用于获取汇率的货币代码或区域代码
dateDate | "latest"true"latest"获取货币的日期,或最新的 'latest'
optionsRequestInittrue{}自定义请求参数

返回: Promise<HttpResponse<ExchangeRate[]>>

结果对象:

属性类型必选描述
codenumbertrueHTTP 响应状态代码
messagestringtrueHTTP 响应状态消息
dataExchangeRate[]false汇率列表

接口 ExchangeRate:

属性类型必选描述
codestringtrue货币代码
ratenumberfalse货币汇率

函数: getRate(baseCode, destCode, date, options)

获取两种货币之间的汇率。

const client = new ForexClient();
// => {
//    code: 200,
//    message: 'OK',
//    data: 0.94759027
// }
client.getRate('USD', 'EUR');

// => {
//    code: 200,
//    message: 'OK',
//    data: 7.78004385
// }
client.getRate('US', 'HK');
参数类型可选默认值描述
baseCodestringtruethis.options.baseCurrency基准货币代码或区域代码
destCodestringtrue-目标货币代码或区域代码
dateDate | "latest"true"latest"获取货币的日期,或最新的 'latest'
optionsRequestInittrue{}自定义请求参数

返回: Promise<HttpResponse<number>>

结果对象:

属性类型必选描述
codenumbertrueHTTP 响应状态代码
messagestringtrueHTTP 响应状态消息
datanumberfalse汇率

函数: getCode(localeCode)

根据 ISO 3166-1 代码获取有效的货币代码。

const client = new ForexClient();
// => 'USD'
client.getCode('US');

// => 'CNH'
client.getCode('HK');

// => 'CNY'
client.getCode('RMB');
参数类型可选默认值描述
localeCodestringfalse-用于获取货币代码的 ISO 3166-1 代码

返回: string

对应的货币代码。

函数: convert(baseCode, destCode, amount, date, options)

将金额从一种货币转换为另一种货币。

const client = new ForexClient();
// => {
//    code: 200,
//    message: 'OK',
//    data: 9.48
// }
client.convert('USD', 'EUR', 10);

// => {
//    code: 200,
//    message: 'OK',
//    data: 72.67
// }
client.convert('US', 'HK', 10);
参数类型可选默认值描述
baseCodestringtruethis.options.baseCurrency基准货币代码或区域代码
destCodestringtrue-目标货币代码或区域代码
amountnumbertrue0兑换数额
dateDate | "latest"true"latest"获取货币的日期,或最新的 'latest'
optionsRequestInittrue{}自定义请求参数

返回: Promise<HttpResponse<number>>

结果对象:

属性类型必选描述
codenumbertrueHTTP 响应状态代码
messagestringtrueHTTP 响应状态消息
datanumberfalse兑换金额

🏅 致谢

exchange-api - 如果没有这个,这个包就不会存在。

🤝 贡献

欢迎通过 Pull Requests 或 Issues 来贡献你的想法和代码。

📄 许可

本项目采用 MIT 许可证。详情请见 LICENSE 文件。

1.0.1

11 months ago

1.0.0

11 months ago