UNPKG

@polygon.io/widgets

Version:

A set of drop-in React components for displaying and charting Polygon.io's financial market data.

1 lines 4.13 kB
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault"),_typeof=require("@babel/runtime/helpers/typeof");Object.defineProperty(exports,"__esModule",{value:!0}),exports["default"]=void 0;var _react=_interopRequireWildcard(require("react")),_defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty")),_slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")),_AggregatesChart=_interopRequireDefault(require("@polygon.io/charts/dist/components/AggregatesChart")),_reactQuery=require("@tanstack/react-query"),_ResourceClient=_interopRequireDefault(require("@polygon.io/models/dist/resources/ResourceClient")),_usePolygonAPI2=_interopRequireDefault(require("@polygon.io/models/dist/hooks/usePolygonAPI")),_getTimeframeByName2=_interopRequireDefault(require("@polygon.io/utils/dist/getTimeframeByName")),_LoadControl=_interopRequireDefault(require("@polygon.io/core/dist/components/Loading/LoadControl"));function _getRequireWildcardCache(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(_getRequireWildcardCache=function(a){return a?c:b})(a)}function _interopRequireWildcard(a,b){if(!b&&a&&a.__esModule)return a;if(null===a||"object"!==_typeof(a)&&"function"!=typeof a)return{default:a};var c=_getRequireWildcardCache(b);if(c&&c.has(a))return c.get(a);var d={},e=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var f in a)if("default"!=f&&Object.prototype.hasOwnProperty.call(a,f)){var g=e?Object.getOwnPropertyDescriptor(a,f):null;g&&(g.get||g.set)?Object.defineProperty(d,f,g):d[f]=a[f]}return d["default"]=a,c&&c.set(a,d),d}var __jsx=_react["default"].createElement;function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){(0,_defineProperty2["default"])(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}var getDate=function(){var a=0<arguments.length&&void 0!==arguments[0]?arguments[0]:new Date,b=1<arguments.length&&void 0!==arguments[1]?arguments[1]:0,c=new Date(a);return c.setDate(c.getDate()+b),c.toISOString().slice(0,-14)},AggregatesChart=function(a){var b=a.ticker,c=a.timeframeLabel,d=a.width,e=a.height,f=a.loadWidth,g=a.loadHeight,h=a.onMouseover,i=a.chartType,j=a.liveUpdates,k=a.transitionDuration,l=a.loggedIn,m=a.pollInterval,n=(0,_usePolygonAPI2["default"])(_ResourceClient["default"]),o=n.getAggregates,p=(0,_getTimeframeByName2["default"])(c),q=p.params,r=p.filter,s=(0,_reactQuery.useQuery)(["ticker",_objectSpread(_objectSpread({ticker:b},q),{},{sort:"asc",limit:5e4})],o,{refetchInterval:!!j&&m,enabled:l}),t=s.isInitialLoading,u=s.data;u=void 0===u?{}:u;var v=u.results,w=void 0===v?[]:v,x=(0,_reactQuery.useQuery)(["ticker",{ticker:b,multiplier:1,timespan:"day",from:getDate(void 0,-7),to:getDate(),sort:"desc"}],o,{enabled:l}),y=x.isInitialLoading,z=x.data;z=void 0===z?{}:z;var A=z.results,B=void 0===A?[]:A,C=(0,_react.useMemo)(function(){return w.length&&r?r(w):w},[w,r]),D=(0,_react.useMemo)(function(){return C.sort(function(c,a){return c.t-a.t})},[C]),E=(0,_slicedToArray2["default"])(B,2),F=E[1];F=void 0===F?{}:F;var G=F.c;return __jsx(_LoadControl["default"],{loading:y||t,width:f,height:g,type:"bouncer",fadeDuration:"0.1"},__jsx(_AggregatesChart["default"],{aggregates:D,previousClose:G,width:d,height:e,onMouseover:h,chartType:i,liveUpdates:j,transitionDuration:k}))};AggregatesChart.defaultProps={timeframeLabel:"LAST_1_DAY_10_MINUTE_BARS",width:void 0,height:void 0,loadWidth:void 0,loadHeight:void 0,onMouseover:void 0,transitionDuration:600,chartType:void 0,liveUpdates:!1,loggedIn:!1,pollInterval:5e3};var _default=AggregatesChart;exports["default"]=_default;