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
@@ -1,577 +0,0 @@
1
- // src/runtime/runtime.ts
2
- var context = null;
3
- var calculateFn = null;
4
- var activePlots = [];
5
- var plotCounter = 0;
6
- function setContext(ctx) {
7
- context = ctx;
8
- plotCounter = 0;
9
- clearPlots();
10
- }
11
- function clearContext() {
12
- clearPlots();
13
- context = null;
14
- calculateFn = null;
15
- plotCounter = 0;
16
- }
17
- function getContext() {
18
- return context;
19
- }
20
- function registerCalculate(fn) {
21
- calculateFn = fn;
22
- }
23
- function recalculate() {
24
- if (calculateFn) {
25
- clearPlots();
26
- plotCounter = 0;
27
- calculateFn();
28
- }
29
- }
30
- function clearPlots() {
31
- if (context) {
32
- for (const plot2 of activePlots) {
33
- try {
34
- context.chart.removeSeries(plot2.series);
35
- } catch {
36
- }
37
- }
38
- }
39
- activePlots.length = 0;
40
- }
41
- function getSeriesType(style) {
42
- switch (style) {
43
- case "histogram":
44
- case "columns":
45
- return "histogram";
46
- case "area":
47
- case "areabr":
48
- return "area";
49
- case "circles":
50
- case "cross":
51
- return "line";
52
- // Use line with markers
53
- default:
54
- return "line";
55
- }
56
- }
57
- function getLineStyle(style) {
58
- switch (style) {
59
- case "dotted":
60
- return 1;
61
- case "dashed":
62
- return 2;
63
- case "solid":
64
- default:
65
- return 0;
66
- }
67
- }
68
- function plot(series, title, color, linewidth, style, colors) {
69
- if (!context) {
70
- throw new Error("OakScript context not set. Call setContext() before plotting.");
71
- }
72
- const plotId = `plot_${plotCounter++}${title ? "_" + title.replace(/\s+/g, "_") : ""}`;
73
- const seriesType = getSeriesType(style);
74
- const options = {
75
- color,
76
- lineWidth: linewidth,
77
- lineStyle: getLineStyle(style)
78
- };
79
- const seriesHandle = context.chart.addSeries(seriesType, options);
80
- const data = [];
81
- for (let index = 0; index < series.length; index++) {
82
- const value = series[index];
83
- const time = context.ohlcv.time[index];
84
- if (time !== void 0 && value !== void 0 && !Number.isNaN(value)) {
85
- const point = { time, value };
86
- if (colors && colors[index]) {
87
- point.color = colors[index];
88
- }
89
- data.push(point);
90
- }
91
- }
92
- seriesHandle.setData(data);
93
- activePlots.push({ id: plotId, series: seriesHandle });
94
- return plotId;
95
- }
96
- function hline(price, title, color, linestyle, linewidth) {
97
- if (!context) {
98
- throw new Error("OakScript context not set. Call setContext() before creating hlines.");
99
- }
100
- const hlineId = `hline_${plotCounter++}${title ? "_" + title.replace(/\s+/g, "_") : ""}`;
101
- const options = {
102
- color,
103
- lineWidth: linewidth,
104
- lineStyle: getLineStyle(linestyle ?? "dashed")
105
- };
106
- const seriesHandle = context.chart.addSeries("line", options);
107
- const data = context.ohlcv.time.map((time) => ({
108
- time,
109
- value: price
110
- }));
111
- seriesHandle.setData(data);
112
- activePlots.push({ id: hlineId, series: seriesHandle });
113
- return hlineId;
114
- }
115
- function getActivePlots() {
116
- return activePlots;
117
- }
118
-
119
- // src/runtime/inputs.ts
120
- var registeredInputs = /* @__PURE__ */ new Map();
121
- var autoRecalculateEnabled = false;
122
- function enableAutoRecalculate() {
123
- autoRecalculateEnabled = true;
124
- }
125
- function disableAutoRecalculate() {
126
- autoRecalculateEnabled = false;
127
- }
128
- function resetInputs() {
129
- registeredInputs.clear();
130
- inputCounter = 0;
131
- }
132
- var inputCounter = 0;
133
- function generateInputId(title, defval, type) {
134
- if (title) {
135
- return title.replace(/\s+/g, "_");
136
- }
137
- return `${type}_${inputCounter++}_${String(defval)}`;
138
- }
139
- function input_int(defval, title, options) {
140
- const context2 = getContext();
141
- if (!context2) {
142
- return Math.floor(defval);
143
- }
144
- const id = generateInputId(title, defval, "int");
145
- const config = {
146
- id,
147
- type: "int",
148
- defval: Math.floor(defval),
149
- title,
150
- min: options?.min,
151
- max: options?.max,
152
- step: options?.step ?? 1
153
- };
154
- if (!registeredInputs.has(id)) {
155
- context2.inputs.registerInput(config);
156
- registeredInputs.set(id, true);
157
- if (autoRecalculateEnabled) {
158
- context2.inputs.onInputChange((changedId) => {
159
- if (changedId === id) {
160
- recalculate();
161
- }
162
- });
163
- }
164
- }
165
- const value = context2.inputs.getValue(id);
166
- return typeof value === "number" ? Math.floor(value) : Math.floor(defval);
167
- }
168
- function input_float(defval, title, options) {
169
- const context2 = getContext();
170
- if (!context2) {
171
- return defval;
172
- }
173
- const id = generateInputId(title, defval, "float");
174
- const config = {
175
- id,
176
- type: "float",
177
- defval,
178
- title,
179
- min: options?.min,
180
- max: options?.max,
181
- step: options?.step ?? 0.1
182
- };
183
- if (!registeredInputs.has(id)) {
184
- context2.inputs.registerInput(config);
185
- registeredInputs.set(id, true);
186
- if (autoRecalculateEnabled) {
187
- context2.inputs.onInputChange((changedId) => {
188
- if (changedId === id) {
189
- recalculate();
190
- }
191
- });
192
- }
193
- }
194
- const value = context2.inputs.getValue(id);
195
- return typeof value === "number" ? value : defval;
196
- }
197
- function input_bool(defval, title) {
198
- const context2 = getContext();
199
- if (!context2) {
200
- return defval;
201
- }
202
- const id = generateInputId(title, defval, "bool");
203
- const config = {
204
- id,
205
- type: "bool",
206
- defval,
207
- title
208
- };
209
- if (!registeredInputs.has(id)) {
210
- context2.inputs.registerInput(config);
211
- registeredInputs.set(id, true);
212
- if (autoRecalculateEnabled) {
213
- context2.inputs.onInputChange((changedId) => {
214
- if (changedId === id) {
215
- recalculate();
216
- }
217
- });
218
- }
219
- }
220
- const value = context2.inputs.getValue(id);
221
- return typeof value === "boolean" ? value : defval;
222
- }
223
- function input_string(defval, title, options) {
224
- const context2 = getContext();
225
- if (!context2) {
226
- return defval;
227
- }
228
- const id = generateInputId(title, defval, "string");
229
- const config = {
230
- id,
231
- type: "string",
232
- defval,
233
- title,
234
- options
235
- };
236
- if (!registeredInputs.has(id)) {
237
- context2.inputs.registerInput(config);
238
- registeredInputs.set(id, true);
239
- if (autoRecalculateEnabled) {
240
- context2.inputs.onInputChange((changedId) => {
241
- if (changedId === id) {
242
- recalculate();
243
- }
244
- });
245
- }
246
- }
247
- const value = context2.inputs.getValue(id);
248
- return typeof value === "string" ? value : defval;
249
- }
250
- function registerOnce(config) {
251
- const context2 = getContext();
252
- if (!registeredInputs.has(config.id)) {
253
- context2.inputs.registerInput(config);
254
- registeredInputs.set(config.id, true);
255
- if (autoRecalculateEnabled) {
256
- context2.inputs.onInputChange((changedId) => {
257
- if (changedId === config.id) {
258
- recalculate();
259
- }
260
- });
261
- }
262
- }
263
- return context2.inputs.getValue(config.id);
264
- }
265
- function input_timeframe(defval, title, options) {
266
- if (!getContext()) {
267
- return defval;
268
- }
269
- const value = registerOnce({ id: generateInputId(title, defval, "timeframe"), type: "timeframe", defval, title, options });
270
- return typeof value === "string" ? value : defval;
271
- }
272
- function input_session(defval, title, options) {
273
- if (!getContext()) {
274
- return defval;
275
- }
276
- const value = registerOnce({ id: generateInputId(title, defval, "session"), type: "session", defval, title, options });
277
- return typeof value === "string" ? value : defval;
278
- }
279
- function input_time(defval, title) {
280
- if (!getContext()) {
281
- return defval;
282
- }
283
- const value = registerOnce({ id: generateInputId(title, defval, "time"), type: "time", defval, title });
284
- return typeof value === "number" ? value : defval;
285
- }
286
- function input_source(defval, title) {
287
- const context2 = getContext();
288
- if (!context2) {
289
- return [];
290
- }
291
- const id = generateInputId(title, defval, "source");
292
- const config = {
293
- id,
294
- type: "source",
295
- defval,
296
- title,
297
- options: ["open", "high", "low", "close", "volume", "hl2", "hlc3", "ohlc4"]
298
- };
299
- if (!registeredInputs.has(id)) {
300
- context2.inputs.registerInput(config);
301
- registeredInputs.set(id, true);
302
- if (autoRecalculateEnabled) {
303
- context2.inputs.onInputChange((changedId) => {
304
- if (changedId === id) {
305
- recalculate();
306
- }
307
- });
308
- }
309
- }
310
- const sourceName = context2.inputs.getValue(id) ?? defval;
311
- return getSourceData(context2.ohlcv, sourceName);
312
- }
313
- function getSourceData(ohlcv, sourceName) {
314
- switch (sourceName) {
315
- case "open":
316
- return ohlcv.open;
317
- case "high":
318
- return ohlcv.high;
319
- case "low":
320
- return ohlcv.low;
321
- case "close":
322
- return ohlcv.close;
323
- case "volume":
324
- return ohlcv.volume;
325
- case "hl2":
326
- return ohlcv.high.map((h, i) => {
327
- const l = ohlcv.low[i];
328
- return l !== void 0 ? (h + l) / 2 : NaN;
329
- });
330
- case "hlc3":
331
- return ohlcv.high.map((h, i) => {
332
- const l = ohlcv.low[i];
333
- const c = ohlcv.close[i];
334
- return l !== void 0 && c !== void 0 ? (h + l + c) / 3 : NaN;
335
- });
336
- case "ohlc4":
337
- return ohlcv.open.map((o, i) => {
338
- const h = ohlcv.high[i];
339
- const l = ohlcv.low[i];
340
- const c = ohlcv.close[i];
341
- return h !== void 0 && l !== void 0 && c !== void 0 ? (o + h + l + c) / 4 : NaN;
342
- });
343
- default:
344
- return ohlcv.close;
345
- }
346
- }
347
-
348
- // src/runtime/adapters/LightweightChartsAdapter.ts
349
- var LightweightChartsAdapter = class {
350
- chart;
351
- mainSeries;
352
- paneCount = 0;
353
- /**
354
- * Create a new LightweightChartsAdapter
355
- * @param chart - The lightweight-charts chart instance
356
- * @param mainSeries - Optional main price series (candlestick/line series)
357
- */
358
- constructor(chart, mainSeries) {
359
- this.chart = chart;
360
- if (mainSeries) {
361
- this.mainSeries = this.wrapSeries(mainSeries);
362
- }
363
- }
364
- /**
365
- * Wrap a lightweight-charts series to implement SeriesHandle
366
- * @param lwcSeries - The lightweight-charts series
367
- * @returns SeriesHandle wrapper
368
- */
369
- wrapSeries(lwcSeries) {
370
- return {
371
- setData: (data) => {
372
- lwcSeries.setData(data);
373
- },
374
- // Store reference for removal
375
- _lwcSeries: lwcSeries
376
- };
377
- }
378
- /**
379
- * Map series type string to lightweight-charts series definition
380
- * @param type - Series type ('line', 'histogram', 'area')
381
- * @returns Lightweight-charts series definition object
382
- */
383
- getSeriesDefinition(type) {
384
- switch (type) {
385
- case "histogram":
386
- return { type: "Histogram" };
387
- case "area":
388
- return { type: "Area" };
389
- case "baseline":
390
- return { type: "Baseline" };
391
- case "bar":
392
- return { type: "Bar" };
393
- case "line":
394
- default:
395
- return { type: "Line" };
396
- }
397
- }
398
- /**
399
- * Convert OakScriptJS series options to lightweight-charts options
400
- * @param options - OakScriptJS series options
401
- * @returns Lightweight-charts compatible options
402
- */
403
- convertOptions(options) {
404
- if (!options) {
405
- return {};
406
- }
407
- const lwcOptions = {};
408
- if (options.color) {
409
- lwcOptions.color = options.color;
410
- }
411
- if (options.lineWidth !== void 0) {
412
- lwcOptions.lineWidth = options.lineWidth;
413
- }
414
- if (options.lineStyle !== void 0) {
415
- lwcOptions.lineStyle = options.lineStyle;
416
- }
417
- if (options.priceScaleId) {
418
- lwcOptions.priceScaleId = options.priceScaleId;
419
- }
420
- return lwcOptions;
421
- }
422
- /**
423
- * Add a new series to the chart
424
- * @param type - Series type ('line', 'histogram', 'area')
425
- * @param options - Series options
426
- * @returns SeriesHandle for the new series
427
- */
428
- addSeries(type, options) {
429
- const seriesDefinition = this.getSeriesDefinition(type);
430
- const lwcOptions = this.convertOptions(options);
431
- const lwcSeries = this.chart.addSeries(seriesDefinition, lwcOptions);
432
- return this.wrapSeries(lwcSeries);
433
- }
434
- /**
435
- * Remove a series from the chart
436
- * @param series - SeriesHandle to remove
437
- */
438
- removeSeries(series) {
439
- const wrappedSeries = series;
440
- if (wrappedSeries._lwcSeries) {
441
- this.chart.removeSeries(wrappedSeries._lwcSeries);
442
- }
443
- }
444
- /**
445
- * Get the main price series
446
- * @returns Main series handle or undefined
447
- */
448
- getMainSeries() {
449
- return this.mainSeries;
450
- }
451
- /**
452
- * Create a new pane (if supported by the chart configuration)
453
- * @returns Index of the new pane
454
- */
455
- createPane() {
456
- return ++this.paneCount;
457
- }
458
- };
459
-
460
- // src/runtime/adapters/SimpleInputAdapter.ts
461
- var SimpleInputAdapter = class {
462
- inputs = /* @__PURE__ */ new Map();
463
- changeCallbacks = [];
464
- /**
465
- * Register an input configuration
466
- * If already registered, returns current value without modifying config
467
- * @param config - Input configuration
468
- * @returns Current value (defval on first registration)
469
- */
470
- registerInput(config) {
471
- if (!this.inputs.has(config.id)) {
472
- this.inputs.set(config.id, { config, value: config.defval });
473
- }
474
- return this.inputs.get(config.id).value;
475
- }
476
- /**
477
- * Get current value of an input
478
- * @param id - Input identifier
479
- * @returns Current value or undefined if not registered
480
- */
481
- getValue(id) {
482
- return this.inputs.get(id)?.value;
483
- }
484
- /**
485
- * Set value of an input with validation
486
- * Validates against config constraints (min/max/step for numerics, options for strings)
487
- * @param id - Input identifier
488
- * @param value - New value
489
- */
490
- setValue(id, value) {
491
- const input = this.inputs.get(id);
492
- if (!input) {
493
- return;
494
- }
495
- const { config } = input;
496
- let validatedValue = value;
497
- if ((config.type === "int" || config.type === "float") && typeof value === "number") {
498
- if (config.min !== void 0 && value < config.min) {
499
- validatedValue = config.min;
500
- }
501
- if (config.max !== void 0 && value > config.max) {
502
- validatedValue = config.max;
503
- }
504
- if (config.type === "int") {
505
- validatedValue = Math.floor(validatedValue);
506
- }
507
- }
508
- if ((config.type === "string" || config.type === "timeframe" || config.type === "session") && config.options && typeof value === "string") {
509
- if (!config.options.includes(value)) {
510
- return;
511
- }
512
- }
513
- if (config.type === "source" && config.options && typeof value === "string") {
514
- if (!config.options.includes(value)) {
515
- return;
516
- }
517
- }
518
- input.value = validatedValue;
519
- this.changeCallbacks.forEach((cb) => cb(id, validatedValue));
520
- }
521
- /**
522
- * Register a callback for input value changes
523
- * @param callback - Function to call when any input value changes
524
- */
525
- onInputChange(callback) {
526
- this.changeCallbacks.push(callback);
527
- }
528
- /**
529
- * Get all registered inputs (for UI rendering)
530
- * @returns Map of input IDs to their configs and values
531
- */
532
- getAllInputs() {
533
- return new Map(this.inputs);
534
- }
535
- /**
536
- * Clear all registered inputs
537
- * Useful for testing or resetting state
538
- */
539
- clear() {
540
- this.inputs.clear();
541
- this.changeCallbacks = [];
542
- }
543
- /**
544
- * Remove a specific change callback
545
- * @param callback - The callback to remove
546
- */
547
- removeChangeCallback(callback) {
548
- const index = this.changeCallbacks.indexOf(callback);
549
- if (index !== -1) {
550
- this.changeCallbacks.splice(index, 1);
551
- }
552
- }
553
- };
554
- export {
555
- LightweightChartsAdapter,
556
- SimpleInputAdapter,
557
- clearContext,
558
- clearPlots,
559
- disableAutoRecalculate,
560
- enableAutoRecalculate,
561
- getActivePlots,
562
- getContext,
563
- hline,
564
- input_bool,
565
- input_float,
566
- input_int,
567
- input_session,
568
- input_source,
569
- input_string,
570
- input_time,
571
- input_timeframe,
572
- plot,
573
- recalculate,
574
- registerCalculate,
575
- resetInputs,
576
- setContext
577
- };
@@ -1,13 +0,0 @@
1
- import type { InputOptions } from './types';
2
- export declare function enableAutoRecalculate(): void;
3
- export declare function disableAutoRecalculate(): void;
4
- export declare function resetInputs(): void;
5
- export declare function input_int(defval: number, title?: string, options?: InputOptions): number;
6
- export declare function input_float(defval: number, title?: string, options?: InputOptions): number;
7
- export declare function input_bool(defval: boolean, title?: string): boolean;
8
- export declare function input_string(defval: string, title?: string, options?: string[]): string;
9
- export declare function input_timeframe(defval: string, title?: string, options?: string[]): string;
10
- export declare function input_session(defval: string, title?: string, options?: string[]): string;
11
- export declare function input_time(defval: number, title?: string): number;
12
- export declare function input_source(defval: string, title?: string): number[];
13
- //# sourceMappingURL=inputs.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"inputs.d.ts","sourceRoot":"","sources":["../../src/runtime/inputs.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAe,YAAY,EAAE,MAAM,SAAS,CAAC;AAYzD,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C;AAKD,wBAAgB,sBAAsB,IAAI,IAAI,CAE7C;AAMD,wBAAgB,WAAW,IAAI,IAAI,CAGlC;AA4BD,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,MAAM,CAqCxF;AAUD,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,MAAM,CAkC1F;AASD,wBAAgB,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CA6BnE;AAUD,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CA8BvF;AA8BD,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAM1F;AAUD,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAMxF;AASD,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAMjE;AASD,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CA+BrE"}
@@ -1,16 +0,0 @@
1
- import type { OakScriptContext, SeriesHandle } from './types';
2
- interface ActivePlot {
3
- id: string;
4
- series: SeriesHandle;
5
- }
6
- export declare function setContext(ctx: OakScriptContext): void;
7
- export declare function clearContext(): void;
8
- export declare function getContext(): OakScriptContext | null;
9
- export declare function registerCalculate(fn: () => void): void;
10
- export declare function recalculate(): void;
11
- export declare function clearPlots(): void;
12
- export declare function plot(series: number[], title?: string, color?: string, linewidth?: number, style?: string, colors?: string[]): string;
13
- export declare function hline(price: number, title?: string, color?: string, linestyle?: string, linewidth?: number): string;
14
- export declare function getActivePlots(): ReadonlyArray<ActivePlot>;
15
- export {};
16
- //# sourceMappingURL=runtime.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/runtime/runtime.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAiB,MAAM,SAAS,CAAC;AAS7E,UAAU,UAAU;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,YAAY,CAAC;CACtB;AAYD,wBAAgB,UAAU,CAAC,GAAG,EAAE,gBAAgB,GAAG,IAAI,CAKtD;AAMD,wBAAgB,YAAY,IAAI,IAAI,CAKnC;AAMD,wBAAgB,UAAU,IAAI,gBAAgB,GAAG,IAAI,CAEpD;AAOD,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,CAEtD;AAMD,wBAAgB,WAAW,IAAI,IAAI,CAMlC;AAMD,wBAAgB,UAAU,IAAI,IAAI,CAWjC;AAiDD,wBAAgB,IAAI,CAClB,MAAM,EAAE,MAAM,EAAE,EAChB,KAAK,CAAC,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,EAAE,GAChB,MAAM,CAsCR;AAWD,wBAAgB,KAAK,CACnB,KAAK,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,MAAM,GACjB,MAAM,CA4BR;AAOD,wBAAgB,cAAc,IAAI,aAAa,CAAC,UAAU,CAAC,CAE1D"}
@@ -1,60 +0,0 @@
1
- import type { Bar } from '../types';
2
- export type SeriesExtractor = (bar: Bar, index: number, data: Bar[]) => number;
3
- export declare class BarData {
4
- private _bars;
5
- private _version;
6
- constructor(bars?: Bar[]);
7
- get version(): number;
8
- get bars(): Bar[];
9
- get length(): number;
10
- push(bar: Bar): void;
11
- pop(): Bar | undefined;
12
- set(index: number, bar: Bar): void;
13
- updateLast(bar: Bar): void;
14
- setAll(bars: Bar[]): void;
15
- invalidate(): void;
16
- at(index: number): Bar | undefined;
17
- static from(bars: Bar[]): BarData;
18
- }
19
- export declare class Series {
20
- private extractor;
21
- private dataSource;
22
- private cached;
23
- private cachedVersion;
24
- constructor(data: Bar[] | BarData, extractor: SeriesExtractor);
25
- get bars(): Bar[];
26
- get barData(): BarData;
27
- static fromBars(bars: Bar[] | BarData, field: 'open' | 'high' | 'low' | 'close' | 'volume'): Series;
28
- static constant(bars: Bar[] | BarData, value: number): Series;
29
- static fromArray(bars: Bar[] | BarData, values: number[]): Series;
30
- add(other: Series | number): Series;
31
- sub(other: Series | number): Series;
32
- mul(other: Series | number): Series;
33
- pow(exponent: Series | number): Series;
34
- div(other: Series | number): Series;
35
- mod(other: Series | number): Series;
36
- neg(): Series;
37
- gt(other: Series | number): Series;
38
- gte(other: Series | number): Series;
39
- lt(other: Series | number): Series;
40
- lte(other: Series | number): Series;
41
- eq(other: Series | number): Series;
42
- neq(other: Series | number): Series;
43
- and(other: Series | number): Series;
44
- or(other: Series | number): Series;
45
- not(): Series;
46
- iff(trueValue: Series | number, falseValue: Series | number): Series;
47
- offset(offset: number): Series;
48
- toArray(): number[];
49
- materialize(): Series;
50
- _invalidate(): void;
51
- _compute(): number[];
52
- get(index: number): number;
53
- last(): number;
54
- length(): number;
55
- toTimeValuePairs(): Array<{
56
- time: any;
57
- value: number;
58
- }>;
59
- }
60
- //# sourceMappingURL=series.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"series.d.ts","sourceRoot":"","sources":["../../src/runtime/series.ts"],"names":[],"mappings":"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"}