oakscriptjs 0.8.1 → 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 (544) 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 -7979
  461. package/dist/index.d.ts +0 -64
  462. package/dist/index.d.ts.map +0 -1
  463. package/dist/index.mjs +0 -7962
  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 -122
  503. package/dist/runtime/types.d.ts.map +0 -1
  504. package/dist/script/index.cjs +0 -6372
  505. package/dist/script/index.d.ts +0 -709
  506. package/dist/script/index.d.ts.map +0 -1
  507. package/dist/script/index.mjs +0 -6355
  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-series.d.ts +0 -143
  526. package/dist/ta-series.d.ts.map +0 -1
  527. package/dist/text/index.d.ts +0 -4
  528. package/dist/text/index.d.ts.map +0 -1
  529. package/dist/time/datestring.d.ts +0 -2
  530. package/dist/time/datestring.d.ts.map +0 -1
  531. package/dist/time/index.d.ts +0 -15
  532. package/dist/time/index.d.ts.map +0 -1
  533. package/dist/time/session.d.ts +0 -2
  534. package/dist/time/session.d.ts.map +0 -1
  535. package/dist/time/timezone.d.ts +0 -13
  536. package/dist/time/timezone.d.ts.map +0 -1
  537. package/dist/timeframe/index.d.ts +0 -17
  538. package/dist/timeframe/index.d.ts.map +0 -1
  539. package/dist/types/index.d.ts +0 -181
  540. package/dist/types/index.d.ts.map +0 -1
  541. package/dist/types/metadata.d.ts +0 -131
  542. package/dist/types/metadata.d.ts.map +0 -1
  543. package/dist/utils/index.d.ts +0 -26
  544. package/dist/utils/index.d.ts.map +0 -1
