binbot-charts 0.6.2 → 0.6.8
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/babel.config.json +13 -0
- package/browserslist +31 -0
- package/dist/{TVChartContainer.d.mts → main.d.mts} +10 -10
- package/dist/{TVChartContainer.d.ts → main.d.ts} +10 -10
- package/dist/{TVChartContainer.js → main.js} +25 -25
- package/dist/main.js.map +1 -0
- package/dist/{TVChartContainer.mjs → main.mjs} +22 -22
- package/dist/main.mjs.map +1 -0
- package/package.json +4 -8
- package/public/charting_library/charting_library.standalone.js +1 -0
- package/public/index.html +23 -0
- package/src/App.css +26 -0
- package/src/App.tsx +100 -0
- package/src/charting-library-interfaces.d.ts +36 -0
- package/src/datafeed.ts +283 -0
- package/src/helpers.ts +41 -0
- package/src/index.css +5 -0
- package/src/index.tsx +10 -0
- package/src/main.tsx +151 -0
- package/src/streaming.ts +124 -0
- package/tsconfig.json +97 -0
- package/tsup.config.ts +10 -0
- package/dist/TVChartContainer.js.map +0 -1
- package/dist/TVChartContainer.mjs.map +0 -1
- package/dist/charting_library/ar-tv-chart.f0bc1e45.html +0 -1
- package/dist/charting_library/charting_library.standalone.js +0 -540
- package/dist/charting_library/cs-tv-chart.f0bc1e45.html +0 -1
- package/dist/charting_library/da_DK-tv-chart.f0bc1e45.html +0 -1
- package/dist/charting_library/de-tv-chart.f0bc1e45.html +0 -1
- package/dist/charting_library/el-tv-chart.f0bc1e45.html +0 -1
- package/dist/charting_library/es-tv-chart.f0bc1e45.html +0 -1
- package/dist/charting_library/et_EE-tv-chart.f0bc1e45.html +0 -1
- package/dist/charting_library/fa-tv-chart.f0bc1e45.html +0 -1
- package/dist/charting_library/fr-tv-chart.f0bc1e45.html +0 -1
- package/dist/charting_library/he_IL-tv-chart.f0bc1e45.html +0 -1
- package/dist/charting_library/hu_HU-tv-chart.f0bc1e45.html +0 -1
- package/dist/charting_library/id_ID-tv-chart.f0bc1e45.html +0 -1
- package/dist/charting_library/it-tv-chart.f0bc1e45.html +0 -1
- package/dist/charting_library/ja-tv-chart.f0bc1e45.html +0 -1
- package/dist/charting_library/ko-tv-chart.f0bc1e45.html +0 -1
- package/dist/charting_library/ms_MY-tv-chart.f0bc1e45.html +0 -1
- package/dist/charting_library/nl_NL-tv-chart.f0bc1e45.html +0 -1
- package/dist/charting_library/no-tv-chart.f0bc1e45.html +0 -1
- package/dist/charting_library/pl-tv-chart.f0bc1e45.html +0 -1
- package/dist/charting_library/pt-tv-chart.f0bc1e45.html +0 -1
- package/dist/charting_library/ro-tv-chart.f0bc1e45.html +0 -1
- package/dist/charting_library/ru-tv-chart.f0bc1e45.html +0 -1
- package/dist/charting_library/sk_SK-tv-chart.f0bc1e45.html +0 -1
- package/dist/charting_library/sv-tv-chart.f0bc1e45.html +0 -1
- package/dist/charting_library/th-tv-chart.f0bc1e45.html +0 -1
- package/dist/charting_library/tr-tv-chart.f0bc1e45.html +0 -1
- package/dist/charting_library/vi-tv-chart.f0bc1e45.html +0 -1
- package/dist/charting_library/zh-tv-chart.f0bc1e45.html +0 -1
- package/dist/charting_library/zh_TW-tv-chart.f0bc1e45.html +0 -1
- /package/{dist → public}/charting_library/bundles/0.d46f0b5e9380d7893de5.js +0 -0
- /package/{dist → public}/charting_library/bundles/0579d40b812fa2c3ffe72e5803a6e14c.cur +0 -0
- /package/{dist → public}/charting_library/bundles/1.92647ec0a7beb8b2898d.css +0 -0
- /package/{dist → public}/charting_library/bundles/1.92647ec0a7beb8b2898d.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/1.f02c87d35fbc8ffcaedb.js +0 -0
- /package/{dist → public}/charting_library/bundles/10.21e665b7935d5bc4ba64.js +0 -0
- /package/{dist → public}/charting_library/bundles/11.8b65dc2e0d8b6e5041c4.css +0 -0
- /package/{dist → public}/charting_library/bundles/11.8b65dc2e0d8b6e5041c4.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/11.df012db70159a159d927.js +0 -0
- /package/{dist → public}/charting_library/bundles/12.37750b21f6d8d35c6e6e.js +0 -0
- /package/{dist → public}/charting_library/bundles/12.ef8057448f3a7ae1c3d8.css +0 -0
- /package/{dist → public}/charting_library/bundles/12.ef8057448f3a7ae1c3d8.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/13.699469c73d09b7add56d.js +0 -0
- /package/{dist → public}/charting_library/bundles/13.9240f13280154f2593b7.css +0 -0
- /package/{dist → public}/charting_library/bundles/13.9240f13280154f2593b7.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/14.8095b40dd1e7deedf401.css +0 -0
- /package/{dist → public}/charting_library/bundles/14.8095b40dd1e7deedf401.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/14.d1148b38d59df9ca5061.js +0 -0
- /package/{dist → public}/charting_library/bundles/15.44f2acca80348a1da1a6.js +0 -0
- /package/{dist → public}/charting_library/bundles/16.680572949c1125757d35.js +0 -0
- /package/{dist → public}/charting_library/bundles/16.d567c9db608f3d98d8de.css +0 -0
- /package/{dist → public}/charting_library/bundles/16.d567c9db608f3d98d8de.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/17.404a01f527881dfff424.js +0 -0
- /package/{dist → public}/charting_library/bundles/17.ec35a19db935279c5b42.css +0 -0
- /package/{dist → public}/charting_library/bundles/17.ec35a19db935279c5b42.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/18.78de69cfba051874e071.js +0 -0
- /package/{dist → public}/charting_library/bundles/19.048f7f5d36fef428ca8d.js +0 -0
- /package/{dist → public}/charting_library/bundles/19.75c30426f9d3ad5ca0c5.css +0 -0
- /package/{dist → public}/charting_library/bundles/19.75c30426f9d3ad5ca0c5.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/1df47f578aeef40dd1f2328338a133be.png +0 -0
- /package/{dist → public}/charting_library/bundles/2.60931787a6734697ac13.js +0 -0
- /package/{dist → public}/charting_library/bundles/20.bc09ed47c5a62e1bc5c2.js +0 -0
- /package/{dist → public}/charting_library/bundles/21.4c7b5cccb67a95e7e782.js +0 -0
- /package/{dist → public}/charting_library/bundles/21.8153544955cdc47262e3.css +0 -0
- /package/{dist → public}/charting_library/bundles/21.8153544955cdc47262e3.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/22.ca4300bcf614d8d5f4ab.js +0 -0
- /package/{dist → public}/charting_library/bundles/22.da9773799a06c6066d1e.css +0 -0
- /package/{dist → public}/charting_library/bundles/22.da9773799a06c6066d1e.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/23.256ba98e6a03200bdeba.js +0 -0
- /package/{dist → public}/charting_library/bundles/23.ee754f50171546186397.css +0 -0
- /package/{dist → public}/charting_library/bundles/23.ee754f50171546186397.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/24.bc4fafedb1730259aa10.js +0 -0
- /package/{dist → public}/charting_library/bundles/24.e70c1623e0c74477ef2e.css +0 -0
- /package/{dist → public}/charting_library/bundles/24.e70c1623e0c74477ef2e.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/25.7416db26ed3dcc87c05a.js +0 -0
- /package/{dist → public}/charting_library/bundles/26.3aeec391d4e6e19989ee.js +0 -0
- /package/{dist → public}/charting_library/bundles/26.69139a843bc1c84f790b.css +0 -0
- /package/{dist → public}/charting_library/bundles/26.69139a843bc1c84f790b.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/27.e3ec08b1fb9df5f36ada.js +0 -0
- /package/{dist → public}/charting_library/bundles/28.3140e8cb507ad2593c76.css +0 -0
- /package/{dist → public}/charting_library/bundles/28.3140e8cb507ad2593c76.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/28.9f103042c27ea2df422f.js +0 -0
- /package/{dist → public}/charting_library/bundles/29.07af6dca962ea27209f0.css +0 -0
- /package/{dist → public}/charting_library/bundles/29.07af6dca962ea27209f0.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/29.3df8712b85d45a626aa0.js +0 -0
- /package/{dist → public}/charting_library/bundles/3.76c398b01b707e5b251c.js +0 -0
- /package/{dist → public}/charting_library/bundles/3.eeb90413029441681f91.css +0 -0
- /package/{dist → public}/charting_library/bundles/3.eeb90413029441681f91.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/30.0b732ccb122d160480b6.js +0 -0
- /package/{dist → public}/charting_library/bundles/31.8d2b7a538755fd1bb760.js +0 -0
- /package/{dist → public}/charting_library/bundles/32.13ce02217cf8f9dd6d90.js +0 -0
- /package/{dist → public}/charting_library/bundles/3293616ec0c605c7c2db25829a0a509e.woff +0 -0
- /package/{dist → public}/charting_library/bundles/33.02ed7df481ae8243d2f2.css +0 -0
- /package/{dist → public}/charting_library/bundles/33.02ed7df481ae8243d2f2.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/33.4d0dd1f7001fc02099bb.js +0 -0
- /package/{dist → public}/charting_library/bundles/34.4b6099931f57311efc1a.css +0 -0
- /package/{dist → public}/charting_library/bundles/34.4b6099931f57311efc1a.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/34.c9baa59add71a1e48fd2.js +0 -0
- /package/{dist → public}/charting_library/bundles/35.999f0e072062b7369a1a.css +0 -0
- /package/{dist → public}/charting_library/bundles/35.999f0e072062b7369a1a.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/35.ed9e360f9686ad3a9497.js +0 -0
- /package/{dist → public}/charting_library/bundles/36.1882d1a8d312a0e193e9.js +0 -0
- /package/{dist → public}/charting_library/bundles/36.f315a19c17d5636af8f7.css +0 -0
- /package/{dist → public}/charting_library/bundles/36.f315a19c17d5636af8f7.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/37.90129e4904155350d6a1.js +0 -0
- /package/{dist → public}/charting_library/bundles/38.41f3d509b61c8af47de3.js +0 -0
- /package/{dist → public}/charting_library/bundles/39.74a7bc3b464cd284827f.css +0 -0
- /package/{dist → public}/charting_library/bundles/39.74a7bc3b464cd284827f.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/39.bc1e9ce938fd5152831f.js +0 -0
- /package/{dist → public}/charting_library/bundles/4.92647ec0a7beb8b2898d.css +0 -0
- /package/{dist → public}/charting_library/bundles/4.92647ec0a7beb8b2898d.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/4.c7430b8d89cddcf51345.js +0 -0
- /package/{dist → public}/charting_library/bundles/40.b59f41ba4cacbfb8acc3.js +0 -0
- /package/{dist → public}/charting_library/bundles/40566afd832a155e5e370a8bd423de4b.svg +0 -0
- /package/{dist → public}/charting_library/bundles/40f9a03d174178efb12303caa9bc7cd8.woff2 +0 -0
- /package/{dist → public}/charting_library/bundles/41.8fa0fb0bd4ad0241ef2f.css +0 -0
- /package/{dist → public}/charting_library/bundles/41.8fa0fb0bd4ad0241ef2f.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/41.a19b0ae5d68f855d2753.js +0 -0
- /package/{dist → public}/charting_library/bundles/42.494986b0981f6d116fef.js +0 -0
- /package/{dist → public}/charting_library/bundles/42.9078fb8f1629e3eee9bd.css +0 -0
- /package/{dist → public}/charting_library/bundles/42.9078fb8f1629e3eee9bd.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/43.619c5ed4a592cc2965a4.js +0 -0
- /package/{dist → public}/charting_library/bundles/43.8bf90585004742c338c5.css +0 -0
- /package/{dist → public}/charting_library/bundles/43.8bf90585004742c338c5.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/44.0a7df307e4f397763ce8.js +0 -0
- /package/{dist → public}/charting_library/bundles/45.12a19785e3864bd62a76.css +0 -0
- /package/{dist → public}/charting_library/bundles/45.12a19785e3864bd62a76.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/45.db9dbd3e9bfeca5333da.js +0 -0
- /package/{dist → public}/charting_library/bundles/46.f1d4cfe6d6f830b4a011.js +0 -0
- /package/{dist → public}/charting_library/bundles/47.a3da3f774c90bd22798e.js +0 -0
- /package/{dist → public}/charting_library/bundles/48.a3fdb9dd54af71b3bda6.css +0 -0
- /package/{dist → public}/charting_library/bundles/48.a3fdb9dd54af71b3bda6.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/48.a93f9cb8b1bcc0e0f21e.js +0 -0
- /package/{dist → public}/charting_library/bundles/49.bacd609f7eb77a4a4b68.js +0 -0
- /package/{dist → public}/charting_library/bundles/49.d723843c9192493b8c13.css +0 -0
- /package/{dist → public}/charting_library/bundles/49.d723843c9192493b8c13.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/4a9abefd31dab7c8239e02e925aacd78.png +0 -0
- /package/{dist → public}/charting_library/bundles/4fafff07d8914dc11f6d335f606ff47c.png +0 -0
- /package/{dist → public}/charting_library/bundles/5.5e97b270ab80d99e9085.js +0 -0
- /package/{dist → public}/charting_library/bundles/50.8d5cba5b90176d3d2e3d.css +0 -0
- /package/{dist → public}/charting_library/bundles/50.8d5cba5b90176d3d2e3d.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/50.b282667dddcb7fe1569a.js +0 -0
- /package/{dist → public}/charting_library/bundles/51.11871c50951db825ace3.js +0 -0
- /package/{dist → public}/charting_library/bundles/51.300c3df03ca063ec03a0.css +0 -0
- /package/{dist → public}/charting_library/bundles/51.300c3df03ca063ec03a0.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/52.0379a85baae3ab43b15c.js +0 -0
- /package/{dist → public}/charting_library/bundles/52.29cec22b3525b47af67e.css +0 -0
- /package/{dist → public}/charting_library/bundles/52.29cec22b3525b47af67e.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/53.1d3ec98cfb8e19affb1c.js +0 -0
- /package/{dist → public}/charting_library/bundles/54.bb5888ae55ea0a253a5b.js +0 -0
- /package/{dist → public}/charting_library/bundles/55.3c35a629db21ab961f11.js +0 -0
- /package/{dist → public}/charting_library/bundles/56.b3e69145c0fee614443d.js +0 -0
- /package/{dist → public}/charting_library/bundles/57.236996ec416da4c1f683.js +0 -0
- /package/{dist → public}/charting_library/bundles/58.7ffac4ba908b95705e63.js +0 -0
- /package/{dist → public}/charting_library/bundles/59.397cb6699b74d64072a8.js +0 -0
- /package/{dist → public}/charting_library/bundles/59.418f1db161eefae63284.css +0 -0
- /package/{dist → public}/charting_library/bundles/59.418f1db161eefae63284.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/6.2221bb6a5d920bbb4bb2.css +0 -0
- /package/{dist → public}/charting_library/bundles/6.2221bb6a5d920bbb4bb2.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/6.2d67b0ae77825dbd455d.js +0 -0
- /package/{dist → public}/charting_library/bundles/60.6b5eced2ef8fa856be88.js +0 -0
- /package/{dist → public}/charting_library/bundles/60.d4583c71cca790a25900.css +0 -0
- /package/{dist → public}/charting_library/bundles/60.d4583c71cca790a25900.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/61.38a3040c925fadff7b64.js +0 -0
- /package/{dist → public}/charting_library/bundles/62.63b309f5f8da9ca013b8.js +0 -0
- /package/{dist → public}/charting_library/bundles/63.8255c7f5191bcafcee7c.js +0 -0
- /package/{dist → public}/charting_library/bundles/63.898a61bf08239711dc74.css +0 -0
- /package/{dist → public}/charting_library/bundles/63.898a61bf08239711dc74.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/64.6f232bdb0fb4cdcc2d7d.css +0 -0
- /package/{dist → public}/charting_library/bundles/64.6f232bdb0fb4cdcc2d7d.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/64.ec4b4d03b28c77658dde.js +0 -0
- /package/{dist → public}/charting_library/bundles/65.556980fc277562af83c8.css +0 -0
- /package/{dist → public}/charting_library/bundles/65.556980fc277562af83c8.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/65.f895a78b4e04257983ff.js +0 -0
- /package/{dist → public}/charting_library/bundles/66.2979e9b7c35e7bf03a37.js +0 -0
- /package/{dist → public}/charting_library/bundles/66.84b4001b5c622a569dde.css +0 -0
- /package/{dist → public}/charting_library/bundles/66.84b4001b5c622a569dde.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/67.19c83a0c303c290216d2.css +0 -0
- /package/{dist → public}/charting_library/bundles/67.19c83a0c303c290216d2.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/67.25fd4b78c8c514988aeb.js +0 -0
- /package/{dist → public}/charting_library/bundles/68.8b4124c875484d11fd94.js +0 -0
- /package/{dist → public}/charting_library/bundles/68.fa7424ae9c5fe5483aac.css +0 -0
- /package/{dist → public}/charting_library/bundles/68.fa7424ae9c5fe5483aac.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/69.094b4a764d3dc17820cf.css +0 -0
- /package/{dist → public}/charting_library/bundles/69.094b4a764d3dc17820cf.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/69.43756a5c7477730eb0c4.js +0 -0
- /package/{dist → public}/charting_library/bundles/7.2c7c4f8a49c6380227de.js +0 -0
- /package/{dist → public}/charting_library/bundles/70.c27146ec029eda556108.css +0 -0
- /package/{dist → public}/charting_library/bundles/70.c27146ec029eda556108.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/70.cb9d1bb5a00896c1bb97.js +0 -0
- /package/{dist → public}/charting_library/bundles/71.15e639d294c4209f256e.css +0 -0
- /package/{dist → public}/charting_library/bundles/71.15e639d294c4209f256e.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/71.6a9d0842f5e48f68399c.js +0 -0
- /package/{dist → public}/charting_library/bundles/72.07441fd67b864b86147b.css +0 -0
- /package/{dist → public}/charting_library/bundles/72.07441fd67b864b86147b.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/72.e3925aaf38d2c8997638.js +0 -0
- /package/{dist → public}/charting_library/bundles/73.6b8b9e5e2c8e2b753cb8.css +0 -0
- /package/{dist → public}/charting_library/bundles/73.6b8b9e5e2c8e2b753cb8.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/73.8ca1a096c5bdc2e5fb8a.js +0 -0
- /package/{dist → public}/charting_library/bundles/7393f661fc7d4389ea6d4dabd2a5aeea.png +0 -0
- /package/{dist → public}/charting_library/bundles/74.34dcc0d3cd1bbfa5e951.js +0 -0
- /package/{dist → public}/charting_library/bundles/74.8c591c252b2e7ad8f744.css +0 -0
- /package/{dist → public}/charting_library/bundles/74.8c591c252b2e7ad8f744.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/75.1c9a3a6524248ddf88bf.js +0 -0
- /package/{dist → public}/charting_library/bundles/75.fefbc386c59bf7d4f9f7.css +0 -0
- /package/{dist → public}/charting_library/bundles/75.fefbc386c59bf7d4f9f7.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/76.5d20bed213399f326603.js +0 -0
- /package/{dist → public}/charting_library/bundles/76.f14d71a31295d8cd8d8b.css +0 -0
- /package/{dist → public}/charting_library/bundles/76.f14d71a31295d8cd8d8b.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/77.3e4ccccc7d3eb03c488f.js +0 -0
- /package/{dist → public}/charting_library/bundles/77.9c35f7046b848fbfd7f5.css +0 -0
- /package/{dist → public}/charting_library/bundles/77.9c35f7046b848fbfd7f5.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/78.0d502ab4d94441708606.css +0 -0
- /package/{dist → public}/charting_library/bundles/78.0d502ab4d94441708606.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/78.1d1d47a915b06f1496fb.js +0 -0
- /package/{dist → public}/charting_library/bundles/79.86e92b77f8cf32e6bc37.js +0 -0
- /package/{dist → public}/charting_library/bundles/79.b990749a4839f9123f26.css +0 -0
- /package/{dist → public}/charting_library/bundles/79.b990749a4839f9123f26.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/7e0cc5f7d7f5151500dd60b8d6ca60a1.png +0 -0
- /package/{dist → public}/charting_library/bundles/8.e66ab8f27911a033604f.css +0 -0
- /package/{dist → public}/charting_library/bundles/8.e66ab8f27911a033604f.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/8.ffab20b86db484062268.js +0 -0
- /package/{dist → public}/charting_library/bundles/80.5bdd53d5fc42d40eee28.css +0 -0
- /package/{dist → public}/charting_library/bundles/80.5bdd53d5fc42d40eee28.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/80.b5bc6acec3b531a510a9.js +0 -0
- /package/{dist → public}/charting_library/bundles/81.552e046aa828739c508b.css +0 -0
- /package/{dist → public}/charting_library/bundles/81.552e046aa828739c508b.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/81.e6a1f76017a44b03480b.js +0 -0
- /package/{dist → public}/charting_library/bundles/82.8c2919e6c8f54e36e9e6.js +0 -0
- /package/{dist → public}/charting_library/bundles/82.e06fe84c8cdead4bd52e.css +0 -0
- /package/{dist → public}/charting_library/bundles/82.e06fe84c8cdead4bd52e.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/83.e238aa056c5d4827cbdd.css +0 -0
- /package/{dist → public}/charting_library/bundles/83.e238aa056c5d4827cbdd.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/83.f3e53bb5a5940e084955.js +0 -0
- /package/{dist → public}/charting_library/bundles/84.8acc496b4deeeeefb5af.js +0 -0
- /package/{dist → public}/charting_library/bundles/84.bb4fc57627c8626019fd.css +0 -0
- /package/{dist → public}/charting_library/bundles/84.bb4fc57627c8626019fd.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/85.39c78fbeaabae306f343.js +0 -0
- /package/{dist → public}/charting_library/bundles/85.e0ba32bafcab02208901.css +0 -0
- /package/{dist → public}/charting_library/bundles/85.e0ba32bafcab02208901.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/86.4bbbb9e6262243419986.js +0 -0
- /package/{dist → public}/charting_library/bundles/86.9244fc2bcc2370425a15.css +0 -0
- /package/{dist → public}/charting_library/bundles/86.9244fc2bcc2370425a15.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/87.605cbc508223ec27341c.css +0 -0
- /package/{dist → public}/charting_library/bundles/87.605cbc508223ec27341c.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/87.cf03fa0a76bfcadd157d.js +0 -0
- /package/{dist → public}/charting_library/bundles/88.158dd8a18e176936a343.css +0 -0
- /package/{dist → public}/charting_library/bundles/88.158dd8a18e176936a343.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/88.d1e3aec63ece25f6b8a9.js +0 -0
- /package/{dist → public}/charting_library/bundles/89.5f142643917701de773b.css +0 -0
- /package/{dist → public}/charting_library/bundles/89.5f142643917701de773b.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/89.d8aa43b4b9378722d572.js +0 -0
- /package/{dist → public}/charting_library/bundles/898929f1acdb622689e0fc0c95c8fcd0.png +0 -0
- /package/{dist → public}/charting_library/bundles/9.84ecbc930e51cb26d06a.js +0 -0
- /package/{dist → public}/charting_library/bundles/9.8ab09f93a5113a634119.css +0 -0
- /package/{dist → public}/charting_library/bundles/9.8ab09f93a5113a634119.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/90.877114560c4828a97702.css +0 -0
- /package/{dist → public}/charting_library/bundles/90.877114560c4828a97702.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/90.ce47bb68fc3fc88b5590.js +0 -0
- /package/{dist → public}/charting_library/bundles/91.2142b248a2bb29549a99.css +0 -0
- /package/{dist → public}/charting_library/bundles/91.2142b248a2bb29549a99.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/91.a9b79ef7ba0a62311a53.js +0 -0
- /package/{dist → public}/charting_library/bundles/92.76d5ca7ebec10a1a7a12.js +0 -0
- /package/{dist → public}/charting_library/bundles/92.e46f0aa06bcdbddf3831.css +0 -0
- /package/{dist → public}/charting_library/bundles/92.e46f0aa06bcdbddf3831.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/93.17d34ca77a7fc85a24d9.css +0 -0
- /package/{dist → public}/charting_library/bundles/93.17d34ca77a7fc85a24d9.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/93.6de56ef1975f4a31e542.js +0 -0
- /package/{dist → public}/charting_library/bundles/94.231bea5fb12b806ef287.js +0 -0
- /package/{dist → public}/charting_library/bundles/94.b204218cb73b576333a1.css +0 -0
- /package/{dist → public}/charting_library/bundles/94.b204218cb73b576333a1.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/95.51244d1c4baf49d08807.css +0 -0
- /package/{dist → public}/charting_library/bundles/95.51244d1c4baf49d08807.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/95.6f7da80aac5cf2bf77d6.js +0 -0
- /package/{dist → public}/charting_library/bundles/96.43bb935eee30715afff7.js +0 -0
- /package/{dist → public}/charting_library/bundles/96.be9ad3d6a7c91501bb55.css +0 -0
- /package/{dist → public}/charting_library/bundles/96.be9ad3d6a7c91501bb55.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/a6506134daec7169f68f563f084a9d41.svg +0 -0
- /package/{dist → public}/charting_library/bundles/add-compare-dialog.f980c19f222ff9cb8fe6.js +0 -0
- /package/{dist → public}/charting_library/bundles/b1a63a011fd92dfb93db6db243bb036c.woff2 +0 -0
- /package/{dist → public}/charting_library/bundles/change-interval-dialog.e928f8dec65c9244cafe.js +0 -0
- /package/{dist → public}/charting_library/bundles/chart-bottom-toolbar.b2e895a5fd3f204fb6b6.js +0 -0
- /package/{dist → public}/charting_library/bundles/chart-event-hint.94e94e93f9fdee936b66.js +0 -0
- /package/{dist → public}/charting_library/bundles/chart-screenshot-hint.14bfec43c52bc3d28f82.js +0 -0
- /package/{dist → public}/charting_library/bundles/chart-widget-gui.226991e9f53aba124fc2.js +0 -0
- /package/{dist → public}/charting_library/bundles/compare-model.0e6bbdc5f5942c9a716e.js +0 -0
- /package/{dist → public}/charting_library/bundles/context-menu-renderer.7f6f59270ef0f3afa2ed.js +0 -0
- /package/{dist → public}/charting_library/bundles/currency-label-menu.a7a0c0e44d64b092f2cc.js +0 -0
- /package/{dist → public}/charting_library/bundles/custom-intervals-add-dialog.bb64431fb1c6d852f9f1.js +0 -0
- /package/{dist → public}/charting_library/bundles/drawing-toolbar.8cc497633535648562e7.js +0 -0
- /package/{dist → public}/charting_library/bundles/ed68e83c16f77203e73dbc4c3a7c7fa1.cur +0 -0
- /package/{dist → public}/charting_library/bundles/export-data.c819cfa996e2815ff11d.js +0 -0
- /package/{dist → public}/charting_library/bundles/f55394b616ed1ae9462c37daab941d93.png +0 -0
- /package/{dist → public}/charting_library/bundles/floating-toolbars.d78a058b82ab09013aac.js +0 -0
- /package/{dist → public}/charting_library/bundles/full-tooltips-popup.96fc751e06523b742440.js +0 -0
- /package/{dist → public}/charting_library/bundles/general-chart-properties-dialog.b08948e0c90aebf07ebd.js +0 -0
- /package/{dist → public}/charting_library/bundles/general-property-page.32bdfdbafbd81d9e83c6.js +0 -0
- /package/{dist → public}/charting_library/bundles/go-to-date-dialog-impl.3481c4fcfde2f4d46426.js +0 -0
- /package/{dist → public}/charting_library/bundles/hammerjs.e5489031ed611f47bf09.js +0 -0
- /package/{dist → public}/charting_library/bundles/header-toolbar.4bff61e047f9b8379494.js +0 -0
- /package/{dist → public}/charting_library/bundles/library.579e6e3fd95b660ad833.css +0 -0
- /package/{dist → public}/charting_library/bundles/library.579e6e3fd95b660ad833.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/library.8b0dd8732414a2bcbcb1.js +0 -0
- /package/{dist → public}/charting_library/bundles/line-tools-icons.090f39d92664af3915a5.js +0 -0
- /package/{dist → public}/charting_library/bundles/load-chart-dialog.6cc1a47b17698c0108cb.js +0 -0
- /package/{dist → public}/charting_library/bundles/lollipop-tooltip-renderer.6705b971a2e73c26ecad.js +0 -0
- /package/{dist → public}/charting_library/bundles/lt-pane-views.4d2ee6c5330cd3760eb0.js +0 -0
- /package/{dist → public}/charting_library/bundles/lt-property-pages-with-definitions.a5e8283e77afa66b5636.js +0 -0
- /package/{dist → public}/charting_library/bundles/manage-drawings-dialog.1c0c3737002fa63fe6a6.js +0 -0
- /package/{dist → public}/charting_library/bundles/moment.78e587a83a009ca48cda.js +0 -0
- /package/{dist → public}/charting_library/bundles/new-confirm-inputs-dialog.00d79c2263e005170345.js +0 -0
- /package/{dist → public}/charting_library/bundles/new-edit-object-dialog.0ed1c3834cfc0e834aed.js +0 -0
- /package/{dist → public}/charting_library/bundles/object-tree-dialog.8e2b7eb9ba2f1dbfbc11.js +0 -0
- /package/{dist → public}/charting_library/bundles/react.9f2899b40ad0e104f6c9.js +0 -0
- /package/{dist → public}/charting_library/bundles/redux.43c3f6d214bcf2d1fbd1.js +0 -0
- /package/{dist → public}/charting_library/bundles/restricted-toolset.08fefbae2bc0877b0ef2.js +0 -0
- /package/{dist → public}/charting_library/bundles/runtime.dfe30490f666a6b5d4fe.js +0 -0
- /package/{dist → public}/charting_library/bundles/series-icons-map.ec8043f64d8b06dbce29.js +0 -0
- /package/{dist → public}/charting_library/bundles/series-pane-views.eefe35e1c508ac16c102.js +0 -0
- /package/{dist → public}/charting_library/bundles/share-chart-to-social-utils.c225af2051efd23269e0.js +0 -0
- /package/{dist → public}/charting_library/bundles/show-theme-save-dialog.f81ebf1b2ce08f4399fd.js +0 -0
- /package/{dist → public}/charting_library/bundles/simple-dialog.bd79f02afd512f0f36dd.js +0 -0
- /package/{dist → public}/charting_library/bundles/source-properties-editor.e858d44541ebb6f974a2.js +0 -0
- /package/{dist → public}/charting_library/bundles/study-market.3efd7bf7bc6e6fc7db2d.js +0 -0
- /package/{dist → public}/charting_library/bundles/study-pane-views.9a873dcf74adedf7600b.js +0 -0
- /package/{dist → public}/charting_library/bundles/study-property-pages-with-definitions.ca4fc2ef5a4deff8c0bb.js +0 -0
- /package/{dist → public}/charting_library/bundles/study-template-dialog.fe56a9893a3695e93531.js +0 -0
- /package/{dist → public}/charting_library/bundles/symbol-info-dialog-impl.17daedab6f893acdeae4.js +0 -0
- /package/{dist → public}/charting_library/bundles/symbol-search-dialog.fd3311eee8604f807c80.js +0 -0
- /package/{dist → public}/charting_library/bundles/take-chart-image-impl.c0e6073dcac3041eecf2.js +0 -0
- /package/{dist → public}/charting_library/bundles/vendors.6f5e0d8d267cb3e63ee0.js +0 -0
- /package/{dist → public}/charting_library/charting_library.cjs.js +0 -0
- /package/{dist → public}/charting_library/charting_library.d.ts +0 -0
- /package/{dist → public}/charting_library/charting_library.esm.js +0 -0
- /package/{dist → public}/charting_library/charting_library.js +0 -0
- /package/{dist → public}/charting_library/datafeed-api.d.ts +0 -0
- /package/{dist → public}/charting_library/en-tv-chart.f0bc1e45.html +0 -0
- /package/{dist → public}/charting_library/package.json +0 -0
- /package/{dist → public}/charting_library/yarn.lock +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var TradingView=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>'}};return window.TradingView=window.TradingView||{},window.TradingView.version=s,e.version=s,e.widget=r,e}({});
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8">
|
|
5
|
+
<title>Binbot charts demo</title>
|
|
6
|
+
</head>
|
|
7
|
+
<body>
|
|
8
|
+
<noscript>
|
|
9
|
+
You need to enable JavaScript to run this app.
|
|
10
|
+
</noscript>
|
|
11
|
+
<div id="root"></div>
|
|
12
|
+
<!--
|
|
13
|
+
This HTML file is a template.
|
|
14
|
+
If you open it directly in the browser, you will see an empty page.
|
|
15
|
+
|
|
16
|
+
You can add webfonts, meta tags, or analytics to this file.
|
|
17
|
+
The build step will place the bundled scripts into the <body> tag.
|
|
18
|
+
|
|
19
|
+
To begin the development, run `npm start`.
|
|
20
|
+
To create a production bundle, use `npm run build`.
|
|
21
|
+
-->
|
|
22
|
+
</body>
|
|
23
|
+
</html>
|
package/src/App.css
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
.App {
|
|
2
|
+
text-align: center;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
.App-header {
|
|
6
|
+
display: flex;
|
|
7
|
+
justify-content: center;
|
|
8
|
+
align-items: center;
|
|
9
|
+
padding: 10px 0;
|
|
10
|
+
background-color: #222;
|
|
11
|
+
color: #fff;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.App-tv-logo {
|
|
15
|
+
height: 45px;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.App-react-logo {
|
|
19
|
+
display: block;
|
|
20
|
+
height: 62px;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.App-title {
|
|
24
|
+
display: block;
|
|
25
|
+
font-size: 1.5em;
|
|
26
|
+
}
|
package/src/App.tsx
ADDED
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { type FC, useEffect, useState } from "react";
|
|
2
|
+
import { useImmer } from "use-immer";
|
|
3
|
+
import { Immutable } from "immer";
|
|
4
|
+
import "./App.css";
|
|
5
|
+
import TVChartContainer, { OrderLine } from "./main";
|
|
6
|
+
import { ResolutionString } from "./charting_library/charting_library";
|
|
7
|
+
import { ITimescaleMarks } from "./charting-library-interfaces";
|
|
8
|
+
|
|
9
|
+
type TimeMarks = Immutable<ITimescaleMarks>
|
|
10
|
+
|
|
11
|
+
function roundTime(ts: number): number {
|
|
12
|
+
/**
|
|
13
|
+
* @param ts a JavaScript new Date().getTime() timestamp
|
|
14
|
+
*/
|
|
15
|
+
let time = new Date(ts);
|
|
16
|
+
time.setMinutes(0);
|
|
17
|
+
time.setSeconds(0)
|
|
18
|
+
time.setMilliseconds(0);
|
|
19
|
+
const roundFloor = time.getTime();
|
|
20
|
+
return roundFloor / 1000
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export const App: FC<{}> = (): JSX.Element => {
|
|
24
|
+
const [currentPrice, setCurrentPrice] = useState(null);
|
|
25
|
+
const [orderLines , setOrderLines] = useImmer<OrderLine[]>([]);
|
|
26
|
+
const [symbolState, setSymbolState] = useState("BTCUSDT")
|
|
27
|
+
const [testTimeMarks, setTestTimeMarks] = useState<Array<TimeMarks>>([])
|
|
28
|
+
|
|
29
|
+
useEffect(() => {
|
|
30
|
+
if (currentPrice) {
|
|
31
|
+
updateOrderLines()
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
}, [currentPrice]);
|
|
35
|
+
|
|
36
|
+
const updateOrderLines = () => {
|
|
37
|
+
if (currentPrice) {
|
|
38
|
+
setOrderLines((draft) => {
|
|
39
|
+
draft.push({
|
|
40
|
+
id: "base_order",
|
|
41
|
+
text: "Base",
|
|
42
|
+
tooltip: ["Inactive"],
|
|
43
|
+
quantity: `XX USDT`,
|
|
44
|
+
price: currentPrice,
|
|
45
|
+
color: "#1f77d0",
|
|
46
|
+
});
|
|
47
|
+
return draft
|
|
48
|
+
});
|
|
49
|
+
setOrderLines((draft) => {
|
|
50
|
+
draft.push({
|
|
51
|
+
id: "take_profit",
|
|
52
|
+
text: "Take profit",
|
|
53
|
+
tooltip: ["Inactive"],
|
|
54
|
+
quantity: `XX USDT`,
|
|
55
|
+
price: parseFloat((currentPrice * 1.03).toFixed(6)),
|
|
56
|
+
color: "#1f77d0",
|
|
57
|
+
});
|
|
58
|
+
return draft
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
const handleTick = (ohlc) => {
|
|
65
|
+
setCurrentPrice(ohlc.close);
|
|
66
|
+
};
|
|
67
|
+
const getLatestBar = (bar) => {
|
|
68
|
+
const purchaseTs = new Date(2023, 0, 14, 13, 0).getTime()
|
|
69
|
+
setCurrentPrice(bar[3]);
|
|
70
|
+
setTestTimeMarks([{
|
|
71
|
+
id: "tsm4",
|
|
72
|
+
time: roundTime(purchaseTs),
|
|
73
|
+
color: "blue",
|
|
74
|
+
label: "B",
|
|
75
|
+
tooltip: ["Safety Order 4"],
|
|
76
|
+
}])
|
|
77
|
+
};
|
|
78
|
+
const handleChange = (e) => {
|
|
79
|
+
if (e.target.name === "symbol") {
|
|
80
|
+
setSymbolState(e.target.value);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return (
|
|
84
|
+
<>
|
|
85
|
+
<h1 style={{ textAlign: "center" }}>Test chart</h1>
|
|
86
|
+
<label htmlFor="symbol">Type symbol</label>
|
|
87
|
+
<input name="symbol" type="text" onChange={handleChange} />
|
|
88
|
+
<TVChartContainer
|
|
89
|
+
symbol={symbolState}
|
|
90
|
+
interval={"1h" as ResolutionString}
|
|
91
|
+
timescaleMarks={testTimeMarks}
|
|
92
|
+
orderLines={orderLines}
|
|
93
|
+
onTick={handleTick}
|
|
94
|
+
getLatestBar={getLatestBar}
|
|
95
|
+
/>
|
|
96
|
+
</>
|
|
97
|
+
);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
export default App;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import Datafeed from "./datafeed";
|
|
2
|
+
|
|
3
|
+
export interface IWidgetOptions {
|
|
4
|
+
symbol: string;
|
|
5
|
+
// BEWARE: no trailing slash is expected in feed URL
|
|
6
|
+
datafeed: Datafeed;
|
|
7
|
+
interval: string;
|
|
8
|
+
container: HTMLInputElement;
|
|
9
|
+
library_path: string; // node_modules path of charting_library
|
|
10
|
+
locale?: string;
|
|
11
|
+
disabled_features?: Array<string>;
|
|
12
|
+
enabled_features?: Array<string>;
|
|
13
|
+
charts_storage_url?: string;
|
|
14
|
+
charts_storage_api_version?: string;
|
|
15
|
+
client_id?: string;
|
|
16
|
+
user_id?: string;
|
|
17
|
+
fullscreen?: boolean;
|
|
18
|
+
autosize?: boolean;
|
|
19
|
+
studies_overrides?: object;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export interface IOrderLine {
|
|
23
|
+
text: string;
|
|
24
|
+
tooltip?: Array<string>;
|
|
25
|
+
quantity?: string;
|
|
26
|
+
price: Number;
|
|
27
|
+
color?: string;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export interface ITimescaleMarks {
|
|
31
|
+
id: string;
|
|
32
|
+
time: Number;
|
|
33
|
+
color?: string;
|
|
34
|
+
label: string;
|
|
35
|
+
tooltip?: Array<string>;
|
|
36
|
+
}
|
package/src/datafeed.ts
ADDED
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
import { getAllSymbols, makeApiRequest } from "./helpers";
|
|
2
|
+
import { subscribeOnStream, unsubscribeFromStream } from "./streaming";
|
|
3
|
+
|
|
4
|
+
enum BinanceResolutions {
|
|
5
|
+
one_second = "1s",
|
|
6
|
+
one_minute = "1m",
|
|
7
|
+
three_minute = "3m",
|
|
8
|
+
five_minute = "5m",
|
|
9
|
+
fifteen_minute = "15m",
|
|
10
|
+
thirty_minute = "30m",
|
|
11
|
+
one_hour = "1h",
|
|
12
|
+
two_hour = "2h",
|
|
13
|
+
four_hour = "4h",
|
|
14
|
+
six_hour = "6h",
|
|
15
|
+
eight_hour = "8h",
|
|
16
|
+
twelve_hour = "12h",
|
|
17
|
+
one_day = "1d",
|
|
18
|
+
three_day = "3d",
|
|
19
|
+
one_week = "1w",
|
|
20
|
+
one_month = "1M",
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
interface ConfigurationData {
|
|
24
|
+
supports_marks: boolean;
|
|
25
|
+
supports_timescale_marks: boolean;
|
|
26
|
+
supports_time: boolean;
|
|
27
|
+
supported_resolutions: string[];
|
|
28
|
+
exchanges: { value: string; name: string; desc: string }[];
|
|
29
|
+
symbols_types: { name: string; value: string }[];
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
const getConfigurationData = async (): Promise<ConfigurationData> => {
|
|
33
|
+
return {
|
|
34
|
+
supports_marks: true,
|
|
35
|
+
supports_timescale_marks: true,
|
|
36
|
+
supports_time: true,
|
|
37
|
+
supported_resolutions: [
|
|
38
|
+
"1S",
|
|
39
|
+
"1",
|
|
40
|
+
"3",
|
|
41
|
+
"5",
|
|
42
|
+
"15",
|
|
43
|
+
"30",
|
|
44
|
+
"60",
|
|
45
|
+
"120",
|
|
46
|
+
"240",
|
|
47
|
+
"360",
|
|
48
|
+
"480",
|
|
49
|
+
"720",
|
|
50
|
+
"1D",
|
|
51
|
+
"3D",
|
|
52
|
+
"1W",
|
|
53
|
+
"12M",
|
|
54
|
+
],
|
|
55
|
+
exchanges: [
|
|
56
|
+
{
|
|
57
|
+
value: "Binance",
|
|
58
|
+
name: "Binance",
|
|
59
|
+
desc: "Binance",
|
|
60
|
+
},
|
|
61
|
+
],
|
|
62
|
+
symbols_types: [
|
|
63
|
+
{
|
|
64
|
+
name: "crypto",
|
|
65
|
+
value: "crypto",
|
|
66
|
+
},
|
|
67
|
+
],
|
|
68
|
+
};
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
interface TimescaleMark {
|
|
72
|
+
id: string;
|
|
73
|
+
time: number;
|
|
74
|
+
color: string;
|
|
75
|
+
label: string;
|
|
76
|
+
tooltip: string;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
interface SymbolInfo {
|
|
80
|
+
name: string;
|
|
81
|
+
ticker: string;
|
|
82
|
+
description: string;
|
|
83
|
+
type: string;
|
|
84
|
+
session: string;
|
|
85
|
+
timezone: string;
|
|
86
|
+
exchange: string;
|
|
87
|
+
minmov: number;
|
|
88
|
+
pricescale: number;
|
|
89
|
+
has_daily: boolean;
|
|
90
|
+
has_intraday: boolean;
|
|
91
|
+
has_no_volume: boolean;
|
|
92
|
+
has_seconds: boolean;
|
|
93
|
+
seconds_multipliers: number[];
|
|
94
|
+
volume: string;
|
|
95
|
+
volume_precision: number;
|
|
96
|
+
data_status: string;
|
|
97
|
+
resolution: string;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
interface PeriodParams {
|
|
101
|
+
from: number;
|
|
102
|
+
to: number;
|
|
103
|
+
firstDataRequest: boolean;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
interface Bar {
|
|
107
|
+
time: number;
|
|
108
|
+
low: number;
|
|
109
|
+
high: number;
|
|
110
|
+
open: number;
|
|
111
|
+
close: number;
|
|
112
|
+
volume: number;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
export default class Datafeed {
|
|
116
|
+
private streaming: any;
|
|
117
|
+
private timescaleMarks: TimescaleMark[];
|
|
118
|
+
private interval: string;
|
|
119
|
+
private configurationData: ConfigurationData | null = null;
|
|
120
|
+
|
|
121
|
+
constructor(timescaleMarks: TimescaleMark[] = [], interval: string = "1h") {
|
|
122
|
+
this.streaming = null;
|
|
123
|
+
this.timescaleMarks = timescaleMarks;
|
|
124
|
+
this.interval = interval;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
onReady = async (callback: (data: ConfigurationData) => void): Promise<void> => {
|
|
128
|
+
this.configurationData = await getConfigurationData();
|
|
129
|
+
callback(this.configurationData);
|
|
130
|
+
};
|
|
131
|
+
|
|
132
|
+
searchSymbols = async (
|
|
133
|
+
userInput: string,
|
|
134
|
+
exchange: string,
|
|
135
|
+
symbolType: string,
|
|
136
|
+
onResultReadyCallback: (symbols: any[]) => void
|
|
137
|
+
): Promise<void> => {
|
|
138
|
+
const symbols = await getAllSymbols(userInput);
|
|
139
|
+
onResultReadyCallback(symbols);
|
|
140
|
+
};
|
|
141
|
+
|
|
142
|
+
resolveSymbol = async (
|
|
143
|
+
symbolName: string,
|
|
144
|
+
onSymbolResolvedCallback: (symbolInfo: SymbolInfo) => void,
|
|
145
|
+
onResolveErrorCallback: (error: string) => void
|
|
146
|
+
): Promise<void> => {
|
|
147
|
+
if (!symbolName) {
|
|
148
|
+
await onResolveErrorCallback("cannot resolve symbol");
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
const symbolInfo = (): SymbolInfo => {
|
|
153
|
+
return {
|
|
154
|
+
name: symbolName,
|
|
155
|
+
ticker: symbolName,
|
|
156
|
+
description: symbolName,
|
|
157
|
+
type: "crypto",
|
|
158
|
+
session: "24x7",
|
|
159
|
+
timezone: "Etc/UTC",
|
|
160
|
+
exchange: "Binance",
|
|
161
|
+
minmov: 100,
|
|
162
|
+
pricescale: 100000,
|
|
163
|
+
has_daily: true,
|
|
164
|
+
has_intraday: true,
|
|
165
|
+
has_no_volume: false,
|
|
166
|
+
has_seconds: true,
|
|
167
|
+
seconds_multipliers: [1],
|
|
168
|
+
volume: "hundreds",
|
|
169
|
+
volume_precision: 9,
|
|
170
|
+
data_status: "streaming",
|
|
171
|
+
resolution: "1h",
|
|
172
|
+
};
|
|
173
|
+
};
|
|
174
|
+
const symbol = await symbolInfo();
|
|
175
|
+
onSymbolResolvedCallback(symbol);
|
|
176
|
+
};
|
|
177
|
+
|
|
178
|
+
getBars = async (
|
|
179
|
+
symbolInfo: SymbolInfo,
|
|
180
|
+
resolution: string,
|
|
181
|
+
periodParams: PeriodParams,
|
|
182
|
+
onHistoryCallback: (bars: Bar[], meta: { noData: boolean }) => void,
|
|
183
|
+
onErrorCallback: (error: any) => void
|
|
184
|
+
): Promise<void> => {
|
|
185
|
+
const { from, to, firstDataRequest } = periodParams;
|
|
186
|
+
let interval = "60"; // 1 hour
|
|
187
|
+
// Calculate interval using resolution data
|
|
188
|
+
if (!/[a-zA-Z]$/.test(resolution)) {
|
|
189
|
+
if (parseInt(resolution) >= 60) {
|
|
190
|
+
interval = parseInt(resolution) / 60 + "h";
|
|
191
|
+
} else {
|
|
192
|
+
interval = resolution + "m";
|
|
193
|
+
}
|
|
194
|
+
} else {
|
|
195
|
+
interval = resolution.toLowerCase().replace(/[a-z]\b/g, (c) => c.toLowerCase());
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
let urlParameters = {
|
|
199
|
+
symbol: symbolInfo.name,
|
|
200
|
+
interval: interval,
|
|
201
|
+
startTime: Math.abs(from * 1000),
|
|
202
|
+
endTime: Math.abs(to * 1000),
|
|
203
|
+
limit: 600,
|
|
204
|
+
};
|
|
205
|
+
|
|
206
|
+
const query = Object.keys(urlParameters)
|
|
207
|
+
.map((name) => `${name}=${encodeURIComponent(urlParameters[name])}`)
|
|
208
|
+
.join("&");
|
|
209
|
+
|
|
210
|
+
try {
|
|
211
|
+
const data = await makeApiRequest(`api/v3/uiKlines?${query}`);
|
|
212
|
+
if ((data.Response && data.Response === "Error") || data.length === 0) {
|
|
213
|
+
// "noData" should be set if there is no data in the requested period.
|
|
214
|
+
onHistoryCallback([], {
|
|
215
|
+
noData: true,
|
|
216
|
+
});
|
|
217
|
+
return;
|
|
218
|
+
}
|
|
219
|
+
let bars: Bar[] = [];
|
|
220
|
+
data.forEach((bar: any) => {
|
|
221
|
+
if (bar[0] >= from * 1000 && bar[0] < to * 1000) {
|
|
222
|
+
bars = [
|
|
223
|
+
...bars,
|
|
224
|
+
{
|
|
225
|
+
time: bar[0],
|
|
226
|
+
low: bar[3],
|
|
227
|
+
high: bar[2],
|
|
228
|
+
open: bar[1],
|
|
229
|
+
close: bar[4],
|
|
230
|
+
volume: bar[5],
|
|
231
|
+
},
|
|
232
|
+
];
|
|
233
|
+
}
|
|
234
|
+
});
|
|
235
|
+
onHistoryCallback(bars, {
|
|
236
|
+
noData: false,
|
|
237
|
+
});
|
|
238
|
+
} catch (error) {
|
|
239
|
+
console.log("[getBars]: Get error", error);
|
|
240
|
+
onErrorCallback(error);
|
|
241
|
+
}
|
|
242
|
+
};
|
|
243
|
+
|
|
244
|
+
getTimescaleMarks(
|
|
245
|
+
symbolInfo: SymbolInfo,
|
|
246
|
+
from: number,
|
|
247
|
+
to: number,
|
|
248
|
+
onDataCallback: (marks: TimescaleMark[]) => void,
|
|
249
|
+
resolution: string
|
|
250
|
+
): void {
|
|
251
|
+
if (this.timescaleMarks.length > 0) {
|
|
252
|
+
let timescaleMarks = Object.assign([], this.timescaleMarks);
|
|
253
|
+
onDataCallback(timescaleMarks);
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
async getServerTime(onServertimeCallback: (time: number) => void): Promise<void> {
|
|
258
|
+
const data = await makeApiRequest(`api/v3/time`);
|
|
259
|
+
const serverTime = data.serverTime / 1000;
|
|
260
|
+
onServertimeCallback(serverTime);
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
subscribeBars = (
|
|
264
|
+
symbolInfo: SymbolInfo,
|
|
265
|
+
resolution: string,
|
|
266
|
+
onRealtimeCallback: (bar: Bar) => void,
|
|
267
|
+
subscribeUID: string,
|
|
268
|
+
onResetCacheNeededCallback: () => void
|
|
269
|
+
): void => {
|
|
270
|
+
subscribeOnStream(
|
|
271
|
+
symbolInfo,
|
|
272
|
+
resolution,
|
|
273
|
+
onRealtimeCallback,
|
|
274
|
+
subscribeUID,
|
|
275
|
+
onResetCacheNeededCallback,
|
|
276
|
+
this.interval
|
|
277
|
+
);
|
|
278
|
+
};
|
|
279
|
+
|
|
280
|
+
unsubscribeBars = (subscriberUID: string): void => {
|
|
281
|
+
unsubscribeFromStream(subscriberUID);
|
|
282
|
+
};
|
|
283
|
+
}
|
package/src/helpers.ts
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { useEffect, useRef } from "react";
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
export async function makeApiRequest(path) {
|
|
5
|
+
try {
|
|
6
|
+
const response = await fetch(`https://api.binance.com/${path}`);
|
|
7
|
+
return response.json();
|
|
8
|
+
} catch (error) {
|
|
9
|
+
throw new Error(`Binance request error: ${error.status}`);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export async function getAllSymbols(symbol) {
|
|
14
|
+
let newSymbols = [];
|
|
15
|
+
try {
|
|
16
|
+
const data = await makeApiRequest(`api/v3/exchangeInfo?symbol=${symbol.toUpperCase()}`);
|
|
17
|
+
data.symbols.forEach(item => {
|
|
18
|
+
if (item.status === "TRADING") {
|
|
19
|
+
newSymbols.push({
|
|
20
|
+
symbol: item.symbol,
|
|
21
|
+
full_name: `${item.baseAsset}/${item.quoteAsset}`,
|
|
22
|
+
description: `Precision: ${item.quoteAssetPrecision}`,
|
|
23
|
+
exchange: "Binance",
|
|
24
|
+
ticker: item.symbol,
|
|
25
|
+
type: "crypto",
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
} catch (e) {
|
|
30
|
+
return newSymbols
|
|
31
|
+
}
|
|
32
|
+
return newSymbols;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export function usePrevious(value) {
|
|
36
|
+
const ref = useRef();
|
|
37
|
+
useEffect(() => {
|
|
38
|
+
ref.current = value;
|
|
39
|
+
});
|
|
40
|
+
return ref.current;
|
|
41
|
+
}
|
package/src/index.css
ADDED
package/src/index.tsx
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { createRoot } from "react-dom/client";
|
|
2
|
+
import App from "./App"; // Ensure App is a default export from "./App"
|
|
3
|
+
import "./index.css";
|
|
4
|
+
|
|
5
|
+
const rootElement = document.getElementById("root");
|
|
6
|
+
|
|
7
|
+
if (rootElement) {
|
|
8
|
+
const root = createRoot(rootElement);
|
|
9
|
+
root.render(<App />);
|
|
10
|
+
}
|