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,86 @@
1
+ /**
2
+ * @fileoverview Lightweight-charts v5 adapter
3
+ * Provides integration with lightweight-charts library
4
+ * @module runtime/adapters/LightweightChartsAdapter
5
+ */
6
+ import type { ChartAdapter, SeriesHandle, SeriesOptions } from '../types.js';
7
+ /**
8
+ * The lightweight-charts v5 series definitions the adapter creates series with. Pass the library's own exports
9
+ * (`import { LineSeries, HistogramSeries } from 'lightweight-charts'`, or the whole module): OakScriptJS does not
10
+ * import lightweight-charts itself. `LineSeries` is required; the others are needed only for the series types used.
11
+ */
12
+ export interface LightweightSeriesDefinitions {
13
+ LineSeries: unknown;
14
+ HistogramSeries?: unknown;
15
+ AreaSeries?: unknown;
16
+ BaselineSeries?: unknown;
17
+ BarSeries?: unknown;
18
+ }
19
+ /**
20
+ * Adapter for lightweight-charts v5
21
+ * Translates OakScriptJS chart operations into lightweight-charts API calls
22
+ *
23
+ * @example
24
+ * ```typescript
25
+ * import { createChart, CandlestickSeries, LineSeries, HistogramSeries } from 'lightweight-charts';
26
+ *
27
+ * const chart = createChart(container);
28
+ * const candles = chart.addSeries(CandlestickSeries);
29
+ * const adapter = new LightweightChartsAdapter(chart, { LineSeries, HistogramSeries }, candles);
30
+ * ```
31
+ */
32
+ export declare class LightweightChartsAdapter implements ChartAdapter {
33
+ private chart;
34
+ private definitions;
35
+ private mainSeries;
36
+ private paneCount;
37
+ /**
38
+ * Create a new LightweightChartsAdapter
39
+ * @param chart - The lightweight-charts chart instance
40
+ * @param definitions - The lightweight-charts series definitions (`LineSeries`, `HistogramSeries`...)
41
+ * @param mainSeries - Optional main price series (candlestick/line series)
42
+ */
43
+ constructor(chart: unknown, definitions: LightweightSeriesDefinitions, mainSeries?: unknown);
44
+ /**
45
+ * Wrap a lightweight-charts series to implement SeriesHandle
46
+ * @param lwcSeries - The lightweight-charts series
47
+ * @returns SeriesHandle wrapper
48
+ */
49
+ private wrapSeries;
50
+ /**
51
+ * Map series type string to lightweight-charts series definition
52
+ * @param type - Series type ('line', 'histogram', 'area', 'baseline', 'bar')
53
+ * @returns Lightweight-charts series definition
54
+ * @throws When the definition of that series type was not given to the constructor
55
+ */
56
+ private getSeriesDefinition;
57
+ /**
58
+ * Convert OakScriptJS series options to lightweight-charts options
59
+ * @param options - OakScriptJS series options
60
+ * @returns Lightweight-charts compatible options
61
+ */
62
+ private convertOptions;
63
+ /**
64
+ * Add a new series to the chart
65
+ * @param type - Series type ('line', 'histogram', 'area', 'baseline', 'bar')
66
+ * @param options - Series options (`pane` is the lightweight-charts pane index)
67
+ * @returns SeriesHandle for the new series
68
+ */
69
+ addSeries(type: string, options?: SeriesOptions): SeriesHandle;
70
+ /**
71
+ * Remove a series from the chart
72
+ * @param series - SeriesHandle to remove
73
+ */
74
+ removeSeries(series: SeriesHandle): void;
75
+ /**
76
+ * Get the main price series
77
+ * @returns Main series handle or undefined
78
+ */
79
+ getMainSeries(): SeriesHandle | undefined;
80
+ /**
81
+ * Create a new pane (if supported by the chart configuration)
82
+ * @returns Index of the new pane
83
+ */
84
+ createPane(): number;
85
+ }
86
+ //# sourceMappingURL=LightweightChartsAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LightweightChartsAdapter.d.ts","sourceRoot":"","sources":["../../../../src/runtime/adapters/LightweightChartsAdapter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AA4B7E;;;;GAIG;AACH,MAAM,WAAW,4BAA4B;IAC3C,UAAU,EAAE,OAAO,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,wBAAyB,YAAW,YAAY;IAC3D,OAAO,CAAC,KAAK,CAAmB;IAChC,OAAO,CAAC,WAAW,CAA+B;IAClD,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,SAAS,CAAa;IAE9B;;;;;OAKG;gBACS,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,4BAA4B,EAAE,UAAU,CAAC,EAAE,OAAO;IAc3F;;;;OAIG;IACH,OAAO,CAAC,UAAU;IAUlB;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAgB3B;;;;OAIG;IACH,OAAO,CAAC,cAAc;IA0BtB;;;;;OAKG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,YAAY;IAW9D;;;OAGG;IACH,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAOxC;;;OAGG;IACH,aAAa,IAAI,YAAY,GAAG,SAAS;IAIzC;;;OAGG;IACH,UAAU,IAAI,MAAM;CAMrB"}
@@ -0,0 +1,141 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var LightweightChartsAdapter_exports = {};
20
+ __export(LightweightChartsAdapter_exports, {
21
+ LightweightChartsAdapter: () => LightweightChartsAdapter
22
+ });
23
+ module.exports = __toCommonJS(LightweightChartsAdapter_exports);
24
+ class LightweightChartsAdapter {
25
+ chart;
26
+ definitions;
27
+ mainSeries;
28
+ paneCount = 0;
29
+ /**
30
+ * Create a new LightweightChartsAdapter
31
+ * @param chart - The lightweight-charts chart instance
32
+ * @param definitions - The lightweight-charts series definitions (`LineSeries`, `HistogramSeries`...)
33
+ * @param mainSeries - Optional main price series (candlestick/line series)
34
+ */
35
+ constructor(chart, definitions, mainSeries) {
36
+ if (!definitions?.LineSeries) {
37
+ throw new Error(
38
+ "LightweightChartsAdapter: pass the lightweight-charts series definitions, e.g. new LightweightChartsAdapter(chart, { LineSeries, HistogramSeries }) with the imports from 'lightweight-charts'."
39
+ );
40
+ }
41
+ this.chart = chart;
42
+ this.definitions = definitions;
43
+ if (mainSeries) {
44
+ this.mainSeries = this.wrapSeries(mainSeries);
45
+ }
46
+ }
47
+ /**
48
+ * Wrap a lightweight-charts series to implement SeriesHandle
49
+ * @param lwcSeries - The lightweight-charts series
50
+ * @returns SeriesHandle wrapper
51
+ */
52
+ wrapSeries(lwcSeries) {
53
+ return {
54
+ setData: (data) => {
55
+ lwcSeries.setData(data);
56
+ },
57
+ // Store reference for removal
58
+ _lwcSeries: lwcSeries
59
+ };
60
+ }
61
+ /**
62
+ * Map series type string to lightweight-charts series definition
63
+ * @param type - Series type ('line', 'histogram', 'area', 'baseline', 'bar')
64
+ * @returns Lightweight-charts series definition
65
+ * @throws When the definition of that series type was not given to the constructor
66
+ */
67
+ getSeriesDefinition(type) {
68
+ const key = {
69
+ histogram: "HistogramSeries",
70
+ area: "AreaSeries",
71
+ baseline: "BaselineSeries",
72
+ bar: "BarSeries"
73
+ }[type] ?? "LineSeries";
74
+ const definition = this.definitions[key];
75
+ if (!definition) {
76
+ throw new Error(`LightweightChartsAdapter: a '${type}' series needs ${key}; pass it in the constructor definitions.`);
77
+ }
78
+ return definition;
79
+ }
80
+ /**
81
+ * Convert OakScriptJS series options to lightweight-charts options
82
+ * @param options - OakScriptJS series options
83
+ * @returns Lightweight-charts compatible options
84
+ */
85
+ convertOptions(options) {
86
+ if (!options) {
87
+ return {};
88
+ }
89
+ const lwcOptions = {};
90
+ if (options.color) {
91
+ lwcOptions.color = options.color;
92
+ }
93
+ if (options.lineWidth !== void 0) {
94
+ lwcOptions.lineWidth = options.lineWidth;
95
+ }
96
+ if (options.lineStyle !== void 0) {
97
+ lwcOptions.lineStyle = options.lineStyle;
98
+ }
99
+ if (options.priceScaleId) {
100
+ lwcOptions.priceScaleId = options.priceScaleId;
101
+ }
102
+ return lwcOptions;
103
+ }
104
+ /**
105
+ * Add a new series to the chart
106
+ * @param type - Series type ('line', 'histogram', 'area', 'baseline', 'bar')
107
+ * @param options - Series options (`pane` is the lightweight-charts pane index)
108
+ * @returns SeriesHandle for the new series
109
+ */
110
+ addSeries(type, options) {
111
+ const seriesDefinition = this.getSeriesDefinition(type);
112
+ const lwcOptions = this.convertOptions(options);
113
+ const lwcSeries = options?.pane !== void 0 ? this.chart.addSeries(seriesDefinition, lwcOptions, options.pane) : this.chart.addSeries(seriesDefinition, lwcOptions);
114
+ return this.wrapSeries(lwcSeries);
115
+ }
116
+ /**
117
+ * Remove a series from the chart
118
+ * @param series - SeriesHandle to remove
119
+ */
120
+ removeSeries(series) {
121
+ const wrappedSeries = series;
122
+ if (wrappedSeries._lwcSeries) {
123
+ this.chart.removeSeries(wrappedSeries._lwcSeries);
124
+ }
125
+ }
126
+ /**
127
+ * Get the main price series
128
+ * @returns Main series handle or undefined
129
+ */
130
+ getMainSeries() {
131
+ return this.mainSeries;
132
+ }
133
+ /**
134
+ * Create a new pane (if supported by the chart configuration)
135
+ * @returns Index of the new pane
136
+ */
137
+ createPane() {
138
+ return ++this.paneCount;
139
+ }
140
+ }
141
+ //# sourceMappingURL=LightweightChartsAdapter.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/runtime/adapters/LightweightChartsAdapter.ts"],
4
+ "sourcesContent": ["/**\n * @fileoverview Lightweight-charts v5 adapter\n * Provides integration with lightweight-charts library\n * @module runtime/adapters/LightweightChartsAdapter\n */\n\nimport type { ChartAdapter, SeriesHandle, SeriesOptions } from '../types.js';\n\n/**\n * Minimal interface for lightweight-charts chart API\n * Only includes methods used by this adapter\n */\ninterface LightweightChart {\n addSeries<T>(seriesDefinition: unknown, options?: unknown, paneIndex?: number): LightweightSeries<T>;\n removeSeries(series: LightweightSeries<unknown>): void;\n panes(): unknown[];\n}\n\n/**\n * Minimal interface for lightweight-charts series\n */\ninterface LightweightSeries<T> {\n setData(data: T[]): void;\n}\n\n/**\n * Data point format for lightweight-charts\n */\ninterface TimeValueData {\n time: number;\n value: number;\n color?: string;\n}\n\n/**\n * The lightweight-charts v5 series definitions the adapter creates series with. Pass the library's own exports\n * (`import { LineSeries, HistogramSeries } from 'lightweight-charts'`, or the whole module): OakScriptJS does not\n * import lightweight-charts itself. `LineSeries` is required; the others are needed only for the series types used.\n */\nexport interface LightweightSeriesDefinitions {\n LineSeries: unknown;\n HistogramSeries?: unknown;\n AreaSeries?: unknown;\n BaselineSeries?: unknown;\n BarSeries?: unknown;\n}\n\n/**\n * Adapter for lightweight-charts v5\n * Translates OakScriptJS chart operations into lightweight-charts API calls\n *\n * @example\n * ```typescript\n * import { createChart, CandlestickSeries, LineSeries, HistogramSeries } from 'lightweight-charts';\n *\n * const chart = createChart(container);\n * const candles = chart.addSeries(CandlestickSeries);\n * const adapter = new LightweightChartsAdapter(chart, { LineSeries, HistogramSeries }, candles);\n * ```\n */\nexport class LightweightChartsAdapter implements ChartAdapter {\n private chart: LightweightChart;\n private definitions: LightweightSeriesDefinitions;\n private mainSeries: SeriesHandle | undefined;\n private paneCount: number = 0;\n\n /**\n * Create a new LightweightChartsAdapter\n * @param chart - The lightweight-charts chart instance\n * @param definitions - The lightweight-charts series definitions (`LineSeries`, `HistogramSeries`...)\n * @param mainSeries - Optional main price series (candlestick/line series)\n */\n constructor(chart: unknown, definitions: LightweightSeriesDefinitions, mainSeries?: unknown) {\n if (!definitions?.LineSeries) {\n throw new Error(\n 'LightweightChartsAdapter: pass the lightweight-charts series definitions, ' +\n \"e.g. new LightweightChartsAdapter(chart, { LineSeries, HistogramSeries }) with the imports from 'lightweight-charts'.\"\n );\n }\n this.chart = chart as LightweightChart;\n this.definitions = definitions;\n if (mainSeries) {\n this.mainSeries = this.wrapSeries(mainSeries as LightweightSeries<TimeValueData>);\n }\n }\n\n /**\n * Wrap a lightweight-charts series to implement SeriesHandle\n * @param lwcSeries - The lightweight-charts series\n * @returns SeriesHandle wrapper\n */\n private wrapSeries(lwcSeries: LightweightSeries<TimeValueData>): SeriesHandle {\n return {\n setData: (data: Array<{ time: number; value: number; color?: string }>) => {\n lwcSeries.setData(data);\n },\n // Store reference for removal\n _lwcSeries: lwcSeries,\n } as SeriesHandle & { _lwcSeries: LightweightSeries<TimeValueData> };\n }\n\n /**\n * Map series type string to lightweight-charts series definition\n * @param type - Series type ('line', 'histogram', 'area', 'baseline', 'bar')\n * @returns Lightweight-charts series definition\n * @throws When the definition of that series type was not given to the constructor\n */\n private getSeriesDefinition(type: string): unknown {\n const key = (\n {\n histogram: 'HistogramSeries',\n area: 'AreaSeries',\n baseline: 'BaselineSeries',\n bar: 'BarSeries',\n } as const\n )[type as 'histogram' | 'area' | 'baseline' | 'bar'] ?? 'LineSeries';\n const definition = this.definitions[key];\n if (!definition) {\n throw new Error(`LightweightChartsAdapter: a '${type}' series needs ${key}; pass it in the constructor definitions.`);\n }\n return definition;\n }\n\n /**\n * Convert OakScriptJS series options to lightweight-charts options\n * @param options - OakScriptJS series options\n * @returns Lightweight-charts compatible options\n */\n private convertOptions(options?: SeriesOptions): Record<string, unknown> {\n if (!options) {\n return {};\n }\n\n const lwcOptions: Record<string, unknown> = {};\n\n if (options.color) {\n lwcOptions.color = options.color;\n }\n\n if (options.lineWidth !== undefined) {\n lwcOptions.lineWidth = options.lineWidth;\n }\n\n if (options.lineStyle !== undefined) {\n lwcOptions.lineStyle = options.lineStyle;\n }\n\n if (options.priceScaleId) {\n lwcOptions.priceScaleId = options.priceScaleId;\n }\n\n return lwcOptions;\n }\n\n /**\n * Add a new series to the chart\n * @param type - Series type ('line', 'histogram', 'area', 'baseline', 'bar')\n * @param options - Series options (`pane` is the lightweight-charts pane index)\n * @returns SeriesHandle for the new series\n */\n addSeries(type: string, options?: SeriesOptions): SeriesHandle {\n const seriesDefinition = this.getSeriesDefinition(type);\n const lwcOptions = this.convertOptions(options);\n\n const lwcSeries =\n options?.pane !== undefined\n ? this.chart.addSeries<TimeValueData>(seriesDefinition, lwcOptions, options.pane)\n : this.chart.addSeries<TimeValueData>(seriesDefinition, lwcOptions);\n return this.wrapSeries(lwcSeries);\n }\n\n /**\n * Remove a series from the chart\n * @param series - SeriesHandle to remove\n */\n removeSeries(series: SeriesHandle): void {\n const wrappedSeries = series as SeriesHandle & { _lwcSeries?: LightweightSeries<unknown> };\n if (wrappedSeries._lwcSeries) {\n this.chart.removeSeries(wrappedSeries._lwcSeries);\n }\n }\n\n /**\n * Get the main price series\n * @returns Main series handle or undefined\n */\n getMainSeries(): SeriesHandle | undefined {\n return this.mainSeries;\n }\n\n /**\n * Create a new pane (if supported by the chart configuration)\n * @returns Index of the new pane\n */\n createPane(): number {\n // Lightweight-charts v5 doesn't have a direct createPane API\n // Panes are typically created via chart configuration\n // This returns an incremented pane count for reference\n return ++this.paneCount;\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AA4DO,MAAM,yBAAiD;AAAA,EACpD;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQ5B,YAAY,OAAgB,aAA2C,YAAsB;AAC3F,QAAI,CAAC,aAAa,YAAY;AAC5B,YAAM,IAAI;AAAA,QACR;AAAA,MAEF;AAAA,IACF;AACA,SAAK,QAAQ;AACb,SAAK,cAAc;AACnB,QAAI,YAAY;AACd,WAAK,aAAa,KAAK,WAAW,UAA8C;AAAA,IAClF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOQ,WAAW,WAA2D;AAC5E,WAAO;AAAA,MACL,SAAS,CAAC,SAAiE;AACzE,kBAAU,QAAQ,IAAI;AAAA,MACxB;AAAA;AAAA,MAEA,YAAY;AAAA,IACd;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQQ,oBAAoB,MAAuB;AACjD,UAAM,MACJ;AAAA,MACE,WAAW;AAAA,MACX,MAAM;AAAA,MACN,UAAU;AAAA,MACV,KAAK;AAAA,IACP,EACA,IAAiD,KAAK;AACxD,UAAM,aAAa,KAAK,YAAY,GAAG;AACvC,QAAI,CAAC,YAAY;AACf,YAAM,IAAI,MAAM,gCAAgC,IAAI,kBAAkB,GAAG,2CAA2C;AAAA,IACtH;AACA,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOQ,eAAe,SAAkD;AACvE,QAAI,CAAC,SAAS;AACZ,aAAO,CAAC;AAAA,IACV;AAEA,UAAM,aAAsC,CAAC;AAE7C,QAAI,QAAQ,OAAO;AACjB,iBAAW,QAAQ,QAAQ;AAAA,IAC7B;AAEA,QAAI,QAAQ,cAAc,QAAW;AACnC,iBAAW,YAAY,QAAQ;AAAA,IACjC;AAEA,QAAI,QAAQ,cAAc,QAAW;AACnC,iBAAW,YAAY,QAAQ;AAAA,IACjC;AAEA,QAAI,QAAQ,cAAc;AACxB,iBAAW,eAAe,QAAQ;AAAA,IACpC;AAEA,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,UAAU,MAAc,SAAuC;AAC7D,UAAM,mBAAmB,KAAK,oBAAoB,IAAI;AACtD,UAAM,aAAa,KAAK,eAAe,OAAO;AAE9C,UAAM,YACJ,SAAS,SAAS,SACd,KAAK,MAAM,UAAyB,kBAAkB,YAAY,QAAQ,IAAI,IAC9E,KAAK,MAAM,UAAyB,kBAAkB,UAAU;AACtE,WAAO,KAAK,WAAW,SAAS;AAAA,EAClC;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,aAAa,QAA4B;AACvC,UAAM,gBAAgB;AACtB,QAAI,cAAc,YAAY;AAC5B,WAAK,MAAM,aAAa,cAAc,UAAU;AAAA,IAClD;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,gBAA0C;AACxC,WAAO,KAAK;AAAA,EACd;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,aAAqB;AAInB,WAAO,EAAE,KAAK;AAAA,EAChB;AACF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,59 @@
1
+ /**
2
+ * @fileoverview Simple in-memory input adapter for demos and testing
3
+ * Stores input values in memory and provides change notification
4
+ * @module runtime/adapters/SimpleInputAdapter
5
+ */
6
+ import type { InputAdapter, InputConfig } from '../types.js';
7
+ /**
8
+ * Simple in-memory input adapter
9
+ * Stores input configurations and values in memory
10
+ * Useful for demos, testing, and simple applications
11
+ */
12
+ export declare class SimpleInputAdapter implements InputAdapter {
13
+ private inputs;
14
+ private changeCallbacks;
15
+ /**
16
+ * Register an input configuration
17
+ * If already registered, returns current value without modifying config
18
+ * @param config - Input configuration
19
+ * @returns Current value (defval on first registration)
20
+ */
21
+ registerInput(config: InputConfig): unknown;
22
+ /**
23
+ * Get current value of an input
24
+ * @param id - Input identifier
25
+ * @returns Current value or undefined if not registered
26
+ */
27
+ getValue(id: string): unknown;
28
+ /**
29
+ * Set value of an input with validation
30
+ * Validates against config constraints (min/max/step for numerics, options for strings)
31
+ * @param id - Input identifier
32
+ * @param value - New value
33
+ */
34
+ setValue(id: string, value: unknown): void;
35
+ /**
36
+ * Register a callback for input value changes
37
+ * @param callback - Function to call when any input value changes
38
+ */
39
+ onInputChange(callback: (id: string, value: unknown) => void): void;
40
+ /**
41
+ * Get all registered inputs (for UI rendering)
42
+ * @returns Map of input IDs to their configs and values
43
+ */
44
+ getAllInputs(): Map<string, {
45
+ config: InputConfig;
46
+ value: unknown;
47
+ }>;
48
+ /**
49
+ * Clear all registered inputs
50
+ * Useful for testing or resetting state
51
+ */
52
+ clear(): void;
53
+ /**
54
+ * Remove a specific change callback
55
+ * @param callback - The callback to remove
56
+ */
57
+ removeChangeCallback(callback: (id: string, value: unknown) => void): void;
58
+ }
59
+ //# sourceMappingURL=SimpleInputAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SimpleInputAdapter.d.ts","sourceRoot":"","sources":["../../../../src/runtime/adapters/SimpleInputAdapter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE7D;;;;GAIG;AACH,qBAAa,kBAAmB,YAAW,YAAY;IACrD,OAAO,CAAC,MAAM,CAAmE;IACjF,OAAO,CAAC,eAAe,CAAmD;IAE1E;;;;;OAKG;IACH,aAAa,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO;IAO3C;;;;OAIG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAI7B;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAmD1C;;;OAGG;IACH,aAAa,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI;IAInE;;;OAGG;IACH,YAAY,IAAI,GAAG,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,WAAW,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC;IAIpE;;;OAGG;IACH,KAAK,IAAI,IAAI;IAKb;;;OAGG;IACH,oBAAoB,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI;CAM3E"}
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var SimpleInputAdapter_exports = {};
20
+ __export(SimpleInputAdapter_exports, {
21
+ SimpleInputAdapter: () => SimpleInputAdapter
22
+ });
23
+ module.exports = __toCommonJS(SimpleInputAdapter_exports);
24
+ class SimpleInputAdapter {
25
+ inputs = /* @__PURE__ */ new Map();
26
+ changeCallbacks = [];
27
+ /**
28
+ * Register an input configuration
29
+ * If already registered, returns current value without modifying config
30
+ * @param config - Input configuration
31
+ * @returns Current value (defval on first registration)
32
+ */
33
+ registerInput(config) {
34
+ if (!this.inputs.has(config.id)) {
35
+ this.inputs.set(config.id, { config, value: config.defval });
36
+ }
37
+ return this.inputs.get(config.id).value;
38
+ }
39
+ /**
40
+ * Get current value of an input
41
+ * @param id - Input identifier
42
+ * @returns Current value or undefined if not registered
43
+ */
44
+ getValue(id) {
45
+ return this.inputs.get(id)?.value;
46
+ }
47
+ /**
48
+ * Set value of an input with validation
49
+ * Validates against config constraints (min/max/step for numerics, options for strings)
50
+ * @param id - Input identifier
51
+ * @param value - New value
52
+ */
53
+ setValue(id, value) {
54
+ const input = this.inputs.get(id);
55
+ if (!input) {
56
+ return;
57
+ }
58
+ const { config } = input;
59
+ let validatedValue = value;
60
+ if ((config.type === "int" || config.type === "float") && typeof value === "number") {
61
+ if (config.min !== void 0 && value < config.min) {
62
+ validatedValue = config.min;
63
+ }
64
+ if (config.max !== void 0 && value > config.max) {
65
+ validatedValue = config.max;
66
+ }
67
+ if (config.type === "int") {
68
+ validatedValue = Math.floor(validatedValue);
69
+ }
70
+ }
71
+ if ((config.type === "string" || config.type === "timeframe" || config.type === "session") && config.options && typeof value === "string") {
72
+ if (!config.options.includes(value)) {
73
+ return;
74
+ }
75
+ }
76
+ if (config.type === "source" && config.options && typeof value === "string") {
77
+ if (!config.options.includes(value)) {
78
+ return;
79
+ }
80
+ }
81
+ input.value = validatedValue;
82
+ this.changeCallbacks.forEach((cb) => cb(id, validatedValue));
83
+ }
84
+ /**
85
+ * Register a callback for input value changes
86
+ * @param callback - Function to call when any input value changes
87
+ */
88
+ onInputChange(callback) {
89
+ this.changeCallbacks.push(callback);
90
+ }
91
+ /**
92
+ * Get all registered inputs (for UI rendering)
93
+ * @returns Map of input IDs to their configs and values
94
+ */
95
+ getAllInputs() {
96
+ return new Map(this.inputs);
97
+ }
98
+ /**
99
+ * Clear all registered inputs
100
+ * Useful for testing or resetting state
101
+ */
102
+ clear() {
103
+ this.inputs.clear();
104
+ this.changeCallbacks = [];
105
+ }
106
+ /**
107
+ * Remove a specific change callback
108
+ * @param callback - The callback to remove
109
+ */
110
+ removeChangeCallback(callback) {
111
+ const index = this.changeCallbacks.indexOf(callback);
112
+ if (index !== -1) {
113
+ this.changeCallbacks.splice(index, 1);
114
+ }
115
+ }
116
+ }
117
+ //# sourceMappingURL=SimpleInputAdapter.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/runtime/adapters/SimpleInputAdapter.ts"],
4
+ "sourcesContent": ["/**\n * @fileoverview Simple in-memory input adapter for demos and testing\n * Stores input values in memory and provides change notification\n * @module runtime/adapters/SimpleInputAdapter\n */\n\nimport type { InputAdapter, InputConfig } from '../types.js';\n\n/**\n * Simple in-memory input adapter\n * Stores input configurations and values in memory\n * Useful for demos, testing, and simple applications\n */\nexport class SimpleInputAdapter implements InputAdapter {\n private inputs: Map<string, { config: InputConfig; value: unknown }> = new Map();\n private changeCallbacks: Array<(id: string, value: unknown) => void> = [];\n\n /**\n * Register an input configuration\n * If already registered, returns current value without modifying config\n * @param config - Input configuration\n * @returns Current value (defval on first registration)\n */\n registerInput(config: InputConfig): unknown {\n if (!this.inputs.has(config.id)) {\n this.inputs.set(config.id, { config, value: config.defval });\n }\n return this.inputs.get(config.id)!.value;\n }\n\n /**\n * Get current value of an input\n * @param id - Input identifier\n * @returns Current value or undefined if not registered\n */\n getValue(id: string): unknown {\n return this.inputs.get(id)?.value;\n }\n\n /**\n * Set value of an input with validation\n * Validates against config constraints (min/max/step for numerics, options for strings)\n * @param id - Input identifier\n * @param value - New value\n */\n setValue(id: string, value: unknown): void {\n const input = this.inputs.get(id);\n if (!input) {\n return;\n }\n\n const { config } = input;\n let validatedValue = value;\n\n // Validate numeric inputs\n if ((config.type === 'int' || config.type === 'float') && typeof value === 'number') {\n // Apply min constraint\n if (config.min !== undefined && value < config.min) {\n validatedValue = config.min;\n }\n // Apply max constraint\n if (config.max !== undefined && value > config.max) {\n validatedValue = config.max;\n }\n // Round to step for int type\n if (config.type === 'int') {\n validatedValue = Math.floor(validatedValue as number);\n }\n }\n\n // Validate string, timeframe and session inputs with options\n if (\n (config.type === 'string' || config.type === 'timeframe' || config.type === 'session') &&\n config.options &&\n typeof value === 'string'\n ) {\n if (!config.options.includes(value)) {\n // Keep current value if invalid option\n return;\n }\n }\n\n // Validate source inputs\n if (config.type === 'source' && config.options && typeof value === 'string') {\n if (!config.options.includes(value)) {\n return;\n }\n }\n\n // Update value\n input.value = validatedValue;\n\n // Notify callbacks\n this.changeCallbacks.forEach(cb => cb(id, validatedValue));\n }\n\n /**\n * Register a callback for input value changes\n * @param callback - Function to call when any input value changes\n */\n onInputChange(callback: (id: string, value: unknown) => void): void {\n this.changeCallbacks.push(callback);\n }\n\n /**\n * Get all registered inputs (for UI rendering)\n * @returns Map of input IDs to their configs and values\n */\n getAllInputs(): Map<string, { config: InputConfig; value: unknown }> {\n return new Map(this.inputs);\n }\n\n /**\n * Clear all registered inputs\n * Useful for testing or resetting state\n */\n clear(): void {\n this.inputs.clear();\n this.changeCallbacks = [];\n }\n\n /**\n * Remove a specific change callback\n * @param callback - The callback to remove\n */\n removeChangeCallback(callback: (id: string, value: unknown) => void): void {\n const index = this.changeCallbacks.indexOf(callback);\n if (index !== -1) {\n this.changeCallbacks.splice(index, 1);\n }\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAaO,MAAM,mBAA2C;AAAA,EAC9C,SAA+D,oBAAI,IAAI;AAAA,EACvE,kBAA+D,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQxE,cAAc,QAA8B;AAC1C,QAAI,CAAC,KAAK,OAAO,IAAI,OAAO,EAAE,GAAG;AAC/B,WAAK,OAAO,IAAI,OAAO,IAAI,EAAE,QAAQ,OAAO,OAAO,OAAO,CAAC;AAAA,IAC7D;AACA,WAAO,KAAK,OAAO,IAAI,OAAO,EAAE,EAAG;AAAA,EACrC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,SAAS,IAAqB;AAC5B,WAAO,KAAK,OAAO,IAAI,EAAE,GAAG;AAAA,EAC9B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,SAAS,IAAY,OAAsB;AACzC,UAAM,QAAQ,KAAK,OAAO,IAAI,EAAE;AAChC,QAAI,CAAC,OAAO;AACV;AAAA,IACF;AAEA,UAAM,EAAE,OAAO,IAAI;AACnB,QAAI,iBAAiB;AAGrB,SAAK,OAAO,SAAS,SAAS,OAAO,SAAS,YAAY,OAAO,UAAU,UAAU;AAEnF,UAAI,OAAO,QAAQ,UAAa,QAAQ,OAAO,KAAK;AAClD,yBAAiB,OAAO;AAAA,MAC1B;AAEA,UAAI,OAAO,QAAQ,UAAa,QAAQ,OAAO,KAAK;AAClD,yBAAiB,OAAO;AAAA,MAC1B;AAEA,UAAI,OAAO,SAAS,OAAO;AACzB,yBAAiB,KAAK,MAAM,cAAwB;AAAA,MACtD;AAAA,IACF;AAGA,SACG,OAAO,SAAS,YAAY,OAAO,SAAS,eAAe,OAAO,SAAS,cAC5E,OAAO,WACP,OAAO,UAAU,UACjB;AACA,UAAI,CAAC,OAAO,QAAQ,SAAS,KAAK,GAAG;AAEnC;AAAA,MACF;AAAA,IACF;AAGA,QAAI,OAAO,SAAS,YAAY,OAAO,WAAW,OAAO,UAAU,UAAU;AAC3E,UAAI,CAAC,OAAO,QAAQ,SAAS,KAAK,GAAG;AACnC;AAAA,MACF;AAAA,IACF;AAGA,UAAM,QAAQ;AAGd,SAAK,gBAAgB,QAAQ,QAAM,GAAG,IAAI,cAAc,CAAC;AAAA,EAC3D;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,cAAc,UAAsD;AAClE,SAAK,gBAAgB,KAAK,QAAQ;AAAA,EACpC;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,eAAqE;AACnE,WAAO,IAAI,IAAI,KAAK,MAAM;AAAA,EAC5B;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,QAAc;AACZ,SAAK,OAAO,MAAM;AAClB,SAAK,kBAAkB,CAAC;AAAA,EAC1B;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,qBAAqB,UAAsD;AACzE,UAAM,QAAQ,KAAK,gBAAgB,QAAQ,QAAQ;AACnD,QAAI,UAAU,IAAI;AAChB,WAAK,gBAAgB,OAAO,OAAO,CAAC;AAAA,IACtC;AAAA,EACF;AACF;",
6
+ "names": []
7
+ }
@@ -1,6 +1,13 @@
1
- export { setContext, clearContext, getContext, registerCalculate, recalculate, plot, hline, clearPlots, getActivePlots, } from './runtime';
2
- export { input_int, input_float, input_bool, input_string, input_source, input_timeframe, input_session, input_time, enableAutoRecalculate, disableAutoRecalculate, resetInputs, } from './inputs';
3
- export type { OakScriptContext, ChartAdapter, InputAdapter, SeriesHandle, SeriesOptions, InputConfig, InputOptions, OhlcvData, PlotConfig, } from './types';
4
- export { LightweightChartsAdapter } from './adapters/LightweightChartsAdapter';
5
- export { SimpleInputAdapter } from './adapters/SimpleInputAdapter';
1
+ /**
2
+ * @fileoverview OakScriptJS Runtime Module
3
+ * Provides global context management, plot functions, and input handling
4
+ * for indicators that draw through a ChartAdapter
5
+ * @module runtime
6
+ */
7
+ export { setContext, clearContext, getContext, registerCalculate, recalculate, plot, hline, clearPlots, getActivePlots, } from './runtime.js';
8
+ export { input_int, input_float, input_bool, input_string, input_source, input_timeframe, input_session, input_time, enableAutoRecalculate, disableAutoRecalculate, resetInputs, } from './inputs.js';
9
+ export type { OakScriptContext, ChartAdapter, InputAdapter, SeriesHandle, SeriesOptions, InputConfig, InputOptions, OhlcvData, PlotConfig, } from './types.js';
10
+ export { LightweightChartsAdapter } from './adapters/LightweightChartsAdapter.js';
11
+ export type { LightweightSeriesDefinitions } from './adapters/LightweightChartsAdapter.js';
12
+ export { SimpleInputAdapter } from './adapters/SimpleInputAdapter.js';
6
13
  //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,UAAU,EACV,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,WAAW,EACX,IAAI,EACJ,KAAK,EACL,UAAU,EACV,cAAc,GACf,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,SAAS,EACT,WAAW,EACX,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,aAAa,EACb,UAAU,EACV,qBAAqB,EACrB,sBAAsB,EACtB,WAAW,GACZ,MAAM,aAAa,CAAC;AAGrB,YAAY,EACV,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,WAAW,EACX,YAAY,EACZ,SAAS,EACP,UAAU,GACb,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAClF,YAAY,EAAE,4BAA4B,EAAE,MAAM,wCAAwC,CAAC;AAC3F,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var runtime_exports = {};
20
+ __export(runtime_exports, {
21
+ LightweightChartsAdapter: () => import_LightweightChartsAdapter.LightweightChartsAdapter,
22
+ SimpleInputAdapter: () => import_SimpleInputAdapter.SimpleInputAdapter,
23
+ clearContext: () => import_runtime.clearContext,
24
+ clearPlots: () => import_runtime.clearPlots,
25
+ disableAutoRecalculate: () => import_inputs.disableAutoRecalculate,
26
+ enableAutoRecalculate: () => import_inputs.enableAutoRecalculate,
27
+ getActivePlots: () => import_runtime.getActivePlots,
28
+ getContext: () => import_runtime.getContext,
29
+ hline: () => import_runtime.hline,
30
+ input_bool: () => import_inputs.input_bool,
31
+ input_float: () => import_inputs.input_float,
32
+ input_int: () => import_inputs.input_int,
33
+ input_session: () => import_inputs.input_session,
34
+ input_source: () => import_inputs.input_source,
35
+ input_string: () => import_inputs.input_string,
36
+ input_time: () => import_inputs.input_time,
37
+ input_timeframe: () => import_inputs.input_timeframe,
38
+ plot: () => import_runtime.plot,
39
+ recalculate: () => import_runtime.recalculate,
40
+ registerCalculate: () => import_runtime.registerCalculate,
41
+ resetInputs: () => import_inputs.resetInputs,
42
+ setContext: () => import_runtime.setContext
43
+ });
44
+ module.exports = __toCommonJS(runtime_exports);
45
+ var import_runtime = require("./runtime.js");
46
+ var import_inputs = require("./inputs.js");
47
+ var import_LightweightChartsAdapter = require("./adapters/LightweightChartsAdapter.js");
48
+ var import_SimpleInputAdapter = require("./adapters/SimpleInputAdapter.js");
49
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/runtime/index.ts"],
4
+ "sourcesContent": ["/**\n * @fileoverview OakScriptJS Runtime Module\n * Provides global context management, plot functions, and input handling\n * for indicators that draw through a ChartAdapter\n * @module runtime\n */\n\n// Core runtime exports\nexport {\n setContext,\n clearContext,\n getContext,\n registerCalculate,\n recalculate,\n plot,\n hline,\n clearPlots,\n getActivePlots,\n} from './runtime.js';\n\n// Input function exports\nexport {\n input_int,\n input_float,\n input_bool,\n input_string,\n input_source,\n input_timeframe,\n input_session,\n input_time,\n enableAutoRecalculate,\n disableAutoRecalculate,\n resetInputs,\n} from './inputs.js';\n\n// Type exports\nexport type {\n OakScriptContext,\n ChartAdapter,\n InputAdapter,\n SeriesHandle,\n SeriesOptions,\n InputConfig,\n InputOptions,\n OhlcvData,\n PlotConfig,\n} from './types.js';\n\n// Adapter exports\nexport { LightweightChartsAdapter } from './adapters/LightweightChartsAdapter.js';\nexport type { LightweightSeriesDefinitions } from './adapters/LightweightChartsAdapter.js';\nexport { SimpleInputAdapter } from './adapters/SimpleInputAdapter.js';\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,qBAUO;AAGP,oBAYO;AAgBP,sCAAyC;AAEzC,gCAAmC;",
6
+ "names": []
7
+ }
@@ -0,0 +1,91 @@
1
+ /**
2
+ * @fileoverview Idempotent input registration functions
3
+ * These functions mirror PineScript's input functions with idempotent semantics:
4
+ * - First call registers the input with default value
5
+ * - Subsequent calls return the current stored value (possibly user-updated)
6
+ * @module runtime/inputs
7
+ */
8
+ import type { InputOptions } from './types.js';
9
+ /**
10
+ * Enable automatic recalculation when inputs change
11
+ */
12
+ export declare function enableAutoRecalculate(): void;
13
+ /**
14
+ * Disable automatic recalculation
15
+ */
16
+ export declare function disableAutoRecalculate(): void;
17
+ /**
18
+ * Reset registered inputs (for testing or context changes)
19
+ * @internal
20
+ */
21
+ export declare function resetInputs(): void;
22
+ /**
23
+ * Register an integer input
24
+ * First call registers with defval, subsequent calls return current value
25
+ * @param defval - Default value
26
+ * @param title - Display title (optional)
27
+ * @param options - Additional options: min, max, step (optional)
28
+ * @returns Current integer value
29
+ */
30
+ export declare function input_int(defval: number, title?: string, options?: InputOptions): number;
31
+ /**
32
+ * Register a float input
33
+ * First call registers with defval, subsequent calls return current value
34
+ * @param defval - Default value
35
+ * @param title - Display title (optional)
36
+ * @param options - Additional options: min, max, step (optional)
37
+ * @returns Current float value
38
+ */
39
+ export declare function input_float(defval: number, title?: string, options?: InputOptions): number;
40
+ /**
41
+ * Register a boolean input
42
+ * First call registers with defval, subsequent calls return current value
43
+ * @param defval - Default value
44
+ * @param title - Display title (optional)
45
+ * @returns Current boolean value
46
+ */
47
+ export declare function input_bool(defval: boolean, title?: string): boolean;
48
+ /**
49
+ * Register a string input
50
+ * First call registers with defval, subsequent calls return current value
51
+ * @param defval - Default value
52
+ * @param title - Display title (optional)
53
+ * @param options - Array of string options for dropdown (optional)
54
+ * @returns Current string value
55
+ */
56
+ export declare function input_string(defval: string, title?: string, options?: string[]): string;
57
+ /**
58
+ * Register a timeframe input (PineScript `input.timeframe`)
59
+ * First call registers with defval, subsequent calls return current value
60
+ * @param defval - Default timeframe string ("60", "1D", "W"); "" means the chart timeframe
61
+ * @param title - Display title (optional)
62
+ * @param options - Array of timeframe options for dropdown (optional)
63
+ * @returns Current timeframe string
64
+ */
65
+ export declare function input_timeframe(defval: string, title?: string, options?: string[]): string;
66
+ /**
67
+ * Register a session input (PineScript `input.session`)
68
+ * First call registers with defval, subsequent calls return current value
69
+ * @param defval - Default session string ("0930-1600", "0930-1600:23456")
70
+ * @param title - Display title (optional)
71
+ * @param options - Array of session options for dropdown (optional)
72
+ * @returns Current session string
73
+ */
74
+ export declare function input_session(defval: string, title?: string, options?: string[]): string;
75
+ /**
76
+ * Register a date/time input (PineScript `input.time`)
77
+ * First call registers with defval, subsequent calls return current value
78
+ * @param defval - Default UNIX time in milliseconds, e.g. `time.timestamp("2024-01-01")`
79
+ * @param title - Display title (optional)
80
+ * @returns Current UNIX time in milliseconds
81
+ */
82
+ export declare function input_time(defval: number, title?: string): number;
83
+ /**
84
+ * Register a source input (returns a data series from OHLCV)
85
+ * First call registers with defval, subsequent calls return current value
86
+ * @param defval - Default source name ('close', 'open', 'high', 'low', 'volume', 'hl2', 'hlc3', 'ohlc4')
87
+ * @param title - Display title (optional)
88
+ * @returns Array of values for the selected source
89
+ */
90
+ export declare function input_source(defval: string, title?: string): number[];
91
+ //# sourceMappingURL=inputs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inputs.d.ts","sourceRoot":"","sources":["../../../src/runtime/inputs.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAe,YAAY,EAAE,MAAM,YAAY,CAAC;AAS5D;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAE7C;AAED;;;GAGG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAGlC;AAoBD;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,MAAM,CAqCxF;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,MAAM,CAkC1F;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CA6BnE;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CA8BvF;AAsBD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAM1F;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAMxF;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAMjE;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CA+BrE"}