oakscriptjs 0.8.2 → 0.9.0

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.
Files changed (546) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +31 -9
  3. package/dist/cjs/array/index.d.ts +701 -0
  4. package/dist/cjs/array/index.d.ts.map +1 -0
  5. package/dist/cjs/array/index.js +392 -0
  6. package/dist/cjs/array/index.js.map +7 -0
  7. package/dist/cjs/box/index.d.ts +444 -0
  8. package/dist/cjs/box/index.d.ts.map +1 -0
  9. package/dist/cjs/box/index.js +246 -0
  10. package/dist/cjs/box/index.js.map +7 -0
  11. package/dist/cjs/callsite/index.d.ts +61 -0
  12. package/dist/cjs/callsite/index.d.ts.map +1 -0
  13. package/dist/cjs/callsite/index.js +65 -0
  14. package/dist/cjs/callsite/index.js.map +7 -0
  15. package/dist/cjs/chartpoint/index.d.ts +90 -0
  16. package/dist/cjs/chartpoint/index.d.ts.map +1 -0
  17. package/dist/cjs/chartpoint/index.js +56 -0
  18. package/dist/cjs/chartpoint/index.js.map +7 -0
  19. package/dist/cjs/color/index.d.ts +285 -0
  20. package/dist/cjs/color/index.d.ts.map +1 -0
  21. package/dist/cjs/color/index.js +143 -0
  22. package/dist/cjs/color/index.js.map +7 -0
  23. package/dist/cjs/compare/index.d.ts +26 -0
  24. package/dist/cjs/compare/index.d.ts.map +1 -0
  25. package/dist/cjs/compare/index.js +50 -0
  26. package/dist/cjs/compare/index.js.map +7 -0
  27. package/dist/cjs/drawing/registry.d.ts +42 -0
  28. package/dist/cjs/drawing/registry.d.ts.map +1 -0
  29. package/dist/cjs/drawing/registry.js +87 -0
  30. package/dist/cjs/drawing/registry.js.map +7 -0
  31. package/dist/cjs/index.d.ts +85 -0
  32. package/dist/cjs/index.d.ts.map +1 -0
  33. package/dist/cjs/index.js +184 -0
  34. package/dist/cjs/index.js.map +7 -0
  35. package/dist/cjs/indicator.d.ts +117 -0
  36. package/dist/cjs/indicator.d.ts.map +1 -0
  37. package/dist/cjs/indicator.js +74 -0
  38. package/dist/cjs/indicator.js.map +7 -0
  39. package/dist/cjs/input.d.ts +196 -0
  40. package/dist/cjs/input.d.ts.map +1 -0
  41. package/dist/cjs/input.js +197 -0
  42. package/dist/cjs/input.js.map +7 -0
  43. package/dist/cjs/label/index.d.ts +303 -0
  44. package/dist/cjs/label/index.d.ts.map +1 -0
  45. package/dist/cjs/label/index.js +190 -0
  46. package/dist/cjs/label/index.js.map +7 -0
  47. package/dist/cjs/lib/index.d.ts +8 -0
  48. package/dist/cjs/lib/index.d.ts.map +1 -0
  49. package/dist/cjs/lib/index.js +19 -0
  50. package/dist/cjs/lib/index.js.map +7 -0
  51. package/dist/{lib → cjs/lib}/zigzag/index.d.ts +4 -1
  52. package/dist/cjs/lib/zigzag/index.d.ts.map +1 -0
  53. package/dist/cjs/lib/zigzag/index.js +27 -0
  54. package/dist/cjs/lib/zigzag/index.js.map +7 -0
  55. package/dist/cjs/lib/zigzag/zigzag.d.ts +100 -0
  56. package/dist/cjs/lib/zigzag/zigzag.d.ts.map +1 -0
  57. package/dist/cjs/lib/zigzag/zigzag.js +207 -0
  58. package/dist/cjs/lib/zigzag/zigzag.js.map +7 -0
  59. package/dist/cjs/line/index.d.ts +342 -0
  60. package/dist/cjs/line/index.d.ts.map +1 -0
  61. package/dist/cjs/line/index.js +193 -0
  62. package/dist/cjs/line/index.js.map +7 -0
  63. package/dist/cjs/linefill/index.d.ts +124 -0
  64. package/dist/cjs/linefill/index.d.ts.map +1 -0
  65. package/dist/cjs/linefill/index.js +56 -0
  66. package/dist/cjs/linefill/index.js.map +7 -0
  67. package/dist/cjs/map/index.d.ts +69 -0
  68. package/dist/cjs/map/index.d.ts.map +1 -0
  69. package/dist/cjs/map/index.js +80 -0
  70. package/dist/cjs/map/index.js.map +7 -0
  71. package/dist/cjs/math/index.d.ts +560 -0
  72. package/dist/cjs/math/index.d.ts.map +1 -0
  73. package/dist/cjs/math/index.js +441 -0
  74. package/dist/cjs/math/index.js.map +7 -0
  75. package/dist/cjs/matrix/index.d.ts +1231 -0
  76. package/dist/cjs/matrix/index.d.ts.map +1 -0
  77. package/dist/cjs/matrix/index.js +1200 -0
  78. package/dist/cjs/matrix/index.js.map +7 -0
  79. package/dist/cjs/package.json +1 -0
  80. package/dist/cjs/plot.d.ts +76 -0
  81. package/dist/cjs/plot.d.ts.map +1 -0
  82. package/dist/cjs/plot.js +51 -0
  83. package/dist/cjs/plot.js.map +7 -0
  84. package/dist/cjs/polyline/index.d.ts +115 -0
  85. package/dist/cjs/polyline/index.d.ts.map +1 -0
  86. package/dist/cjs/polyline/index.js +76 -0
  87. package/dist/cjs/polyline/index.js.map +7 -0
  88. package/dist/cjs/runtime/adapters/LightweightChartsAdapter.d.ts +86 -0
  89. package/dist/cjs/runtime/adapters/LightweightChartsAdapter.d.ts.map +1 -0
  90. package/dist/cjs/runtime/adapters/LightweightChartsAdapter.js +141 -0
  91. package/dist/cjs/runtime/adapters/LightweightChartsAdapter.js.map +7 -0
  92. package/dist/cjs/runtime/adapters/SimpleInputAdapter.d.ts +59 -0
  93. package/dist/cjs/runtime/adapters/SimpleInputAdapter.d.ts.map +1 -0
  94. package/dist/cjs/runtime/adapters/SimpleInputAdapter.js +117 -0
  95. package/dist/cjs/runtime/adapters/SimpleInputAdapter.js.map +7 -0
  96. package/dist/{runtime → cjs/runtime}/index.d.ts +12 -5
  97. package/dist/cjs/runtime/index.d.ts.map +1 -0
  98. package/dist/cjs/runtime/index.js +49 -0
  99. package/dist/cjs/runtime/index.js.map +7 -0
  100. package/dist/cjs/runtime/inputs.d.ts +91 -0
  101. package/dist/cjs/runtime/inputs.d.ts.map +1 -0
  102. package/dist/cjs/runtime/inputs.js +262 -0
  103. package/dist/cjs/runtime/inputs.js.map +7 -0
  104. package/dist/cjs/runtime/runtime.d.ts +70 -0
  105. package/dist/cjs/runtime/runtime.d.ts.map +1 -0
  106. package/dist/cjs/runtime/runtime.js +148 -0
  107. package/dist/cjs/runtime/runtime.js.map +7 -0
  108. package/dist/cjs/runtime/series.d.ts +362 -0
  109. package/dist/cjs/runtime/series.d.ts.map +1 -0
  110. package/dist/cjs/runtime/series.js +560 -0
  111. package/dist/cjs/runtime/series.js.map +7 -0
  112. package/dist/cjs/runtime/types.d.ts +282 -0
  113. package/dist/cjs/runtime/types.d.ts.map +1 -0
  114. package/dist/cjs/runtime/types.js +17 -0
  115. package/dist/cjs/runtime/types.js.map +7 -0
  116. package/dist/cjs/script/index.d.ts +987 -0
  117. package/dist/cjs/script/index.d.ts.map +1 -0
  118. package/dist/cjs/script/index.js +1169 -0
  119. package/dist/cjs/script/index.js.map +7 -0
  120. package/dist/cjs/security/resample.d.ts +63 -0
  121. package/dist/cjs/security/resample.d.ts.map +1 -0
  122. package/dist/cjs/security/resample.js +84 -0
  123. package/dist/cjs/security/resample.js.map +7 -0
  124. package/dist/cjs/session/bars.d.ts +80 -0
  125. package/dist/cjs/session/bars.d.ts.map +1 -0
  126. package/dist/cjs/session/bars.js +219 -0
  127. package/dist/cjs/session/bars.js.map +7 -0
  128. package/dist/cjs/session/calendar.d.ts +70 -0
  129. package/dist/cjs/session/calendar.d.ts.map +1 -0
  130. package/dist/cjs/session/calendar.js +164 -0
  131. package/dist/cjs/session/calendar.js.map +7 -0
  132. package/dist/cjs/str/dateformat.d.ts +15 -0
  133. package/dist/cjs/str/dateformat.d.ts.map +1 -0
  134. package/dist/cjs/str/dateformat.js +149 -0
  135. package/dist/cjs/str/dateformat.js.map +7 -0
  136. package/dist/cjs/str/index.d.ts +459 -0
  137. package/dist/cjs/str/index.d.ts.map +1 -0
  138. package/dist/cjs/str/index.js +143 -0
  139. package/dist/cjs/str/index.js.map +7 -0
  140. package/dist/cjs/str/messageformat.d.ts +14 -0
  141. package/dist/cjs/str/messageformat.d.ts.map +1 -0
  142. package/dist/cjs/str/messageformat.js +114 -0
  143. package/dist/cjs/str/messageformat.js.map +7 -0
  144. package/dist/cjs/str/numberformat.d.ts +19 -0
  145. package/dist/cjs/str/numberformat.d.ts.map +1 -0
  146. package/dist/cjs/str/numberformat.js +170 -0
  147. package/dist/cjs/str/numberformat.js.map +7 -0
  148. package/dist/{strategy → cjs/strategy}/index.d.ts +50 -0
  149. package/dist/cjs/strategy/index.d.ts.map +1 -0
  150. package/dist/cjs/strategy/index.js +92 -0
  151. package/dist/cjs/strategy/index.js.map +7 -0
  152. package/dist/cjs/ta/index.d.ts +1397 -0
  153. package/dist/cjs/ta/index.d.ts.map +1 -0
  154. package/dist/cjs/ta/index.js +1715 -0
  155. package/dist/cjs/ta/index.js.map +7 -0
  156. package/dist/cjs/ta/running-sum.d.ts +30 -0
  157. package/dist/cjs/ta/running-sum.d.ts.map +1 -0
  158. package/dist/cjs/ta/running-sum.js +99 -0
  159. package/dist/cjs/ta/running-sum.js.map +7 -0
  160. package/dist/cjs/ta-series.d.ts +558 -0
  161. package/dist/cjs/ta-series.d.ts.map +1 -0
  162. package/dist/cjs/ta-series.js +606 -0
  163. package/dist/cjs/ta-series.js.map +7 -0
  164. package/dist/cjs/text/index.d.ts +14 -0
  165. package/dist/cjs/text/index.d.ts.map +1 -0
  166. package/dist/cjs/text/index.js +29 -0
  167. package/dist/cjs/text/index.js.map +7 -0
  168. package/dist/cjs/time/datestring.d.ts +23 -0
  169. package/dist/cjs/time/datestring.d.ts.map +1 -0
  170. package/dist/cjs/time/datestring.js +106 -0
  171. package/dist/cjs/time/datestring.js.map +7 -0
  172. package/dist/cjs/time/index.d.ts +89 -0
  173. package/dist/cjs/time/index.d.ts.map +1 -0
  174. package/dist/cjs/time/index.js +85 -0
  175. package/dist/cjs/time/index.js.map +7 -0
  176. package/dist/cjs/time/session.d.ts +17 -0
  177. package/dist/cjs/time/session.d.ts.map +1 -0
  178. package/dist/cjs/time/session.js +65 -0
  179. package/dist/cjs/time/session.js.map +7 -0
  180. package/dist/cjs/time/timezone.d.ts +40 -0
  181. package/dist/cjs/time/timezone.d.ts.map +1 -0
  182. package/dist/cjs/time/timezone.js +125 -0
  183. package/dist/cjs/time/timezone.js.map +7 -0
  184. package/dist/cjs/timeframe/index.d.ts +73 -0
  185. package/dist/cjs/timeframe/index.d.ts.map +1 -0
  186. package/dist/cjs/timeframe/index.js +85 -0
  187. package/dist/cjs/timeframe/index.js.map +7 -0
  188. package/dist/cjs/types/index.d.ts +343 -0
  189. package/dist/cjs/types/index.d.ts.map +1 -0
  190. package/dist/cjs/types/index.js +32 -0
  191. package/dist/cjs/types/index.js.map +7 -0
  192. package/dist/cjs/types/metadata.d.ts +300 -0
  193. package/dist/cjs/types/metadata.d.ts.map +1 -0
  194. package/dist/cjs/types/metadata.js +17 -0
  195. package/dist/cjs/types/metadata.js.map +7 -0
  196. package/dist/cjs/utils/index.d.ts +167 -0
  197. package/dist/cjs/utils/index.d.ts.map +1 -0
  198. package/dist/cjs/utils/index.js +209 -0
  199. package/dist/cjs/utils/index.js.map +7 -0
  200. package/dist/esm/array/index.d.ts +701 -0
  201. package/dist/esm/array/index.d.ts.map +1 -0
  202. package/dist/esm/array/index.js +983 -0
  203. package/dist/esm/array/index.js.map +1 -0
  204. package/dist/esm/box/index.d.ts +444 -0
  205. package/dist/esm/box/index.d.ts.map +1 -0
  206. package/dist/esm/box/index.js +602 -0
  207. package/dist/esm/box/index.js.map +1 -0
  208. package/dist/esm/callsite/index.d.ts +61 -0
  209. package/dist/esm/callsite/index.d.ts.map +1 -0
  210. package/dist/esm/callsite/index.js +97 -0
  211. package/dist/esm/callsite/index.js.map +1 -0
  212. package/dist/esm/chartpoint/index.d.ts +90 -0
  213. package/dist/esm/chartpoint/index.d.ts.map +1 -0
  214. package/dist/esm/chartpoint/index.js +113 -0
  215. package/dist/esm/chartpoint/index.js.map +1 -0
  216. package/dist/esm/color/index.d.ts +285 -0
  217. package/dist/esm/color/index.d.ts.map +1 -0
  218. package/dist/esm/color/index.js +373 -0
  219. package/dist/esm/color/index.js.map +1 -0
  220. package/dist/esm/compare/index.d.ts +26 -0
  221. package/dist/esm/compare/index.d.ts.map +1 -0
  222. package/dist/esm/compare/index.js +39 -0
  223. package/dist/esm/compare/index.js.map +1 -0
  224. package/dist/esm/drawing/registry.d.ts +42 -0
  225. package/dist/esm/drawing/registry.d.ts.map +1 -0
  226. package/dist/esm/drawing/registry.js +89 -0
  227. package/dist/esm/drawing/registry.js.map +1 -0
  228. package/dist/esm/index.d.ts +85 -0
  229. package/dist/esm/index.d.ts.map +1 -0
  230. package/dist/esm/index.js +96 -0
  231. package/dist/esm/index.js.map +1 -0
  232. package/dist/esm/indicator.d.ts +117 -0
  233. package/dist/esm/indicator.d.ts.map +1 -0
  234. package/dist/esm/indicator.js +84 -0
  235. package/dist/esm/indicator.js.map +1 -0
  236. package/dist/esm/input.d.ts +196 -0
  237. package/dist/esm/input.d.ts.map +1 -0
  238. package/dist/esm/input.js +183 -0
  239. package/dist/esm/input.js.map +1 -0
  240. package/dist/esm/label/index.d.ts +303 -0
  241. package/dist/esm/label/index.d.ts.map +1 -0
  242. package/dist/esm/label/index.js +417 -0
  243. package/dist/esm/label/index.js.map +1 -0
  244. package/dist/esm/lib/index.d.ts +8 -0
  245. package/dist/esm/lib/index.d.ts.map +1 -0
  246. package/dist/esm/lib/index.js +8 -0
  247. package/dist/esm/lib/index.js.map +1 -0
  248. package/dist/esm/lib/zigzag/index.d.ts +5 -0
  249. package/dist/esm/lib/zigzag/index.d.ts.map +1 -0
  250. package/dist/esm/lib/zigzag/index.js +5 -0
  251. package/dist/esm/lib/zigzag/index.js.map +1 -0
  252. package/dist/esm/lib/zigzag/zigzag.d.ts +100 -0
  253. package/dist/esm/lib/zigzag/zigzag.d.ts.map +1 -0
  254. package/dist/esm/lib/zigzag/zigzag.js +229 -0
  255. package/dist/esm/lib/zigzag/zigzag.js.map +1 -0
  256. package/dist/esm/line/index.d.ts +342 -0
  257. package/dist/esm/line/index.d.ts.map +1 -0
  258. package/dist/esm/line/index.js +470 -0
  259. package/dist/esm/line/index.js.map +1 -0
  260. package/dist/esm/linefill/index.d.ts +124 -0
  261. package/dist/esm/linefill/index.d.ts.map +1 -0
  262. package/dist/esm/linefill/index.js +144 -0
  263. package/dist/esm/linefill/index.js.map +1 -0
  264. package/dist/esm/map/index.d.ts +69 -0
  265. package/dist/esm/map/index.d.ts.map +1 -0
  266. package/dist/esm/map/index.js +106 -0
  267. package/dist/esm/map/index.js.map +1 -0
  268. package/dist/esm/math/index.d.ts +560 -0
  269. package/dist/esm/math/index.d.ts.map +1 -0
  270. package/dist/esm/math/index.js +495 -0
  271. package/dist/esm/math/index.js.map +1 -0
  272. package/dist/esm/matrix/index.d.ts +1231 -0
  273. package/dist/esm/matrix/index.d.ts.map +1 -0
  274. package/dist/esm/matrix/index.js +2450 -0
  275. package/dist/esm/matrix/index.js.map +1 -0
  276. package/dist/esm/plot.d.ts +76 -0
  277. package/dist/esm/plot.d.ts.map +1 -0
  278. package/dist/esm/plot.js +63 -0
  279. package/dist/esm/plot.js.map +1 -0
  280. package/dist/esm/polyline/index.d.ts +115 -0
  281. package/dist/esm/polyline/index.d.ts.map +1 -0
  282. package/dist/esm/polyline/index.js +157 -0
  283. package/dist/esm/polyline/index.js.map +1 -0
  284. package/dist/esm/runtime/adapters/LightweightChartsAdapter.d.ts +86 -0
  285. package/dist/esm/runtime/adapters/LightweightChartsAdapter.d.ts.map +1 -0
  286. package/dist/esm/runtime/adapters/LightweightChartsAdapter.js +140 -0
  287. package/dist/esm/runtime/adapters/LightweightChartsAdapter.js.map +1 -0
  288. package/dist/esm/runtime/adapters/SimpleInputAdapter.d.ts +59 -0
  289. package/dist/esm/runtime/adapters/SimpleInputAdapter.d.ts.map +1 -0
  290. package/dist/esm/runtime/adapters/SimpleInputAdapter.js +115 -0
  291. package/dist/esm/runtime/adapters/SimpleInputAdapter.js.map +1 -0
  292. package/dist/esm/runtime/index.d.ts +13 -0
  293. package/dist/esm/runtime/index.d.ts.map +1 -0
  294. package/dist/esm/runtime/index.js +14 -0
  295. package/dist/esm/runtime/index.js.map +1 -0
  296. package/dist/esm/runtime/inputs.d.ts +91 -0
  297. package/dist/esm/runtime/inputs.d.ts.map +1 -0
  298. package/dist/esm/runtime/inputs.js +334 -0
  299. package/dist/esm/runtime/inputs.js.map +1 -0
  300. package/dist/esm/runtime/runtime.d.ts +70 -0
  301. package/dist/esm/runtime/runtime.d.ts.map +1 -0
  302. package/dist/esm/runtime/runtime.js +193 -0
  303. package/dist/esm/runtime/runtime.js.map +1 -0
  304. package/dist/esm/runtime/series.d.ts +362 -0
  305. package/dist/esm/runtime/series.d.ts.map +1 -0
  306. package/dist/esm/runtime/series.js +583 -0
  307. package/dist/esm/runtime/series.js.map +1 -0
  308. package/dist/esm/runtime/types.d.ts +282 -0
  309. package/dist/esm/runtime/types.d.ts.map +1 -0
  310. package/dist/esm/runtime/types.js +7 -0
  311. package/dist/esm/runtime/types.js.map +1 -0
  312. package/dist/esm/script/index.d.ts +987 -0
  313. package/dist/esm/script/index.d.ts.map +1 -0
  314. package/dist/esm/script/index.js +1289 -0
  315. package/dist/esm/script/index.js.map +1 -0
  316. package/dist/esm/security/resample.d.ts +63 -0
  317. package/dist/esm/security/resample.d.ts.map +1 -0
  318. package/dist/esm/security/resample.js +110 -0
  319. package/dist/esm/security/resample.js.map +1 -0
  320. package/dist/esm/session/bars.d.ts +80 -0
  321. package/dist/esm/session/bars.d.ts.map +1 -0
  322. package/dist/esm/session/bars.js +232 -0
  323. package/dist/esm/session/bars.js.map +1 -0
  324. package/dist/esm/session/calendar.d.ts +70 -0
  325. package/dist/esm/session/calendar.d.ts.map +1 -0
  326. package/dist/esm/session/calendar.js +172 -0
  327. package/dist/esm/session/calendar.js.map +1 -0
  328. package/dist/esm/str/dateformat.d.ts +15 -0
  329. package/dist/esm/str/dateformat.d.ts.map +1 -0
  330. package/dist/esm/str/dateformat.js +136 -0
  331. package/dist/esm/str/dateformat.js.map +1 -0
  332. package/dist/esm/str/index.d.ts +459 -0
  333. package/dist/esm/str/index.d.ts.map +1 -0
  334. package/dist/esm/str/index.js +540 -0
  335. package/dist/esm/str/index.js.map +1 -0
  336. package/dist/esm/str/messageformat.d.ts +14 -0
  337. package/dist/esm/str/messageformat.d.ts.map +1 -0
  338. package/dist/esm/str/messageformat.js +111 -0
  339. package/dist/esm/str/messageformat.js.map +1 -0
  340. package/dist/esm/str/numberformat.d.ts +19 -0
  341. package/dist/esm/str/numberformat.d.ts.map +1 -0
  342. package/dist/esm/str/numberformat.js +189 -0
  343. package/dist/esm/str/numberformat.js.map +1 -0
  344. package/dist/esm/strategy/index.d.ts +245 -0
  345. package/dist/esm/strategy/index.d.ts.map +1 -0
  346. package/dist/esm/strategy/index.js +84 -0
  347. package/dist/esm/strategy/index.js.map +1 -0
  348. package/dist/esm/ta/index.d.ts +1397 -0
  349. package/dist/esm/ta/index.d.ts.map +1 -0
  350. package/dist/esm/ta/index.js +3227 -0
  351. package/dist/esm/ta/index.js.map +1 -0
  352. package/dist/esm/ta/running-sum.d.ts +30 -0
  353. package/dist/esm/ta/running-sum.d.ts.map +1 -0
  354. package/dist/esm/ta/running-sum.js +113 -0
  355. package/dist/esm/ta/running-sum.js.map +1 -0
  356. package/dist/esm/ta-series.d.ts +558 -0
  357. package/dist/esm/ta-series.d.ts.map +1 -0
  358. package/dist/esm/ta-series.js +910 -0
  359. package/dist/esm/ta-series.js.map +1 -0
  360. package/dist/esm/text/index.d.ts +14 -0
  361. package/dist/esm/text/index.d.ts.map +1 -0
  362. package/dist/esm/text/index.js +14 -0
  363. package/dist/esm/text/index.js.map +1 -0
  364. package/dist/esm/time/datestring.d.ts +23 -0
  365. package/dist/esm/time/datestring.d.ts.map +1 -0
  366. package/dist/esm/time/datestring.js +94 -0
  367. package/dist/esm/time/datestring.js.map +1 -0
  368. package/dist/esm/time/index.d.ts +89 -0
  369. package/dist/esm/time/index.d.ts.map +1 -0
  370. package/dist/esm/time/index.js +108 -0
  371. package/dist/esm/time/index.js.map +1 -0
  372. package/dist/esm/time/session.d.ts +17 -0
  373. package/dist/esm/time/session.d.ts.map +1 -0
  374. package/dist/esm/time/session.js +69 -0
  375. package/dist/esm/time/session.js.map +1 -0
  376. package/dist/esm/time/timezone.d.ts +40 -0
  377. package/dist/esm/time/timezone.d.ts.map +1 -0
  378. package/dist/esm/time/timezone.js +144 -0
  379. package/dist/esm/time/timezone.js.map +1 -0
  380. package/dist/esm/timeframe/index.d.ts +73 -0
  381. package/dist/esm/timeframe/index.d.ts.map +1 -0
  382. package/dist/esm/timeframe/index.js +131 -0
  383. package/dist/esm/timeframe/index.js.map +1 -0
  384. package/dist/esm/types/index.d.ts +343 -0
  385. package/dist/esm/types/index.d.ts.map +1 -0
  386. package/dist/esm/types/index.js +17 -0
  387. package/dist/esm/types/index.js.map +1 -0
  388. package/dist/esm/types/metadata.d.ts +300 -0
  389. package/dist/esm/types/metadata.d.ts.map +1 -0
  390. package/dist/esm/types/metadata.js +7 -0
  391. package/dist/esm/types/metadata.js.map +1 -0
  392. package/dist/esm/utils/index.d.ts +167 -0
  393. package/dist/esm/utils/index.d.ts.map +1 -0
  394. package/dist/esm/utils/index.js +295 -0
  395. package/dist/esm/utils/index.js.map +1 -0
  396. package/package.json +53 -23
  397. package/src/array/index.ts +1056 -0
  398. package/src/box/index.ts +680 -0
  399. package/src/callsite/index.ts +104 -0
  400. package/src/chartpoint/index.ts +126 -0
  401. package/src/color/index.ts +411 -0
  402. package/src/compare/index.ts +46 -0
  403. package/src/drawing/registry.ts +106 -0
  404. package/src/index.ts +201 -0
  405. package/src/indicator.ts +185 -0
  406. package/src/input.ts +280 -0
  407. package/src/label/index.ts +490 -0
  408. package/src/lib/index.ts +8 -0
  409. package/src/lib/zigzag/index.ts +13 -0
  410. package/src/lib/zigzag/zigzag.ts +318 -0
  411. package/src/line/index.ts +530 -0
  412. package/src/linefill/index.ts +152 -0
  413. package/src/map/index.ts +115 -0
  414. package/src/math/index.ts +1071 -0
  415. package/src/matrix/index.ts +2697 -0
  416. package/src/plot.ts +121 -0
  417. package/src/polyline/index.ts +184 -0
  418. package/src/runtime/adapters/LightweightChartsAdapter.ts +201 -0
  419. package/src/runtime/adapters/SimpleInputAdapter.ts +132 -0
  420. package/src/runtime/index.ts +52 -0
  421. package/src/runtime/inputs.ts +377 -0
  422. package/src/runtime/runtime.ts +241 -0
  423. package/src/runtime/series.ts +644 -0
  424. package/src/runtime/types.ts +292 -0
  425. package/src/script/index.ts +1865 -0
  426. package/src/security/resample.ts +119 -0
  427. package/src/session/bars.ts +262 -0
  428. package/src/session/calendar.ts +199 -0
  429. package/src/str/dateformat.ts +104 -0
  430. package/src/str/index.ts +557 -0
  431. package/src/str/messageformat.ts +109 -0
  432. package/src/str/numberformat.ts +197 -0
  433. package/src/strategy/index.ts +281 -0
  434. package/src/ta/index.ts +3580 -0
  435. package/src/ta/running-sum.ts +117 -0
  436. package/src/ta-series.ts +1036 -0
  437. package/src/text/index.ts +14 -0
  438. package/src/time/datestring.ts +96 -0
  439. package/src/time/index.ts +161 -0
  440. package/src/time/session.ts +79 -0
  441. package/src/time/timezone.ts +180 -0
  442. package/src/timeframe/index.ts +144 -0
  443. package/src/types/index.ts +398 -0
  444. package/src/types/metadata.ts +334 -0
  445. package/src/utils/index.ts +334 -0
  446. package/dist/array/index.d.ts +0 -57
  447. package/dist/array/index.d.ts.map +0 -1
  448. package/dist/box/index.d.ts +0 -37
  449. package/dist/box/index.d.ts.map +0 -1
  450. package/dist/callsite/index.d.ts +0 -7
  451. package/dist/callsite/index.d.ts.map +0 -1
  452. package/dist/chartpoint/index.d.ts +0 -8
  453. package/dist/chartpoint/index.d.ts.map +0 -1
  454. package/dist/color/index.d.ts +0 -28
  455. package/dist/color/index.d.ts.map +0 -1
  456. package/dist/compare/index.d.ts +0 -8
  457. package/dist/compare/index.d.ts.map +0 -1
  458. package/dist/drawing/registry.d.ts +0 -19
  459. package/dist/drawing/registry.d.ts.map +0 -1
  460. package/dist/index.cjs +0 -7981
  461. package/dist/index.d.ts +0 -64
  462. package/dist/index.d.ts.map +0 -1
  463. package/dist/index.mjs +0 -7964
  464. package/dist/indicator.d.ts +0 -42
  465. package/dist/indicator.d.ts.map +0 -1
  466. package/dist/input.d.ts +0 -47
  467. package/dist/input.d.ts.map +0 -1
  468. package/dist/label/index.d.ts +0 -30
  469. package/dist/label/index.d.ts.map +0 -1
  470. package/dist/lib/index.d.ts +0 -2
  471. package/dist/lib/index.d.ts.map +0 -1
  472. package/dist/lib/zigzag/index.d.ts.map +0 -1
  473. package/dist/lib/zigzag/zigzag.d.ts +0 -47
  474. package/dist/lib/zigzag/zigzag.d.ts.map +0 -1
  475. package/dist/line/index.d.ts +0 -30
  476. package/dist/line/index.d.ts.map +0 -1
  477. package/dist/linefill/index.d.ts +0 -10
  478. package/dist/linefill/index.d.ts.map +0 -1
  479. package/dist/map/index.d.ts +0 -14
  480. package/dist/map/index.d.ts.map +0 -1
  481. package/dist/math/index.d.ts +0 -53
  482. package/dist/math/index.d.ts.map +0 -1
  483. package/dist/matrix/index.d.ts +0 -52
  484. package/dist/matrix/index.d.ts.map +0 -1
  485. package/dist/plot.d.ts +0 -20
  486. package/dist/plot.d.ts.map +0 -1
  487. package/dist/polyline/index.d.ts +0 -11
  488. package/dist/polyline/index.d.ts.map +0 -1
  489. package/dist/runtime/adapters/LightweightChartsAdapter.d.ts +0 -15
  490. package/dist/runtime/adapters/LightweightChartsAdapter.d.ts.map +0 -1
  491. package/dist/runtime/adapters/SimpleInputAdapter.d.ts +0 -16
  492. package/dist/runtime/adapters/SimpleInputAdapter.d.ts.map +0 -1
  493. package/dist/runtime/index.cjs +0 -600
  494. package/dist/runtime/index.d.ts.map +0 -1
  495. package/dist/runtime/index.mjs +0 -577
  496. package/dist/runtime/inputs.d.ts +0 -13
  497. package/dist/runtime/inputs.d.ts.map +0 -1
  498. package/dist/runtime/runtime.d.ts +0 -16
  499. package/dist/runtime/runtime.d.ts.map +0 -1
  500. package/dist/runtime/series.d.ts +0 -60
  501. package/dist/runtime/series.d.ts.map +0 -1
  502. package/dist/runtime/types.d.ts +0 -126
  503. package/dist/runtime/types.d.ts.map +0 -1
  504. package/dist/script/index.cjs +0 -6377
  505. package/dist/script/index.d.ts +0 -713
  506. package/dist/script/index.d.ts.map +0 -1
  507. package/dist/script/index.mjs +0 -6360
  508. package/dist/security/resample.d.ts +0 -13
  509. package/dist/security/resample.d.ts.map +0 -1
  510. package/dist/session/bars.d.ts +0 -34
  511. package/dist/session/bars.d.ts.map +0 -1
  512. package/dist/session/calendar.d.ts +0 -31
  513. package/dist/session/calendar.d.ts.map +0 -1
  514. package/dist/str/dateformat.d.ts +0 -2
  515. package/dist/str/dateformat.d.ts.map +0 -1
  516. package/dist/str/index.d.ts +0 -24
  517. package/dist/str/index.d.ts.map +0 -1
  518. package/dist/str/messageformat.d.ts +0 -2
  519. package/dist/str/messageformat.d.ts.map +0 -1
  520. package/dist/str/numberformat.d.ts +0 -3
  521. package/dist/str/numberformat.d.ts.map +0 -1
  522. package/dist/strategy/index.d.ts.map +0 -1
  523. package/dist/ta/index.d.ts +0 -72
  524. package/dist/ta/index.d.ts.map +0 -1
  525. package/dist/ta/running-sum.d.ts +0 -3
  526. package/dist/ta/running-sum.d.ts.map +0 -1
  527. package/dist/ta-series.d.ts +0 -143
  528. package/dist/ta-series.d.ts.map +0 -1
  529. package/dist/text/index.d.ts +0 -4
  530. package/dist/text/index.d.ts.map +0 -1
  531. package/dist/time/datestring.d.ts +0 -2
  532. package/dist/time/datestring.d.ts.map +0 -1
  533. package/dist/time/index.d.ts +0 -15
  534. package/dist/time/index.d.ts.map +0 -1
  535. package/dist/time/session.d.ts +0 -2
  536. package/dist/time/session.d.ts.map +0 -1
  537. package/dist/time/timezone.d.ts +0 -13
  538. package/dist/time/timezone.d.ts.map +0 -1
  539. package/dist/timeframe/index.d.ts +0 -17
  540. package/dist/timeframe/index.d.ts.map +0 -1
  541. package/dist/types/index.d.ts +0 -181
  542. package/dist/types/index.d.ts.map +0 -1
  543. package/dist/types/metadata.d.ts +0 -132
  544. package/dist/types/metadata.d.ts.map +0 -1
  545. package/dist/utils/index.d.ts +0 -26
  546. package/dist/utils/index.d.ts.map +0 -1
