@coinset/gmocoin
Version:
GMO Coin API client
3 lines (2 loc) • 2.08 kB
JavaScript
var o="https://api.coin.z.com/public/v1/",a="ticker",c="status",m="orderbooks",f="trades",u="klines";import d from"node-fetch";var s=async(r,e,t)=>{let i=await d(r,e);if(!i.ok)throw Error(i.statusText);let p=await i.text();return JSON.parse(p,t?.parseJson)};var n=r=>(e,t)=>e==="status"&&typeof t=="number"?t===0:e==="responsetime"&&typeof t=="string"?new Date(Date.parse(t)):r?r(e,t):t;import{join as h}from"path";var y=n((r,e)=>["price","size"].includes(r)&&typeof e=="string"?parseFloat(e):e),R=({symbol:r},e)=>{let t=new URL(h(m),o);return t.search=new URLSearchParams({symbol:r}).toString(),s(t,e,{parseJson:y})};var O=(r,e)=>r==="status"&&typeof e=="number"?e===0:r==="responsetime"&&typeof e=="string"?new Date(Date.parse(e)):e,b=(r,e)=>{let t=new URL(c,o);return s(t,e,{parseJson:O})};var P=n((r,e)=>["price","size"].includes(r)&&typeof e=="string"?parseFloat(e):r==="timestamp"&&typeof e=="string"?new Date(Date.parse(e)):e),T=({symbol:r,page:e=1,count:t=100},i)=>{let p=new URL(f,o);return p.search=new URLSearchParams({symbol:r,page:String(e),count:String(t)}).toString(),s(p,i,{parseJson:P})};import{join as l}from"path";var S=["ask","bid","high","low","last","volume"],k=n((r,e)=>S.includes(r)&&typeof e=="string"?parseFloat(e):r==="timestamp"&&typeof e=="string"?new Date(Date.parse(e)):e),x=({symbol:r},e)=>{let t=new URL(l(a),o);return t.search=new URLSearchParams({symbol:r==="ALL"?"":r??""}).toString(),s(t,e,{parseJson:k})};var A=n((r,e)=>r==="openTime"&&typeof e=="string"?new Date(Number(e)):["open","high","low","close","volume"].includes(r)&&typeof e=="string"?Number(e):e),L=({symbol:r,interval:e,date:t},i)=>{let p=new URL(u,o);return p.search=new URLSearchParams({symbol:r,interval:e,date:t}).toString(),s(p,i,{parseJson:A})};var D=["BTC","BCH","ETH","LTC","XEM","XRP","XYM"],M=["BTC_JPY","BCH_JPY","ETH_JPY","LTC_JPY","XEM_JPY","XLM_JPY","XRP_JPY","XYM_JPY"];export{M as ALL_GMOCOIN_MARGIN_PAIRS,D as ALL_GMOCOIN_SPOT_PAIRS,L as fetchKlines,R as fetchOrderBooks,b as fetchStatus,x as fetchTicker,T as fetchTrades};
//# sourceMappingURL=index.es.js.map