oakscriptjs 0.8.2 → 0.9.1

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 (555) 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 +393 -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 +88 -0
  12. package/dist/cjs/callsite/index.d.ts.map +1 -0
  13. package/dist/cjs/callsite/index.js +112 -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 +286 -0
  20. package/dist/cjs/color/index.d.ts.map +1 -0
  21. package/dist/cjs/color/index.js +122 -0
  22. package/dist/cjs/color/index.js.map +7 -0
  23. package/dist/cjs/color/parse.d.ts +29 -0
  24. package/dist/cjs/color/parse.d.ts.map +1 -0
  25. package/dist/cjs/color/parse.js +57 -0
  26. package/dist/cjs/color/parse.js.map +7 -0
  27. package/dist/cjs/compare/index.d.ts +26 -0
  28. package/dist/cjs/compare/index.d.ts.map +1 -0
  29. package/dist/cjs/compare/index.js +50 -0
  30. package/dist/cjs/compare/index.js.map +7 -0
  31. package/dist/cjs/drawing/registry.d.ts +42 -0
  32. package/dist/cjs/drawing/registry.d.ts.map +1 -0
  33. package/dist/cjs/drawing/registry.js +87 -0
  34. package/dist/cjs/drawing/registry.js.map +7 -0
  35. package/dist/cjs/index.d.ts +85 -0
  36. package/dist/cjs/index.d.ts.map +1 -0
  37. package/dist/cjs/index.js +184 -0
  38. package/dist/cjs/index.js.map +7 -0
  39. package/dist/cjs/indicator.d.ts +117 -0
  40. package/dist/cjs/indicator.d.ts.map +1 -0
  41. package/dist/cjs/indicator.js +74 -0
  42. package/dist/cjs/indicator.js.map +7 -0
  43. package/dist/cjs/input.d.ts +196 -0
  44. package/dist/cjs/input.d.ts.map +1 -0
  45. package/dist/cjs/input.js +197 -0
  46. package/dist/cjs/input.js.map +7 -0
  47. package/dist/cjs/label/index.d.ts +303 -0
  48. package/dist/cjs/label/index.d.ts.map +1 -0
  49. package/dist/cjs/label/index.js +190 -0
  50. package/dist/cjs/label/index.js.map +7 -0
  51. package/dist/cjs/lib/index.d.ts +8 -0
  52. package/dist/cjs/lib/index.d.ts.map +1 -0
  53. package/dist/cjs/lib/index.js +19 -0
  54. package/dist/cjs/lib/index.js.map +7 -0
  55. package/dist/{lib → cjs/lib}/zigzag/index.d.ts +4 -1
  56. package/dist/cjs/lib/zigzag/index.d.ts.map +1 -0
  57. package/dist/cjs/lib/zigzag/index.js +27 -0
  58. package/dist/cjs/lib/zigzag/index.js.map +7 -0
  59. package/dist/cjs/lib/zigzag/zigzag.d.ts +100 -0
  60. package/dist/cjs/lib/zigzag/zigzag.d.ts.map +1 -0
  61. package/dist/cjs/lib/zigzag/zigzag.js +207 -0
  62. package/dist/cjs/lib/zigzag/zigzag.js.map +7 -0
  63. package/dist/cjs/line/index.d.ts +342 -0
  64. package/dist/cjs/line/index.d.ts.map +1 -0
  65. package/dist/cjs/line/index.js +193 -0
  66. package/dist/cjs/line/index.js.map +7 -0
  67. package/dist/cjs/linefill/index.d.ts +124 -0
  68. package/dist/cjs/linefill/index.d.ts.map +1 -0
  69. package/dist/cjs/linefill/index.js +56 -0
  70. package/dist/cjs/linefill/index.js.map +7 -0
  71. package/dist/cjs/map/index.d.ts +69 -0
  72. package/dist/cjs/map/index.d.ts.map +1 -0
  73. package/dist/cjs/map/index.js +80 -0
  74. package/dist/cjs/map/index.js.map +7 -0
  75. package/dist/cjs/math/index.d.ts +560 -0
  76. package/dist/cjs/math/index.d.ts.map +1 -0
  77. package/dist/cjs/math/index.js +441 -0
  78. package/dist/cjs/math/index.js.map +7 -0
  79. package/dist/cjs/matrix/index.d.ts +1231 -0
  80. package/dist/cjs/matrix/index.d.ts.map +1 -0
  81. package/dist/cjs/matrix/index.js +1200 -0
  82. package/dist/cjs/matrix/index.js.map +7 -0
  83. package/dist/cjs/package.json +1 -0
  84. package/dist/cjs/plot.d.ts +76 -0
  85. package/dist/cjs/plot.d.ts.map +1 -0
  86. package/dist/cjs/plot.js +51 -0
  87. package/dist/cjs/plot.js.map +7 -0
  88. package/dist/cjs/polyline/index.d.ts +115 -0
  89. package/dist/cjs/polyline/index.d.ts.map +1 -0
  90. package/dist/cjs/polyline/index.js +76 -0
  91. package/dist/cjs/polyline/index.js.map +7 -0
  92. package/dist/cjs/runtime/adapters/LightweightChartsAdapter.d.ts +86 -0
  93. package/dist/cjs/runtime/adapters/LightweightChartsAdapter.d.ts.map +1 -0
  94. package/dist/cjs/runtime/adapters/LightweightChartsAdapter.js +141 -0
  95. package/dist/cjs/runtime/adapters/LightweightChartsAdapter.js.map +7 -0
  96. package/dist/cjs/runtime/adapters/SimpleInputAdapter.d.ts +59 -0
  97. package/dist/cjs/runtime/adapters/SimpleInputAdapter.d.ts.map +1 -0
  98. package/dist/cjs/runtime/adapters/SimpleInputAdapter.js +117 -0
  99. package/dist/cjs/runtime/adapters/SimpleInputAdapter.js.map +7 -0
  100. package/dist/{runtime → cjs/runtime}/index.d.ts +12 -5
  101. package/dist/cjs/runtime/index.d.ts.map +1 -0
  102. package/dist/cjs/runtime/index.js +49 -0
  103. package/dist/cjs/runtime/index.js.map +7 -0
  104. package/dist/cjs/runtime/inputs.d.ts +91 -0
  105. package/dist/cjs/runtime/inputs.d.ts.map +1 -0
  106. package/dist/cjs/runtime/inputs.js +262 -0
  107. package/dist/cjs/runtime/inputs.js.map +7 -0
  108. package/dist/cjs/runtime/runtime.d.ts +70 -0
  109. package/dist/cjs/runtime/runtime.d.ts.map +1 -0
  110. package/dist/cjs/runtime/runtime.js +148 -0
  111. package/dist/cjs/runtime/runtime.js.map +7 -0
  112. package/dist/cjs/runtime/series.d.ts +362 -0
  113. package/dist/cjs/runtime/series.d.ts.map +1 -0
  114. package/dist/cjs/runtime/series.js +560 -0
  115. package/dist/cjs/runtime/series.js.map +7 -0
  116. package/dist/cjs/runtime/types.d.ts +282 -0
  117. package/dist/cjs/runtime/types.d.ts.map +1 -0
  118. package/dist/cjs/runtime/types.js +17 -0
  119. package/dist/cjs/runtime/types.js.map +7 -0
  120. package/dist/cjs/script/index.d.ts +991 -0
  121. package/dist/cjs/script/index.d.ts.map +1 -0
  122. package/dist/cjs/script/index.js +1174 -0
  123. package/dist/cjs/script/index.js.map +7 -0
  124. package/dist/cjs/security/resample.d.ts +63 -0
  125. package/dist/cjs/security/resample.d.ts.map +1 -0
  126. package/dist/cjs/security/resample.js +84 -0
  127. package/dist/cjs/security/resample.js.map +7 -0
  128. package/dist/cjs/session/bars.d.ts +80 -0
  129. package/dist/cjs/session/bars.d.ts.map +1 -0
  130. package/dist/cjs/session/bars.js +219 -0
  131. package/dist/cjs/session/bars.js.map +7 -0
  132. package/dist/cjs/session/calendar.d.ts +70 -0
  133. package/dist/cjs/session/calendar.d.ts.map +1 -0
  134. package/dist/cjs/session/calendar.js +164 -0
  135. package/dist/cjs/session/calendar.js.map +7 -0
  136. package/dist/cjs/str/dateformat.d.ts +15 -0
  137. package/dist/cjs/str/dateformat.d.ts.map +1 -0
  138. package/dist/cjs/str/dateformat.js +149 -0
  139. package/dist/cjs/str/dateformat.js.map +7 -0
  140. package/dist/cjs/str/index.d.ts +459 -0
  141. package/dist/cjs/str/index.d.ts.map +1 -0
  142. package/dist/cjs/str/index.js +143 -0
  143. package/dist/cjs/str/index.js.map +7 -0
  144. package/dist/cjs/str/messageformat.d.ts +14 -0
  145. package/dist/cjs/str/messageformat.d.ts.map +1 -0
  146. package/dist/cjs/str/messageformat.js +114 -0
  147. package/dist/cjs/str/messageformat.js.map +7 -0
  148. package/dist/cjs/str/numberformat.d.ts +19 -0
  149. package/dist/cjs/str/numberformat.d.ts.map +1 -0
  150. package/dist/cjs/str/numberformat.js +170 -0
  151. package/dist/cjs/str/numberformat.js.map +7 -0
  152. package/dist/{strategy → cjs/strategy}/index.d.ts +50 -0
  153. package/dist/cjs/strategy/index.d.ts.map +1 -0
  154. package/dist/cjs/strategy/index.js +92 -0
  155. package/dist/cjs/strategy/index.js.map +7 -0
  156. package/dist/cjs/ta/index.d.ts +1400 -0
  157. package/dist/cjs/ta/index.d.ts.map +1 -0
  158. package/dist/cjs/ta/index.js +1719 -0
  159. package/dist/cjs/ta/index.js.map +7 -0
  160. package/dist/cjs/ta/running-sum.d.ts +30 -0
  161. package/dist/cjs/ta/running-sum.d.ts.map +1 -0
  162. package/dist/cjs/ta/running-sum.js +99 -0
  163. package/dist/cjs/ta/running-sum.js.map +7 -0
  164. package/dist/cjs/ta-series.d.ts +558 -0
  165. package/dist/cjs/ta-series.d.ts.map +1 -0
  166. package/dist/cjs/ta-series.js +606 -0
  167. package/dist/cjs/ta-series.js.map +7 -0
  168. package/dist/cjs/text/index.d.ts +14 -0
  169. package/dist/cjs/text/index.d.ts.map +1 -0
  170. package/dist/cjs/text/index.js +29 -0
  171. package/dist/cjs/text/index.js.map +7 -0
  172. package/dist/cjs/time/datestring.d.ts +23 -0
  173. package/dist/cjs/time/datestring.d.ts.map +1 -0
  174. package/dist/cjs/time/datestring.js +106 -0
  175. package/dist/cjs/time/datestring.js.map +7 -0
  176. package/dist/cjs/time/index.d.ts +89 -0
  177. package/dist/cjs/time/index.d.ts.map +1 -0
  178. package/dist/cjs/time/index.js +85 -0
  179. package/dist/cjs/time/index.js.map +7 -0
  180. package/dist/cjs/time/session.d.ts +17 -0
  181. package/dist/cjs/time/session.d.ts.map +1 -0
  182. package/dist/cjs/time/session.js +65 -0
  183. package/dist/cjs/time/session.js.map +7 -0
  184. package/dist/cjs/time/timezone.d.ts +40 -0
  185. package/dist/cjs/time/timezone.d.ts.map +1 -0
  186. package/dist/cjs/time/timezone.js +125 -0
  187. package/dist/cjs/time/timezone.js.map +7 -0
  188. package/dist/cjs/timeframe/index.d.ts +73 -0
  189. package/dist/cjs/timeframe/index.d.ts.map +1 -0
  190. package/dist/cjs/timeframe/index.js +85 -0
  191. package/dist/cjs/timeframe/index.js.map +7 -0
  192. package/dist/cjs/types/index.d.ts +343 -0
  193. package/dist/cjs/types/index.d.ts.map +1 -0
  194. package/dist/cjs/types/index.js +32 -0
  195. package/dist/cjs/types/index.js.map +7 -0
  196. package/dist/cjs/types/metadata.d.ts +300 -0
  197. package/dist/cjs/types/metadata.d.ts.map +1 -0
  198. package/dist/cjs/types/metadata.js +17 -0
  199. package/dist/cjs/types/metadata.js.map +7 -0
  200. package/dist/cjs/utils/index.d.ts +167 -0
  201. package/dist/cjs/utils/index.d.ts.map +1 -0
  202. package/dist/cjs/utils/index.js +209 -0
  203. package/dist/cjs/utils/index.js.map +7 -0
  204. package/dist/esm/array/index.d.ts +701 -0
  205. package/dist/esm/array/index.d.ts.map +1 -0
  206. package/dist/esm/array/index.js +984 -0
  207. package/dist/esm/array/index.js.map +1 -0
  208. package/dist/esm/box/index.d.ts +444 -0
  209. package/dist/esm/box/index.d.ts.map +1 -0
  210. package/dist/esm/box/index.js +602 -0
  211. package/dist/esm/box/index.js.map +1 -0
  212. package/dist/esm/callsite/index.d.ts +88 -0
  213. package/dist/esm/callsite/index.d.ts.map +1 -0
  214. package/dist/esm/callsite/index.js +176 -0
  215. package/dist/esm/callsite/index.js.map +1 -0
  216. package/dist/esm/chartpoint/index.d.ts +90 -0
  217. package/dist/esm/chartpoint/index.d.ts.map +1 -0
  218. package/dist/esm/chartpoint/index.js +113 -0
  219. package/dist/esm/chartpoint/index.js.map +1 -0
  220. package/dist/esm/color/index.d.ts +286 -0
  221. package/dist/esm/color/index.d.ts.map +1 -0
  222. package/dist/esm/color/index.js +350 -0
  223. package/dist/esm/color/index.js.map +1 -0
  224. package/dist/esm/color/parse.d.ts +29 -0
  225. package/dist/esm/color/parse.d.ts.map +1 -0
  226. package/dist/esm/color/parse.js +55 -0
  227. package/dist/esm/color/parse.js.map +1 -0
  228. package/dist/esm/compare/index.d.ts +26 -0
  229. package/dist/esm/compare/index.d.ts.map +1 -0
  230. package/dist/esm/compare/index.js +39 -0
  231. package/dist/esm/compare/index.js.map +1 -0
  232. package/dist/esm/drawing/registry.d.ts +42 -0
  233. package/dist/esm/drawing/registry.d.ts.map +1 -0
  234. package/dist/esm/drawing/registry.js +89 -0
  235. package/dist/esm/drawing/registry.js.map +1 -0
  236. package/dist/esm/index.d.ts +85 -0
  237. package/dist/esm/index.d.ts.map +1 -0
  238. package/dist/esm/index.js +96 -0
  239. package/dist/esm/index.js.map +1 -0
  240. package/dist/esm/indicator.d.ts +117 -0
  241. package/dist/esm/indicator.d.ts.map +1 -0
  242. package/dist/esm/indicator.js +84 -0
  243. package/dist/esm/indicator.js.map +1 -0
  244. package/dist/esm/input.d.ts +196 -0
  245. package/dist/esm/input.d.ts.map +1 -0
  246. package/dist/esm/input.js +183 -0
  247. package/dist/esm/input.js.map +1 -0
  248. package/dist/esm/label/index.d.ts +303 -0
  249. package/dist/esm/label/index.d.ts.map +1 -0
  250. package/dist/esm/label/index.js +417 -0
  251. package/dist/esm/label/index.js.map +1 -0
  252. package/dist/esm/lib/index.d.ts +8 -0
  253. package/dist/esm/lib/index.d.ts.map +1 -0
  254. package/dist/esm/lib/index.js +8 -0
  255. package/dist/esm/lib/index.js.map +1 -0
  256. package/dist/esm/lib/zigzag/index.d.ts +5 -0
  257. package/dist/esm/lib/zigzag/index.d.ts.map +1 -0
  258. package/dist/esm/lib/zigzag/index.js +5 -0
  259. package/dist/esm/lib/zigzag/index.js.map +1 -0
  260. package/dist/esm/lib/zigzag/zigzag.d.ts +100 -0
  261. package/dist/esm/lib/zigzag/zigzag.d.ts.map +1 -0
  262. package/dist/esm/lib/zigzag/zigzag.js +229 -0
  263. package/dist/esm/lib/zigzag/zigzag.js.map +1 -0
  264. package/dist/esm/line/index.d.ts +342 -0
  265. package/dist/esm/line/index.d.ts.map +1 -0
  266. package/dist/esm/line/index.js +470 -0
  267. package/dist/esm/line/index.js.map +1 -0
  268. package/dist/esm/linefill/index.d.ts +124 -0
  269. package/dist/esm/linefill/index.d.ts.map +1 -0
  270. package/dist/esm/linefill/index.js +144 -0
  271. package/dist/esm/linefill/index.js.map +1 -0
  272. package/dist/esm/map/index.d.ts +69 -0
  273. package/dist/esm/map/index.d.ts.map +1 -0
  274. package/dist/esm/map/index.js +106 -0
  275. package/dist/esm/map/index.js.map +1 -0
  276. package/dist/esm/math/index.d.ts +560 -0
  277. package/dist/esm/math/index.d.ts.map +1 -0
  278. package/dist/esm/math/index.js +495 -0
  279. package/dist/esm/math/index.js.map +1 -0
  280. package/dist/esm/matrix/index.d.ts +1231 -0
  281. package/dist/esm/matrix/index.d.ts.map +1 -0
  282. package/dist/esm/matrix/index.js +2450 -0
  283. package/dist/esm/matrix/index.js.map +1 -0
  284. package/dist/esm/plot.d.ts +76 -0
  285. package/dist/esm/plot.d.ts.map +1 -0
  286. package/dist/esm/plot.js +63 -0
  287. package/dist/esm/plot.js.map +1 -0
  288. package/dist/esm/polyline/index.d.ts +115 -0
  289. package/dist/esm/polyline/index.d.ts.map +1 -0
  290. package/dist/esm/polyline/index.js +157 -0
  291. package/dist/esm/polyline/index.js.map +1 -0
  292. package/dist/esm/runtime/adapters/LightweightChartsAdapter.d.ts +86 -0
  293. package/dist/esm/runtime/adapters/LightweightChartsAdapter.d.ts.map +1 -0
  294. package/dist/esm/runtime/adapters/LightweightChartsAdapter.js +140 -0
  295. package/dist/esm/runtime/adapters/LightweightChartsAdapter.js.map +1 -0
  296. package/dist/esm/runtime/adapters/SimpleInputAdapter.d.ts +59 -0
  297. package/dist/esm/runtime/adapters/SimpleInputAdapter.d.ts.map +1 -0
  298. package/dist/esm/runtime/adapters/SimpleInputAdapter.js +115 -0
  299. package/dist/esm/runtime/adapters/SimpleInputAdapter.js.map +1 -0
  300. package/dist/esm/runtime/index.d.ts +13 -0
  301. package/dist/esm/runtime/index.d.ts.map +1 -0
  302. package/dist/esm/runtime/index.js +14 -0
  303. package/dist/esm/runtime/index.js.map +1 -0
  304. package/dist/esm/runtime/inputs.d.ts +91 -0
  305. package/dist/esm/runtime/inputs.d.ts.map +1 -0
  306. package/dist/esm/runtime/inputs.js +334 -0
  307. package/dist/esm/runtime/inputs.js.map +1 -0
  308. package/dist/esm/runtime/runtime.d.ts +70 -0
  309. package/dist/esm/runtime/runtime.d.ts.map +1 -0
  310. package/dist/esm/runtime/runtime.js +193 -0
  311. package/dist/esm/runtime/runtime.js.map +1 -0
  312. package/dist/esm/runtime/series.d.ts +362 -0
  313. package/dist/esm/runtime/series.d.ts.map +1 -0
  314. package/dist/esm/runtime/series.js +583 -0
  315. package/dist/esm/runtime/series.js.map +1 -0
  316. package/dist/esm/runtime/types.d.ts +282 -0
  317. package/dist/esm/runtime/types.d.ts.map +1 -0
  318. package/dist/esm/runtime/types.js +7 -0
  319. package/dist/esm/runtime/types.js.map +1 -0
  320. package/dist/esm/script/index.d.ts +991 -0
  321. package/dist/esm/script/index.d.ts.map +1 -0
  322. package/dist/esm/script/index.js +1294 -0
  323. package/dist/esm/script/index.js.map +1 -0
  324. package/dist/esm/security/resample.d.ts +63 -0
  325. package/dist/esm/security/resample.d.ts.map +1 -0
  326. package/dist/esm/security/resample.js +110 -0
  327. package/dist/esm/security/resample.js.map +1 -0
  328. package/dist/esm/session/bars.d.ts +80 -0
  329. package/dist/esm/session/bars.d.ts.map +1 -0
  330. package/dist/esm/session/bars.js +232 -0
  331. package/dist/esm/session/bars.js.map +1 -0
  332. package/dist/esm/session/calendar.d.ts +70 -0
  333. package/dist/esm/session/calendar.d.ts.map +1 -0
  334. package/dist/esm/session/calendar.js +172 -0
  335. package/dist/esm/session/calendar.js.map +1 -0
  336. package/dist/esm/str/dateformat.d.ts +15 -0
  337. package/dist/esm/str/dateformat.d.ts.map +1 -0
  338. package/dist/esm/str/dateformat.js +136 -0
  339. package/dist/esm/str/dateformat.js.map +1 -0
  340. package/dist/esm/str/index.d.ts +459 -0
  341. package/dist/esm/str/index.d.ts.map +1 -0
  342. package/dist/esm/str/index.js +540 -0
  343. package/dist/esm/str/index.js.map +1 -0
  344. package/dist/esm/str/messageformat.d.ts +14 -0
  345. package/dist/esm/str/messageformat.d.ts.map +1 -0
  346. package/dist/esm/str/messageformat.js +111 -0
  347. package/dist/esm/str/messageformat.js.map +1 -0
  348. package/dist/esm/str/numberformat.d.ts +19 -0
  349. package/dist/esm/str/numberformat.d.ts.map +1 -0
  350. package/dist/esm/str/numberformat.js +189 -0
  351. package/dist/esm/str/numberformat.js.map +1 -0
  352. package/dist/esm/strategy/index.d.ts +245 -0
  353. package/dist/esm/strategy/index.d.ts.map +1 -0
  354. package/dist/esm/strategy/index.js +84 -0
  355. package/dist/esm/strategy/index.js.map +1 -0
  356. package/dist/esm/ta/index.d.ts +1400 -0
  357. package/dist/esm/ta/index.d.ts.map +1 -0
  358. package/dist/esm/ta/index.js +3236 -0
  359. package/dist/esm/ta/index.js.map +1 -0
  360. package/dist/esm/ta/running-sum.d.ts +30 -0
  361. package/dist/esm/ta/running-sum.d.ts.map +1 -0
  362. package/dist/esm/ta/running-sum.js +113 -0
  363. package/dist/esm/ta/running-sum.js.map +1 -0
  364. package/dist/esm/ta-series.d.ts +558 -0
  365. package/dist/esm/ta-series.d.ts.map +1 -0
  366. package/dist/esm/ta-series.js +910 -0
  367. package/dist/esm/ta-series.js.map +1 -0
  368. package/dist/esm/text/index.d.ts +14 -0
  369. package/dist/esm/text/index.d.ts.map +1 -0
  370. package/dist/esm/text/index.js +14 -0
  371. package/dist/esm/text/index.js.map +1 -0
  372. package/dist/esm/time/datestring.d.ts +23 -0
  373. package/dist/esm/time/datestring.d.ts.map +1 -0
  374. package/dist/esm/time/datestring.js +94 -0
  375. package/dist/esm/time/datestring.js.map +1 -0
  376. package/dist/esm/time/index.d.ts +89 -0
  377. package/dist/esm/time/index.d.ts.map +1 -0
  378. package/dist/esm/time/index.js +108 -0
  379. package/dist/esm/time/index.js.map +1 -0
  380. package/dist/esm/time/session.d.ts +17 -0
  381. package/dist/esm/time/session.d.ts.map +1 -0
  382. package/dist/esm/time/session.js +69 -0
  383. package/dist/esm/time/session.js.map +1 -0
  384. package/dist/esm/time/timezone.d.ts +40 -0
  385. package/dist/esm/time/timezone.d.ts.map +1 -0
  386. package/dist/esm/time/timezone.js +144 -0
  387. package/dist/esm/time/timezone.js.map +1 -0
  388. package/dist/esm/timeframe/index.d.ts +73 -0
  389. package/dist/esm/timeframe/index.d.ts.map +1 -0
  390. package/dist/esm/timeframe/index.js +131 -0
  391. package/dist/esm/timeframe/index.js.map +1 -0
  392. package/dist/esm/types/index.d.ts +343 -0
  393. package/dist/esm/types/index.d.ts.map +1 -0
  394. package/dist/esm/types/index.js +17 -0
  395. package/dist/esm/types/index.js.map +1 -0
  396. package/dist/esm/types/metadata.d.ts +300 -0
  397. package/dist/esm/types/metadata.d.ts.map +1 -0
  398. package/dist/esm/types/metadata.js +7 -0
  399. package/dist/esm/types/metadata.js.map +1 -0
  400. package/dist/esm/utils/index.d.ts +167 -0
  401. package/dist/esm/utils/index.d.ts.map +1 -0
  402. package/dist/esm/utils/index.js +295 -0
  403. package/dist/esm/utils/index.js.map +1 -0
  404. package/package.json +53 -23
  405. package/src/array/index.ts +1057 -0
  406. package/src/box/index.ts +680 -0
  407. package/src/callsite/index.ts +178 -0
  408. package/src/chartpoint/index.ts +126 -0
  409. package/src/color/index.ts +389 -0
  410. package/src/color/parse.ts +56 -0
  411. package/src/compare/index.ts +46 -0
  412. package/src/drawing/registry.ts +106 -0
  413. package/src/index.ts +201 -0
  414. package/src/indicator.ts +185 -0
  415. package/src/input.ts +280 -0
  416. package/src/label/index.ts +490 -0
  417. package/src/lib/index.ts +8 -0
  418. package/src/lib/zigzag/index.ts +13 -0
  419. package/src/lib/zigzag/zigzag.ts +318 -0
  420. package/src/line/index.ts +530 -0
  421. package/src/linefill/index.ts +152 -0
  422. package/src/map/index.ts +115 -0
  423. package/src/math/index.ts +1071 -0
  424. package/src/matrix/index.ts +2697 -0
  425. package/src/plot.ts +121 -0
  426. package/src/polyline/index.ts +184 -0
  427. package/src/runtime/adapters/LightweightChartsAdapter.ts +201 -0
  428. package/src/runtime/adapters/SimpleInputAdapter.ts +132 -0
  429. package/src/runtime/index.ts +52 -0
  430. package/src/runtime/inputs.ts +377 -0
  431. package/src/runtime/runtime.ts +241 -0
  432. package/src/runtime/series.ts +644 -0
  433. package/src/runtime/types.ts +292 -0
  434. package/src/script/index.ts +1870 -0
  435. package/src/security/resample.ts +119 -0
  436. package/src/session/bars.ts +262 -0
  437. package/src/session/calendar.ts +199 -0
  438. package/src/str/dateformat.ts +104 -0
  439. package/src/str/index.ts +557 -0
  440. package/src/str/messageformat.ts +109 -0
  441. package/src/str/numberformat.ts +197 -0
  442. package/src/strategy/index.ts +281 -0
  443. package/src/ta/index.ts +3587 -0
  444. package/src/ta/running-sum.ts +117 -0
  445. package/src/ta-series.ts +1036 -0
  446. package/src/text/index.ts +14 -0
  447. package/src/time/datestring.ts +96 -0
  448. package/src/time/index.ts +161 -0
  449. package/src/time/session.ts +79 -0
  450. package/src/time/timezone.ts +180 -0
  451. package/src/timeframe/index.ts +144 -0
  452. package/src/types/index.ts +398 -0
  453. package/src/types/metadata.ts +334 -0
  454. package/src/utils/index.ts +334 -0
  455. package/dist/array/index.d.ts +0 -57
  456. package/dist/array/index.d.ts.map +0 -1
  457. package/dist/box/index.d.ts +0 -37
  458. package/dist/box/index.d.ts.map +0 -1
  459. package/dist/callsite/index.d.ts +0 -7
  460. package/dist/callsite/index.d.ts.map +0 -1
  461. package/dist/chartpoint/index.d.ts +0 -8
  462. package/dist/chartpoint/index.d.ts.map +0 -1
  463. package/dist/color/index.d.ts +0 -28
  464. package/dist/color/index.d.ts.map +0 -1
  465. package/dist/compare/index.d.ts +0 -8
  466. package/dist/compare/index.d.ts.map +0 -1
  467. package/dist/drawing/registry.d.ts +0 -19
  468. package/dist/drawing/registry.d.ts.map +0 -1
  469. package/dist/index.cjs +0 -7981
  470. package/dist/index.d.ts +0 -64
  471. package/dist/index.d.ts.map +0 -1
  472. package/dist/index.mjs +0 -7964
  473. package/dist/indicator.d.ts +0 -42
  474. package/dist/indicator.d.ts.map +0 -1
  475. package/dist/input.d.ts +0 -47
  476. package/dist/input.d.ts.map +0 -1
  477. package/dist/label/index.d.ts +0 -30
  478. package/dist/label/index.d.ts.map +0 -1
  479. package/dist/lib/index.d.ts +0 -2
  480. package/dist/lib/index.d.ts.map +0 -1
  481. package/dist/lib/zigzag/index.d.ts.map +0 -1
  482. package/dist/lib/zigzag/zigzag.d.ts +0 -47
  483. package/dist/lib/zigzag/zigzag.d.ts.map +0 -1
  484. package/dist/line/index.d.ts +0 -30
  485. package/dist/line/index.d.ts.map +0 -1
  486. package/dist/linefill/index.d.ts +0 -10
  487. package/dist/linefill/index.d.ts.map +0 -1
  488. package/dist/map/index.d.ts +0 -14
  489. package/dist/map/index.d.ts.map +0 -1
  490. package/dist/math/index.d.ts +0 -53
  491. package/dist/math/index.d.ts.map +0 -1
  492. package/dist/matrix/index.d.ts +0 -52
  493. package/dist/matrix/index.d.ts.map +0 -1
  494. package/dist/plot.d.ts +0 -20
  495. package/dist/plot.d.ts.map +0 -1
  496. package/dist/polyline/index.d.ts +0 -11
  497. package/dist/polyline/index.d.ts.map +0 -1
  498. package/dist/runtime/adapters/LightweightChartsAdapter.d.ts +0 -15
  499. package/dist/runtime/adapters/LightweightChartsAdapter.d.ts.map +0 -1
  500. package/dist/runtime/adapters/SimpleInputAdapter.d.ts +0 -16
  501. package/dist/runtime/adapters/SimpleInputAdapter.d.ts.map +0 -1
  502. package/dist/runtime/index.cjs +0 -600
  503. package/dist/runtime/index.d.ts.map +0 -1
  504. package/dist/runtime/index.mjs +0 -577
  505. package/dist/runtime/inputs.d.ts +0 -13
  506. package/dist/runtime/inputs.d.ts.map +0 -1
  507. package/dist/runtime/runtime.d.ts +0 -16
  508. package/dist/runtime/runtime.d.ts.map +0 -1
  509. package/dist/runtime/series.d.ts +0 -60
  510. package/dist/runtime/series.d.ts.map +0 -1
  511. package/dist/runtime/types.d.ts +0 -126
  512. package/dist/runtime/types.d.ts.map +0 -1
  513. package/dist/script/index.cjs +0 -6377
  514. package/dist/script/index.d.ts +0 -713
  515. package/dist/script/index.d.ts.map +0 -1
  516. package/dist/script/index.mjs +0 -6360
  517. package/dist/security/resample.d.ts +0 -13
  518. package/dist/security/resample.d.ts.map +0 -1
  519. package/dist/session/bars.d.ts +0 -34
  520. package/dist/session/bars.d.ts.map +0 -1
  521. package/dist/session/calendar.d.ts +0 -31
  522. package/dist/session/calendar.d.ts.map +0 -1
  523. package/dist/str/dateformat.d.ts +0 -2
  524. package/dist/str/dateformat.d.ts.map +0 -1
  525. package/dist/str/index.d.ts +0 -24
  526. package/dist/str/index.d.ts.map +0 -1
  527. package/dist/str/messageformat.d.ts +0 -2
  528. package/dist/str/messageformat.d.ts.map +0 -1
  529. package/dist/str/numberformat.d.ts +0 -3
  530. package/dist/str/numberformat.d.ts.map +0 -1
  531. package/dist/strategy/index.d.ts.map +0 -1
  532. package/dist/ta/index.d.ts +0 -72
  533. package/dist/ta/index.d.ts.map +0 -1
  534. package/dist/ta/running-sum.d.ts +0 -3
  535. package/dist/ta/running-sum.d.ts.map +0 -1
  536. package/dist/ta-series.d.ts +0 -143
  537. package/dist/ta-series.d.ts.map +0 -1
  538. package/dist/text/index.d.ts +0 -4
  539. package/dist/text/index.d.ts.map +0 -1
  540. package/dist/time/datestring.d.ts +0 -2
  541. package/dist/time/datestring.d.ts.map +0 -1
  542. package/dist/time/index.d.ts +0 -15
  543. package/dist/time/index.d.ts.map +0 -1
  544. package/dist/time/session.d.ts +0 -2
  545. package/dist/time/session.d.ts.map +0 -1
  546. package/dist/time/timezone.d.ts +0 -13
  547. package/dist/time/timezone.d.ts.map +0 -1
  548. package/dist/timeframe/index.d.ts +0 -17
  549. package/dist/timeframe/index.d.ts.map +0 -1
  550. package/dist/types/index.d.ts +0 -181
  551. package/dist/types/index.d.ts.map +0 -1
  552. package/dist/types/metadata.d.ts +0 -132
  553. package/dist/types/metadata.d.ts.map +0 -1
  554. package/dist/utils/index.d.ts +0 -26
  555. package/dist/utils/index.d.ts.map +0 -1
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/indicator.ts"],
4
+ "sourcesContent": ["/**\n * @fileoverview Indicator function for creating reusable technical indicators\n * This module provides the `indicator()` function that handles pane management\n * automatically based on the overlay metadata.\n * @module indicator\n */\n\nimport type { Bar } from './types/index.js';\n\n/**\n * Indicator metadata that defines how the indicator should be displayed\n */\nexport interface IndicatorMetadataConfig {\n /** Full title of the indicator */\n title: string;\n /** Short title (for compact display) */\n shortTitle?: string;\n /** If true, overlay on price chart; if false, create separate pane (default: false) */\n overlay?: boolean;\n /** Number format for values */\n format?: 'price' | 'percent' | 'volume';\n /** Decimal precision for displayed values */\n precision?: number;\n}\n\n/**\n * Input definition for indicator parameters\n */\nexport interface InputDefinition {\n /** Unique identifier for the input */\n name: string;\n /** Input type */\n type: 'int' | 'float' | 'source' | 'bool' | 'string';\n /** Display title */\n title: string;\n /** Default value */\n defaultValue: number | string | boolean;\n /** Minimum value (for numeric inputs) */\n min?: number;\n /** Maximum value (for numeric inputs) */\n max?: number;\n /** Step size (for numeric inputs) */\n step?: number;\n /** Available options (for source/string types) */\n options?: string[];\n}\n\n/**\n * Context provided to indicator setup/compute functions\n */\nexport interface IndicatorContext {\n /** Bar data for calculation */\n readonly data: Bar[];\n /** Open prices array */\n readonly open: number[];\n /** High prices array */\n readonly high: number[];\n /** Low prices array */\n readonly low: number[];\n /** Close prices array */\n readonly close: number[];\n /** Volume array */\n readonly volume: number[];\n /** Time values array */\n readonly time: number[];\n /** Pane index (0 for overlay, higher for separate panes) */\n readonly paneIndex: number;\n}\n\n/**\n * Instance of a created indicator\n */\nexport interface IndicatorInstance {\n /** Indicator metadata */\n readonly metadata: IndicatorMetadataConfig;\n /** Get the pane index for this indicator */\n getPaneIndex(): number;\n /** Check if this is an overlay indicator */\n isOverlay(): boolean;\n /** Get input definitions */\n getInputs(): InputDefinition[];\n /** Update input values */\n updateInputs(inputs: Record<string, number | string | boolean>): void;\n /** Get current input values */\n getInputValues(): Record<string, number | string | boolean>;\n /** Calculate indicator with given bar data */\n calculate(data: Bar[]): void;\n}\n\n/**\n * Indicator class constructor type\n */\nexport interface IndicatorConstructor {\n new (): IndicatorInstance;\n}\n\n/**\n * Creates an indicator class that handles pane management automatically.\n * \n * When `overlay: false` (default), the indicator will be displayed in a separate pane.\n * When `overlay: true`, the indicator will be overlaid on the main price chart.\n * \n * @param metadata - Indicator metadata (title, overlay setting, etc.)\n * @param setup - Setup function that receives the indicator context and defines calculations\n * @returns A class constructor for creating indicator instances\n * \n * @example\n * ```typescript\n * const SMAIndicator = indicator({\n * title: 'Simple Moving Average',\n * shortTitle: 'SMA',\n * overlay: true, // Display on price chart\n * }, (ctx) => {\n * const length = 9;\n * const sma = ta.sma(ctx.close, length);\n * // Plot or return data...\n * });\n * \n * const instance = new SMAIndicator();\n * instance.calculate(barData);\n * ```\n */\nexport function indicator(\n metadata: IndicatorMetadataConfig,\n setup: (ctx: IndicatorContext) => void\n): IndicatorConstructor {\n // Normalize metadata with defaults\n const normalizedMetadata: IndicatorMetadataConfig = {\n title: metadata.title,\n shortTitle: metadata.shortTitle ?? metadata.title,\n overlay: metadata.overlay ?? false, // Default to separate pane\n format: metadata.format ?? 'price',\n precision: metadata.precision ?? 2,\n };\n\n return class implements IndicatorInstance {\n readonly metadata = normalizedMetadata;\n private inputDefinitions: InputDefinition[] = [];\n private inputValues: Record<string, number | string | boolean> = {};\n private paneIndex: number = 0;\n\n constructor() {\n // Calculate initial pane index based on overlay setting\n this.paneIndex = normalizedMetadata.overlay ? 0 : 1;\n }\n\n getPaneIndex(): number {\n return this.paneIndex;\n }\n\n isOverlay(): boolean {\n return normalizedMetadata.overlay ?? false;\n }\n\n getInputs(): InputDefinition[] {\n return [...this.inputDefinitions];\n }\n\n updateInputs(inputs: Record<string, number | string | boolean>): void {\n this.inputValues = { ...this.inputValues, ...inputs };\n }\n\n getInputValues(): Record<string, number | string | boolean> {\n return { ...this.inputValues };\n }\n\n calculate(data: Bar[]): void {\n const ctx = this.createContext(data);\n setup(ctx);\n }\n\n private createContext(data: Bar[]): IndicatorContext {\n return {\n data,\n open: data.map(d => d.open),\n high: data.map(d => d.high),\n low: data.map(d => d.low),\n close: data.map(d => d.close),\n volume: data.map(d => d.volume ?? 0),\n time: data.map(d => d.time),\n paneIndex: this.paneIndex,\n };\n }\n };\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AA0HO,SAAS,UACd,UACA,OACsB;AAEtB,QAAM,qBAA8C;AAAA,IAClD,OAAO,SAAS;AAAA,IAChB,YAAY,SAAS,cAAc,SAAS;AAAA,IAC5C,SAAS,SAAS,WAAW;AAAA;AAAA,IAC7B,QAAQ,SAAS,UAAU;AAAA,IAC3B,WAAW,SAAS,aAAa;AAAA,EACnC;AAEA,SAAO,MAAmC;AAAA,IAC/B,WAAW;AAAA,IACZ,mBAAsC,CAAC;AAAA,IACvC,cAAyD,CAAC;AAAA,IAC1D,YAAoB;AAAA,IAE5B,cAAc;AAEZ,WAAK,YAAY,mBAAmB,UAAU,IAAI;AAAA,IACpD;AAAA,IAEA,eAAuB;AACrB,aAAO,KAAK;AAAA,IACd;AAAA,IAEA,YAAqB;AACnB,aAAO,mBAAmB,WAAW;AAAA,IACvC;AAAA,IAEA,YAA+B;AAC7B,aAAO,CAAC,GAAG,KAAK,gBAAgB;AAAA,IAClC;AAAA,IAEA,aAAa,QAAyD;AACpE,WAAK,cAAc,EAAE,GAAG,KAAK,aAAa,GAAG,OAAO;AAAA,IACtD;AAAA,IAEA,iBAA4D;AAC1D,aAAO,EAAE,GAAG,KAAK,YAAY;AAAA,IAC/B;AAAA,IAEA,UAAU,MAAmB;AAC3B,YAAM,MAAM,KAAK,cAAc,IAAI;AACnC,YAAM,GAAG;AAAA,IACX;AAAA,IAEQ,cAAc,MAA+B;AACnD,aAAO;AAAA,QACL;AAAA,QACA,MAAM,KAAK,IAAI,OAAK,EAAE,IAAI;AAAA,QAC1B,MAAM,KAAK,IAAI,OAAK,EAAE,IAAI;AAAA,QAC1B,KAAK,KAAK,IAAI,OAAK,EAAE,GAAG;AAAA,QACxB,OAAO,KAAK,IAAI,OAAK,EAAE,KAAK;AAAA,QAC5B,QAAQ,KAAK,IAAI,OAAK,EAAE,UAAU,CAAC;AAAA,QACnC,MAAM,KAAK,IAAI,OAAK,EAAE,IAAI;AAAA,QAC1B,WAAW,KAAK;AAAA,MAClB;AAAA,IACF;AAAA,EACF;AACF;",
6
+ "names": []
7
+ }
@@ -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"}
@@ -0,0 +1,197 @@
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 input_exports = {};
20
+ __export(input_exports, {
21
+ input: () => input
22
+ });
23
+ module.exports = __toCommonJS(input_exports);
24
+ const input = {
25
+ /**
26
+ * Create an integer input parameter
27
+ * @param defaultValue - Default value for the input
28
+ * @param options - Additional options (min, max, step, title)
29
+ * @returns Input value object
30
+ *
31
+ * @example
32
+ * ```typescript
33
+ * const length = input.int(14, { min: 1, max: 500, title: 'Length' });
34
+ * console.log(length.value); // 14
35
+ * ```
36
+ */
37
+ int(defaultValue, options = {}) {
38
+ return {
39
+ type: "int",
40
+ defaultValue,
41
+ value: defaultValue,
42
+ title: options.title,
43
+ min: options.min,
44
+ max: options.max,
45
+ step: options.step ?? 1
46
+ };
47
+ },
48
+ /**
49
+ * Create a float input parameter
50
+ * @param defaultValue - Default value for the input
51
+ * @param options - Additional options (min, max, step, title)
52
+ * @returns Input value object
53
+ *
54
+ * @example
55
+ * ```typescript
56
+ * const multiplier = input.float(2.5, { min: 0.1, max: 10, step: 0.1, title: 'Multiplier' });
57
+ * console.log(multiplier.value); // 2.5
58
+ * ```
59
+ */
60
+ float(defaultValue, options = {}) {
61
+ return {
62
+ type: "float",
63
+ defaultValue,
64
+ value: defaultValue,
65
+ title: options.title,
66
+ min: options.min,
67
+ max: options.max,
68
+ step: options.step ?? 0.1
69
+ };
70
+ },
71
+ /**
72
+ * Create a source input parameter (for selecting price data type)
73
+ * @param defaultValue - Default source type (default: 'close')
74
+ * @param options - Additional options (title)
75
+ * @returns Input value object
76
+ *
77
+ * @example
78
+ * ```typescript
79
+ * const src = input.source('close', { title: 'Source' });
80
+ * console.log(src.value); // 'close'
81
+ * ```
82
+ */
83
+ source(defaultValue = "close", options = {}) {
84
+ return {
85
+ type: "source",
86
+ defaultValue,
87
+ value: defaultValue,
88
+ title: options.title,
89
+ options: ["open", "high", "low", "close", "hl2", "hlc3", "ohlc4", "hlcc4"]
90
+ };
91
+ },
92
+ /**
93
+ * Create a boolean input parameter
94
+ * @param defaultValue - Default value for the input
95
+ * @param options - Additional options (title)
96
+ * @returns Input value object
97
+ *
98
+ * @example
99
+ * ```typescript
100
+ * const showSignal = input.bool(true, { title: 'Show Signal' });
101
+ * console.log(showSignal.value); // true
102
+ * ```
103
+ */
104
+ bool(defaultValue, options = {}) {
105
+ return {
106
+ type: "bool",
107
+ defaultValue,
108
+ value: defaultValue,
109
+ title: options.title
110
+ };
111
+ },
112
+ /**
113
+ * Create a string input parameter
114
+ * @param defaultValue - Default value for the input
115
+ * @param options - Additional options (title, options for dropdown)
116
+ * @returns Input value object
117
+ *
118
+ * @example
119
+ * ```typescript
120
+ * const maType = input.string('SMA', { title: 'MA Type', options: ['SMA', 'EMA', 'WMA'] });
121
+ * console.log(maType.value); // 'SMA'
122
+ * ```
123
+ */
124
+ string(defaultValue, options = {}) {
125
+ return {
126
+ type: "string",
127
+ defaultValue,
128
+ value: defaultValue,
129
+ title: options.title,
130
+ options: options.options
131
+ };
132
+ },
133
+ /**
134
+ * Create a timeframe input parameter (PineScript `input.timeframe`)
135
+ * @param defaultValue - Default timeframe string ("60", "1D", "W"); "" means the chart timeframe
136
+ * @param options - Additional options (title, options for dropdown)
137
+ * @returns Input value object
138
+ *
139
+ * @example
140
+ * ```typescript
141
+ * const htf = input.timeframe('1D', { title: 'Higher timeframe' });
142
+ * console.log(htf.value); // '1D'
143
+ * ```
144
+ */
145
+ timeframe(defaultValue, options = {}) {
146
+ return {
147
+ type: "timeframe",
148
+ defaultValue,
149
+ value: defaultValue,
150
+ title: options.title,
151
+ options: options.options
152
+ };
153
+ },
154
+ /**
155
+ * Create a session input parameter (PineScript `input.session`)
156
+ * @param defaultValue - Default session string ("0930-1600", "0930-1600:23456")
157
+ * @param options - Additional options (title, options for dropdown)
158
+ * @returns Input value object
159
+ *
160
+ * @example
161
+ * ```typescript
162
+ * const rth = input.session('0930-1600', { title: 'Regular hours' });
163
+ * console.log(rth.value); // '0930-1600'
164
+ * ```
165
+ */
166
+ session(defaultValue, options = {}) {
167
+ return {
168
+ type: "session",
169
+ defaultValue,
170
+ value: defaultValue,
171
+ title: options.title,
172
+ options: options.options
173
+ };
174
+ },
175
+ /**
176
+ * Create a date/time input parameter (PineScript `input.time`)
177
+ * @param defaultValue - Default UNIX time in milliseconds, e.g. `time.timestamp('2024-01-01')`
178
+ * @param options - Additional options (title)
179
+ * @returns Input value object
180
+ *
181
+ * @example
182
+ * ```typescript
183
+ * const start = input.time(time.timestamp('2024-01-01'), { title: 'Start' });
184
+ * console.log(start.value); // 1704067200000
185
+ * ```
186
+ */
187
+ time(defaultValue, options = {}) {
188
+ return {
189
+ type: "time",
190
+ defaultValue,
191
+ value: defaultValue,
192
+ title: options.title
193
+ };
194
+ }
195
+ };
196
+ Object.freeze(input);
197
+ //# sourceMappingURL=input.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/input.ts"],
4
+ "sourcesContent": ["/**\n * @fileoverview Input helper functions for indicator parameters\n * These functions create input definitions that can be used with the indicator system.\n * @module input\n */\n\n/**\n * Input value with its configuration\n */\nexport interface InputValue<T> {\n /** Input type identifier */\n type: 'int' | 'float' | 'source' | 'bool' | 'string' | 'timeframe' | 'session' | 'time';\n /** Default value */\n defaultValue: T;\n /** Current value (initially equals defaultValue) */\n value: T;\n /** Display title */\n title?: string;\n /** Minimum value (for numeric inputs) */\n min?: number;\n /** Maximum value (for numeric inputs) */\n max?: number;\n /** Step size (for numeric inputs) */\n step?: number;\n /** Available options (for source/string/timeframe/session types) */\n options?: string[];\n}\n\n/**\n * Options for integer input\n */\nexport interface IntInputOptions {\n /** Minimum value */\n min?: number;\n /** Maximum value */\n max?: number;\n /** Step size */\n step?: number;\n /** Display title */\n title?: string;\n}\n\n/**\n * Options for float input\n */\nexport interface FloatInputOptions {\n /** Minimum value */\n min?: number;\n /** Maximum value */\n max?: number;\n /** Step size */\n step?: number;\n /** Display title */\n title?: string;\n}\n\n/**\n * Options for source input\n */\nexport interface SourceInputOptions {\n /** Display title */\n title?: string;\n}\n\n/**\n * Options for boolean input\n */\nexport interface BoolInputOptions {\n /** Display title */\n title?: string;\n}\n\n/**\n * Options for string input\n */\nexport interface StringInputOptions {\n /** Display title */\n title?: string;\n /** Available options for dropdown */\n options?: string[];\n}\n\n/**\n * Options for time input\n */\nexport interface TimeInputOptions {\n /** Display title */\n title?: string;\n}\n\n/**\n * Source type for price data\n */\nexport type SourceType = 'open' | 'high' | 'low' | 'close' | 'hl2' | 'hlc3' | 'ohlc4' | 'hlcc4';\n\n/**\n * Input helper functions for creating indicator parameters\n */\nexport const input = {\n /**\n * Create an integer input parameter\n * @param defaultValue - Default value for the input\n * @param options - Additional options (min, max, step, title)\n * @returns Input value object\n * \n * @example\n * ```typescript\n * const length = input.int(14, { min: 1, max: 500, title: 'Length' });\n * console.log(length.value); // 14\n * ```\n */\n int(defaultValue: number, options: IntInputOptions = {}): InputValue<number> {\n return {\n type: 'int' as const,\n defaultValue,\n value: defaultValue,\n title: options.title,\n min: options.min,\n max: options.max,\n step: options.step ?? 1,\n };\n },\n\n /**\n * Create a float input parameter\n * @param defaultValue - Default value for the input\n * @param options - Additional options (min, max, step, title)\n * @returns Input value object\n * \n * @example\n * ```typescript\n * const multiplier = input.float(2.5, { min: 0.1, max: 10, step: 0.1, title: 'Multiplier' });\n * console.log(multiplier.value); // 2.5\n * ```\n */\n float(defaultValue: number, options: FloatInputOptions = {}): InputValue<number> {\n return {\n type: 'float' as const,\n defaultValue,\n value: defaultValue,\n title: options.title,\n min: options.min,\n max: options.max,\n step: options.step ?? 0.1,\n };\n },\n\n /**\n * Create a source input parameter (for selecting price data type)\n * @param defaultValue - Default source type (default: 'close')\n * @param options - Additional options (title)\n * @returns Input value object\n * \n * @example\n * ```typescript\n * const src = input.source('close', { title: 'Source' });\n * console.log(src.value); // 'close'\n * ```\n */\n source(defaultValue: SourceType = 'close', options: SourceInputOptions = {}): InputValue<SourceType> {\n return {\n type: 'source' as const,\n defaultValue,\n value: defaultValue,\n title: options.title,\n options: ['open', 'high', 'low', 'close', 'hl2', 'hlc3', 'ohlc4', 'hlcc4'],\n };\n },\n\n /**\n * Create a boolean input parameter\n * @param defaultValue - Default value for the input\n * @param options - Additional options (title)\n * @returns Input value object\n * \n * @example\n * ```typescript\n * const showSignal = input.bool(true, { title: 'Show Signal' });\n * console.log(showSignal.value); // true\n * ```\n */\n bool(defaultValue: boolean, options: BoolInputOptions = {}): InputValue<boolean> {\n return {\n type: 'bool' as const,\n defaultValue,\n value: defaultValue,\n title: options.title,\n };\n },\n\n /**\n * Create a string input parameter\n * @param defaultValue - Default value for the input\n * @param options - Additional options (title, options for dropdown)\n * @returns Input value object\n * \n * @example\n * ```typescript\n * const maType = input.string('SMA', { title: 'MA Type', options: ['SMA', 'EMA', 'WMA'] });\n * console.log(maType.value); // 'SMA'\n * ```\n */\n string(defaultValue: string, options: StringInputOptions = {}): InputValue<string> {\n return {\n type: 'string' as const,\n defaultValue,\n value: defaultValue,\n title: options.title,\n options: options.options,\n };\n },\n\n /**\n * Create a timeframe input parameter (PineScript `input.timeframe`)\n * @param defaultValue - Default timeframe string (\"60\", \"1D\", \"W\"); \"\" means the chart timeframe\n * @param options - Additional options (title, options for dropdown)\n * @returns Input value object\n *\n * @example\n * ```typescript\n * const htf = input.timeframe('1D', { title: 'Higher timeframe' });\n * console.log(htf.value); // '1D'\n * ```\n */\n timeframe(defaultValue: string, options: StringInputOptions = {}): InputValue<string> {\n return {\n type: 'timeframe' as const,\n defaultValue,\n value: defaultValue,\n title: options.title,\n options: options.options,\n };\n },\n\n /**\n * Create a session input parameter (PineScript `input.session`)\n * @param defaultValue - Default session string (\"0930-1600\", \"0930-1600:23456\")\n * @param options - Additional options (title, options for dropdown)\n * @returns Input value object\n *\n * @example\n * ```typescript\n * const rth = input.session('0930-1600', { title: 'Regular hours' });\n * console.log(rth.value); // '0930-1600'\n * ```\n */\n session(defaultValue: string, options: StringInputOptions = {}): InputValue<string> {\n return {\n type: 'session' as const,\n defaultValue,\n value: defaultValue,\n title: options.title,\n options: options.options,\n };\n },\n\n /**\n * Create a date/time input parameter (PineScript `input.time`)\n * @param defaultValue - Default UNIX time in milliseconds, e.g. `time.timestamp('2024-01-01')`\n * @param options - Additional options (title)\n * @returns Input value object\n *\n * @example\n * ```typescript\n * const start = input.time(time.timestamp('2024-01-01'), { title: 'Start' });\n * console.log(start.value); // 1704067200000\n * ```\n */\n time(defaultValue: number, options: TimeInputOptions = {}): InputValue<number> {\n return {\n type: 'time' as const,\n defaultValue,\n value: defaultValue,\n title: options.title,\n };\n },\n};\n\n// Freeze the input object to prevent accidental modifications\nObject.freeze(input);\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAkGO,MAAM,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAanB,IAAI,cAAsB,UAA2B,CAAC,GAAuB;AAC3E,WAAO;AAAA,MACL,MAAM;AAAA,MACN;AAAA,MACA,OAAO;AAAA,MACP,OAAO,QAAQ;AAAA,MACf,KAAK,QAAQ;AAAA,MACb,KAAK,QAAQ;AAAA,MACb,MAAM,QAAQ,QAAQ;AAAA,IACxB;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,MAAM,cAAsB,UAA6B,CAAC,GAAuB;AAC/E,WAAO;AAAA,MACL,MAAM;AAAA,MACN;AAAA,MACA,OAAO;AAAA,MACP,OAAO,QAAQ;AAAA,MACf,KAAK,QAAQ;AAAA,MACb,KAAK,QAAQ;AAAA,MACb,MAAM,QAAQ,QAAQ;AAAA,IACxB;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,OAAO,eAA2B,SAAS,UAA8B,CAAC,GAA2B;AACnG,WAAO;AAAA,MACL,MAAM;AAAA,MACN;AAAA,MACA,OAAO;AAAA,MACP,OAAO,QAAQ;AAAA,MACf,SAAS,CAAC,QAAQ,QAAQ,OAAO,SAAS,OAAO,QAAQ,SAAS,OAAO;AAAA,IAC3E;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,KAAK,cAAuB,UAA4B,CAAC,GAAwB;AAC/E,WAAO;AAAA,MACL,MAAM;AAAA,MACN;AAAA,MACA,OAAO;AAAA,MACP,OAAO,QAAQ;AAAA,IACjB;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,OAAO,cAAsB,UAA8B,CAAC,GAAuB;AACjF,WAAO;AAAA,MACL,MAAM;AAAA,MACN;AAAA,MACA,OAAO;AAAA,MACP,OAAO,QAAQ;AAAA,MACf,SAAS,QAAQ;AAAA,IACnB;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,UAAU,cAAsB,UAA8B,CAAC,GAAuB;AACpF,WAAO;AAAA,MACL,MAAM;AAAA,MACN;AAAA,MACA,OAAO;AAAA,MACP,OAAO,QAAQ;AAAA,MACf,SAAS,QAAQ;AAAA,IACnB;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,QAAQ,cAAsB,UAA8B,CAAC,GAAuB;AAClF,WAAO;AAAA,MACL,MAAM;AAAA,MACN;AAAA,MACA,OAAO;AAAA,MACP,OAAO,QAAQ;AAAA,MACf,SAAS,QAAQ;AAAA,IACnB;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,KAAK,cAAsB,UAA4B,CAAC,GAAuB;AAC7E,WAAO;AAAA,MACL,MAAM;AAAA,MACN;AAAA,MACA,OAAO;AAAA,MACP,OAAO,QAAQ;AAAA,IACjB;AAAA,EACF;AACF;AAGA,OAAO,OAAO,KAAK;",
6
+ "names": []
7
+ }