yahoo-exchange
Advanced tools
Comparing version 1.4.3 to 1.5.0
49
index.js
@@ -5,3 +5,6 @@ "use strict"; | ||
const arrayLen24 = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; | ||
const remove = (str, remove) => str.replace(remove, ''); | ||
const remove = (str, remove) => { | ||
if (typeof str === 'string') | ||
return str.replace(remove, ''); | ||
}; | ||
const parseReact = (str, number, num) => str.split(`react-text: ${number} -->`)[num]; | ||
@@ -65,2 +68,46 @@ const parseR = (str) => number => parseFloat(remove(parseReact(str, number, 1).split('<')[0], ',')); | ||
exports.getExchangeDataLowTraffic = getExchangeDataLowTraffic; | ||
function getFxYahooJapan(callback, errorHandler = err => console.log(err)) { | ||
request({ | ||
url: 'https://info.finance.yahoo.co.jp/fx/list/', | ||
encoding: null | ||
}, (err, response, html) => { | ||
let h = html.toString(); | ||
if (err) | ||
errorHandler(err); | ||
else { | ||
const data = h.match(/......_chart_...">[0-9.]*/gmi); | ||
let dv = { | ||
USDJPY: {}, | ||
EURJPY: {}, | ||
AUDJPY: {}, | ||
GBPJPY: {}, | ||
NZDJPY: {}, | ||
CADJPY: {}, | ||
CHFJPY: {}, | ||
ZARJPY: {}, | ||
CNHJPY: {}, | ||
EURUSD: {}, | ||
GBPUSD: {}, | ||
AUDUSD: {}, | ||
NZDUSD: {}, | ||
HKDJPY: {}, | ||
EURGBP: {}, | ||
EURAUD: {}, | ||
USDCHF: {}, | ||
EURCHF: {}, | ||
GBPCHF: {}, | ||
AUDCHF: {}, | ||
CADCHF: {}, | ||
USDHKD: {} | ||
}; | ||
Object.keys(dv).map(v => dv[v] = data.reduce((prev, current) => { | ||
if (current.replace(/_.*/, '') === v) | ||
prev.push(parseFloat(current.replace(/......_chart_....>/, ''))); | ||
return prev; | ||
}, [])); | ||
callback(dv); | ||
} | ||
}); | ||
} | ||
exports.getFxYahooJapan = getFxYahooJapan; | ||
/** | ||
@@ -67,0 +114,0 @@ * @deprecated Since version 1.0. Will be deleted in version 2.0. Use getExchangeDataArray instead. |
49
index.ts
import request = require("request"); | ||
const arrayLen24 = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; | ||
const remove = (str: string, remove: string) => str.replace(remove, ''); | ||
const remove = (str: string, remove: string) => { | ||
if (typeof str === 'string') return str.replace(remove, ''); | ||
}; | ||
const parseReact = (str: string, number, num: number) => str.split(`react-text: ${number} -->`)[num]; | ||
@@ -27,3 +29,2 @@ const parseR = (str: string) => number => parseFloat(remove(parseReact(str, number, 1).split('<')[0], ',')); | ||
}); | ||
export function getExchangeDataLowTrafficP(): Promise<Array<Array<any>>> { | ||
@@ -44,3 +45,2 @@ return new Promise<Array<Array<any>>>(((resolve, reject) => request({ | ||
} | ||
export function getExchangeDataLowTraffic(callback: (data: Array<Array<any>>) => any, errorHandler: (error: Error, pair?: String) => any = err => console.log(err)): void { | ||
@@ -62,2 +62,45 @@ request({ | ||
export function getFxYahooJapan(callback: (data: Object) => any, errorHandler: (error: Error, pair?: String) => any = err => console.log(err)): void { | ||
request({ | ||
url: 'https://info.finance.yahoo.co.jp/fx/list/', | ||
encoding: null | ||
}, (err, response, html) => { | ||
let h = html.toString(); | ||
if (err) errorHandler(err); | ||
else { | ||
const data = h.match(/......_chart_...">[0-9.]*/gmi); | ||
let dv = { | ||
USDJPY: {}, | ||
EURJPY: {}, | ||
AUDJPY: {}, | ||
GBPJPY: {}, | ||
NZDJPY: {}, | ||
CADJPY: {}, | ||
CHFJPY: {}, | ||
ZARJPY: {}, | ||
CNHJPY: {}, | ||
EURUSD: {}, | ||
GBPUSD: {}, | ||
AUDUSD: {}, | ||
NZDUSD: {}, | ||
HKDJPY: {}, | ||
EURGBP: {}, | ||
EURAUD: {}, | ||
USDCHF: {}, | ||
EURCHF: {}, | ||
GBPCHF: {}, | ||
AUDCHF: {}, | ||
CADCHF: {}, | ||
USDHKD: {} | ||
}; | ||
Object.keys(dv).map(v => | ||
dv[v] = data.reduce((prev, current) => { | ||
if (current.replace(/_.*/, '') === v) prev.push(parseFloat(current.replace(/......_chart_....>/, ''))); | ||
return prev; | ||
}, [])); | ||
callback(dv); | ||
} | ||
}); | ||
} | ||
/** | ||
@@ -64,0 +107,0 @@ * @deprecated Since version 1.0. Will be deleted in version 2.0. Use getExchangeDataArray instead. |
@@ -14,3 +14,3 @@ { | ||
"main": "index.js", | ||
"version": "1.4.3", | ||
"version": "1.5.0", | ||
"license": "MIT", | ||
@@ -17,0 +17,0 @@ "dependencies": { |
@@ -105,3 +105,33 @@ # yahoo-exchange 疎開 | ||
```Promise```に返還します。 | ||
## getFxYahooJapan(callback, errorHandler): void | ||
* callback : (data:Object)=> any | ||
> data = { 'USDJPY':\[100.05,100.15\], ... more 21 data } | ||
* errorHandler : オプションです。 基本メソッドは ```console.log(error)``` です。 | ||
このメソッドは、ヤフージャパンのFXデータ(bidとask)を返還します。 (5分足のデータです。) | ||
### 返還したペアの一覧 | ||
* USDJPY | ||
* EURJPY | ||
* AUDJPY | ||
* GBPJPY | ||
* NZDJPY | ||
* CADJPY | ||
* CHFJPY | ||
* ZARJPY | ||
* CNHJPY | ||
* EURUSD | ||
* GBPUSD | ||
* AUDUSD | ||
* NZDUSD | ||
* HKDJPY | ||
* EURGBP | ||
* EURAUD | ||
* USDCHF | ||
* EURCHF | ||
* GBPCHF | ||
* AUDCHF | ||
* CADCHF | ||
* USDHKD | ||
## getData(pair, callback, errorHandler): void @deprecated | ||
@@ -108,0 +138,0 @@ > 1.0で除去されたメソッドです。 2.0で削除される予定ですので、getExchangeDataArrayを使用してください。 |
@@ -105,3 +105,33 @@ # yahoo-exchange 소개 | ||
```Promise```로 반환합니다. | ||
## getFxYahooJapan(callback, errorHandler): void | ||
* callback : (data:Object)=> any | ||
> data = { 'USDJPY':\[100.05,100.15\], ... more 21 data } | ||
* errorHandler : 옵션입니다. 기본 메소드는 ```console.log(error)``` 입니다. | ||
이 메소드는 야후 재팬 5분차트(5分足) FX 데이터(bid와 ask)를 반환합니다. | ||
### 반환하는 페어 목록 | ||
* USDJPY | ||
* EURJPY | ||
* AUDJPY | ||
* GBPJPY | ||
* NZDJPY | ||
* CADJPY | ||
* CHFJPY | ||
* ZARJPY | ||
* CNHJPY | ||
* EURUSD | ||
* GBPUSD | ||
* AUDUSD | ||
* NZDUSD | ||
* HKDJPY | ||
* EURGBP | ||
* EURAUD | ||
* USDCHF | ||
* EURCHF | ||
* GBPCHF | ||
* AUDCHF | ||
* CADCHF | ||
* USDHKD | ||
## getData(pair, callback, errorHandler): void @deprecated | ||
@@ -108,0 +138,0 @@ > 1.0에서 제거된 메소드입니다. 2.0에서 삭제될 예정이오니, getExchangeDataArray를 사용하세요. |
@@ -104,3 +104,33 @@ # yahoo-exchange | ||
It returns data using Promise. | ||
## getFxYahooJapan(callback, errorHandler): void | ||
* callback : (data:Object)=> any | ||
> data = { 'USDJPY':\[100.05,100.15\], ... more 21 data } | ||
* errorHandler : options (A default method is ```err => console.log(err)```) | ||
It does return fx data (bid and ask) in 5m chart (5分足) | ||
### What pairs are available? | ||
* USDJPY | ||
* EURJPY | ||
* AUDJPY | ||
* GBPJPY | ||
* NZDJPY | ||
* CADJPY | ||
* CHFJPY | ||
* ZARJPY | ||
* CNHJPY | ||
* EURUSD | ||
* GBPUSD | ||
* AUDUSD | ||
* NZDUSD | ||
* HKDJPY | ||
* EURGBP | ||
* EURAUD | ||
* USDCHF | ||
* EURCHF | ||
* GBPCHF | ||
* AUDCHF | ||
* CADCHF | ||
* USDHKD | ||
## getData(pair, callback, errorHandler): void @deprecated | ||
@@ -107,0 +137,0 @@ > deprecated Since version 1.0. Will be deleted in version 2.0. Use getExchangeDataArray instead. |
@@ -12,2 +12,3 @@ const index = require('../index'); | ||
index.getFxYahooJapan(v => console.log(v)); | ||
index.getExchangeDataLowTraffic(v => console.log(v)); | ||
@@ -17,5 +18,5 @@ index.getExchangeDataLowTrafficP().then(v => console.log(v)); | ||
index.getExchangeDataArray(['USDKRW', 'JPYKRW'], data => console.log(data)); | ||
index.getExchangeDataArray('USDKRW', (data, pair) => console.lo.g(data, pair)); | ||
index.getExchangeDataArray('USDKRW', (data, pair) => console.log(data, pair)); | ||
index.getExchangeDataArray(['USDKRW', 'JPYKRW'], (data, pair) => console.log(data, pair)); | ||
index.getExchangeDataArray('USDKRW', (data, pair) => console.log(data, pair), (error, pair) => console.log(`[Error] ${pair}\n${error}`)); | ||
index.getExchangeDataArray(['USDKRW', 'JPYKRW'], (data, pair) => console.log(data, pair), (error, pair) => console.log(`[Error] ${pair}\n${error}`)); |
Sorry, the diff of this file is not supported yet
1047333
14
321
206