@@ -0,0 +1,343 @@
1
+ /**
2
+ * Core types for OakScriptJS
3
+ * These types mirror the PineScript type system
4
+ */
5
+ export type int = number;
6
+ export type float = number;
7
+ export type bool = boolean;
8
+ export type color = string | number;
9
+ export type series<T> = T[];
10
+ export type series_int = series<int>;
11
+ export type series_float = series<float>;
12
+ export type series_bool = series<bool>;
13
+ export type series_string = series<string>;
14
+ export type series_color = series<color>;
15
+ export type simple_int = int;
16
+ export type simple_float = float;
17
+ export type simple_bool = bool;
18
+ export type simple_string = string;
19
+ export type simple_color = color;
20
+ export type input_int = int;
21
+ export type input_float = float;
22
+ export type input_bool = bool;
23
+ export type input_string = string;
24
+ export type input_color = color;
25
+ export type const_int = int;
26
+ export type const_float = float;
27
+ export type const_bool = bool;
28
+ export type const_string = string;
29
+ export type const_color = color;
30
+ export type Source = series_float;
31
+ export type PineArray<T> = Array<T>;
32
+ export type PineMapKey = number | string | boolean;
33
+ export type PineMap<K extends PineMapKey, V> = Map<K, V>;
34
+ export interface PineMatrix<T> {
35
+ rows: int;
36
+ columns: int;
37
+ data: T[][];
38
+ }
39
+ /**
40
+ * Line object - Represents a line on the chart
41
+ * @remarks
42
+ * While lines are visual in PineScript, line.get_price() provides computational value
43
+ * for detecting trend line breakouts, calculating support/resistance levels, etc.
44
+ */
45
+ export interface Line {
46
+ /** First point's x coordinate (bar index or UNIX timestamp) */
47
+ x1: number;
48
+ /** First point's y coordinate (price level) */
49
+ y1: number;
50
+ /** Second point's x coordinate (bar index or UNIX timestamp) */
51
+ x2: number;
52
+ /** Second point's y coordinate (price level) */
53
+ y2: number;
54
+ /** X-axis coordinate system */
55
+ xloc: 'bar_index' | 'bar_time';
56
+ /** Extension mode */
57
+ extend: 'none' | 'left' | 'right' | 'both';
58
+ /** Line color (stored but not used for calculations) */
59
+ color?: color;
60
+ /** Line style (stored but not used for calculations) */
61
+ style?: 'solid' | 'dotted' | 'dashed' | 'arrow_left' | 'arrow_right' | 'arrow_both';
62
+ /** Line width in pixels (stored but not used for calculations) */
63
+ width?: number;
64
+ /** Display on the main chart pane (PineScript force_overlay) */
65
+ force_overlay?: boolean;
66
+ }
67
+ /**
68
+ * Box object - Represents a rectangular area on the chart
69
+ * @remarks
70
+ * Box getters (get_top, get_bottom, get_left, get_right) enable gap detection,
71
+ * range breakout analysis, and consolidation zone identification.
72
+ */
73
+ export interface Box {
74
+ /** Left border x coordinate (bar index or UNIX timestamp) */
75
+ left: number;
76
+ /** Top border y coordinate (price level) */
77
+ top: number;
78
+ /** Right border x coordinate (bar index or UNIX timestamp) */
79
+ right: number;
80
+ /** Bottom border y coordinate (price level) */
81
+ bottom: number;
82
+ /** X-axis coordinate system */
83
+ xloc: 'bar_index' | 'bar_time';
84
+ /** Horizontal extension mode */
85
+ extend: 'none' | 'left' | 'right' | 'both';
86
+ /** Border color (stored but not used for calculations) */
87
+ border_color?: color;
88
+ /** Border width in pixels (stored but not used for calculations) */
89
+ border_width?: number;
90
+ /** Border style (stored but not used for calculations) */
91
+ border_style?: 'solid' | 'dotted' | 'dashed';
92
+ /** Background fill color (stored but not used for calculations) */
93
+ bgcolor?: color;
94
+ /** Text content displayed in the box */
95
+ text?: string;
96
+ /** Text size */
97
+ text_size?: string | number;
98
+ /** Text color */
99
+ text_color?: color;
100
+ /** Horizontal text alignment */
101
+ text_halign?: 'left' | 'center' | 'right';
102
+ /** Vertical text alignment */
103
+ text_valign?: 'top' | 'center' | 'bottom';
104
+ /** Text wrapping mode */
105
+ text_wrap?: 'none' | 'auto';
106
+ /** Text font family */
107
+ text_font_family?: 'default' | 'monospace';
108
+ /** Text formatting flags: 0 none, 1 bold, 2 italic, 3 bold + italic (PineScript text.format_*) */
109
+ text_formatting?: number;
110
+ /** Display on the main chart pane (PineScript force_overlay) */
111
+ force_overlay?: boolean;
112
+ }
113
+ /**
114
+ * Label object - Represents a label/annotation on the chart
115
+ * @remarks
116
+ * Labels have limited computational value. Primarily used for marking points and displaying text.
117
+ */
118
+ export interface Label {
119
+ /** X coordinate (bar index or UNIX timestamp) */
120
+ x: number;
121
+ /** Y coordinate (price level when yloc = 'price') */
122
+ y: number;
123
+ /** X-axis coordinate system */
124
+ xloc: 'bar_index' | 'bar_time';
125
+ /** Y-axis positioning mode */
126
+ yloc: 'price' | 'abovebar' | 'belowbar';
127
+ /** Label text content */
128
+ text?: string;
129
+ /** Tooltip text shown on hover */
130
+ tooltip?: string;
131
+ /** Border and arrow color */
132
+ color?: color;
133
+ /** Label style */
134
+ style?: 'none' | 'xcross' | 'cross' | 'triangleup' | 'triangledown' | 'flag' | 'circle' | 'arrowup' | 'arrowdown' | 'label_up' | 'label_down' | 'label_left' | 'label_right' | 'label_lower_left' | 'label_lower_right' | 'label_upper_left' | 'label_upper_right' | 'label_center' | 'square' | 'diamond' | 'text_outline';
135
+ /** Text color */
136
+ textcolor?: color;
137
+ /** Label size */
138
+ size?: string | number;
139
+ /** Text alignment */
140
+ textalign?: 'left' | 'center' | 'right';
141
+ /** Text font family */
142
+ text_font_family?: 'default' | 'monospace';
143
+ /** Text formatting flags: 0 none, 1 bold, 2 italic, 3 bold + italic (PineScript text.format_*) */
144
+ text_formatting?: number;
145
+ /** Display on the main chart pane (PineScript force_overlay) */
146
+ force_overlay?: boolean;
147
+ }
148
+ /**
149
+ * Linefill object - Represents a filled area between two lines
150
+ * @remarks
151
+ * Minimal computational value. Used to fill channel areas visually.
152
+ */
153
+ export interface Linefill {
154
+ /** First line reference */
155
+ line1: Line;
156
+ /** Second line reference */
157
+ line2: Line;
158
+ /** Fill color */
159
+ color?: color;
160
+ }
161
+ /**
162
+ * Table object - Represents a table for displaying data
163
+ * @remarks
164
+ * Tables have NO computational value (no getter functions in PineScript).
165
+ * Purely for display/visualization purposes.
166
+ */
167
+ export interface Table {
168
+ /** Table position on chart */
169
+ position: 'top_left' | 'top_center' | 'top_right' | 'middle_left' | 'middle_center' | 'middle_right' | 'bottom_left' | 'bottom_center' | 'bottom_right';
170
+ /** Number of columns */
171
+ columns: number;
172
+ /** Number of rows */
173
+ rows: number;
174
+ /** Outer frame color */
175
+ frame_color?: color;
176
+ /** Outer frame width */
177
+ frame_width?: number;
178
+ /** Cell border color */
179
+ border_color?: color;
180
+ /** Cell border width */
181
+ border_width?: number;
182
+ /** Table background color */
183
+ bgcolor?: color;
184
+ /** Cell data (internal storage) */
185
+ cells?: Map<string, TableCell>;
186
+ }
187
+ /**
188
+ * Table cell data
189
+ */
190
+ export interface TableCell {
191
+ /** Cell text content */
192
+ text?: string;
193
+ /** Cell width as percentage */
194
+ width?: number;
195
+ /** Cell height as percentage */
196
+ height?: number;
197
+ /** Text color */
198
+ text_color?: color;
199
+ /** Horizontal text alignment */
200
+ text_halign?: 'left' | 'center' | 'right';
201
+ /** Vertical text alignment */
202
+ text_valign?: 'top' | 'center' | 'bottom';
203
+ /** Text size */
204
+ text_size?: string | number;
205
+ /** Cell background color */
206
+ bgcolor?: color;
207
+ /** Cell tooltip */
208
+ tooltip?: string;
209
+ /** Text font family */
210
+ text_font_family?: 'default' | 'monospace';
211
+ }
212
+ export type series_line = series<Line>;
213
+ export type series_box = series<Box>;
214
+ export type series_label = series<Label>;
215
+ export type series_linefill = series<Linefill>;
216
+ export type series_table = series<Table>;
217
+ /**
218
+ * Plot object - Represents a plot instance created by plot() function
219
+ * @remarks
220
+ * In PineScript, plot() returns a reference to a plot instance that can be used with fill().
221
+ * This ID is used to reference the plot for filling between plots.
222
+ */
223
+ export interface Plot {
224
+ /** Unique identifier for this plot */
225
+ id: string;
226
+ /** Series being plotted */
227
+ series: any;
228
+ /** Plot title */
229
+ title?: string;
230
+ /** Plot color */
231
+ color?: any;
232
+ /** Line width */
233
+ linewidth?: number;
234
+ /** Plot style */
235
+ style?: 'line' | 'stepline' | 'histogram' | 'area' | 'circles' | 'columns';
236
+ /** Track price on y-axis */
237
+ trackprice?: boolean;
238
+ /** Histogram base level */
239
+ histbase?: number;
240
+ /** Offset in bars */
241
+ offset?: number;
242
+ /** Join gaps */
243
+ join?: boolean;
244
+ /** Editable in chart */
245
+ editable?: boolean;
246
+ /** Display mode */
247
+ display?: 'all' | 'none';
248
+ }
249
+ /**
250
+ * HLine object - Represents a horizontal line instance created by hline() function
251
+ * @remarks
252
+ * In PineScript, hline() returns a reference to an hline instance that can be used with fill().
253
+ * This ID is used to reference the horizontal line for filling between levels.
254
+ */
255
+ export interface HLine {
256
+ /** Unique identifier for this hline */
257
+ id: string;
258
+ /** Price level for the horizontal line */
259
+ price: number;
260
+ /** Line title */
261
+ title?: string;
262
+ /** Line color */
263
+ color?: any;
264
+ /** Line style */
265
+ linestyle?: 'solid' | 'dashed' | 'dotted';
266
+ /** Line width */
267
+ linewidth?: number;
268
+ /** Editable in chart */
269
+ editable?: boolean;
270
+ }
271
+ export type series_plot = Plot;
272
+ export type series_hline = HLine;
273
+ export interface Bar {
274
+ time: int;
275
+ open: float;
276
+ high: float;
277
+ low: float;
278
+ close: float;
279
+ volume?: float;
280
+ }
281
+ export interface OHLC {
282
+ open: series_float;
283
+ high: series_float;
284
+ low: series_float;
285
+ close: series_float;
286
+ }
287
+ export declare const na: null;
288
+ export type na = null;
289
+ /**
290
+ * X-axis location constants
291
+ * Used to specify whether x-coordinates are bar indices or timestamps
292
+ */
293
+ export declare const xloc: {
294
+ /** X-coordinates are bar indices */
295
+ bar_index: "bar_index";
296
+ /** X-coordinates are UNIX timestamps in milliseconds */
297
+ bar_time: "bar_time";
298
+ };
299
+ /**
300
+ * ChartPoint interface - Represents a point on the chart
301
+ * @remarks
302
+ * A chart point can have time, index, and price coordinates.
303
+ * At least one of time or index should be provided for x-coordinate positioning.
304
+ */
305
+ export interface ChartPoint {
306
+ /** UNIX timestamp in milliseconds (null if using bar index) */
307
+ readonly time: number | null;
308
+ /** Bar index (null if using time) */
309
+ readonly index: number | null;
310
+ /** Y-axis price value */
311
+ readonly price: number;
312
+ }
313
+ /**
314
+ * Polyline interface - Represents a polyline on the chart
315
+ * @remarks
316
+ * A polyline connects multiple chart points with line segments.
317
+ * When closed, it forms a polygon that can be filled with color.
318
+ */
319
+ export interface Polyline {
320
+ /** Unique identifier for this polyline */
321
+ readonly id: string;
322
+ /** Array of chart points that define the polyline */
323
+ readonly points: readonly ChartPoint[];
324
+ /** If true, use curved line segments (not yet supported - uses straight lines) */
325
+ readonly curved: boolean;
326
+ /** If true, connect the first point to the last point */
327
+ readonly closed: boolean;
328
+ /** X-coordinate mode: 'bar_index' or 'bar_time' */
329
+ readonly xloc: 'bar_index' | 'bar_time';
330
+ /** Color of line segments */
331
+ readonly line_color: color;
332
+ /** Fill color for closed polylines (null for no fill) */
333
+ readonly fill_color: color | null;
334
+ /** Line style */
335
+ readonly line_style: 'solid' | 'dotted' | 'dashed';
336
+ /** Line width in pixels */
337
+ readonly line_width: number;
338
+ /** Force display on main pane */
339
+ readonly force_overlay: boolean;
340
+ }
341
+ export type series_chartpoint = series<ChartPoint>;
342
+ export type series_polyline = series<Polyline>;
343
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Core types for OakScriptJS
3
+ * These types mirror the PineScript type system
4
+ */
5
+ // Constants
6
+ export const na = null;
7
+ /**
8
+ * X-axis location constants
9
+ * Used to specify whether x-coordinates are bar indices or timestamps
10
+ */
11
+ export const xloc = {
12
+ /** X-coordinates are bar indices */
13
+ bar_index: 'bar_index',
14
+ /** X-coordinates are UNIX timestamps in milliseconds */
15
+ bar_time: 'bar_time',
16
+ };
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA6UH,YAAY;AACZ,MAAM,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;AAGvB;;;GAGG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,oCAAoC;IACpC,SAAS,EAAE,WAAoB;IAC/B,wDAAwD;IACxD,QAAQ,EAAE,UAAmB;CAC9B,CAAC"}
@@ -0,0 +1,300 @@
1
+ /**
2
+ * @fileoverview Type definitions for indicator metadata
3
+ * These types define the structure of data returned by indicators
4
+ * @module types/metadata
5
+ */
6
+ /**
7
+ * Plot style options
8
+ */
9
+ export type PlotStyle = 'line' | 'stepline' | 'histogram' | 'area' | 'circles' | 'columns' | 'cross' | 'areabr' | 'steplinebr' | 'linebr' | 'stepline_diamond';
10
+ /**
11
+ * Line style options
12
+ */
13
+ export type LineStyle = 'solid' | 'dashed' | 'dotted';
14
+ /**
15
+ * Plot display options
16
+ */
17
+ export type PlotDisplay = 'all' | 'none' | 'data_window' | 'status_line' | 'pane';
18
+ /**
19
+ * Options for a plot
20
+ */
21
+ export interface PlotOptions {
22
+ /** Plot title */
23
+ title?: string;
24
+ /** Plot color (hex string or named color) */
25
+ color?: string;
26
+ /** Line width */
27
+ linewidth?: number;
28
+ /** Plot style */
29
+ style?: PlotStyle;
30
+ /** Line style (PineScript `linestyle`); default solid. A constant or an input value, not per bar */
31
+ linestyle?: LineStyle;
32
+ /** Track price on price scale */
33
+ trackprice?: boolean;
34
+ /** Histogram base value */
35
+ histbase?: number;
36
+ /** Offset from current bar */
37
+ offset?: number;
38
+ /** Join gaps in data */
39
+ join?: boolean;
40
+ /** User can edit */
41
+ editable?: boolean;
42
+ /** Display mode */
43
+ display?: PlotDisplay;
44
+ /** Transparency (0-100) */
45
+ transp?: number;
46
+ /** Draw the plot on the main chart pane even when the indicator is not an overlay; default false */
47
+ force_overlay?: boolean;
48
+ }
49
+ /**
50
+ * Options for a horizontal line
51
+ */
52
+ export interface HLineOptions {
53
+ /** Line title */
54
+ title?: string;
55
+ /** Line color */
56
+ color?: string;
57
+ /** Line style (PineScript default: dashed) */
58
+ linestyle?: LineStyle;
59
+ /** Line width */
60
+ linewidth?: number;
61
+ /** User can edit */
62
+ editable?: boolean;
63
+ }
64
+ /**
65
+ * Options for a fill
66
+ */
67
+ export interface FillOptions {
68
+ /** Fill color */
69
+ color?: string;
70
+ /** Transparency (0-100) */
71
+ transp?: number;
72
+ /** Fill title */
73
+ title?: string;
74
+ /** User can edit */
75
+ editable?: boolean;
76
+ /** Fill gaps in data */
77
+ fillgaps?: boolean;
78
+ }
79
+ /**
80
+ * Input parameter type
81
+ */
82
+ export type InputType = 'int' | 'float' | 'bool' | 'string' | 'source' | 'color' | 'timeframe' | 'session' | 'time';
83
+ /**
84
+ * Input parameter metadata
85
+ */
86
+ export interface InputMetadata {
87
+ /** Input type */
88
+ type: InputType;
89
+ /** Internal name (snake_case) */
90
+ name: string;
91
+ /** Display title */
92
+ title: string;
93
+ /** Default value */
94
+ defval: any;
95
+ /** Minimum value (for numeric inputs) */
96
+ minval?: number;
97
+ /** Maximum value (for numeric inputs) */
98
+ maxval?: number;
99
+ /** Step size (for numeric inputs) */
100
+ step?: number;
101
+ /** Tooltip text */
102
+ tooltip?: string;
103
+ /** Inline group */
104
+ inline?: string;
105
+ /** Parameter group */
106
+ group?: string;
107
+ /** Options for dropdown (for string/source inputs) */
108
+ options?: any[];
109
+ /** Confirm before changing */
110
+ confirm?: boolean;
111
+ }
112
+ /**
113
+ * Plot metadata
114
+ */
115
+ export interface PlotMetadata {
116
+ /** Variable name for the plot */
117
+ varName: string;
118
+ /** Plot title */
119
+ title: string;
120
+ /** Plot color */
121
+ color: string;
122
+ /** Line width */
123
+ linewidth: number;
124
+ /** Plot style */
125
+ style: PlotStyle;
126
+ }
127
+ /**
128
+ * Indicator metadata
129
+ */
130
+ export interface IndicatorMetadata {
131
+ /** Indicator title */
132
+ title: string;
133
+ /** Short title */
134
+ shorttitle?: string;
135
+ /** Overlay on main chart */
136
+ overlay: boolean;
137
+ /** Number format precision */
138
+ precision?: number;
139
+ /** Number format */
140
+ format?: string;
141
+ /** Timeframe */
142
+ timeframe?: string;
143
+ /** Show gaps in timeframes */
144
+ timeframe_gaps?: boolean;
145
+ /** Input parameters */
146
+ inputs?: InputMetadata[];
147
+ /** Plots */
148
+ plots?: PlotMetadata[];
149
+ }
150
+ /**
151
+ * Time-value pair for charting
152
+ */
153
+ export interface TimeValue {
154
+ /** Time (timestamp or string) */
155
+ time: any;
156
+ /** Value */
157
+ value: number;
158
+ /** Per-bar color override */
159
+ color?: string;
160
+ }
161
+ /**
162
+ * Plot data with options
163
+ */
164
+ export interface PlotData {
165
+ /** Time-value pairs */
166
+ data: TimeValue[];
167
+ /** Plot options */
168
+ options?: PlotOptions;
169
+ }
170
+ /**
171
+ * Horizontal line data
172
+ */
173
+ export interface HLineData {
174
+ /** Y-axis value */
175
+ value: number;
176
+ /** Line options */
177
+ options?: HLineOptions;
178
+ }
179
+ /**
180
+ * Fill data (area between two plots)
181
+ */
182
+ export interface FillData {
183
+ /** First plot index or name */
184
+ plot1: number | string;
185
+ /** Second plot index or name */
186
+ plot2: number | string;
187
+ /** Fill options */
188
+ options?: FillOptions;
189
+ /** Per-bar fill colors (overrides static options.color) */
190
+ colors?: string[];
191
+ /** Gradient fill (PineScript `fill(p1, p2, top_value, bottom_value, top_color, bottom_color)`) */
192
+ gradient?: FillGradient;
193
+ }
194
+ /**
195
+ * Gradient of a fill, one entry per bar. PineScript rules: the colour
196
+ * changes with the price, `topColor` at `topValue` and `bottomColor` at `bottomValue`; outside that range the end
197
+ * colour is kept; each bar has its own gradient (the part from bar i-1 to bar i uses the values of bar i).
198
+ */
199
+ export interface FillGradient {
200
+ /** Price of `topColor`, per bar */
201
+ topValue: number[];
202
+ /** Price of `bottomColor`, per bar */
203
+ bottomValue: number[];
204
+ /** Colour at `topValue`, per bar (null: na) */
205
+ topColor: Array<string | null>;
206
+ /** Colour at `bottomValue`, per bar (null: na) */
207
+ bottomColor: Array<string | null>;
208
+ }
209
+ /**
210
+ * Marker location on the chart (PineScript plotshape/plotchar locations)
211
+ */
212
+ export type MarkerLocation = 'abovebar' | 'belowbar' | 'top' | 'bottom' | 'absolute';
213
+ /**
214
+ * Marker size (PineScript size.* constants)
215
+ */
216
+ export type MarkerSize = 'auto' | 'tiny' | 'small' | 'normal' | 'large' | 'huge';
217
+ /**
218
+ * Shape style (PineScript shape.* constants)
219
+ */
220
+ export type ShapeStyle = 'xcross' | 'cross' | 'triangleup' | 'triangledown' | 'flag' | 'circle' | 'arrowup' | 'arrowdown' | 'labelup' | 'labeldown' | 'square' | 'diamond';
221
+ /**
222
+ * One marker emitted by plotshape()/plotchar() on a bar where the condition held
223
+ */
224
+ export interface MarkerData {
225
+ /** Time of the bar the marker is displayed on (offset already applied) */
226
+ time: any;
227
+ /** Id of the plotshape/plotchar declaration that produced it */
228
+ id: string;
229
+ /** Marker location relative to the bar */
230
+ location: MarkerLocation;
231
+ /** Shape style, or 'char' for plotchar markers */
232
+ style: ShapeStyle | 'char';
233
+ /** Character (plotchar only) */
234
+ char?: string;
235
+ /** Marker color */
236
+ color?: string;
237
+ /** Text shown near the marker */
238
+ text?: string;
239
+ /** Text color */
240
+ textcolor?: string;
241
+ /** Marker size */
242
+ size?: MarkerSize;
243
+ /** Hover tooltip (extension over PineScript plotshape, used by label.new ports) */
244
+ tooltip?: string;
245
+ /** Price for location 'absolute' (the series value on that bar) */
246
+ price?: number;
247
+ }
248
+ /**
249
+ * Per-bar arrow from plotarrow(): up arrow for a positive value, down arrow for a negative value
250
+ */
251
+ export interface ArrowData {
252
+ /** Time of the bar the arrow is displayed on (offset already applied) */
253
+ time: any;
254
+ /** Id of the plotarrow declaration that produced it */
255
+ id: string;
256
+ /** Series value (non-zero): its sign gives the direction, its absolute value the height */
257
+ value: number;
258
+ /** Arrow color (colorup or colordown of that bar) */
259
+ color: string;
260
+ }
261
+ /**
262
+ * Per-bar color for bgcolor()/barcolor() output
263
+ */
264
+ export interface BarColorData {
265
+ /** Time of the colored bar (offset already applied) */
266
+ time: any;
267
+ /** Color */
268
+ color: string;
269
+ }
270
+ /**
271
+ * Complete indicator calculation result
272
+ */
273
+ export interface IndicatorResult {
274
+ /** Indicator metadata */
275
+ metadata: IndicatorMetadata;
276
+ /** Plot data as Record mapping plot IDs to TimeValue arrays */
277
+ plots: Record<string, TimeValue[]>;
278
+ /** Horizontal lines */
279
+ hlines?: HLineData[];
280
+ /** Fills */
281
+ fills?: FillData[];
282
+ /** Markers from plotshape()/plotchar() */
283
+ markers?: MarkerData[];
284
+ /** Arrows from plotarrow() */
285
+ arrows?: ArrowData[];
286
+ /** Background colors from bgcolor() */
287
+ bgcolors?: BarColorData[];
288
+ /** Bar colors from barcolor() */
289
+ barcolors?: BarColorData[];
290
+ }
291
+ /**
292
+ * Indicator factory function type
293
+ */
294
+ export type IndicatorFactory = (options?: Record<string, any>) => {
295
+ /** Indicator metadata */
296
+ metadata: IndicatorMetadata;
297
+ /** Calculate function */
298
+ calculate: (bars: any[]) => PlotData[] | TimeValue[];
299
+ };
300
+ //# sourceMappingURL=metadata.d.ts.map