@polygon.io/client-js
Version:
Isomorphic Javascript client for Polygon.io Stocks, Forex, and Crypto APIs
2 lines (1 loc) • 10.6 kB
JavaScript
var ct=Object.create;var y=Object.defineProperty;var It=Object.getOwnPropertyDescriptor;var gt=Object.getOwnPropertyNames;var lt=Object.getPrototypeOf,yt=Object.prototype.hasOwnProperty;var dt=(e,t)=>{for(var o in t)y(e,o,{get:t[o],enumerable:!0})},N=(e,t,o,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of gt(t))!yt.call(e,s)&&s!==o&&y(e,s,{get:()=>t[s],enumerable:!(r=It(t,s))||r.enumerable});return e};var H=(e,t,o)=>(o=e!=null?ct(lt(e)):{},N(t||!e||!e.__esModule?y(o,"default",{value:e,enumerable:!0}):o,e)),ft=e=>N(y({},"__esModule",{value:!0}),e);var xt={};dt(xt,{cryptoClient:()=>C,default:()=>bt,forexClient:()=>P,getCryptoWebsocket:()=>w,getForexWebsocket:()=>$,getIndicesWebsocket:()=>L,getOptionsWebsocket:()=>E,getStocksWebsocket:()=>F,getWithGlobals:()=>i,indicesClient:()=>D,optionsClient:()=>G,polygonClient:()=>pt,referenceClient:()=>S,restClient:()=>ot,snapshotOptionChain:()=>h,snapshotOptionContract:()=>k,stocksClient:()=>A,universalSnapshot:()=>c,websocketClient:()=>at});module.exports=ft(xt);var j=H(require("cross-fetch"),1),V={fetch:(e,t)=>(0,j.default)(e,t)};var B=require("query-string"),T=class extends Error{constructor(o,r="",s=""){super(o);this.status=r,this.request_id=s}},i=(e,t,o={})=>async(r,s={},a={})=>{if(!e)throw new Error("API KEY not configured...");let u=async(m,mt={},O={},U=[])=>{let M=(0,B.stringify)(mt,{encode:!0}),W=`${t}${m}${M?"?"+M:""}`,z={...O.headers||o.headers||{},Authorization:`Bearer ${e}`};if(o.trace){console.log("Request URL: ",W);let n={...z};"Authorization"in n&&(n.Authorization=n.Authorization.replace(e,"REDACTED")),console.log("Request Headers: ",n)}try{let n=await V.fetch(W,{...o,...O,headers:z});if(o.trace&&console.log("Response Headers: ",n.headers),n.status>=400){let g=await n.text(),R;try{let l=JSON.parse(g);R=new T(l.message,l.status,l.request_id)}catch{R=new Error(g)}throw R}if(n?.headers?.get("content-type")==="text/csv")return n.text();let I=await n.json(),v=I.results instanceof Array?U.concat(I.results):U;if(o?.pagination&&I.next_url){let g=I.next_url.replace(t,"");return u(g,{},O,v)}else return o?.pagination?{...I,results:v,count:v.length,next_url:null}:I}catch(n){throw n}};return u(r,s,a)};var X=async(e,t,o,r,s,a,u,m)=>e(`/v2/aggs/ticker/${t}/range/${o}/${r}/${s}/${a}`,u,m);var J=async(e,t,o,r)=>e(`/v2/aggs/grouped/locale/global/market/crypto/${t}`,o,r);var Y=async(e,t,o,r,s,a)=>e(`/v1/open-close/crypto/${t}/${o}/${r}`,s,a);var Z=async(e,t,o,r)=>e(`/v3/trades/${t}`,o,r);var K=async(e,t,o,r,s)=>e(`/v1/last/crypto/${t}/${o}`,r,s);var ee=async(e,t,o,r)=>e(`/v2/aggs/ticker/${t}/prev`,o,r);var te=(e,t,o)=>e("/v2/snapshot/locale/global/markets/crypto/tickers",t,o),re=(e,t,o,r)=>e(`/v2/snapshot/locale/global/markets/crypto/${t}`,o,r),se=(e,t,o,r)=>e(`/v2/snapshot/locale/global/markets/crypto/tickers/${t}`,o,r),oe=(e,t,o,r)=>e(`/v2/snapshot/locale/global/markets/crypto/tickers/${t}/book`,o,r);var ne=async(e,t,o)=>e("/v1/summaries",t,o);var d=async(e,t,o,r)=>e(`/v1/indicators/sma/${t}`,o,r);var ie=async(e,t,o,r)=>e(`/v1/indicators/sma/${t}`,o,r);var f=async(e,t,o,r)=>e(`/v1/indicators/ema/${t}`,o,r);var ae=async(e,t,o,r)=>e(`/v1/indicators/ema/${t}`,o,r);var b=async(e,t,o,r)=>e(`/v1/indicators/macd/${t}`,o,r);var ue=async(e,t,o,r)=>e(`/v1/indicators/macd/${t}`,o,r);var x=async(e,t,o,r)=>e(`/v1/indicators/rsi/${t}`,o,r);var pe=async(e,t,o,r)=>e(`/v1/indicators/rsi/${t}`,o,r);var c=async(e,t,o)=>e("/v3/snapshot",t,o);var me=async(e,t,o)=>e("/v1/summaries",t,o);var C=(e,t="https://api.polygon.io",o)=>{let r=i(e,t,o);return{aggregates:(...s)=>X(r,...s),aggregatesGroupedDaily:(...s)=>J(r,...s),summaries:(...s)=>ne(r,...s),dailyOpenClose:(...s)=>Y(r,...s),lastTrade:(...s)=>K(r,...s),trades:(...s)=>Z(r,...s),previousClose:(...s)=>ee(r,...s),snapshotAllTickers:(...s)=>te(r,...s),snapshotGainersLosers:(...s)=>re(r,...s),snapshotTicker:(...s)=>se(r,...s),snapshotTickerFullBookL2:(...s)=>oe(r,...s),sma:(...s)=>ie(r,...s),ema:(...s)=>ae(r,...s),macd:(...s)=>ue(r,...s),rsi:(...s)=>pe(r,...s),universalSnapshot:(...s)=>c(r,...s)}};var ce=async(e,t,o,r,s,a,u,m)=>e(`/v2/aggs/ticker/${t}/range/${o}/${r}/${s}/${a}`,u,m);var Ie=async(e,t,o,r)=>e(`/v2/aggs/grouped/locale/global/market/fx/${t}`,o,r);var ge=async(e,t,o,r,s)=>e(`/v1/conversion/${t}/${o}`,r,s);var le=async(e,t,o,r)=>e(`/v3/quotes/${t}`,o,r);var ye=(e,t,o,r,s)=>e(`/v1/last_quote/currencies/${t}/${o}`,r,s);var de=async(e,t,o,r)=>e(`/v2/aggs/ticker/${t}/prev`,o,r);var fe=async(e,t,o)=>e("/v2/snapshot/locale/global/markets/forex/tickers",t,o),be=async(e,t,o,r)=>e(`/v2/snapshot/locale/global/markets/forex/${t}`,o,r),xe=async(e,t,o,r)=>e(`/v2/snapshot/locale/global/markets/forex/tickers/${t}`,o,r);var he=async(e,t,o)=>e("/v1/summaries",t,o);var ke=async(e,t,o,r)=>e(`/v1/indicators/sma/${t}`,o,r);var Qe=async(e,t,o,r)=>e(`/v1/indicators/ema/${t}`,o,r);var _e=async(e,t,o,r)=>e(`/v1/indicators/macd/${t}`,o,r);var qe=async(e,t,o,r)=>e(`/v1/indicators/rsi/${t}`,o,r);var P=(e,t="https://api.polygon.io",o)=>{let r=i(e,t,o);return{aggregates:(...s)=>ce(r,...s),aggregatesGroupedDaily:(...s)=>Ie(r,...s),summaries:(...s)=>he(r,...s),conversion:(...s)=>ge(r,...s),quotes:(...s)=>le(r,...s),lastQuote:(...s)=>ye(r,...s),previousClose:(...s)=>de(r,...s),snapshotAllTickers:(...s)=>fe(r,...s),snapshotGainersLosers:(...s)=>be(r,...s),snapshotTicker:(...s)=>xe(r,...s),sma:(...s)=>ke(r,...s),ema:(...s)=>Qe(r,...s),macd:(...s)=>_e(r,...s),rsi:(...s)=>qe(r,...s),universalSnapshot:(...s)=>c(r,...s)}};var Oe=async(e,t,o)=>e("/v3/reference/conditions",t,o);var ve=async(e,t,o)=>e("/v3/reference/exchanges",t,o);var Re=async(e,t,o)=>e("/v1/marketstatus/upcoming",t,o);var Te=async(e,t,o)=>e("/v1/marketstatus/now",t,o);var Ce=(e,t,o,r)=>e(`/v3/reference/options/contracts/${t}`,o,r);var Pe=(e,t,o)=>e("/v3/reference/options/contracts",t,o);var Se=async(e,t,o)=>e("/v3/reference/dividends",t,o);var Ge=async(e,t,o)=>e("/v3/reference/splits",t,o);var Ae=async(e,t,o)=>e("/vX/reference/financials",t,o);var De=async(e,t,o,r)=>e(`/v3/reference/tickers/${t}`,o,r);var we=async(e,t,o)=>e("/v2/reference/news",t,o);var $e=async(e,t,o)=>e("/v3/reference/tickers",t,o);var Le=async(e,t,o)=>e("/v3/reference/tickers/types",t,o);var S=(e,t="https://api.polygon.io",o)=>{let r=i(e,t,o);return{conditions:(...s)=>Oe(r,...s),exchanges:(...s)=>ve(r,...s),marketHolidays:(...s)=>Re(r,...s),marketStatus:(...s)=>Te(r,...s),optionsContract:(...s)=>Ce(r,...s),optionsContracts:(...s)=>Pe(r,...s),dividends:(...s)=>Se(r,...s),stockSplits:(...s)=>Ge(r,...s),stockFinancials:(...s)=>Ae(r,...s),tickerDetails:(...s)=>De(r,...s),tickerNews:(...s)=>we(r,...s),tickers:(...s)=>$e(r,...s),tickerTypes:(...s)=>Le(r,...s)}};var Ee=async(e,t,o,r,s,a,u,m)=>e(`/v2/aggs/ticker/${t}/range/${o}/${r}/${s}/${a}`,u,m);var Fe=async(e,t,o,r,s)=>e(`/v1/open-close/${t}/${o}`,r,s);var Ue=async(e,t,o,r)=>e(`/v2/aggs/ticker/${t}/prev`,o,r);var Me=async(e,t,o,r)=>e(`/v3/trades/${t}`,o,r);var We=async(e,t,o,r)=>e(`/v2/last/trade/${t}`,o,r);var ze=async(e,t,o,r)=>e(`/v3/quotes/${t}`,o,r);var h=async(e,t,o,r)=>e(`/v3/snapshot/options/${t}`,o,r),k=async(e,t,o,r,s)=>e(`/v3/snapshot/options/${t}/${o}`,r,s);var Ne=async(e,t,o)=>e("/v1/summaries",t,o);var He=async(e,t,o,r)=>e(`/v1/indicators/sma/${t}`,o,r);var je=async(e,t,o,r)=>e(`/v1/indicators/ema/${t}`,o,r);var Ve=async(e,t,o,r)=>e(`/v1/indicators/macd/${t}`,o,r);var Be=async(e,t,o,r)=>e(`/v1/indicators/rsi/${t}`,o,r);var G=(e,t="https://api.polygon.io",o)=>{let r=i(e,t,o);return{aggregates:(...s)=>Ee(r,...s),summaries:(...s)=>Ne(r,...s),dailyOpenClose:(...s)=>Fe(r,...s),previousClose:(...s)=>Ue(r,...s),trades:(...s)=>Me(r,...s),lastTrade:(...s)=>We(r,...s),quotes:(...s)=>ze(r,...s),snapshotOptionContract:(...s)=>k(r,...s),snapshotOptionChain:(...s)=>h(r,...s),sma:(...s)=>He(r,...s),ema:(...s)=>je(r,...s),macd:(...s)=>Ve(r,...s),rsi:(...s)=>Be(r,...s),universalSnapshot:(...s)=>c(r,...s)}};var Q=async(e,t,o,r,s,a,u,m)=>e(`/v2/aggs/ticker/${t}/range/${o}/${r}/${s}/${a}`,u,m);var Xe=async(e,t,o,r)=>e(`/v2/aggs/grouped/locale/us/market/stocks/${t}`,o,r);var _=async(e,t,o,r,s)=>e(`/v1/open-close/${t}/${o}`,r,s);var q=async(e,t,o,r)=>e(`/v2/aggs/ticker/${t}/prev`,o,r);var Je=async(e,t,o,r)=>e(`/v2/last/nbbo/${t}`,o,r);var Ye=async(e,t,o,r)=>e(`/v2/last/trade/${t}`,o,r);var Ze=async(e,t,o)=>e("/v2/snapshot/locale/us/markets/stocks/tickers",t,o),Ke=async(e,t,o,r)=>e(`/v2/snapshot/locale/us/markets/stocks/${t}`,o,r),et=async(e,t,o,r)=>e(`/v2/snapshot/locale/us/markets/stocks/tickers/${t}`,o,r);var tt=async(e,t,o,r)=>e(`/v3/quotes/${t}`,o,r);var rt=async(e,t,o,r)=>e(`/v3/trades/${t}`,o,r);var A=(e,t="https://api.polygon.io",o)=>{let r=i(e,t,o);return{aggregates:(...s)=>Q(r,...s),aggregatesGroupedDaily:(...s)=>Xe(r,...s),summaries:(...s)=>me(r,...s),dailyOpenClose:(...s)=>_(r,...s),lastQuote:(...s)=>Je(r,...s),lastTrade:(...s)=>Ye(r,...s),previousClose:(...s)=>q(r,...s),quotes:(...s)=>tt(r,...s),snapshotAllTickers:(...s)=>Ze(r,...s),snapshotGainersLosers:(...s)=>Ke(r,...s),snapshotTicker:(...s)=>et(r,...s),sma:(...s)=>d(r,...s),ema:(...s)=>f(r,...s),macd:(...s)=>b(r,...s),rsi:(...s)=>x(r,...s),trades:(...s)=>rt(r,...s),universalSnapshot:(...s)=>c(r,...s)}};var st=async(e,t,o)=>e("/v3/snapshot/indices/",t,o);var D=(e,t="https://api.polygon.io",o)=>{let r=i(e,t,o);return{aggregates:(...s)=>Q(r,...s),dailyOpenClose:(...s)=>_(r,...s),previousClose:(...s)=>q(r,...s),snapshotTicker:(...s)=>st(r,...s),sma:(...s)=>d(r,...s),ema:(...s)=>f(r,...s),macd:(...s)=>b(r,...s),rsi:(...s)=>x(r,...s)}};var ot=(e,t,o)=>({crypto:C(e,t,o),forex:P(e,t,o),reference:S(e,t,o),options:G(e,t,o),stocks:A(e,t,o),indices:D(e,t,o)}),nt=ot;var it=H(require("websocket"),1),p=(e,t)=>{if(!t)throw new Error("api key not provided.");let o=new it.default.w3cwebsocket(e);return o.onopen=()=>{o.send(JSON.stringify({action:"auth",params:t}))},o};var w=(e,t="wss://socket.polygon.io")=>p(`${t}/crypto`,e);var $=(e,t="wss://socket.polygon.io")=>p(`${t}/forex`,e);var L=(e,t="wss://socket.polygon.io")=>p(`${t}/indices`,e);var E=(e,t="wss://socket.polygon.io")=>p(`${t}/options`,e);var F=(e,t="wss://socket.polygon.io")=>p(`${t}/stocks`,e);var at=(e,t)=>({crypto:()=>w(e,t),forex:()=>$(e,t),indices:()=>L(e,t),options:()=>E(e,t),stocks:()=>F(e,t)}),ut=at;var pt=(e,t,o)=>({rest:nt(e,t),websockets:ut(e,o)}),bt=pt;0&&(module.exports={cryptoClient,forexClient,getCryptoWebsocket,getForexWebsocket,getIndicesWebsocket,getOptionsWebsocket,getStocksWebsocket,getWithGlobals,indicesClient,optionsClient,polygonClient,referenceClient,restClient,snapshotOptionChain,snapshotOptionContract,stocksClient,universalSnapshot,websocketClient});