binbot-charts 0.6.0 → 0.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/TVChartContainer.js +300 -306
- package/dist/TVChartContainer.js.map +1 -1
- package/dist/TVChartContainer.mjs +300 -306
- package/dist/TVChartContainer.mjs.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/TVChartContainer.tsx","../src/charting_library/charting_library.js","../src/components/helpers.js","../src/components/streaming.js","../src/components/datafeed.js"],"sourcesContent":["import React, { useEffect, useRef, useState } from \"react\";\nimport {\n ChartingLibraryWidgetOptions,\n ResolutionString,\n widget,\n} from \"../charting_library/charting_library\";\nimport Datafeed from \"./datafeed\";\nimport { useImmer } from \"use-immer\";\nimport { IOrderLine } from \"./charting-library-interfaces\";\n\nexport interface OrderLine extends IOrderLine {\n id: string;\n lineStyle?: number;\n}\n\ninterface TVChartContainerProps {\n symbol?: string;\n interval?: ResolutionString;\n libraryPath?: string;\n timescaleMarks?: any[];\n orderLines?: OrderLine[];\n height?: string;\n onTick?: (event: any) => void;\n getLatestBar?: (data: any) => void;\n}\n\nconst TVChartContainer: React.FC<TVChartContainerProps> = ({\n symbol = \"BTCUSDT\",\n interval = \"1h\" as ResolutionString,\n libraryPath = \"/charting_library/\",\n timescaleMarks = [],\n orderLines = [],\n height = \"calc(100vh - 80px)\",\n onTick,\n getLatestBar,\n}) => {\n const containerRef = useRef<HTMLDivElement | null>(null);\n\n const [chartOrderLines, setChartOrderLines] = useImmer<any[]>([]);\n const [widgetState, setWidgetState] = useImmer<any>(null);\n const [symbolState] = useState<string | null>(null);\n const prevTimescaleMarks = useRef<any[]>(timescaleMarks);\n\n useEffect(() => {\n if (!widgetState) {\n initializeChart(interval);\n }\n\n if (orderLines && orderLines.length > 0) {\n updateOrderLines(orderLines);\n }\n\n if (widgetState && symbol !== symbolState) {\n widgetState.setSymbol(symbol, interval);\n }\n\n if (\n widgetState &&\n prevTimescaleMarks.current &&\n timescaleMarks !== prevTimescaleMarks.current\n ) {\n widgetState._options.datafeed.timescaleMarks = timescaleMarks;\n prevTimescaleMarks.current = timescaleMarks;\n }\n }, [orderLines, timescaleMarks]);\n\n const initializeChart = (interval: ResolutionString) => {\n const widgetOptions: ChartingLibraryWidgetOptions = {\n symbol: symbol,\n datafeed: new Datafeed(timescaleMarks, interval),\n interval: interval,\n container: containerRef.current,\n library_path: libraryPath,\n locale: \"en\",\n fullscreen: false,\n autosize: true,\n studies_overrides: {},\n symbol_search_request_delay: 1000,\n overrides: {\n volumePaneSize: \"small\",\n \"mainSeriesProperties.barStyle.dontDrawOpen\": false,\n },\n };\n const tvWidget = new widget(widgetOptions);\n\n tvWidget.onChartReady(() => {\n tvWidget.subscribe(\"onTick\", (event: any) => onTick && onTick(event));\n setWidgetState(tvWidget);\n\n // get latest bar for last price\n const prices = async () => {\n const data = await tvWidget.activeChart().exportData({\n includeTime: false,\n includeSeries: true,\n includedStudies: [],\n });\n getLatestBar && getLatestBar(data.data[data.data.length - 1]);\n };\n prices();\n });\n };\n\n const updateOrderLines = (orderLines: OrderLine[]) => {\n if (chartOrderLines && chartOrderLines.length > 0) {\n chartOrderLines.forEach((item) => {\n orderLines.forEach((order) => {\n if (item.id == order.id) {\n item\n .setText(order.text)\n .setTooltip(order.tooltip)\n .setQuantity(order.quantity)\n .setPrice(order.price);\n }\n });\n });\n } else {\n if (widgetState && orderLines && orderLines.length > 0) {\n orderLines.forEach((order) => {\n const lineStyle = order.lineStyle || 0;\n let chartOrderLine = widgetState\n .chart()\n .createOrderLine()\n .setText(order.text)\n .setTooltip(order.tooltip)\n .setQuantity(order.quantity)\n .setQuantityFont(\"inherit 14px Arial\")\n .setQuantityBackgroundColor(order.color)\n .setQuantityBorderColor(order.color)\n .setLineStyle(lineStyle)\n .setLineLength(25)\n .setLineColor(order.color)\n .setBodyFont(\"inherit 14px Arial\")\n .setBodyBorderColor(order.color)\n .setBodyTextColor(order.color)\n .setPrice(order.price);\n\n // set custom id easier search\n chartOrderLine.id = order.id;\n\n setChartOrderLines((draft) => {\n draft.push(chartOrderLine);\n return draft;\n });\n });\n }\n }\n };\n\n return <div ref={containerRef} style={{ height: height }} />;\n};\n\nexport default TVChartContainer;","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?t(exports):\"function\"==typeof define&&define.amd?define([\"exports\"],t):t((e=\"undefined\"!=typeof globalThis?globalThis:e||self).TradingView={})}(this,(function(e){\"use strict\";function t(e,i){const n={...e};for(const o in i)\"object\"!=typeof e[o]||null===e[o]||Array.isArray(e[o])?void 0!==i[o]&&(n[o]=i[o]):n[o]=t(e[o],i[o]);return n}const i={mobile:{disabled_features:[\"left_toolbar\",\"header_widget\",\"timeframes_toolbar\",\"edit_buttons_in_legend\",\"context_menus\",\"control_bar\",\"border_around_the_chart\"],enabled_features:[]}},n={width:800,height:500,interval:\"1D\",timezone:\"Etc/UTC\",container:\"\",library_path:\"\",locale:\"en\",widgetbar:{details:!1,watchlist:!1,watchlist_settings:{default_symbols:[]}},overrides:{\"mainSeriesProperties.showCountdown\":!1},studies_overrides:{},trading_customization:{position:{},order:{}},brokerConfig:{configFlags:{}},fullscreen:!1,autosize:!1,disabled_features:[],enabled_features:[],debug:!1,logo:{},time_frames:[{text:\"5y\",resolution:\"1W\"},{text:\"1y\",resolution:\"1W\"},{text:\"6m\",resolution:\"120\"},{text:\"3m\",resolution:\"60\"},{text:\"1m\",resolution:\"30\"},{text:\"5d\",resolution:\"5\"},{text:\"1d\",resolution:\"1\"}],client_id:\"0\",user_id:\"0\",charts_storage_api_version:\"1.0\",favorites:{intervals:[],chartTypes:[]}};let o=!1;function s(){return\"CL v21.064 (internal id f0bc1e45 @ 2022-03-17T12:19:26.809Z)\"}const r=class{constructor(e){if(this._id=`tradingview_${(1048576*(1+Math.random())|0).toString(16).substring(1)}`,this._ready=!1,this._readyHandlers=[],this._onWindowResize=this._autoResizeChart.bind(this),!e.datafeed)throw new Error(\"Datafeed is not defined\");if(this._options=t(n,e),e.preset){const t=i[e.preset];t?(void 0!==this._options.disabled_features?this._options.disabled_features=this._options.disabled_features.concat(t.disabled_features):this._options.disabled_features=t.disabled_features,void 0!==this._options.enabled_features?this._options.enabled_features=this._options.enabled_features.concat(t.enabled_features):this._options.enabled_features=t.enabled_features):console.warn(\"Unknown preset: `\"+e.preset+\"`\")}\"Dark\"===this._options.theme&&void 0===this._options.loading_screen&&(this._options.loading_screen={backgroundColor:\"#131722\"}),this._options.debug&&(o||(o=!0,console.log(\"Using CL v21.064 (internal id f0bc1e45 @ 2022-03-17T12:19:26.809Z)\"))),this._create()}onChartReady(e){this._ready?e.call(this):this._readyHandlers.push(e)}headerReady(){return this._innerWindowLoaded.then((()=>this._innerWindow().headerReady()))}onGrayedObjectClicked(e){this._doWhenInnerApiLoaded((t=>{t.onGrayedObjectClicked(e)}))}onShortcut(e,t){this._doWhenInnerWindowLoaded((i=>{i.createShortcutAction(e,t)}))}subscribe(e,t){this._doWhenInnerApiLoaded((i=>{i.subscribe(e,t)}))}unsubscribe(e,t){this._doWhenInnerApiLoaded((i=>{i.unsubscribe(e,t)}))}chart(e){return this._innerAPI().chart(e)}getLanguage(){return this._options.locale}setSymbol(e,t,i){this._innerAPI().changeSymbol(e,t,i)}remove(){window.removeEventListener(\"resize\",this._onWindowResize),this._readyHandlers.splice(0,this._readyHandlers.length),delete window[this._id],this._iFrame.parentNode&&this._iFrame.parentNode.removeChild(this._iFrame)}closePopupsAndDialogs(){this._doWhenInnerApiLoaded((e=>{e.closePopupsAndDialogs()}))}selectLineTool(e){this._innerAPI().selectLineTool(e)}selectedLineTool(){return this._innerAPI().selectedLineTool()}save(e){this._innerAPI().saveChart(e)}load(e,t){this._innerAPI().loadChart({json:e,extendedData:t})}getSavedCharts(e){this._innerAPI().getSavedCharts(e)}loadChartFromServer(e){this._innerAPI().loadChartFromServer(e)}saveChartToServer(e,t,i){this._innerAPI().saveChartToServer(e,t,i)}removeChartFromServer(e,t){this._innerAPI().removeChartFromServer(e,t)}onContextMenu(e){this._doWhenInnerApiLoaded((t=>{t.onContextMenu(e)}))}createButton(e){return this._innerWindow().createButton(e)}createDropdown(e){return this._innerWindow().createDropdown(e)}showNoticeDialog(e){this._doWhenInnerApiLoaded((t=>{t.showNoticeDialog(e)}))}showConfirmDialog(e){this._doWhenInnerApiLoaded((t=>{t.showConfirmDialog(e)}))}showLoadChartDialog(){this._innerAPI().showLoadChartDialog()}showSaveAsChartDialog(){this._innerAPI().showSaveAsChartDialog()}symbolInterval(){return this._innerAPI().getSymbolInterval()}mainSeriesPriceFormatter(){return this._innerAPI().mainSeriesPriceFormatter()}getIntervals(){return this._innerAPI().getIntervals()}getStudiesList(){return this._innerAPI().getStudiesList()}getStudyInputs(e){return this._innerAPI().getStudyInputs(e)}addCustomCSSFile(e){this._innerWindow().addCustomCSSFile(e)}applyOverrides(e){this._options=t(this._options,{overrides:e}),this._doWhenInnerWindowLoaded((t=>{t.applyOverrides(e)}))}applyStudiesOverrides(e){this._doWhenInnerWindowLoaded((t=>{t.applyStudiesOverrides(e)}))}watchList(){return this._innerAPI().watchlist()}news(){return this._innerAPI().news()}activeChart(){return this._innerAPI().activeChart()}chartsCount(){return this._innerAPI().chartsCount()}layout(){return this._innerAPI().layout()}setLayout(e){this._innerAPI().setLayout(e)}layoutName(){return this._innerAPI().layoutName()}changeTheme(e,t){return this._innerWindow().changeTheme(e,t)}getTheme(){return this._innerWindow().getTheme()}takeScreenshot(){this._doWhenInnerApiLoaded((e=>{e.takeScreenshot()}))}lockAllDrawingTools(){return this._innerAPI().lockAllDrawingTools()}hideAllDrawingTools(){return this._innerAPI().hideAllDrawingTools()}drawOnAllCharts(e){this._innerAPI().drawOnAllCharts(e)}magnetEnabled(){return this._innerAPI().magnetEnabled()}magnetMode(){return this._innerAPI().magnetMode()}undoRedoState(){return this._innerAPI().undoRedoState()}setIntervalLinkingEnabled(e){this._innerAPI().setIntervalLinkingEnabled(e)}setTimeFrame(e){this._innerAPI().setTimeFrame(e)}symbolSync(){return this._innerAPI().symbolSync()}intervalSync(){return this._innerAPI().intervalSync()}crosshairSync(){return this._innerAPI().crosshairSync()}timeSync(){return this._innerAPI().timeSync()}getAllFeatures(){return this._innerWindow().getAllFeatures()}clearUndoHistory(){return this._innerAPI().clearUndoHistory()}undo(){return this._innerAPI().undo()}redo(){return this._innerAPI().redo()}startFullscreen(){this._innerAPI().startFullscreen()}exitFullscreen(){this._innerAPI().exitFullscreen()}takeClientScreenshot(e){return this._innerAPI().takeClientScreenshot(e)}navigationButtonsVisibility(){return this._innerWindow().getNavigationButtonsVisibility()}paneButtonsVisibility(){return this._innerWindow().getPaneButtonsVisibility()}dateFormat(){return this._innerWindow().getDateFormat()}_innerAPI(){return this._innerWindow().tradingViewApi}_innerWindow(){return this._iFrame.contentWindow}_doWhenInnerWindowLoaded(e){this._ready?e(this._innerWindow()):this._innerWindowLoaded.then((()=>{e(this._innerWindow())}))}_doWhenInnerApiLoaded(e){this._doWhenInnerWindowLoaded((t=>{t.doWhenApiIsReady((()=>e(this._innerAPI())))}))}_autoResizeChart(){this._options.fullscreen&&(this._iFrame.style.height=window.innerHeight+\"px\")}_create(){const e=this._render();this._options.container_id&&console.warn(\"`container_id` is now deprecated. Please use `container` instead to either still pass a string or an `HTMLElement`.\");const t=this._options.container_id||this._options.container,i=\"string\"==typeof t?document.getElementById(t):t;if(null===i)throw new Error(`There is no such element - #${this._options.container}`);i.innerHTML=e,this._iFrame=i.querySelector(`#${this._id}`);const n=this._iFrame;(this._options.autosize||this._options.fullscreen)&&(n.style.width=\"100%\",this._options.fullscreen||(n.style.height=\"100%\")),window.addEventListener(\"resize\",this._onWindowResize),this._onWindowResize(),this._innerWindowLoaded=new Promise((e=>{const t=()=>{n.removeEventListener(\"load\",t,!1),e()};n.addEventListener(\"load\",t,!1)})),this._innerWindowLoaded.then((()=>{this._innerWindow().widgetReady((()=>{this._ready=!0;for(const e of this._readyHandlers)try{e.call(this)}catch(e){console.error(e)}this._innerWindow().initializationFinished()}))}))}_render(){const e=window;if(e[this._id]={datafeed:this._options.datafeed,customFormatters:this._options.custom_formatters||this._options.customFormatters,brokerFactory:this._options.broker_factory||this._options.brokerFactory,overrides:this._options.overrides,studiesOverrides:this._options.studies_overrides,tradingCustomization:this._options.trading_customization,disabledFeatures:this._options.disabled_features,enabledFeatures:this._options.enabled_features,brokerConfig:this._options.broker_config||this._options.brokerConfig,restConfig:this._options.restConfig,favorites:this._options.favorites,logo:this._options.logo,numeric_formatting:this._options.numeric_formatting,rss_news_feed:this._options.rss_news_feed,newsProvider:this._options.news_provider,loadLastChart:this._options.load_last_chart,saveLoadAdapter:this._options.save_load_adapter,loading_screen:this._options.loading_screen,settingsAdapter:this._options.settings_adapter,getCustomIndicators:this._options.custom_indicators_getter,additionalSymbolInfoFields:this._options.additional_symbol_info_fields,headerWidgetButtonsMode:this._options.header_widget_buttons_mode,symbolSearchComplete:this._options.symbol_search_complete},this._options.saved_data)e[this._id].chartContent={json:this._options.saved_data},this._options.saved_data_meta_info&&(e[this._id].chartContentExtendedData=this._options.saved_data_meta_info);else if(!this._options.load_last_chart&&!this._options.symbol)throw new Error(\"Symbol is not defined: either 'symbol' or 'load_last_chart' option must be set\");const t=(this._options.library_path||\"\")+`${encodeURIComponent(this._options.locale)}-tv-chart.f0bc1e45.html#symbol=`+encodeURIComponent(this._options.symbol||\"\")+\"&interval=\"+encodeURIComponent(this._options.interval)+(this._options.timeframe?\"&timeframe=\"+encodeURIComponent(this._options.timeframe):\"\")+(this._options.toolbar_bg?\"&toolbarbg=\"+encodeURIComponent(this._options.toolbar_bg.replace(\"#\",\"\")):\"\")+(this._options.studies_access?\"&studiesAccess=\"+encodeURIComponent(JSON.stringify(this._options.studies_access)):\"\")+\"&widgetbar=\"+encodeURIComponent(JSON.stringify(this._options.widgetbar))+(this._options.drawings_access?\"&drawingsAccess=\"+encodeURIComponent(JSON.stringify(this._options.drawings_access)):\"\")+\"&timeFrames=\"+encodeURIComponent(JSON.stringify(this._options.time_frames))+\"&locale=\"+encodeURIComponent(this._options.locale)+\"&uid=\"+encodeURIComponent(this._id)+\"&clientId=\"+encodeURIComponent(String(this._options.client_id))+\"&userId=\"+encodeURIComponent(String(this._options.user_id))+(this._options.charts_storage_url?\"&chartsStorageUrl=\"+encodeURIComponent(this._options.charts_storage_url):\"\")+(this._options.charts_storage_api_version?\"&chartsStorageVer=\"+encodeURIComponent(this._options.charts_storage_api_version):\"\")+(this._options.custom_css_url?\"&customCSS=\"+encodeURIComponent(this._options.custom_css_url):\"\")+(this._options.auto_save_delay?\"&autoSaveDelay=\"+encodeURIComponent(String(this._options.auto_save_delay)):\"\")+\"&debug=\"+encodeURIComponent(String(this._options.debug))+(this._options.snapshot_url?\"&snapshotUrl=\"+encodeURIComponent(this._options.snapshot_url):\"\")+(this._options.timezone?\"&timezone=\"+encodeURIComponent(this._options.timezone):\"\")+(this._options.study_count_limit?\"&studyCountLimit=\"+encodeURIComponent(String(this._options.study_count_limit)):\"\")+(this._options.symbol_search_request_delay?\"&ssreqdelay=\"+encodeURIComponent(String(this._options.symbol_search_request_delay)):\"\")+(this._options.compare_symbols?\"&compareSymbols=\"+encodeURIComponent(JSON.stringify(this._options.compare_symbols)):\"\")+(this._options.theme?\"&theme=\"+encodeURIComponent(String(this._options.theme)):\"\")+(this._options.header_widget_buttons_mode?\"&header_widget_buttons_mode=\"+encodeURIComponent(String(this._options.header_widget_buttons_mode)):\"\")+(this._options.time_scale?\"&time_scale=\"+encodeURIComponent(JSON.stringify(this._options.time_scale)):\"\");return'<iframe id=\"'+this._id+'\" name=\"'+this._id+'\" src=\"'+t+'\"'+(this._options.autosize||this._options.fullscreen?\"\":' width=\"'+this._options.width+'\" height=\"'+this._options.height+'\"')+' title=\"Financial Chart\" frameborder=\"0\" allowTransparency=\"true\" scrolling=\"no\" allowfullscreen style=\"display:block;\"></iframe>'}};window.TradingView=window.TradingView||{},window.TradingView.version=s,e.version=s,e.widget=r,Object.defineProperty(e,\"__esModule\",{value:!0})}));\n","import { useEffect, useRef } from \"react\";\n\n\nexport async function makeApiRequest(path) {\n try {\n const response = await fetch(`https://api.binance.com/${path}`);\n return response.json();\n } catch (error) {\n throw new Error(`Binance request error: ${error.status}`);\n }\n}\n\nexport async function getAllSymbols(symbol) {\n let newSymbols = [];\n try {\n const data = await makeApiRequest(`api/v3/exchangeInfo?symbol=${symbol.toUpperCase()}`);\n data.symbols.forEach(item => {\n if (item.status === \"TRADING\") {\n newSymbols.push({\n symbol: item.symbol,\n full_name: `${item.baseAsset}/${item.quoteAsset}`,\n description: `Precision: ${item.quoteAssetPrecision}`,\n exchange: \"Binance\",\n ticker: item.symbol,\n type: \"crypto\",\n });\n }\n });\n } catch (e) {\n return newSymbols\n }\n return newSymbols;\n}\n\nexport function usePrevious(value) {\n const ref = useRef();\n useEffect(() => {\n ref.current = value;\n });\n return ref.current;\n}\n","const channelToSubscription = new Map();\n\nfunction setupSockets(subRequest) {\n const socket = new WebSocket(\"wss://stream.binance.com:9443/ws\");\n window.socket = socket;\n socket.onopen = (event) => {\n console.log(\"[socket] Connected\");\n socket.send(JSON.stringify(subRequest));\n };\n\n socket.onclose = (reason) => {\n console.log(\"[socket] Disconnected:\", reason);\n };\n\n socket.onerror = (error) => {\n console.log(\"[socket] Error:\", error);\n };\n\n socket.onmessage = (e) => {\n const data = JSON.parse(e.data);\n if (data.e == undefined) {\n // skip all non-TRADE events\n return;\n }\n const {\n s: symbol,\n t: startTime,\n T: closeTime,\n i: interval,\n o: open,\n c: close,\n h: high,\n l: low,\n v: volume,\n n: trades,\n q: quoteVolume,\n } = data.k;\n\n const channelString = `${symbol.toLowerCase()}@kline_${interval}`;\n const subscriptionItem = channelToSubscription.get(channelString);\n if (subscriptionItem === undefined) {\n return;\n }\n const bar = {\n time: startTime,\n open: open,\n high: high,\n low: low,\n close: close,\n volume: volume,\n };\n // send data to every subscriber of that symbol\n subscriptionItem.handlers.forEach((handler) => handler.callback(bar));\n };\n}\n\nexport function subscribeOnStream(\n symbolInfo,\n resolution,\n onRealtimeCallback,\n subscribeUID,\n onResetCacheNeededCallback,\n interval\n) {\n const channelString = `${symbolInfo.name.toLowerCase()}@kline_${interval}`;\n const handler = {\n id: subscribeUID,\n callback: onRealtimeCallback,\n };\n let subscriptionItem = channelToSubscription.get(channelString);\n if (subscriptionItem) {\n // already subscribed to the channel, use the existing subscription\n subscriptionItem.handlers.push(handler);\n return;\n }\n subscriptionItem = {\n subscribeUID,\n resolution,\n handlers: [handler],\n };\n const subRequest = {\n method: \"SUBSCRIBE\",\n params: [channelString],\n id: 1,\n };\n channelToSubscription.set(channelString, subscriptionItem);\n setupSockets(subRequest);\n}\n\nexport function unsubscribeFromStream(subscriberUID) {\n // find a subscription with id === subscriberUID\n for (const channelString of channelToSubscription.keys()) {\n const subscriptionItem = channelToSubscription.get(channelString);\n const handlerIndex = subscriptionItem.handlers.findIndex(\n (handler) => handler.id === subscriberUID\n );\n\n if (handlerIndex !== -1) {\n // remove from handlers\n subscriptionItem.handlers.splice(handlerIndex, 1);\n\n if (subscriptionItem.handlers.length === 0) {\n // unsubscribe from the channel, if it was the last handler\n console.log(\n \"[unsubscribeBars]: Unsubscribe from streaming. Channel:\",\n channelString\n );\n const subRequest = {\n method: \"UNSUBSCRIBE\",\n params: [channelString],\n id: 1,\n };\n window.socket.send(JSON.stringify(subRequest));\n channelToSubscription.delete(channelString);\n window.socket = undefined;\n break;\n }\n }\n }\n}\n","import { getAllSymbols, makeApiRequest } from \"./helpers.js\";\nimport { subscribeOnStream, unsubscribeFromStream } from \"./streaming.js\";\n\nconst binanceResolutions = [\n \"1s\",\n \"1m\",\n \"3m\",\n \"5m\",\n \"15m\",\n \"30m\",\n \"1h\",\n \"2h\",\n \"4h\",\n \"6h\",\n \"8h\",\n \"12h\",\n \"1d\",\n \"3d\",\n \"1w\",\n \"1M\",\n];\n\nconst getConfigurationData = async () => {\n return {\n supports_marks: true,\n supports_time: true,\n supports_timescale_marks: true,\n supports_time: true,\n supported_resolutions: [\n \"1S\",\n \"1\",\n \"3\",\n \"5\",\n \"15\",\n \"30\",\n \"60\",\n \"120\",\n \"240\",\n \"360\",\n \"480\",\n \"720\",\n \"1D\",\n \"3D\",\n \"1W\",\n \"12M\",\n ],\n exchanges: [\n {\n value: \"Binance\",\n name: \"Binance\",\n desc: \"Binance\",\n },\n ],\n symbols_types: [\n {\n name: \"crypto\",\n value: \"crypto\",\n },\n ],\n };\n};\n\n/**\n * @param timescale { Array }. timescaleMark objects\n * @param interval { string }. Klines timescale from the list of Binance Enums\n */\nexport default class Datafeed {\n constructor(timescaleMarks = [], interval = \"1h\") {\n this.streaming = null;\n this.timescaleMarks = timescaleMarks;\n this.interval = interval\n }\n onReady = async (callback) => {\n this.configurationData = await getConfigurationData();\n callback(this.configurationData);\n };\n\n searchSymbols = async (\n userInput,\n exchange,\n symbolType,\n onResultReadyCallback\n ) => {\n const symbols = await getAllSymbols(userInput);\n onResultReadyCallback(symbols);\n };\n\n resolveSymbol = async (\n symbolName,\n onSymbolResolvedCallback,\n onResolveErrorCallback\n ) => {\n if (!symbolName) {\n await onResolveErrorCallback(\"cannot resolve symbol\");\n return;\n }\n\n const symbolInfo = () => {\n return {\n ticker: symbolName,\n name: symbolName,\n ticker: symbolName,\n description: symbolName,\n type: \"crypto\",\n session: \"24x7\",\n timezone: \"Etc/UTC\",\n exchange: \"Binance\",\n minmov: 100,\n pricescale: 100000,\n has_daily: true, \n has_intraday: true,\n has_no_volume: false,\n has_seconds: true,\n seconds_multipliers: [1],\n volume: \"hundreds\",\n volume_precision: 9,\n data_status: \"streaming\",\n resolution: \"1h\",\n };\n };\n const symbol = await symbolInfo();\n onSymbolResolvedCallback(symbol);\n };\n\n getBars = async (\n symbolInfo,\n resolution,\n periodParams,\n onHistoryCallback,\n onErrorCallback\n ) => {\n const { from, to, firstDataRequest } = periodParams;\n let interval = \"60\"; // 1 hour\n // Calculate interval using resolution data\n if (!/[a-zA-Z]$/.test(resolution)) {\n if (parseInt(resolution) >= 60) {\n interval = parseInt(resolution) / 60 + \"h\";\n } else {\n interval = resolution + \"m\";\n }\n } else {\n interval = resolution.toLowerCase().replace(/[a-z]\\b/g, c => c.toLowerCase())\n }\n\n let urlParameters = {\n symbol: symbolInfo.name,\n interval: interval,\n startTime: Math.abs(from * 1000),\n endTime: Math.abs(to * 1000),\n limit: 600,\n };\n\n const query = Object.keys(urlParameters)\n .map((name) => `${name}=${encodeURIComponent(urlParameters[name])}`)\n .join(\"&\");\n\n try {\n const data = await makeApiRequest(`api/v3/uiKlines?${query}`);\n if ((data.Response && data.Response === \"Error\") || data.length === 0) {\n // \"noData\" should be set if there is no data in the requested period.\n onHistoryCallback([], {\n noData: true,\n });\n return;\n }\n let bars = [];\n data.forEach((bar) => {\n if (bar[0] >= from * 1000 && bar[0] < to * 1000) {\n bars = [\n ...bars,\n {\n time: bar[0],\n low: bar[3],\n high: bar[2],\n open: bar[1],\n close: bar[4],\n volume: bar[5],\n },\n ];\n }\n });\n onHistoryCallback(bars, {\n noData: false,\n });\n } catch (error) {\n console.log(\"[getBars]: Get error\", error);\n onErrorCallback(error);\n }\n };\n\n getTimescaleMarks(symbolInfo, from, to, onDataCallback, resolution) {\n if (this.timescaleMarks.length > 0) {\n let timescaleMarks = Object.assign([], this.timescaleMarks);\n onDataCallback(timescaleMarks);\n }\n }\n\n async getServerTime(onServertimeCallback) {\n const data = await makeApiRequest(`api/v3/time`);\n const serverTime = (data.serverTime / 1000)\n onServertimeCallback(serverTime)\n }\n\n subscribeBars = (\n symbolInfo,\n resolution,\n onRealtimeCallback,\n subscribeUID,\n onResetCacheNeededCallback\n ) => {\n subscribeOnStream(\n symbolInfo,\n resolution,\n onRealtimeCallback,\n subscribeUID,\n onResetCacheNeededCallback,\n this.interval\n );\n };\n\n unsubscribeBars = (subscriberUID) => {\n unsubscribeFromStream(subscriberUID);\n };\n}\n"],"mappings":"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","names":["import_react","e","i","n","o","t","interval","orderLines"]}
|
|
1
|
+
{"version":3,"sources":["../src/components/TVChartContainer.tsx","../src/charting_library/charting_library.esm.js","../src/components/helpers.js","../src/components/streaming.js","../src/components/datafeed.js"],"sourcesContent":["import React, { useEffect, useRef, useState } from \"react\";\nimport {\n ChartingLibraryWidgetOptions,\n ResolutionString,\n widget,\n} from \"../charting_library\";\nimport Datafeed from \"./datafeed\";\nimport { useImmer } from \"use-immer\";\nimport { IOrderLine } from \"./charting-library-interfaces\";\n\nexport interface OrderLine extends IOrderLine {\n id: string;\n lineStyle?: number;\n}\n\ninterface TVChartContainerProps {\n symbol?: string;\n interval?: ResolutionString;\n libraryPath?: string;\n timescaleMarks?: any[];\n orderLines?: OrderLine[];\n height?: string;\n onTick?: (event: any) => void;\n getLatestBar?: (data: any) => void;\n}\n\nconst TVChartContainer: React.FC<TVChartContainerProps> = ({\n symbol = \"BTCUSDT\",\n interval = \"1h\" as ResolutionString,\n libraryPath = \"/charting_library/\",\n timescaleMarks = [],\n orderLines = [],\n height = \"calc(100vh - 80px)\",\n onTick,\n getLatestBar,\n}) => {\n const containerRef = useRef<HTMLDivElement | null>(null);\n\n const [chartOrderLines, setChartOrderLines] = useImmer<any[]>([]);\n const [widgetState, setWidgetState] = useImmer<any>(null);\n const [symbolState] = useState<string | null>(null);\n const prevTimescaleMarks = useRef<any[]>(timescaleMarks);\n\n useEffect(() => {\n if (!widgetState) {\n initializeChart(interval);\n }\n\n if (orderLines && orderLines.length > 0) {\n updateOrderLines(orderLines);\n }\n\n if (widgetState && symbol !== symbolState) {\n widgetState.setSymbol(symbol, interval);\n }\n\n if (\n widgetState &&\n prevTimescaleMarks.current &&\n timescaleMarks !== prevTimescaleMarks.current\n ) {\n widgetState._options.datafeed.timescaleMarks = timescaleMarks;\n prevTimescaleMarks.current = timescaleMarks;\n }\n }, [orderLines, timescaleMarks]);\n\n const initializeChart = (interval: ResolutionString) => {\n const widgetOptions: ChartingLibraryWidgetOptions = {\n symbol: symbol,\n datafeed: new Datafeed(timescaleMarks, interval),\n interval: interval,\n container: containerRef.current,\n library_path: libraryPath,\n locale: \"en\",\n fullscreen: false,\n autosize: true,\n studies_overrides: {},\n symbol_search_request_delay: 1000,\n overrides: {\n volumePaneSize: \"small\",\n \"mainSeriesProperties.barStyle.dontDrawOpen\": false,\n },\n };\n const tvWidget = new widget(widgetOptions);\n\n tvWidget.onChartReady(() => {\n tvWidget.subscribe(\"onTick\", (event: any) => onTick && onTick(event));\n setWidgetState(tvWidget);\n\n // get latest bar for last price\n const prices = async () => {\n const data = await tvWidget.activeChart().exportData({\n includeTime: false,\n includeSeries: true,\n includedStudies: [],\n });\n getLatestBar && getLatestBar(data.data[data.data.length - 1]);\n };\n prices();\n });\n };\n\n const updateOrderLines = (orderLines: OrderLine[]) => {\n if (chartOrderLines && chartOrderLines.length > 0) {\n chartOrderLines.forEach((item) => {\n orderLines.forEach((order) => {\n if (item.id == order.id) {\n item\n .setText(order.text)\n .setTooltip(order.tooltip)\n .setQuantity(order.quantity)\n .setPrice(order.price);\n }\n });\n });\n } else {\n if (widgetState && orderLines && orderLines.length > 0) {\n orderLines.forEach((order) => {\n const lineStyle = order.lineStyle || 0;\n let chartOrderLine = widgetState\n .chart()\n .createOrderLine()\n .setText(order.text)\n .setTooltip(order.tooltip)\n .setQuantity(order.quantity)\n .setQuantityFont(\"inherit 14px Arial\")\n .setQuantityBackgroundColor(order.color)\n .setQuantityBorderColor(order.color)\n .setLineStyle(lineStyle)\n .setLineLength(25)\n .setLineColor(order.color)\n .setBodyFont(\"inherit 14px Arial\")\n .setBodyBorderColor(order.color)\n .setBodyTextColor(order.color)\n .setPrice(order.price);\n\n // set custom id easier search\n chartOrderLine.id = order.id;\n\n setChartOrderLines((draft) => {\n draft.push(chartOrderLine);\n return draft;\n });\n });\n }\n }\n };\n\n return <div ref={containerRef} style={{ height: height }} />;\n};\n\nexport default TVChartContainer;","function e(t,i){const n={...t};for(const o in i)\"object\"!=typeof t[o]||null===t[o]||Array.isArray(t[o])?void 0!==i[o]&&(n[o]=i[o]):n[o]=e(t[o],i[o]);return n}const t={mobile:{disabled_features:[\"left_toolbar\",\"header_widget\",\"timeframes_toolbar\",\"edit_buttons_in_legend\",\"context_menus\",\"control_bar\",\"border_around_the_chart\"],enabled_features:[]}},i={width:800,height:500,interval:\"1D\",timezone:\"Etc/UTC\",container:\"\",library_path:\"\",locale:\"en\",widgetbar:{details:!1,watchlist:!1,watchlist_settings:{default_symbols:[]}},overrides:{\"mainSeriesProperties.showCountdown\":!1},studies_overrides:{},trading_customization:{position:{},order:{}},brokerConfig:{configFlags:{}},fullscreen:!1,autosize:!1,disabled_features:[],enabled_features:[],debug:!1,logo:{},time_frames:[{text:\"5y\",resolution:\"1W\"},{text:\"1y\",resolution:\"1W\"},{text:\"6m\",resolution:\"120\"},{text:\"3m\",resolution:\"60\"},{text:\"1m\",resolution:\"30\"},{text:\"5d\",resolution:\"5\"},{text:\"1d\",resolution:\"1\"}],client_id:\"0\",user_id:\"0\",charts_storage_api_version:\"1.0\",favorites:{intervals:[],chartTypes:[]}};let n=!1;function o(){return\"CL v21.064 (internal id f0bc1e45 @ 2022-03-17T12:19:26.809Z)\"}const s=class{constructor(o){if(this._id=`tradingview_${(1048576*(1+Math.random())|0).toString(16).substring(1)}`,this._ready=!1,this._readyHandlers=[],this._onWindowResize=this._autoResizeChart.bind(this),!o.datafeed)throw new Error(\"Datafeed is not defined\");if(this._options=e(i,o),o.preset){const e=t[o.preset];e?(void 0!==this._options.disabled_features?this._options.disabled_features=this._options.disabled_features.concat(e.disabled_features):this._options.disabled_features=e.disabled_features,void 0!==this._options.enabled_features?this._options.enabled_features=this._options.enabled_features.concat(e.enabled_features):this._options.enabled_features=e.enabled_features):console.warn(\"Unknown preset: `\"+o.preset+\"`\")}\"Dark\"===this._options.theme&&void 0===this._options.loading_screen&&(this._options.loading_screen={backgroundColor:\"#131722\"}),this._options.debug&&(n||(n=!0,console.log(\"Using CL v21.064 (internal id f0bc1e45 @ 2022-03-17T12:19:26.809Z)\"))),this._create()}onChartReady(e){this._ready?e.call(this):this._readyHandlers.push(e)}headerReady(){return this._innerWindowLoaded.then((()=>this._innerWindow().headerReady()))}onGrayedObjectClicked(e){this._doWhenInnerApiLoaded((t=>{t.onGrayedObjectClicked(e)}))}onShortcut(e,t){this._doWhenInnerWindowLoaded((i=>{i.createShortcutAction(e,t)}))}subscribe(e,t){this._doWhenInnerApiLoaded((i=>{i.subscribe(e,t)}))}unsubscribe(e,t){this._doWhenInnerApiLoaded((i=>{i.unsubscribe(e,t)}))}chart(e){return this._innerAPI().chart(e)}getLanguage(){return this._options.locale}setSymbol(e,t,i){this._innerAPI().changeSymbol(e,t,i)}remove(){window.removeEventListener(\"resize\",this._onWindowResize),this._readyHandlers.splice(0,this._readyHandlers.length),delete window[this._id],this._iFrame.parentNode&&this._iFrame.parentNode.removeChild(this._iFrame)}closePopupsAndDialogs(){this._doWhenInnerApiLoaded((e=>{e.closePopupsAndDialogs()}))}selectLineTool(e){this._innerAPI().selectLineTool(e)}selectedLineTool(){return this._innerAPI().selectedLineTool()}save(e){this._innerAPI().saveChart(e)}load(e,t){this._innerAPI().loadChart({json:e,extendedData:t})}getSavedCharts(e){this._innerAPI().getSavedCharts(e)}loadChartFromServer(e){this._innerAPI().loadChartFromServer(e)}saveChartToServer(e,t,i){this._innerAPI().saveChartToServer(e,t,i)}removeChartFromServer(e,t){this._innerAPI().removeChartFromServer(e,t)}onContextMenu(e){this._doWhenInnerApiLoaded((t=>{t.onContextMenu(e)}))}createButton(e){return this._innerWindow().createButton(e)}createDropdown(e){return this._innerWindow().createDropdown(e)}showNoticeDialog(e){this._doWhenInnerApiLoaded((t=>{t.showNoticeDialog(e)}))}showConfirmDialog(e){this._doWhenInnerApiLoaded((t=>{t.showConfirmDialog(e)}))}showLoadChartDialog(){this._innerAPI().showLoadChartDialog()}showSaveAsChartDialog(){this._innerAPI().showSaveAsChartDialog()}symbolInterval(){return this._innerAPI().getSymbolInterval()}mainSeriesPriceFormatter(){return this._innerAPI().mainSeriesPriceFormatter()}getIntervals(){return this._innerAPI().getIntervals()}getStudiesList(){return this._innerAPI().getStudiesList()}getStudyInputs(e){return this._innerAPI().getStudyInputs(e)}addCustomCSSFile(e){this._innerWindow().addCustomCSSFile(e)}applyOverrides(t){this._options=e(this._options,{overrides:t}),this._doWhenInnerWindowLoaded((e=>{e.applyOverrides(t)}))}applyStudiesOverrides(e){this._doWhenInnerWindowLoaded((t=>{t.applyStudiesOverrides(e)}))}watchList(){return this._innerAPI().watchlist()}news(){return this._innerAPI().news()}activeChart(){return this._innerAPI().activeChart()}chartsCount(){return this._innerAPI().chartsCount()}layout(){return this._innerAPI().layout()}setLayout(e){this._innerAPI().setLayout(e)}layoutName(){return this._innerAPI().layoutName()}changeTheme(e,t){return this._innerWindow().changeTheme(e,t)}getTheme(){return this._innerWindow().getTheme()}takeScreenshot(){this._doWhenInnerApiLoaded((e=>{e.takeScreenshot()}))}lockAllDrawingTools(){return this._innerAPI().lockAllDrawingTools()}hideAllDrawingTools(){return this._innerAPI().hideAllDrawingTools()}drawOnAllCharts(e){this._innerAPI().drawOnAllCharts(e)}magnetEnabled(){return this._innerAPI().magnetEnabled()}magnetMode(){return this._innerAPI().magnetMode()}undoRedoState(){return this._innerAPI().undoRedoState()}setIntervalLinkingEnabled(e){this._innerAPI().setIntervalLinkingEnabled(e)}setTimeFrame(e){this._innerAPI().setTimeFrame(e)}symbolSync(){return this._innerAPI().symbolSync()}intervalSync(){return this._innerAPI().intervalSync()}crosshairSync(){return this._innerAPI().crosshairSync()}timeSync(){return this._innerAPI().timeSync()}getAllFeatures(){return this._innerWindow().getAllFeatures()}clearUndoHistory(){return this._innerAPI().clearUndoHistory()}undo(){return this._innerAPI().undo()}redo(){return this._innerAPI().redo()}startFullscreen(){this._innerAPI().startFullscreen()}exitFullscreen(){this._innerAPI().exitFullscreen()}takeClientScreenshot(e){return this._innerAPI().takeClientScreenshot(e)}navigationButtonsVisibility(){return this._innerWindow().getNavigationButtonsVisibility()}paneButtonsVisibility(){return this._innerWindow().getPaneButtonsVisibility()}dateFormat(){return this._innerWindow().getDateFormat()}_innerAPI(){return this._innerWindow().tradingViewApi}_innerWindow(){return this._iFrame.contentWindow}_doWhenInnerWindowLoaded(e){this._ready?e(this._innerWindow()):this._innerWindowLoaded.then((()=>{e(this._innerWindow())}))}_doWhenInnerApiLoaded(e){this._doWhenInnerWindowLoaded((t=>{t.doWhenApiIsReady((()=>e(this._innerAPI())))}))}_autoResizeChart(){this._options.fullscreen&&(this._iFrame.style.height=window.innerHeight+\"px\")}_create(){const e=this._render();this._options.container_id&&console.warn(\"`container_id` is now deprecated. Please use `container` instead to either still pass a string or an `HTMLElement`.\");const t=this._options.container_id||this._options.container,i=\"string\"==typeof t?document.getElementById(t):t;if(null===i)throw new Error(`There is no such element - #${this._options.container}`);i.innerHTML=e,this._iFrame=i.querySelector(`#${this._id}`);const n=this._iFrame;(this._options.autosize||this._options.fullscreen)&&(n.style.width=\"100%\",this._options.fullscreen||(n.style.height=\"100%\")),window.addEventListener(\"resize\",this._onWindowResize),this._onWindowResize(),this._innerWindowLoaded=new Promise((e=>{const t=()=>{n.removeEventListener(\"load\",t,!1),e()};n.addEventListener(\"load\",t,!1)})),this._innerWindowLoaded.then((()=>{this._innerWindow().widgetReady((()=>{this._ready=!0;for(const e of this._readyHandlers)try{e.call(this)}catch(e){console.error(e)}this._innerWindow().initializationFinished()}))}))}_render(){const e=window;if(e[this._id]={datafeed:this._options.datafeed,customFormatters:this._options.custom_formatters||this._options.customFormatters,brokerFactory:this._options.broker_factory||this._options.brokerFactory,overrides:this._options.overrides,studiesOverrides:this._options.studies_overrides,tradingCustomization:this._options.trading_customization,disabledFeatures:this._options.disabled_features,enabledFeatures:this._options.enabled_features,brokerConfig:this._options.broker_config||this._options.brokerConfig,restConfig:this._options.restConfig,favorites:this._options.favorites,logo:this._options.logo,numeric_formatting:this._options.numeric_formatting,rss_news_feed:this._options.rss_news_feed,newsProvider:this._options.news_provider,loadLastChart:this._options.load_last_chart,saveLoadAdapter:this._options.save_load_adapter,loading_screen:this._options.loading_screen,settingsAdapter:this._options.settings_adapter,getCustomIndicators:this._options.custom_indicators_getter,additionalSymbolInfoFields:this._options.additional_symbol_info_fields,headerWidgetButtonsMode:this._options.header_widget_buttons_mode,symbolSearchComplete:this._options.symbol_search_complete},this._options.saved_data)e[this._id].chartContent={json:this._options.saved_data},this._options.saved_data_meta_info&&(e[this._id].chartContentExtendedData=this._options.saved_data_meta_info);else if(!this._options.load_last_chart&&!this._options.symbol)throw new Error(\"Symbol is not defined: either 'symbol' or 'load_last_chart' option must be set\");const t=(this._options.library_path||\"\")+`${encodeURIComponent(this._options.locale)}-tv-chart.f0bc1e45.html#symbol=`+encodeURIComponent(this._options.symbol||\"\")+\"&interval=\"+encodeURIComponent(this._options.interval)+(this._options.timeframe?\"&timeframe=\"+encodeURIComponent(this._options.timeframe):\"\")+(this._options.toolbar_bg?\"&toolbarbg=\"+encodeURIComponent(this._options.toolbar_bg.replace(\"#\",\"\")):\"\")+(this._options.studies_access?\"&studiesAccess=\"+encodeURIComponent(JSON.stringify(this._options.studies_access)):\"\")+\"&widgetbar=\"+encodeURIComponent(JSON.stringify(this._options.widgetbar))+(this._options.drawings_access?\"&drawingsAccess=\"+encodeURIComponent(JSON.stringify(this._options.drawings_access)):\"\")+\"&timeFrames=\"+encodeURIComponent(JSON.stringify(this._options.time_frames))+\"&locale=\"+encodeURIComponent(this._options.locale)+\"&uid=\"+encodeURIComponent(this._id)+\"&clientId=\"+encodeURIComponent(String(this._options.client_id))+\"&userId=\"+encodeURIComponent(String(this._options.user_id))+(this._options.charts_storage_url?\"&chartsStorageUrl=\"+encodeURIComponent(this._options.charts_storage_url):\"\")+(this._options.charts_storage_api_version?\"&chartsStorageVer=\"+encodeURIComponent(this._options.charts_storage_api_version):\"\")+(this._options.custom_css_url?\"&customCSS=\"+encodeURIComponent(this._options.custom_css_url):\"\")+(this._options.auto_save_delay?\"&autoSaveDelay=\"+encodeURIComponent(String(this._options.auto_save_delay)):\"\")+\"&debug=\"+encodeURIComponent(String(this._options.debug))+(this._options.snapshot_url?\"&snapshotUrl=\"+encodeURIComponent(this._options.snapshot_url):\"\")+(this._options.timezone?\"&timezone=\"+encodeURIComponent(this._options.timezone):\"\")+(this._options.study_count_limit?\"&studyCountLimit=\"+encodeURIComponent(String(this._options.study_count_limit)):\"\")+(this._options.symbol_search_request_delay?\"&ssreqdelay=\"+encodeURIComponent(String(this._options.symbol_search_request_delay)):\"\")+(this._options.compare_symbols?\"&compareSymbols=\"+encodeURIComponent(JSON.stringify(this._options.compare_symbols)):\"\")+(this._options.theme?\"&theme=\"+encodeURIComponent(String(this._options.theme)):\"\")+(this._options.header_widget_buttons_mode?\"&header_widget_buttons_mode=\"+encodeURIComponent(String(this._options.header_widget_buttons_mode)):\"\")+(this._options.time_scale?\"&time_scale=\"+encodeURIComponent(JSON.stringify(this._options.time_scale)):\"\");return'<iframe id=\"'+this._id+'\" name=\"'+this._id+'\" src=\"'+t+'\"'+(this._options.autosize||this._options.fullscreen?\"\":' width=\"'+this._options.width+'\" height=\"'+this._options.height+'\"')+' title=\"Financial Chart\" frameborder=\"0\" allowTransparency=\"true\" scrolling=\"no\" allowfullscreen style=\"display:block;\"></iframe>'}};window.TradingView=window.TradingView||{},window.TradingView.version=o;export{o as version,s as widget};\n","import { useEffect, useRef } from \"react\";\n\n\nexport async function makeApiRequest(path) {\n try {\n const response = await fetch(`https://api.binance.com/${path}`);\n return response.json();\n } catch (error) {\n throw new Error(`Binance request error: ${error.status}`);\n }\n}\n\nexport async function getAllSymbols(symbol) {\n let newSymbols = [];\n try {\n const data = await makeApiRequest(`api/v3/exchangeInfo?symbol=${symbol.toUpperCase()}`);\n data.symbols.forEach(item => {\n if (item.status === \"TRADING\") {\n newSymbols.push({\n symbol: item.symbol,\n full_name: `${item.baseAsset}/${item.quoteAsset}`,\n description: `Precision: ${item.quoteAssetPrecision}`,\n exchange: \"Binance\",\n ticker: item.symbol,\n type: \"crypto\",\n });\n }\n });\n } catch (e) {\n return newSymbols\n }\n return newSymbols;\n}\n\nexport function usePrevious(value) {\n const ref = useRef();\n useEffect(() => {\n ref.current = value;\n });\n return ref.current;\n}\n","const channelToSubscription = new Map();\n\nfunction setupSockets(subRequest) {\n const socket = new WebSocket(\"wss://stream.binance.com:9443/ws\");\n window.socket = socket;\n socket.onopen = (event) => {\n console.log(\"[socket] Connected\");\n socket.send(JSON.stringify(subRequest));\n };\n\n socket.onclose = (reason) => {\n console.log(\"[socket] Disconnected:\", reason);\n };\n\n socket.onerror = (error) => {\n console.log(\"[socket] Error:\", error);\n };\n\n socket.onmessage = (e) => {\n const data = JSON.parse(e.data);\n if (data.e == undefined) {\n // skip all non-TRADE events\n return;\n }\n const {\n s: symbol,\n t: startTime,\n T: closeTime,\n i: interval,\n o: open,\n c: close,\n h: high,\n l: low,\n v: volume,\n n: trades,\n q: quoteVolume,\n } = data.k;\n\n const channelString = `${symbol.toLowerCase()}@kline_${interval}`;\n const subscriptionItem = channelToSubscription.get(channelString);\n if (subscriptionItem === undefined) {\n return;\n }\n const bar = {\n time: startTime,\n open: open,\n high: high,\n low: low,\n close: close,\n volume: volume,\n };\n // send data to every subscriber of that symbol\n subscriptionItem.handlers.forEach((handler) => handler.callback(bar));\n };\n}\n\nexport function subscribeOnStream(\n symbolInfo,\n resolution,\n onRealtimeCallback,\n subscribeUID,\n onResetCacheNeededCallback,\n interval\n) {\n const channelString = `${symbolInfo.name.toLowerCase()}@kline_${interval}`;\n const handler = {\n id: subscribeUID,\n callback: onRealtimeCallback,\n };\n let subscriptionItem = channelToSubscription.get(channelString);\n if (subscriptionItem) {\n // already subscribed to the channel, use the existing subscription\n subscriptionItem.handlers.push(handler);\n return;\n }\n subscriptionItem = {\n subscribeUID,\n resolution,\n handlers: [handler],\n };\n const subRequest = {\n method: \"SUBSCRIBE\",\n params: [channelString],\n id: 1,\n };\n channelToSubscription.set(channelString, subscriptionItem);\n setupSockets(subRequest);\n}\n\nexport function unsubscribeFromStream(subscriberUID) {\n // find a subscription with id === subscriberUID\n for (const channelString of channelToSubscription.keys()) {\n const subscriptionItem = channelToSubscription.get(channelString);\n const handlerIndex = subscriptionItem.handlers.findIndex(\n (handler) => handler.id === subscriberUID\n );\n\n if (handlerIndex !== -1) {\n // remove from handlers\n subscriptionItem.handlers.splice(handlerIndex, 1);\n\n if (subscriptionItem.handlers.length === 0) {\n // unsubscribe from the channel, if it was the last handler\n console.log(\n \"[unsubscribeBars]: Unsubscribe from streaming. Channel:\",\n channelString\n );\n const subRequest = {\n method: \"UNSUBSCRIBE\",\n params: [channelString],\n id: 1,\n };\n window.socket.send(JSON.stringify(subRequest));\n channelToSubscription.delete(channelString);\n window.socket = undefined;\n break;\n }\n }\n }\n}\n","import { getAllSymbols, makeApiRequest } from \"./helpers.js\";\nimport { subscribeOnStream, unsubscribeFromStream } from \"./streaming.js\";\n\nconst binanceResolutions = [\n \"1s\",\n \"1m\",\n \"3m\",\n \"5m\",\n \"15m\",\n \"30m\",\n \"1h\",\n \"2h\",\n \"4h\",\n \"6h\",\n \"8h\",\n \"12h\",\n \"1d\",\n \"3d\",\n \"1w\",\n \"1M\",\n];\n\nconst getConfigurationData = async () => {\n return {\n supports_marks: true,\n supports_timescale_marks: true,\n supports_time: true,\n supported_resolutions: [\n \"1S\",\n \"1\",\n \"3\",\n \"5\",\n \"15\",\n \"30\",\n \"60\",\n \"120\",\n \"240\",\n \"360\",\n \"480\",\n \"720\",\n \"1D\",\n \"3D\",\n \"1W\",\n \"12M\",\n ],\n exchanges: [\n {\n value: \"Binance\",\n name: \"Binance\",\n desc: \"Binance\",\n },\n ],\n symbols_types: [\n {\n name: \"crypto\",\n value: \"crypto\",\n },\n ],\n };\n};\n\n/**\n * @param timescale { Array }. timescaleMark objects\n * @param interval { string }. Klines timescale from the list of Binance Enums\n */\nexport default class Datafeed {\n constructor(timescaleMarks = [], interval = \"1h\") {\n this.streaming = null;\n this.timescaleMarks = timescaleMarks;\n this.interval = interval\n }\n onReady = async (callback) => {\n this.configurationData = await getConfigurationData();\n callback(this.configurationData);\n };\n\n searchSymbols = async (\n userInput,\n exchange,\n symbolType,\n onResultReadyCallback\n ) => {\n const symbols = await getAllSymbols(userInput);\n onResultReadyCallback(symbols);\n };\n\n resolveSymbol = async (\n symbolName,\n onSymbolResolvedCallback,\n onResolveErrorCallback\n ) => {\n if (!symbolName) {\n await onResolveErrorCallback(\"cannot resolve symbol\");\n return;\n }\n\n const symbolInfo = () => {\n return {\n name: symbolName,\n ticker: symbolName,\n description: symbolName,\n type: \"crypto\",\n session: \"24x7\",\n timezone: \"Etc/UTC\",\n exchange: \"Binance\",\n minmov: 100,\n pricescale: 100000,\n has_daily: true, \n has_intraday: true,\n has_no_volume: false,\n has_seconds: true,\n seconds_multipliers: [1],\n volume: \"hundreds\",\n volume_precision: 9,\n data_status: \"streaming\",\n resolution: \"1h\",\n };\n };\n const symbol = await symbolInfo();\n onSymbolResolvedCallback(symbol);\n };\n\n getBars = async (\n symbolInfo,\n resolution,\n periodParams,\n onHistoryCallback,\n onErrorCallback\n ) => {\n const { from, to, firstDataRequest } = periodParams;\n let interval = \"60\"; // 1 hour\n // Calculate interval using resolution data\n if (!/[a-zA-Z]$/.test(resolution)) {\n if (parseInt(resolution) >= 60) {\n interval = parseInt(resolution) / 60 + \"h\";\n } else {\n interval = resolution + \"m\";\n }\n } else {\n interval = resolution.toLowerCase().replace(/[a-z]\\b/g, c => c.toLowerCase())\n }\n\n let urlParameters = {\n symbol: symbolInfo.name,\n interval: interval,\n startTime: Math.abs(from * 1000),\n endTime: Math.abs(to * 1000),\n limit: 600,\n };\n\n const query = Object.keys(urlParameters)\n .map((name) => `${name}=${encodeURIComponent(urlParameters[name])}`)\n .join(\"&\");\n\n try {\n const data = await makeApiRequest(`api/v3/uiKlines?${query}`);\n if ((data.Response && data.Response === \"Error\") || data.length === 0) {\n // \"noData\" should be set if there is no data in the requested period.\n onHistoryCallback([], {\n noData: true,\n });\n return;\n }\n let bars = [];\n data.forEach((bar) => {\n if (bar[0] >= from * 1000 && bar[0] < to * 1000) {\n bars = [\n ...bars,\n {\n time: bar[0],\n low: bar[3],\n high: bar[2],\n open: bar[1],\n close: bar[4],\n volume: bar[5],\n },\n ];\n }\n });\n onHistoryCallback(bars, {\n noData: false,\n });\n } catch (error) {\n console.log(\"[getBars]: Get error\", error);\n onErrorCallback(error);\n }\n };\n\n getTimescaleMarks(symbolInfo, from, to, onDataCallback, resolution) {\n if (this.timescaleMarks.length > 0) {\n let timescaleMarks = Object.assign([], this.timescaleMarks);\n onDataCallback(timescaleMarks);\n }\n }\n\n async getServerTime(onServertimeCallback) {\n const data = await makeApiRequest(`api/v3/time`);\n const serverTime = (data.serverTime / 1000)\n onServertimeCallback(serverTime)\n }\n\n subscribeBars = (\n symbolInfo,\n resolution,\n onRealtimeCallback,\n subscribeUID,\n onResetCacheNeededCallback\n ) => {\n subscribeOnStream(\n symbolInfo,\n resolution,\n onRealtimeCallback,\n subscribeUID,\n onResetCacheNeededCallback,\n this.interval\n );\n };\n\n unsubscribeBars = (subscriberUID) => {\n unsubscribeFromStream(subscriberUID);\n };\n}\n"],"mappings":"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","names":["import_react","t","i","n","o","e","e","e","interval","orderLines"]}
|