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,85 @@
1
+ /**
2
+ * OakScriptJS - Simplified PineScript-like library for JavaScript
3
+ *
4
+ * This library provides Series-based lazy evaluation and technical analysis functions
5
+ * for building trading indicators. The PineScript-style script API is in `oakscriptjs/script`.
6
+ *
7
+ * Key features:
8
+ * - Series class for lazy evaluation and method chaining
9
+ * - Core TA functions (array-based)
10
+ * - TA-Series wrappers (Series-based)
11
+ *
12
+ * @packageDocumentation
13
+ */
14
+ export * from './types/index.js';
15
+ export * from './types/metadata.js';
16
+ import * as taCore from './ta/index.js';
17
+ import * as math from './math/index.js';
18
+ import * as array from './array/index.js';
19
+ import * as map from './map/index.js';
20
+ import * as str from './str/index.js';
21
+ import * as color from './color/index.js';
22
+ import * as time from './time/index.js';
23
+ import * as timeframe from './timeframe/index.js';
24
+ import * as matrix from './matrix/index.js';
25
+ import * as line from './line/index.js';
26
+ import * as box from './box/index.js';
27
+ import * as label from './label/index.js';
28
+ import * as linefill from './linefill/index.js';
29
+ import * as chartPoint from './chartpoint/index.js';
30
+ import * as polyline from './polyline/index.js';
31
+ import * as text from './text/index.js';
32
+ import * as compare from './compare/index.js';
33
+ import * as callsite from './callsite/index.js';
34
+ export { taCore, math, array, map, str, color, time, timeframe, matrix, line, box, label, linefill, chartPoint, polyline, text, compare, callsite };
35
+ export { Series, BarData } from './runtime/series.js';
36
+ export type { SeriesExtractor } from './runtime/series.js';
37
+ import * as ta from './ta-series.js';
38
+ export { ta };
39
+ export type { PlotOptions, HLineOptions, FillOptions, InputMetadata, PlotMetadata, IndicatorMetadata, TimeValue, PlotData, HLineData, FillData, FillGradient, IndicatorResult, IndicatorFactory, PlotStyle, LineStyle, PlotDisplay, InputType } from './types/metadata.js';
40
+ export { sma, ema, rsi, macd, bb, stdev, crossover, crossunder, change, tr, atr, cum, vwap } from './ta-series.js';
41
+ export { abs, ceil, floor, round, max, min, avg, sum, sqrt, pow, exp, log, sin, cos, tan } from './math/index.js';
42
+ export { rgb, from_hex as color_from_hex, new_color } from './color/index.js';
43
+ export { ohlcFromBars, getClose, getHigh, getLow, getOpen, getSource, getSourceSeries, at, div } from './utils/index.js';
44
+ export * from './lib/index.js';
45
+ export { isNA as na, nz, fixnan } from './utils/index.js';
46
+ export { indicator, type IndicatorMetadataConfig, type InputDefinition, type IndicatorContext, type IndicatorInstance, type IndicatorConstructor, } from './indicator.js';
47
+ export { input, type InputValue, type IntInputOptions, type FloatInputOptions, type SourceInputOptions, type BoolInputOptions, type StringInputOptions, type TimeInputOptions, type SourceType, } from './input.js';
48
+ export { plot as plotHelper, createPlot, type Time, type TimeValuePair, type PlotOptions as PlotHelperOptions, type PlotResult, } from './plot.js';
49
+ export { setContext, clearContext, getContext, registerCalculate, recalculate, plot, hline, clearPlots, } from './runtime/runtime.js';
50
+ export { input_int, input_float, input_bool, input_string, input_source, input_timeframe, input_session, input_time, } from './runtime/inputs.js';
51
+ export type { OakScriptContext, ChartAdapter, InputAdapter, SeriesHandle, SeriesOptions, InputConfig, InputOptions, OhlcvData, PlotConfig, HLineConfig, FillConfig, ArrowConfig, } from './runtime/types.js';
52
+ export { STRATEGY_CONSTANTS, STRATEGY_DEFAULTS, STRATEGY_NUMBER_VARIABLES, STRATEGY_TEXT_VARIABLES, } from './strategy/index.js';
53
+ export type * from './strategy/index.js';
54
+ export { LightweightChartsAdapter } from './runtime/adapters/LightweightChartsAdapter.js';
55
+ export type { LightweightSeriesDefinitions } from './runtime/adapters/LightweightChartsAdapter.js';
56
+ export { SimpleInputAdapter } from './runtime/adapters/SimpleInputAdapter.js';
57
+ export declare const VERSION = "0.9.0";
58
+ /**
59
+ * Library information
60
+ */
61
+ export declare const info: {
62
+ name: string;
63
+ version: string;
64
+ description: string;
65
+ features: {
66
+ series: string;
67
+ ta: string;
68
+ script: string;
69
+ runtime: string;
70
+ indicator: string;
71
+ };
72
+ namespaces: {
73
+ core: string[];
74
+ drawing: string[];
75
+ runtime: string[];
76
+ indicator: string[];
77
+ };
78
+ };
79
+ /**
80
+ * alertcondition() - Stub for PineScript alert configuration
81
+ * In PineScript, this registers an alert condition. In oakscriptjs, it's a no-op
82
+ * since alert configuration is handled by the host application.
83
+ */
84
+ export declare function alertcondition(_condition: unknown, _title?: string, _message?: string): void;
85
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,96 @@
1
+ /**
2
+ * OakScriptJS - Simplified PineScript-like library for JavaScript
3
+ *
4
+ * This library provides Series-based lazy evaluation and technical analysis functions
5
+ * for building trading indicators. The PineScript-style script API is in `oakscriptjs/script`.
6
+ *
7
+ * Key features:
8
+ * - Series class for lazy evaluation and method chaining
9
+ * - Core TA functions (array-based)
10
+ * - TA-Series wrappers (Series-based)
11
+ *
12
+ * @packageDocumentation
13
+ */
14
+ // Export all types
15
+ export * from './types/index.js';
16
+ export * from './types/metadata.js';
17
+ // Export core namespaces (array-based functions)
18
+ import * as taCore from './ta/index.js';
19
+ import * as math from './math/index.js';
20
+ import * as array from './array/index.js';
21
+ import * as map from './map/index.js';
22
+ import * as str from './str/index.js';
23
+ import * as color from './color/index.js';
24
+ import * as time from './time/index.js';
25
+ import * as timeframe from './timeframe/index.js';
26
+ import * as matrix from './matrix/index.js';
27
+ import * as line from './line/index.js';
28
+ import * as box from './box/index.js';
29
+ import * as label from './label/index.js';
30
+ import * as linefill from './linefill/index.js';
31
+ import * as chartPoint from './chartpoint/index.js';
32
+ import * as polyline from './polyline/index.js';
33
+ import * as text from './text/index.js';
34
+ import * as compare from './compare/index.js';
35
+ import * as callsite from './callsite/index.js';
36
+ export { taCore, math, array, map, str, color, time, timeframe, matrix, line, box, label, linefill, chartPoint, polyline, text, compare, callsite };
37
+ // Export Series class (self-contained, no context)
38
+ export { Series, BarData } from './runtime/series.js';
39
+ // Export TA-Series namespace (Series-based wrappers)
40
+ import * as ta from './ta-series.js';
41
+ export { ta };
42
+ // Re-export commonly used functions for convenience
43
+ export { sma, ema, rsi, macd, bb, stdev, crossover, crossunder, change, tr, atr, cum, vwap } from './ta-series.js';
44
+ export { abs, ceil, floor, round, max, min, avg, sum, sqrt, pow, exp, log, sin, cos, tan } from './math/index.js';
45
+ export { rgb, from_hex as color_from_hex, new_color } from './color/index.js';
46
+ // Export chart data utilities
47
+ export { ohlcFromBars, getClose, getHigh, getLow, getOpen, getSource, getSourceSeries, at, div } from './utils/index.js';
48
+ // Export libraries (ZigZag, etc.)
49
+ export * from './lib/index.js';
50
+ // Export helper functions for generated indicators (PineScript compatibility)
51
+ export { isNA as na, nz, fixnan } from './utils/index.js';
52
+ // Export indicator infrastructure
53
+ export { indicator, } from './indicator.js';
54
+ export { input, } from './input.js';
55
+ export { plot as plotHelper, createPlot, } from './plot.js';
56
+ // Runtime exports - global context runtime (setContext, plot, hline) drawing through a ChartAdapter
57
+ export { setContext, clearContext, getContext, registerCalculate, recalculate, plot, hline, clearPlots, } from './runtime/runtime.js';
58
+ export { input_int, input_float, input_bool, input_string, input_source, input_timeframe, input_session, input_time, } from './runtime/inputs.js';
59
+ // Strategy types and constants (the script API forwards strategy.* calls to a host engine)
60
+ export { STRATEGY_CONSTANTS, STRATEGY_DEFAULTS, STRATEGY_NUMBER_VARIABLES, STRATEGY_TEXT_VARIABLES, } from './strategy/index.js';
61
+ export { LightweightChartsAdapter } from './runtime/adapters/LightweightChartsAdapter.js';
62
+ export { SimpleInputAdapter } from './runtime/adapters/SimpleInputAdapter.js';
63
+ // Version
64
+ export const VERSION = '0.9.0';
65
+ /**
66
+ * Library information
67
+ */
68
+ export const info = {
69
+ name: 'OakScriptJS',
70
+ version: VERSION,
71
+ description: 'Simplified PineScript-like library - Series + TA functions',
72
+ features: {
73
+ series: 'Lazy evaluation with Series class',
74
+ ta: 'Technical analysis functions (Series and array-based)',
75
+ script: 'PineScript-style script API (oakscriptjs/script): indicator, strategy, inputs, plots, request.security',
76
+ runtime: 'Global context runtime drawing through a ChartAdapter',
77
+ indicator: 'Indicator function with automatic pane management'
78
+ },
79
+ namespaces: {
80
+ core: ['ta', 'math', 'array', 'map', 'str', 'color', 'time', 'timeframe', 'matrix'],
81
+ drawing: ['line', 'box', 'label', 'linefill', 'chartPoint', 'polyline', 'text'],
82
+ runtime: ['setContext', 'plot', 'hline', 'input_*'],
83
+ indicator: ['indicator', 'input', 'plotHelper', 'createPlot']
84
+ }
85
+ };
86
+ // PineScript compatibility stubs - functions that have no runtime effect
87
+ // These are no-ops so that PineScript-style code runs without modification
88
+ /**
89
+ * alertcondition() - Stub for PineScript alert configuration
90
+ * In PineScript, this registers an alert condition. In oakscriptjs, it's a no-op
91
+ * since alert configuration is handled by the host application.
92
+ */
93
+ export function alertcondition(_condition, _title, _message) {
94
+ // No-op: Alert conditions are handled by the host application
95
+ }
96
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,117 @@
1
+ /**
2
+ * @fileoverview Indicator function for creating reusable technical indicators
3
+ * This module provides the `indicator()` function that handles pane management
4
+ * automatically based on the overlay metadata.
5
+ * @module indicator
6
+ */
7
+ import type { Bar } from './types/index.js';
8
+ /**
9
+ * Indicator metadata that defines how the indicator should be displayed
10
+ */
11
+ export interface IndicatorMetadataConfig {
12
+ /** Full title of the indicator */
13
+ title: string;
14
+ /** Short title (for compact display) */
15
+ shortTitle?: string;
16
+ /** If true, overlay on price chart; if false, create separate pane (default: false) */
17
+ overlay?: boolean;
18
+ /** Number format for values */
19
+ format?: 'price' | 'percent' | 'volume';
20
+ /** Decimal precision for displayed values */
21
+ precision?: number;
22
+ }
23
+ /**
24
+ * Input definition for indicator parameters
25
+ */
26
+ export interface InputDefinition {
27
+ /** Unique identifier for the input */
28
+ name: string;
29
+ /** Input type */
30
+ type: 'int' | 'float' | 'source' | 'bool' | 'string';
31
+ /** Display title */
32
+ title: string;
33
+ /** Default value */
34
+ defaultValue: number | string | boolean;
35
+ /** Minimum value (for numeric inputs) */
36
+ min?: number;
37
+ /** Maximum value (for numeric inputs) */
38
+ max?: number;
39
+ /** Step size (for numeric inputs) */
40
+ step?: number;
41
+ /** Available options (for source/string types) */
42
+ options?: string[];
43
+ }
44
+ /**
45
+ * Context provided to indicator setup/compute functions
46
+ */
47
+ export interface IndicatorContext {
48
+ /** Bar data for calculation */
49
+ readonly data: Bar[];
50
+ /** Open prices array */
51
+ readonly open: number[];
52
+ /** High prices array */
53
+ readonly high: number[];
54
+ /** Low prices array */
55
+ readonly low: number[];
56
+ /** Close prices array */
57
+ readonly close: number[];
58
+ /** Volume array */
59
+ readonly volume: number[];
60
+ /** Time values array */
61
+ readonly time: number[];
62
+ /** Pane index (0 for overlay, higher for separate panes) */
63
+ readonly paneIndex: number;
64
+ }
65
+ /**
66
+ * Instance of a created indicator
67
+ */
68
+ export interface IndicatorInstance {
69
+ /** Indicator metadata */
70
+ readonly metadata: IndicatorMetadataConfig;
71
+ /** Get the pane index for this indicator */
72
+ getPaneIndex(): number;
73
+ /** Check if this is an overlay indicator */
74
+ isOverlay(): boolean;
75
+ /** Get input definitions */
76
+ getInputs(): InputDefinition[];
77
+ /** Update input values */
78
+ updateInputs(inputs: Record<string, number | string | boolean>): void;
79
+ /** Get current input values */
80
+ getInputValues(): Record<string, number | string | boolean>;
81
+ /** Calculate indicator with given bar data */
82
+ calculate(data: Bar[]): void;
83
+ }
84
+ /**
85
+ * Indicator class constructor type
86
+ */
87
+ export interface IndicatorConstructor {
88
+ new (): IndicatorInstance;
89
+ }
90
+ /**
91
+ * Creates an indicator class that handles pane management automatically.
92
+ *
93
+ * When `overlay: false` (default), the indicator will be displayed in a separate pane.
94
+ * When `overlay: true`, the indicator will be overlaid on the main price chart.
95
+ *
96
+ * @param metadata - Indicator metadata (title, overlay setting, etc.)
97
+ * @param setup - Setup function that receives the indicator context and defines calculations
98
+ * @returns A class constructor for creating indicator instances
99
+ *
100
+ * @example
101
+ * ```typescript
102
+ * const SMAIndicator = indicator({
103
+ * title: 'Simple Moving Average',
104
+ * shortTitle: 'SMA',
105
+ * overlay: true, // Display on price chart
106
+ * }, (ctx) => {
107
+ * const length = 9;
108
+ * const sma = ta.sma(ctx.close, length);
109
+ * // Plot or return data...
110
+ * });
111
+ *
112
+ * const instance = new SMAIndicator();
113
+ * instance.calculate(barData);
114
+ * ```
115
+ */
116
+ export declare function indicator(metadata: IndicatorMetadataConfig, setup: (ctx: IndicatorContext) => void): IndicatorConstructor;
117
+ //# sourceMappingURL=indicator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"indicator.d.ts","sourceRoot":"","sources":["../../src/indicator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,wCAAwC;IACxC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uFAAuF;IACvF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,+BAA+B;IAC/B,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAC;IACxC,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB;IACjB,IAAI,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;IACrD,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB;IACpB,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IACxC,yCAAyC;IACzC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,qCAAqC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,+BAA+B;IAC/B,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC;IACrB,wBAAwB;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IACxB,wBAAwB;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IACxB,uBAAuB;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC;IACvB,yBAAyB;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IACzB,mBAAmB;IACnB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAC1B,wBAAwB;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IACxB,4DAA4D;IAC5D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,yBAAyB;IACzB,QAAQ,CAAC,QAAQ,EAAE,uBAAuB,CAAC;IAC3C,4CAA4C;IAC5C,YAAY,IAAI,MAAM,CAAC;IACvB,4CAA4C;IAC5C,SAAS,IAAI,OAAO,CAAC;IACrB,4BAA4B;IAC5B,SAAS,IAAI,eAAe,EAAE,CAAC;IAC/B,0BAA0B;IAC1B,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC;IACtE,+BAA+B;IAC/B,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;IAC5D,8CAA8C;IAC9C,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,iBAAiB,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,SAAS,CACvB,QAAQ,EAAE,uBAAuB,EACjC,KAAK,EAAE,CAAC,GAAG,EAAE,gBAAgB,KAAK,IAAI,GACrC,oBAAoB,CA2DtB"}
@@ -0,0 +1,84 @@
1
+ /**
2
+ * @fileoverview Indicator function for creating reusable technical indicators
3
+ * This module provides the `indicator()` function that handles pane management
4
+ * automatically based on the overlay metadata.
5
+ * @module indicator
6
+ */
7
+ /**
8
+ * Creates an indicator class that handles pane management automatically.
9
+ *
10
+ * When `overlay: false` (default), the indicator will be displayed in a separate pane.
11
+ * When `overlay: true`, the indicator will be overlaid on the main price chart.
12
+ *
13
+ * @param metadata - Indicator metadata (title, overlay setting, etc.)
14
+ * @param setup - Setup function that receives the indicator context and defines calculations
15
+ * @returns A class constructor for creating indicator instances
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * const SMAIndicator = indicator({
20
+ * title: 'Simple Moving Average',
21
+ * shortTitle: 'SMA',
22
+ * overlay: true, // Display on price chart
23
+ * }, (ctx) => {
24
+ * const length = 9;
25
+ * const sma = ta.sma(ctx.close, length);
26
+ * // Plot or return data...
27
+ * });
28
+ *
29
+ * const instance = new SMAIndicator();
30
+ * instance.calculate(barData);
31
+ * ```
32
+ */
33
+ export function indicator(metadata, setup) {
34
+ // Normalize metadata with defaults
35
+ const normalizedMetadata = {
36
+ title: metadata.title,
37
+ shortTitle: metadata.shortTitle ?? metadata.title,
38
+ overlay: metadata.overlay ?? false, // Default to separate pane
39
+ format: metadata.format ?? 'price',
40
+ precision: metadata.precision ?? 2,
41
+ };
42
+ return class {
43
+ metadata = normalizedMetadata;
44
+ inputDefinitions = [];
45
+ inputValues = {};
46
+ paneIndex = 0;
47
+ constructor() {
48
+ // Calculate initial pane index based on overlay setting
49
+ this.paneIndex = normalizedMetadata.overlay ? 0 : 1;
50
+ }
51
+ getPaneIndex() {
52
+ return this.paneIndex;
53
+ }
54
+ isOverlay() {
55
+ return normalizedMetadata.overlay ?? false;
56
+ }
57
+ getInputs() {
58
+ return [...this.inputDefinitions];
59
+ }
60
+ updateInputs(inputs) {
61
+ this.inputValues = { ...this.inputValues, ...inputs };
62
+ }
63
+ getInputValues() {
64
+ return { ...this.inputValues };
65
+ }
66
+ calculate(data) {
67
+ const ctx = this.createContext(data);
68
+ setup(ctx);
69
+ }
70
+ createContext(data) {
71
+ return {
72
+ data,
73
+ open: data.map(d => d.open),
74
+ high: data.map(d => d.high),
75
+ low: data.map(d => d.low),
76
+ close: data.map(d => d.close),
77
+ volume: data.map(d => d.volume ?? 0),
78
+ time: data.map(d => d.time),
79
+ paneIndex: this.paneIndex,
80
+ };
81
+ }
82
+ };
83
+ }
84
+ //# sourceMappingURL=indicator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"indicator.js","sourceRoot":"","sources":["../../src/indicator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA2FH;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,SAAS,CACvB,QAAiC,EACjC,KAAsC;IAEtC,mCAAmC;IACnC,MAAM,kBAAkB,GAA4B;QAClD,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,UAAU,EAAE,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,KAAK;QACjD,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,KAAK,EAAE,2BAA2B;QAC/D,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,OAAO;QAClC,SAAS,EAAE,QAAQ,CAAC,SAAS,IAAI,CAAC;KACnC,CAAC;IAEF,OAAO;QACI,QAAQ,GAAG,kBAAkB,CAAC;QAC/B,gBAAgB,GAAsB,EAAE,CAAC;QACzC,WAAW,GAA8C,EAAE,CAAC;QAC5D,SAAS,GAAW,CAAC,CAAC;QAE9B;YACE,wDAAwD;YACxD,IAAI,CAAC,SAAS,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,CAAC;QAED,YAAY;YACV,OAAO,IAAI,CAAC,SAAS,CAAC;QACxB,CAAC;QAED,SAAS;YACP,OAAO,kBAAkB,CAAC,OAAO,IAAI,KAAK,CAAC;QAC7C,CAAC;QAED,SAAS;YACP,OAAO,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACpC,CAAC;QAED,YAAY,CAAC,MAAiD;YAC5D,IAAI,CAAC,WAAW,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,MAAM,EAAE,CAAC;QACxD,CAAC;QAED,cAAc;YACZ,OAAO,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,CAAC;QAED,SAAS,CAAC,IAAW;YACnB,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YACrC,KAAK,CAAC,GAAG,CAAC,CAAC;QACb,CAAC;QAEO,aAAa,CAAC,IAAW;YAC/B,OAAO;gBACL,IAAI;gBACJ,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC3B,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC3B,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;gBACzB,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;gBAC7B,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC;gBACpC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;aAC1B,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,196 @@
1
+ /**
2
+ * @fileoverview Input helper functions for indicator parameters
3
+ * These functions create input definitions that can be used with the indicator system.
4
+ * @module input
5
+ */
6
+ /**
7
+ * Input value with its configuration
8
+ */
9
+ export interface InputValue<T> {
10
+ /** Input type identifier */
11
+ type: 'int' | 'float' | 'source' | 'bool' | 'string' | 'timeframe' | 'session' | 'time';
12
+ /** Default value */
13
+ defaultValue: T;
14
+ /** Current value (initially equals defaultValue) */
15
+ value: T;
16
+ /** Display title */
17
+ title?: string;
18
+ /** Minimum value (for numeric inputs) */
19
+ min?: number;
20
+ /** Maximum value (for numeric inputs) */
21
+ max?: number;
22
+ /** Step size (for numeric inputs) */
23
+ step?: number;
24
+ /** Available options (for source/string/timeframe/session types) */
25
+ options?: string[];
26
+ }
27
+ /**
28
+ * Options for integer input
29
+ */
30
+ export interface IntInputOptions {
31
+ /** Minimum value */
32
+ min?: number;
33
+ /** Maximum value */
34
+ max?: number;
35
+ /** Step size */
36
+ step?: number;
37
+ /** Display title */
38
+ title?: string;
39
+ }
40
+ /**
41
+ * Options for float input
42
+ */
43
+ export interface FloatInputOptions {
44
+ /** Minimum value */
45
+ min?: number;
46
+ /** Maximum value */
47
+ max?: number;
48
+ /** Step size */
49
+ step?: number;
50
+ /** Display title */
51
+ title?: string;
52
+ }
53
+ /**
54
+ * Options for source input
55
+ */
56
+ export interface SourceInputOptions {
57
+ /** Display title */
58
+ title?: string;
59
+ }
60
+ /**
61
+ * Options for boolean input
62
+ */
63
+ export interface BoolInputOptions {
64
+ /** Display title */
65
+ title?: string;
66
+ }
67
+ /**
68
+ * Options for string input
69
+ */
70
+ export interface StringInputOptions {
71
+ /** Display title */
72
+ title?: string;
73
+ /** Available options for dropdown */
74
+ options?: string[];
75
+ }
76
+ /**
77
+ * Options for time input
78
+ */
79
+ export interface TimeInputOptions {
80
+ /** Display title */
81
+ title?: string;
82
+ }
83
+ /**
84
+ * Source type for price data
85
+ */
86
+ export type SourceType = 'open' | 'high' | 'low' | 'close' | 'hl2' | 'hlc3' | 'ohlc4' | 'hlcc4';
87
+ /**
88
+ * Input helper functions for creating indicator parameters
89
+ */
90
+ export declare const input: {
91
+ /**
92
+ * Create an integer input parameter
93
+ * @param defaultValue - Default value for the input
94
+ * @param options - Additional options (min, max, step, title)
95
+ * @returns Input value object
96
+ *
97
+ * @example
98
+ * ```typescript
99
+ * const length = input.int(14, { min: 1, max: 500, title: 'Length' });
100
+ * console.log(length.value); // 14
101
+ * ```
102
+ */
103
+ int(defaultValue: number, options?: IntInputOptions): InputValue<number>;
104
+ /**
105
+ * Create a float input parameter
106
+ * @param defaultValue - Default value for the input
107
+ * @param options - Additional options (min, max, step, title)
108
+ * @returns Input value object
109
+ *
110
+ * @example
111
+ * ```typescript
112
+ * const multiplier = input.float(2.5, { min: 0.1, max: 10, step: 0.1, title: 'Multiplier' });
113
+ * console.log(multiplier.value); // 2.5
114
+ * ```
115
+ */
116
+ float(defaultValue: number, options?: FloatInputOptions): InputValue<number>;
117
+ /**
118
+ * Create a source input parameter (for selecting price data type)
119
+ * @param defaultValue - Default source type (default: 'close')
120
+ * @param options - Additional options (title)
121
+ * @returns Input value object
122
+ *
123
+ * @example
124
+ * ```typescript
125
+ * const src = input.source('close', { title: 'Source' });
126
+ * console.log(src.value); // 'close'
127
+ * ```
128
+ */
129
+ source(defaultValue?: SourceType, options?: SourceInputOptions): InputValue<SourceType>;
130
+ /**
131
+ * Create a boolean input parameter
132
+ * @param defaultValue - Default value for the input
133
+ * @param options - Additional options (title)
134
+ * @returns Input value object
135
+ *
136
+ * @example
137
+ * ```typescript
138
+ * const showSignal = input.bool(true, { title: 'Show Signal' });
139
+ * console.log(showSignal.value); // true
140
+ * ```
141
+ */
142
+ bool(defaultValue: boolean, options?: BoolInputOptions): InputValue<boolean>;
143
+ /**
144
+ * Create a string input parameter
145
+ * @param defaultValue - Default value for the input
146
+ * @param options - Additional options (title, options for dropdown)
147
+ * @returns Input value object
148
+ *
149
+ * @example
150
+ * ```typescript
151
+ * const maType = input.string('SMA', { title: 'MA Type', options: ['SMA', 'EMA', 'WMA'] });
152
+ * console.log(maType.value); // 'SMA'
153
+ * ```
154
+ */
155
+ string(defaultValue: string, options?: StringInputOptions): InputValue<string>;
156
+ /**
157
+ * Create a timeframe input parameter (PineScript `input.timeframe`)
158
+ * @param defaultValue - Default timeframe string ("60", "1D", "W"); "" means the chart timeframe
159
+ * @param options - Additional options (title, options for dropdown)
160
+ * @returns Input value object
161
+ *
162
+ * @example
163
+ * ```typescript
164
+ * const htf = input.timeframe('1D', { title: 'Higher timeframe' });
165
+ * console.log(htf.value); // '1D'
166
+ * ```
167
+ */
168
+ timeframe(defaultValue: string, options?: StringInputOptions): InputValue<string>;
169
+ /**
170
+ * Create a session input parameter (PineScript `input.session`)
171
+ * @param defaultValue - Default session string ("0930-1600", "0930-1600:23456")
172
+ * @param options - Additional options (title, options for dropdown)
173
+ * @returns Input value object
174
+ *
175
+ * @example
176
+ * ```typescript
177
+ * const rth = input.session('0930-1600', { title: 'Regular hours' });
178
+ * console.log(rth.value); // '0930-1600'
179
+ * ```
180
+ */
181
+ session(defaultValue: string, options?: StringInputOptions): InputValue<string>;
182
+ /**
183
+ * Create a date/time input parameter (PineScript `input.time`)
184
+ * @param defaultValue - Default UNIX time in milliseconds, e.g. `time.timestamp('2024-01-01')`
185
+ * @param options - Additional options (title)
186
+ * @returns Input value object
187
+ *
188
+ * @example
189
+ * ```typescript
190
+ * const start = input.time(time.timestamp('2024-01-01'), { title: 'Start' });
191
+ * console.log(start.value); // 1704067200000
192
+ * ```
193
+ */
194
+ time(defaultValue: number, options?: TimeInputOptions): InputValue<number>;
195
+ };
196
+ //# sourceMappingURL=input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../src/input.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,4BAA4B;IAC5B,IAAI,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,GAAG,MAAM,CAAC;IACxF,oBAAoB;IACpB,YAAY,EAAE,CAAC,CAAC;IAChB,oDAAoD;IACpD,KAAK,EAAE,CAAC,CAAC;IACT,oBAAoB;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,qCAAqC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,oBAAoB;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oBAAoB;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gBAAgB;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oBAAoB;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,oBAAoB;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oBAAoB;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gBAAgB;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oBAAoB;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,oBAAoB;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,oBAAoB;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,oBAAoB;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,oBAAoB;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAEhG;;GAEG;AACH,eAAO,MAAM,KAAK;IAChB;;;;;;;;;;;OAWG;sBACe,MAAM,YAAW,eAAe,GAAQ,UAAU,CAAC,MAAM,CAAC;IAY5E;;;;;;;;;;;OAWG;wBACiB,MAAM,YAAW,iBAAiB,GAAQ,UAAU,CAAC,MAAM,CAAC;IAYhF;;;;;;;;;;;OAWG;0BACkB,UAAU,YAAqB,kBAAkB,GAAQ,UAAU,CAAC,UAAU,CAAC;IAUpG;;;;;;;;;;;OAWG;uBACgB,OAAO,YAAW,gBAAgB,GAAQ,UAAU,CAAC,OAAO,CAAC;IAShF;;;;;;;;;;;OAWG;yBACkB,MAAM,YAAW,kBAAkB,GAAQ,UAAU,CAAC,MAAM,CAAC;IAUlF;;;;;;;;;;;OAWG;4BACqB,MAAM,YAAW,kBAAkB,GAAQ,UAAU,CAAC,MAAM,CAAC;IAUrF;;;;;;;;;;;OAWG;0BACmB,MAAM,YAAW,kBAAkB,GAAQ,UAAU,CAAC,MAAM,CAAC;IAUnF;;;;;;;;;;;OAWG;uBACgB,MAAM,YAAW,gBAAgB,GAAQ,UAAU,CAAC,MAAM,CAAC;CAQ/E,CAAC"}