@@ -0,0 +1,97 @@
1
+ /**
2
+ * @fileoverview Per-call history of ta.* functions called in a conditional block.
3
+ *
4
+ * In PineScript, every ta.* call keeps its own history of the values it receives. A call inside
5
+ * an `if` block receives values only on the bars where the block runs, so its history skips the
6
+ * other bars: `ta.crossover(a, b)` is false on the first bar the block runs, and `ta.sma(x, 3)`
7
+ * averages the last 3 values it received, not the last 3 bars.
8
+ *
9
+ * - {@link whenCalled}: vectorized, when the bars of the calls are known in advance.
10
+ * - {@link crossover} / {@link crossunder} / {@link cross} / {@link barssince}: one stateful call site for bar
11
+ * loops, called only on the bars where the Pine call runs.
12
+ *
13
+ * Since PineScript v6, `and` / `or` are lazy: the right operand runs only when the left operand does not decide
14
+ * the result. A ta.* call in the right operand of `a or b` runs on the bars where `a` is false, in `a and b` on the
15
+ * bars where `a` is true, so it needs a call site too:
16
+ *
17
+ * ```typescript
18
+ * // Pine: longCond = longUp or (src > sig and ta.barssince(longUp) <= lookback)
19
+ * const since = callsite.whenCalled(longUp.map((u, i) => !u && src[i] > sig[i]), (c) => taCore.barssince(c.map(Boolean)), longUp);
20
+ * // ta.barssince(longUp) only runs where longUp is false: it never sees true and stays na
21
+ * ```
22
+ *
23
+ * ```typescript
24
+ * // Pine: if inRange
25
+ * // buy = ta.crossover(cumRsi, 60)
26
+ * const buy = callsite.whenCalled(inRange, (a) => taCore.crossover(a, a.map(() => 60)), cumRsi);
27
+ *
28
+ * // Same call in a bar loop
29
+ * const buyCross = callsite.crossover();
30
+ * for (let i = 0; i < n; i++) {
31
+ * if (inRange[i]) {
32
+ * const buy = buyCross(cumRsi[i], 60);
33
+ * }
34
+ * }
35
+ * ```
36
+ *
37
+ * @module callsite
38
+ */
39
+ /**
40
+ * Runs `fn` on the bars where `called` is true only, like a ta.* call inside an `if` block.
41
+ * `fn` receives the values of `sources` on those bars, in order; its results are placed back on
42
+ * the same bars. The other bars get na (NaN).
43
+ *
44
+ * @param called - true (or non-zero) on the bars where the call runs
45
+ * @param fn - the calculation, for example `(x) => taCore.sma(x, 3)`
46
+ * @param sources - the arguments of the call, one value per chart bar
47
+ */
48
+ export function whenCalled(called, fn, ...sources) {
49
+ const bars = [];
50
+ for (let i = 0; i < called.length; i++)
51
+ if (called[i])
52
+ bars.push(i);
53
+ const result = fn(...sources.map(s => bars.map(i => s[i] ?? NaN)));
54
+ const out = new Array(called.length).fill(NaN);
55
+ bars.forEach((bar, k) => {
56
+ out[bar] = result[k];
57
+ });
58
+ return out;
59
+ }
60
+ /** A call site that keeps the two previous arguments (na before the first call). */
61
+ function twoSeriesSite(test) {
62
+ let prevA = NaN;
63
+ let prevB = NaN;
64
+ return (a, b) => {
65
+ const result = test(a, b, prevA, prevB);
66
+ prevA = a;
67
+ prevB = b;
68
+ return result;
69
+ };
70
+ }
71
+ /** One `ta.crossover(a, b)` call site: false on its first call, as its history is na. */
72
+ export function crossover() {
73
+ return twoSeriesSite((a, b, pa, pb) => a > b && pa <= pb);
74
+ }
75
+ /** One `ta.crossunder(a, b)` call site: false on its first call, as its history is na. */
76
+ export function crossunder() {
77
+ return twoSeriesSite((a, b, pa, pb) => a < b && pa >= pb);
78
+ }
79
+ /**
80
+ * One `ta.barssince(condition)` call site: the number of calls since the condition was true on a call (0 on that
81
+ * call), na before the first true condition. An na condition counts as false.
82
+ */
83
+ export function barssince() {
84
+ let count = NaN;
85
+ return (condition) => {
86
+ if (condition && !Number.isNaN(condition))
87
+ count = 0;
88
+ else if (!Number.isNaN(count))
89
+ count++;
90
+ return count;
91
+ };
92
+ }
93
+ /** One `ta.cross(a, b)` call site: false on its first call, as its history is na. */
94
+ export function cross() {
95
+ return twoSeriesSite((a, b, pa, pb) => (a > b && pa <= pb) || (a < b && pa >= pb));
96
+ }
97
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/callsite/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAIH;;;;;;;;GAQG;AACH,MAAM,UAAU,UAAU,CACxB,MAAmC,EACnC,EAA2C,EAC3C,GAAG,OAAiB;IAEpB,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,IAAI,MAAM,CAAC,CAAC,CAAC;YAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpE,MAAM,MAAM,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;IACnE,MAAM,GAAG,GAAG,IAAI,KAAK,CAAa,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3D,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QACtB,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC;IACxB,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC;AAED,oFAAoF;AACpF,SAAS,aAAa,CAAC,IAAqE;IAC1F,IAAI,KAAK,GAAG,GAAG,CAAC;IAChB,IAAI,KAAK,GAAG,GAAG,CAAC;IAChB,OAAO,CAAC,CAAS,EAAE,CAAS,EAAW,EAAE;QACvC,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACxC,KAAK,GAAG,CAAC,CAAC;QACV,KAAK,GAAG,CAAC,CAAC;QACV,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,SAAS;IACvB,OAAO,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AAC5D,CAAC;AAED,0FAA0F;AAC1F,MAAM,UAAU,UAAU;IACxB,OAAO,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AAC5D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS;IACvB,IAAI,KAAK,GAAG,GAAG,CAAC;IAChB,OAAO,CAAC,SAAS,EAAE,EAAE;QACnB,IAAI,SAAS,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;YAAE,KAAK,GAAG,CAAC,CAAC;aAChD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;YAAE,KAAK,EAAE,CAAC;QACvC,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;AACJ,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,KAAK;IACnB,OAAO,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACrF,CAAC"}
@@ -0,0 +1,90 @@
1
+ /**
2
+ * Chart Point namespace
3
+ * Functions for creating and manipulating chart point objects.
4
+ *
5
+ * @remarks
6
+ * Chart points represent specific locations on a chart with time, index, and price coordinates.
7
+ * They are primarily used with polylines and other drawing objects that require multiple points.
8
+ *
9
+ * @version 6
10
+ */
11
+ import type { ChartPoint } from '../types/index.js';
12
+ export type { ChartPoint };
13
+ /**
14
+ * Creates a new chart point with all coordinates.
15
+ *
16
+ * @param time - UNIX timestamp in milliseconds (or null if using bar index)
17
+ * @param index - Bar index (or null if using time)
18
+ * @param price - Y-axis price value
19
+ * @returns New ChartPoint object
20
+ *
21
+ * @remarks
22
+ * Creates a chart point that can be used with polylines and other multi-point drawing objects.
23
+ * Typically, you would provide either time or index, not both, depending on the xloc mode.
24
+ *
25
+ * @example
26
+ * ```typescript
27
+ * // Create a point with both time and index
28
+ * const point = chartPoint.new(1609459200000, 100, 150.5);
29
+ *
30
+ * // Create a point with only index
31
+ * const indexPoint = chartPoint.new(null, 50, 200);
32
+ *
33
+ * // Create a point with only time
34
+ * const timePoint = chartPoint.new(1609459200000, null, 175);
35
+ * ```
36
+ */
37
+ export declare function new_point(time: number | null, index: number | null, price: number): ChartPoint;
38
+ /**
39
+ * Creates a chart point from time and price.
40
+ *
41
+ * @param time - UNIX timestamp in milliseconds
42
+ * @param price - Y-axis price value
43
+ * @returns New ChartPoint object with index set to null
44
+ *
45
+ * @remarks
46
+ * Convenience function for creating points when using xloc.bar_time mode.
47
+ *
48
+ * @example
49
+ * ```typescript
50
+ * // Create a point using timestamp
51
+ * const point = chartPoint.from_time(1609459200000, 150.5);
52
+ * ```
53
+ */
54
+ export declare function from_time(time: number, price: number): ChartPoint;
55
+ /**
56
+ * Creates a chart point from bar index and price.
57
+ *
58
+ * @param index - Bar index
59
+ * @param price - Y-axis price value
60
+ * @returns New ChartPoint object with time set to null
61
+ *
62
+ * @remarks
63
+ * Convenience function for creating points when using xloc.bar_index mode.
64
+ *
65
+ * @example
66
+ * ```typescript
67
+ * // Create a point using bar index
68
+ * const point = chartPoint.from_index(50, 150.5);
69
+ * ```
70
+ */
71
+ export declare function from_index(index: number, price: number): ChartPoint;
72
+ /**
73
+ * Creates a copy of a chart point.
74
+ *
75
+ * @param point - ChartPoint to copy
76
+ * @returns New ChartPoint object with same values
77
+ *
78
+ * @remarks
79
+ * Creates a shallow copy of the chart point. Since ChartPoint is immutable (readonly properties),
80
+ * this creates an independent copy.
81
+ *
82
+ * @example
83
+ * ```typescript
84
+ * const original = chartPoint.from_index(10, 100);
85
+ * const copied = chartPoint.copy(original);
86
+ * ```
87
+ */
88
+ export declare function copy(point: ChartPoint): ChartPoint;
89
+ export { new_point as new };
90
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/chartpoint/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGpD,YAAY,EAAE,UAAU,EAAE,CAAC;AAE3B;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,SAAS,CACvB,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,KAAK,EAAE,MAAM,GACZ,UAAU,CAMZ;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,CAMjE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,CAMnE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CAMlD;AAGD,OAAO,EAAE,SAAS,IAAI,GAAG,EAAE,CAAC"}
@@ -0,0 +1,113 @@
1
+ /**
2
+ * Chart Point namespace
3
+ * Functions for creating and manipulating chart point objects.
4
+ *
5
+ * @remarks
6
+ * Chart points represent specific locations on a chart with time, index, and price coordinates.
7
+ * They are primarily used with polylines and other drawing objects that require multiple points.
8
+ *
9
+ * @version 6
10
+ */
11
+ /**
12
+ * Creates a new chart point with all coordinates.
13
+ *
14
+ * @param time - UNIX timestamp in milliseconds (or null if using bar index)
15
+ * @param index - Bar index (or null if using time)
16
+ * @param price - Y-axis price value
17
+ * @returns New ChartPoint object
18
+ *
19
+ * @remarks
20
+ * Creates a chart point that can be used with polylines and other multi-point drawing objects.
21
+ * Typically, you would provide either time or index, not both, depending on the xloc mode.
22
+ *
23
+ * @example
24
+ * ```typescript
25
+ * // Create a point with both time and index
26
+ * const point = chartPoint.new(1609459200000, 100, 150.5);
27
+ *
28
+ * // Create a point with only index
29
+ * const indexPoint = chartPoint.new(null, 50, 200);
30
+ *
31
+ * // Create a point with only time
32
+ * const timePoint = chartPoint.new(1609459200000, null, 175);
33
+ * ```
34
+ */
35
+ export function new_point(time, index, price) {
36
+ return {
37
+ time,
38
+ index,
39
+ price,
40
+ };
41
+ }
42
+ /**
43
+ * Creates a chart point from time and price.
44
+ *
45
+ * @param time - UNIX timestamp in milliseconds
46
+ * @param price - Y-axis price value
47
+ * @returns New ChartPoint object with index set to null
48
+ *
49
+ * @remarks
50
+ * Convenience function for creating points when using xloc.bar_time mode.
51
+ *
52
+ * @example
53
+ * ```typescript
54
+ * // Create a point using timestamp
55
+ * const point = chartPoint.from_time(1609459200000, 150.5);
56
+ * ```
57
+ */
58
+ export function from_time(time, price) {
59
+ return {
60
+ time,
61
+ index: null,
62
+ price,
63
+ };
64
+ }
65
+ /**
66
+ * Creates a chart point from bar index and price.
67
+ *
68
+ * @param index - Bar index
69
+ * @param price - Y-axis price value
70
+ * @returns New ChartPoint object with time set to null
71
+ *
72
+ * @remarks
73
+ * Convenience function for creating points when using xloc.bar_index mode.
74
+ *
75
+ * @example
76
+ * ```typescript
77
+ * // Create a point using bar index
78
+ * const point = chartPoint.from_index(50, 150.5);
79
+ * ```
80
+ */
81
+ export function from_index(index, price) {
82
+ return {
83
+ time: null,
84
+ index,
85
+ price,
86
+ };
87
+ }
88
+ /**
89
+ * Creates a copy of a chart point.
90
+ *
91
+ * @param point - ChartPoint to copy
92
+ * @returns New ChartPoint object with same values
93
+ *
94
+ * @remarks
95
+ * Creates a shallow copy of the chart point. Since ChartPoint is immutable (readonly properties),
96
+ * this creates an independent copy.
97
+ *
98
+ * @example
99
+ * ```typescript
100
+ * const original = chartPoint.from_index(10, 100);
101
+ * const copied = chartPoint.copy(original);
102
+ * ```
103
+ */
104
+ export function copy(point) {
105
+ return {
106
+ time: point.time,
107
+ index: point.index,
108
+ price: point.price,
109
+ };
110
+ }
111
+ // Alias to match PineScript API (chart.point.new)
112
+ export { new_point as new };
113
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/chartpoint/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAOH;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,SAAS,CACvB,IAAmB,EACnB,KAAoB,EACpB,KAAa;IAEb,OAAO;QACL,IAAI;QACJ,KAAK;QACL,KAAK;KACN,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,SAAS,CAAC,IAAY,EAAE,KAAa;IACnD,OAAO;QACL,IAAI;QACJ,KAAK,EAAE,IAAI;QACX,KAAK;KACN,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,UAAU,CAAC,KAAa,EAAE,KAAa;IACrD,OAAO;QACL,IAAI,EAAE,IAAI;QACV,KAAK;QACL,KAAK;KACN,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,IAAI,CAAC,KAAiB;IACpC,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,KAAK,EAAE,KAAK,CAAC,KAAK;KACnB,CAAC;AACJ,CAAC;AAED,kDAAkD;AAClD,OAAO,EAAE,SAAS,IAAI,GAAG,EAAE,CAAC"}
@@ -0,0 +1,285 @@
1
+ /**
2
+ * Color namespace
3
+ * Mirrors PineScript's color.* functions for color creation and manipulation.
4
+ *
5
+ * @remarks
6
+ * All color functions in this namespace follow PineScript v6 API specifications.
7
+ * Colors are represented as RGB or RGBA strings.
8
+ * Transparency values range from 0 (fully opaque) to 100 (fully transparent).
9
+ *
10
+ * @version 6
11
+ */
12
+ import type { color, int, float, simple_int, simple_float } from '../types/index.js';
13
+ /**
14
+ * Creates a color from RGB values with optional transparency.
15
+ *
16
+ * @param red - Red component (0-255, values are clamped)
17
+ * @param green - Green component (0-255, values are clamped)
18
+ * @param blue - Blue component (0-255, values are clamped)
19
+ * @param transp - Optional transparency (0-100). 0 = opaque, 100 = fully transparent
20
+ * @returns Color string in rgb() or rgba() format
21
+ *
22
+ * @remarks
23
+ * - RGB values are automatically clamped to the 0-255 range
24
+ * - Transparency of 0 or omitted results in rgb() format
25
+ * - Transparency > 0 results in rgba() format
26
+ * - Transparency is converted to alpha channel (0-1 range)
27
+ *
28
+ * PineScript rules:
29
+ * - an `na` channel is 0; a fractional channel is truncated (127.6 is 127)
30
+ * - the transparency is clamped to 0..100 (140 is fully transparent, -5 is opaque); an `na` transparency is fully
31
+ * transparent
32
+ *
33
+ * @example
34
+ * ```typescript
35
+ * color.rgb(255, 0, 0) // Returns: "rgb(255, 0, 0)" - Red
36
+ * color.rgb(0, 255, 0, 50) // Returns: "rgba(0, 255, 0, 0.5)" - Semi-transparent green
37
+ * color.rgb(300, 0, 0) // Returns: "rgb(255, 0, 0)" - Clamped to 255
38
+ * ```
39
+ */
40
+ export declare function rgb(red: simple_int, green: simple_int, blue: simple_int, transp?: simple_float): string;
41
+ /**
42
+ * Creates a color from a hexadecimal string with optional transparency.
43
+ *
44
+ * @param hex - Hex color string (with or without '#' prefix, e.g., "#FF0000" or "FF0000")
45
+ * @param transp - Optional transparency (0-100). 0 = opaque, 100 = fully transparent
46
+ * @returns Color string in rgb() or rgba() format
47
+ *
48
+ * @remarks
49
+ * - Accepts hex strings with or without '#' prefix
50
+ * - Case-insensitive (accepts both "FF0000" and "ff0000")
51
+ * - Must be 6 characters (excluding '#')
52
+ * - Format: RRGGBB where each component is 00-FF
53
+ *
54
+ * @example
55
+ * ```typescript
56
+ * color.from_hex("#FF0000") // Returns: "rgb(255, 0, 0)" - Red
57
+ * color.from_hex("00FF00", 50) // Returns: "rgba(0, 255, 0, 0.5)" - Semi-transparent green
58
+ * color.from_hex("#0000FF") // Returns: "rgb(0, 0, 255)" - Blue
59
+ * color.from_hex("FFA500") // Returns: "rgb(255, 165, 0)" - Orange
60
+ * ```
61
+ */
62
+ export declare function from_hex(hex: string, transp?: simple_float): string;
63
+ /**
64
+ * Creates a new color with modified transparency, preserving RGB components.
65
+ *
66
+ * @param baseColor - The base color to modify
67
+ * @param transp - New transparency value (0-100). 0 = opaque, 100 = fully transparent
68
+ * @returns New color with updated transparency
69
+ *
70
+ * @remarks
71
+ * - Preserves the RGB values from the base color
72
+ * - Replaces the transparency with the new value
73
+ * - Useful for creating semi-transparent versions of existing colors
74
+ * - PineScript clamps the transparency to 0..100 (`color.new(c, 140)` is fully transparent, `color.new(c, -5)` is
75
+ * opaque); an `na` transparency is fully transparent
76
+ *
77
+ * @example
78
+ * ```typescript
79
+ * const red = color.rgb(255, 0, 0)
80
+ * color.new_color(red, 50) // Returns: "rgba(255, 0, 0, 0.5)" - Semi-transparent red
81
+ * color.new_color(red, 0) // Returns: "rgb(255, 0, 0)" - Fully opaque
82
+ * color.new_color(red, 100) // Returns: "rgba(255, 0, 0, 0)" - Fully transparent
83
+ * ```
84
+ */
85
+ export declare function new_color(baseColor: color, transp: simple_float): string;
86
+ /**
87
+ * Extracts the red component from a color.
88
+ *
89
+ * @param clr - The color to extract from
90
+ * @returns Red component value (0-255)
91
+ *
92
+ * @example
93
+ * ```typescript
94
+ * color.r(color.rgb(255, 128, 64)) // Returns: 255
95
+ * color.r(color.from_hex("#FF0000")) // Returns: 255
96
+ * color.r(color.from_hex("#FFA500")) // Returns: 255 (orange)
97
+ * ```
98
+ */
99
+ export declare function r(clr: color): int;
100
+ /**
101
+ * Extracts the green component from a color.
102
+ *
103
+ * @param clr - The color to extract from
104
+ * @returns Green component value (0-255)
105
+ *
106
+ * @example
107
+ * ```typescript
108
+ * color.g(color.rgb(255, 128, 64)) // Returns: 128
109
+ * color.g(color.from_hex("#00FF00")) // Returns: 255
110
+ * color.g(color.from_hex("#FFA500")) // Returns: 165 (orange)
111
+ * ```
112
+ */
113
+ export declare function g(clr: color): int;
114
+ /**
115
+ * Extracts the blue component from a color.
116
+ *
117
+ * @param clr - The color to extract from
118
+ * @returns Blue component value (0-255)
119
+ *
120
+ * @example
121
+ * ```typescript
122
+ * color.b(color.rgb(255, 128, 64)) // Returns: 64
123
+ * color.b(color.from_hex("#0000FF")) // Returns: 255
124
+ * color.b(color.from_hex("#FFA500")) // Returns: 0 (orange)
125
+ * ```
126
+ */
127
+ export declare function b(clr: color): int;
128
+ /**
129
+ * Extracts the transparency component from a color.
130
+ *
131
+ * @param clr - The color to extract from
132
+ * @returns Transparency value (0-100). 0 = fully opaque, 100 = fully transparent
133
+ *
134
+ * @remarks
135
+ * - Returns 0 for colors without transparency (rgb format)
136
+ * - Converts alpha channel (0-1) to transparency (0-100)
137
+ * - PineScript stores the alpha as a byte (0-255) and returns an integer transparency:
138
+ * `color.t(color.new(c, 33.3))` is 33
139
+ *
140
+ * @example
141
+ * ```typescript
142
+ * color.t(color.rgb(255, 0, 0)) // Returns: 0 (opaque)
143
+ * color.t(color.rgb(255, 0, 0, 50)) // Returns: 50
144
+ * color.t(color.rgb(255, 0, 0, 100)) // Returns: 100 (fully transparent)
145
+ * ```
146
+ */
147
+ export declare function t(clr: color): float;
148
+ /**
149
+ * Aqua/Cyan color constant
150
+ * @constant {string} #00BCD4 - RGB(0, 188, 212)
151
+ */
152
+ export declare const aqua = "#00BCD4";
153
+ /**
154
+ * Black color constant
155
+ * @constant {string} #363A45 - RGB(54, 58, 69)
156
+ */
157
+ export declare const black = "#363A45";
158
+ /**
159
+ * Blue color constant
160
+ * @constant {string} #2962FF - RGB(41, 98, 255)
161
+ */
162
+ export declare const blue = "#2962FF";
163
+ /**
164
+ * Fuchsia/Magenta color constant
165
+ * @constant {string} #E040FB - RGB(224, 64, 251)
166
+ */
167
+ export declare const fuchsia = "#E040FB";
168
+ /**
169
+ * Gray color constant
170
+ * @constant {string} #787B86 - RGB(120, 123, 134)
171
+ */
172
+ export declare const gray = "#787B86";
173
+ /**
174
+ * Green color constant (same as lime)
175
+ * @constant {string} #4CAF50 - RGB(76, 175, 80)
176
+ */
177
+ export declare const green = "#4CAF50";
178
+ /**
179
+ * Lime color constant (same as green)
180
+ * @constant {string} #00E676 - RGB(0, 230, 118)
181
+ */
182
+ export declare const lime = "#00E676";
183
+ /**
184
+ * Maroon color constant
185
+ * @constant {string} #880E4F - RGB(136, 14, 79)
186
+ */
187
+ export declare const maroon = "#880E4F";
188
+ /**
189
+ * Navy color constant
190
+ * @constant {string} #311B92 - RGB(49, 27, 146)
191
+ */
192
+ export declare const navy = "#311B92";
193
+ /**
194
+ * Olive color constant
195
+ * @constant {string} #808000 - RGB(128, 128, 0)
196
+ */
197
+ export declare const olive = "#808000";
198
+ /**
199
+ * Orange color constant
200
+ * @constant {string} #FF9800 - RGB(255, 152, 0)
201
+ */
202
+ export declare const orange = "#FF9800";
203
+ /**
204
+ * Purple color constant
205
+ * @constant {string} #9C27B0 - RGB(156, 39, 176)
206
+ */
207
+ export declare const purple = "#9C27B0";
208
+ /**
209
+ * Red color constant
210
+ * @constant {string} #F23645 - RGB(242, 54, 69)
211
+ */
212
+ export declare const red = "#F23645";
213
+ /**
214
+ * Silver color constant
215
+ * @constant {string} #B2B5BE - RGB(178, 181, 190)
216
+ */
217
+ export declare const silver = "#B2B5BE";
218
+ /**
219
+ * Teal color constant
220
+ * @constant {string} #089981 - RGB(8, 153, 129)
221
+ */
222
+ export declare const teal = "#089981";
223
+ /**
224
+ * White color constant
225
+ * @constant {string} #FFFFFF - RGB(255, 255, 255)
226
+ */
227
+ export declare const white = "#FFFFFF";
228
+ /**
229
+ * Yellow color constant
230
+ * @constant {string} #FDD835 - RGB(253, 216, 53)
231
+ */
232
+ export declare const yellow = "#FDD835";
233
+ /**
234
+ * Creates a color from a gradient based on value position.
235
+ *
236
+ * @param value - Value to calculate position-dependent color
237
+ * @param bottom_value - Bottom position value corresponding to bottom_color
238
+ * @param top_value - Top position value corresponding to top_color
239
+ * @param bottom_color - Bottom position color
240
+ * @param top_color - Top position color
241
+ * @returns Color calculated from linear gradient
242
+ *
243
+ * @remarks
244
+ * PineScript rules:
245
+ * - If value <= bottom_value, returns bottom_color; else if value >= top_value, returns top_color
246
+ * - Otherwise the colours are mixed with their transparency (premultiplied alpha, alpha as a byte); the RGB channels
247
+ * and the alpha are truncated. PineScript's float rounding order is not known: a channel can differ by 1 when the
248
+ * exact result is an integer (same RGB at both ends)
249
+ * - An na value or bottom_value / top_value, or bottom_value == top_value, gives a fully transparent colour
250
+ * - An na colour counts as fully transparent
251
+ * - Works with rgb(), rgba() and hex (#RRGGBB, #RRGGBBAA) colours
252
+ *
253
+ * @example
254
+ * ```typescript
255
+ * // Value at middle of range gets middle color
256
+ * const midColor = color.from_gradient(50, 0, 100,
257
+ * color.rgb(255, 0, 0), // Red at bottom
258
+ * color.rgb(0, 255, 0) // Green at top
259
+ * ); // Returns color between red and green
260
+ *
261
+ * // Value at extremes
262
+ * const lowColor = color.from_gradient(-10, 0, 100, red, green); // Returns red
263
+ * const highColor = color.from_gradient(150, 0, 100, red, green); // Returns green
264
+ * ```
265
+ */
266
+ export declare function from_gradient(value: float, bottom_value: float, top_value: float, bottom_color: color, top_color: color): string;
267
+ /**
268
+ * Alias for new_color function.
269
+ * Creates a new color with specified transparency from an existing color.
270
+ *
271
+ * @param baseColor - The base color
272
+ * @param transp - Transparency value (0-100). 0 = fully opaque, 100 = fully transparent
273
+ * @returns New color with applied transparency
274
+ *
275
+ * @remarks
276
+ * This is an alias for `new_color()` to match PineScript's `color.new()` syntax.
277
+ *
278
+ * @example
279
+ * ```typescript
280
+ * const redColor = color.rgb(255, 0, 0);
281
+ * const transparentRed = color.new(redColor, 50); // 50% transparent red
282
+ * ```
283
+ */
284
+ export { new_color as new };
285
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/color/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAUrF;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,GAAG,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,MAAM,CAUvG;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,MAAM,CASnE;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,SAAS,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,GAAG,MAAM,CAIxE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,CAAC,CAAC,GAAG,EAAE,KAAK,GAAG,GAAG,CAEjC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,CAAC,CAAC,GAAG,EAAE,KAAK,GAAG,GAAG,CAEjC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,CAAC,CAAC,GAAG,EAAE,KAAK,GAAG,GAAG,CAEjC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,CAAC,CAAC,GAAG,EAAE,KAAK,GAAG,KAAK,CAGnC;AAmCD;;;GAGG;AACH,eAAO,MAAM,IAAI,YAAY,CAAC;AAE9B;;;GAGG;AACH,eAAO,MAAM,KAAK,YAAY,CAAC;AAE/B;;;GAGG;AACH,eAAO,MAAM,IAAI,YAAY,CAAC;AAE9B;;;GAGG;AACH,eAAO,MAAM,OAAO,YAAY,CAAC;AAEjC;;;GAGG;AACH,eAAO,MAAM,IAAI,YAAY,CAAC;AAE9B;;;GAGG;AACH,eAAO,MAAM,KAAK,YAAY,CAAC;AAE/B;;;GAGG;AACH,eAAO,MAAM,IAAI,YAAY,CAAC;AAE9B;;;GAGG;AACH,eAAO,MAAM,MAAM,YAAY,CAAC;AAEhC;;;GAGG;AACH,eAAO,MAAM,IAAI,YAAY,CAAC;AAE9B;;;GAGG;AACH,eAAO,MAAM,KAAK,YAAY,CAAC;AAE/B;;;GAGG;AACH,eAAO,MAAM,MAAM,YAAY,CAAC;AAEhC;;;GAGG;AACH,eAAO,MAAM,MAAM,YAAY,CAAC;AAEhC;;;GAGG;AACH,eAAO,MAAM,GAAG,YAAY,CAAC;AAE7B;;;GAGG;AACH,eAAO,MAAM,MAAM,YAAY,CAAC;AAEhC;;;GAGG;AACH,eAAO,MAAM,IAAI,YAAY,CAAC;AAE9B;;;GAGG;AACH,eAAO,MAAM,KAAK,YAAY,CAAC;AAE/B;;;GAGG;AACH,eAAO,MAAM,MAAM,YAAY,CAAC;AAEhC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,KAAK,EACnB,SAAS,EAAE,KAAK,EAChB,YAAY,EAAE,KAAK,EACnB,SAAS,EAAE,KAAK,GACf,MAAM,CAqBR;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,SAAS,IAAI,GAAG,EAAE,CAAC"}