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,417 @@
1
+ /**
2
+ * Label namespace
3
+ * Functions for creating and manipulating label drawing objects.
4
+ *
5
+ * @remarks
6
+ * Labels are primarily used for annotations and marking points on the chart.
7
+ * They have limited computational value compared to lines and boxes, but getters
8
+ * allow retrieving position and text for conditional logic.
9
+ *
10
+ * @version 6
11
+ */
12
+ import { all as allDrawings, isDeleted, register, remove } from '../drawing/registry.js';
13
+ export function new_label(...args) {
14
+ let x, y, rest;
15
+ if (typeof args[0] === 'object' && args[0] !== null) {
16
+ const point = args[0];
17
+ rest = args.slice(1);
18
+ x = pointX(point, rest[1] ?? 'bar_index');
19
+ y = point.price;
20
+ }
21
+ else {
22
+ [x, y] = args;
23
+ rest = args.slice(2);
24
+ }
25
+ const [text, xloc, yloc, labelColor, style, textcolor, size, textalign, tooltip, text_font_family, force_overlay, text_formatting] = rest;
26
+ return register('label', {
27
+ x,
28
+ y,
29
+ xloc: xloc ?? 'bar_index',
30
+ yloc: yloc ?? 'price',
31
+ text,
32
+ tooltip,
33
+ color: labelColor,
34
+ style,
35
+ textcolor,
36
+ size,
37
+ textalign,
38
+ text_font_family,
39
+ force_overlay: force_overlay ?? false,
40
+ text_formatting,
41
+ });
42
+ }
43
+ /**
44
+ * Returns the x coordinate.
45
+ *
46
+ * @param id - Label object
47
+ * @returns X coordinate (bar index or timestamp)
48
+ *
49
+ * @example
50
+ * ```typescript
51
+ * const label = label.new(50, 155.5, 'Pivot');
52
+ * const x = label.get_x(label); // Returns 50
53
+ * ```
54
+ */
55
+ export function get_x(id) {
56
+ return id.x;
57
+ }
58
+ /**
59
+ * Returns the y coordinate (price level).
60
+ *
61
+ * @param id - Label object
62
+ * @returns Y coordinate (price)
63
+ *
64
+ * @example
65
+ * ```typescript
66
+ * const label = label.new(50, 155.5, 'Pivot');
67
+ * const y = label.get_y(label); // Returns 155.5
68
+ * ```
69
+ */
70
+ export function get_y(id) {
71
+ return id.y;
72
+ }
73
+ /**
74
+ * Returns the label text content.
75
+ *
76
+ * @param id - Label object
77
+ * @returns Text content (or undefined if no text)
78
+ *
79
+ * @example
80
+ * ```typescript
81
+ * const label = label.new(50, 155.5, 'Pivot High');
82
+ * const text = label.get_text(label); // Returns 'Pivot High'
83
+ * ```
84
+ */
85
+ export function get_text(id) {
86
+ return id.text;
87
+ }
88
+ /**
89
+ * Creates a copy of the label object.
90
+ *
91
+ * @param id - Label object to copy
92
+ * @returns New label object with same properties
93
+ *
94
+ * @remarks
95
+ * Creates a shallow copy of the label. Modifications to the copy won't affect the original.
96
+ *
97
+ * @example
98
+ * ```typescript
99
+ * const original = label.new(50, 155.5, 'Pivot');
100
+ * const copied = label.copy(original);
101
+ *
102
+ * // Modify copy without affecting original
103
+ * copied.text = 'New Text';
104
+ * ```
105
+ */
106
+ export function copy(id) {
107
+ return register('label', { ...id });
108
+ }
109
+ // =============================================================================
110
+ // POSITION SETTERS
111
+ // =============================================================================
112
+ /**
113
+ * Sets the x coordinate.
114
+ *
115
+ * @param id - Label object to modify
116
+ * @param x - New x coordinate
117
+ * @returns Modified label object
118
+ *
119
+ * @example
120
+ * ```typescript
121
+ * const label = label.new(50, 155.5, 'Pivot');
122
+ * label.set_x(label, 55); // Move to bar 55
123
+ * ```
124
+ */
125
+ export function set_x(id, x) {
126
+ if (isDeleted(id))
127
+ return id;
128
+ id.x = x;
129
+ return id;
130
+ }
131
+ /**
132
+ * Sets the y coordinate (price level).
133
+ *
134
+ * @param id - Label object to modify
135
+ * @param y - New y coordinate
136
+ * @returns Modified label object
137
+ *
138
+ * @example
139
+ * ```typescript
140
+ * const label = label.new(50, 155.5, 'Pivot');
141
+ * label.set_y(label, 160); // Move to price 160
142
+ * ```
143
+ */
144
+ export function set_y(id, y) {
145
+ if (isDeleted(id))
146
+ return id;
147
+ id.y = y;
148
+ return id;
149
+ }
150
+ /**
151
+ * Sets both x and y coordinates.
152
+ *
153
+ * @param id - Label object to modify
154
+ * @param x - New x coordinate
155
+ * @param y - New y coordinate
156
+ * @returns Modified label object
157
+ *
158
+ * @example
159
+ * ```typescript
160
+ * const label = label.new(50, 155.5, 'Pivot');
161
+ * label.set_xy(label, 60, 160); // Move to (60, 160)
162
+ * ```
163
+ */
164
+ export function set_xy(id, x, y) {
165
+ if (isDeleted(id))
166
+ return id;
167
+ id.x = x;
168
+ id.y = y;
169
+ return id;
170
+ }
171
+ /**
172
+ * Sets the x-axis coordinate system.
173
+ *
174
+ * @param id - Label object to modify
175
+ * @param x - New x coordinate
176
+ * @param xloc - New coordinate system
177
+ * @returns Modified label object
178
+ *
179
+ * @remarks
180
+ * When changing xloc, you must provide an appropriate x coordinate for the new system.
181
+ *
182
+ * @example
183
+ * ```typescript
184
+ * const label = label.new(50, 155.5, 'Pivot');
185
+ * label.set_xloc(label, 1609459200000, 'bar_time'); // Change to timestamp
186
+ * ```
187
+ */
188
+ export function set_xloc(id, x, xloc) {
189
+ if (isDeleted(id))
190
+ return id;
191
+ id.x = x;
192
+ id.xloc = xloc;
193
+ return id;
194
+ }
195
+ /**
196
+ * Sets the y-location mode of the label (PineScript `label.set_yloc(id, yloc)`): `price` uses the
197
+ * label's y, `abovebar` / `belowbar` place it above / below the bar.
198
+ */
199
+ export function set_yloc(id, yloc) {
200
+ if (isDeleted(id))
201
+ return id;
202
+ id.yloc = yloc;
203
+ return id;
204
+ }
205
+ // =============================================================================
206
+ // CONTENT SETTERS
207
+ // =============================================================================
208
+ /**
209
+ * Sets the text content.
210
+ *
211
+ * @param id - Label object to modify
212
+ * @param text - New text content
213
+ * @returns Modified label object
214
+ *
215
+ * @example
216
+ * ```typescript
217
+ * const label = label.new(50, 155.5, 'Pivot');
218
+ * label.set_text(label, 'Updated Text');
219
+ * ```
220
+ */
221
+ export function set_text(id, text) {
222
+ if (isDeleted(id))
223
+ return id;
224
+ id.text = text;
225
+ return id;
226
+ }
227
+ /**
228
+ * Sets the tooltip text.
229
+ *
230
+ * @param id - Label object to modify
231
+ * @param tooltip - New tooltip text
232
+ * @returns Modified label object
233
+ *
234
+ * @example
235
+ * ```typescript
236
+ * const label = label.new(50, 155.5, 'Pivot');
237
+ * label.set_tooltip(label, 'Resistance level formed at 155.5');
238
+ * ```
239
+ */
240
+ export function set_tooltip(id, tooltip) {
241
+ if (isDeleted(id))
242
+ return id;
243
+ id.tooltip = tooltip;
244
+ return id;
245
+ }
246
+ // =============================================================================
247
+ // STYLING SETTERS
248
+ // =============================================================================
249
+ /**
250
+ * Sets the label color (border and arrow).
251
+ *
252
+ * @param id - Label object to modify
253
+ * @param labelColor - New color
254
+ * @returns Modified label object
255
+ *
256
+ * @example
257
+ * ```typescript
258
+ * const label = label.new(50, 155.5, 'Pivot');
259
+ * label.set_color(label, '#FF0000'); // Red label
260
+ * ```
261
+ */
262
+ export function set_color(id, labelColor) {
263
+ if (isDeleted(id))
264
+ return id;
265
+ id.color = labelColor;
266
+ return id;
267
+ }
268
+ /**
269
+ * Sets the text color.
270
+ *
271
+ * @param id - Label object to modify
272
+ * @param textColor - New text color
273
+ * @returns Modified label object
274
+ *
275
+ * @example
276
+ * ```typescript
277
+ * const label = label.new(50, 155.5, 'Pivot');
278
+ * label.set_textcolor(label, '#FFFFFF'); // White text
279
+ * ```
280
+ */
281
+ export function set_textcolor(id, textColor) {
282
+ if (isDeleted(id))
283
+ return id;
284
+ id.textcolor = textColor;
285
+ return id;
286
+ }
287
+ /**
288
+ * Sets the label style.
289
+ *
290
+ * @param id - Label object to modify
291
+ * @param style - New label style
292
+ * @returns Modified label object
293
+ *
294
+ * @example
295
+ * ```typescript
296
+ * const label = label.new(50, 155.5, 'Pivot');
297
+ * label.set_style(label, 'label_down'); // Arrow pointing down
298
+ * ```
299
+ */
300
+ export function set_style(id, style) {
301
+ if (isDeleted(id))
302
+ return id;
303
+ id.style = style;
304
+ return id;
305
+ }
306
+ /**
307
+ * Sets the label size.
308
+ *
309
+ * @param id - Label object to modify
310
+ * @param size - New size
311
+ * @returns Modified label object
312
+ *
313
+ * @example
314
+ * ```typescript
315
+ * const label = label.new(50, 155.5, 'Pivot');
316
+ * label.set_size(label, 'large'); // Larger label
317
+ * ```
318
+ */
319
+ export function set_size(id, size) {
320
+ if (isDeleted(id))
321
+ return id;
322
+ id.size = size;
323
+ return id;
324
+ }
325
+ /**
326
+ * Sets the text alignment.
327
+ *
328
+ * @param id - Label object to modify
329
+ * @param align - New text alignment
330
+ * @returns Modified label object
331
+ *
332
+ * @example
333
+ * ```typescript
334
+ * const label = label.new(50, 155.5, 'Pivot');
335
+ * label.set_textalign(label, 'center'); // Center-aligned text
336
+ * ```
337
+ */
338
+ export function set_textalign(id, align) {
339
+ if (isDeleted(id))
340
+ return id;
341
+ id.textalign = align;
342
+ return id;
343
+ }
344
+ /**
345
+ * Sets the text font family.
346
+ *
347
+ * @param id - Label object to modify
348
+ * @param font - New font family
349
+ * @returns Modified label object
350
+ *
351
+ * @example
352
+ * ```typescript
353
+ * const label = label.new(50, 155.5, 'Pivot');
354
+ * label.set_text_font_family(label, 'monospace');
355
+ * ```
356
+ */
357
+ export function set_text_font_family(id, font) {
358
+ if (isDeleted(id))
359
+ return id;
360
+ id.text_font_family = font;
361
+ return id;
362
+ }
363
+ /**
364
+ * Deletes the label object.
365
+ *
366
+ * @param id - Label object to delete
367
+ *
368
+ * @remarks
369
+ * Removes the label from `label.all()`. As in PineScript, the deleted label is `na`: its getters
370
+ * return NaN and its setters do nothing. Deleting it twice has no effect.
371
+ *
372
+ * @example
373
+ * ```typescript
374
+ * const label = label.new(50, 155.5, 'Pivot');
375
+ * label.delete(label);
376
+ * // label.all() no longer contains it
377
+ * ```
378
+ */
379
+ export function delete_label(id) {
380
+ remove('label', id);
381
+ }
382
+ /** x coordinate of a chart point for an object's xloc (`na` when the point has no such coordinate). */
383
+ function pointX(point, xloc) {
384
+ const x = xloc === 'bar_time' ? point.time : point.index;
385
+ return x ?? NaN;
386
+ }
387
+ /**
388
+ * All live labels, in creation order (PineScript `label.all`). A new array.
389
+ */
390
+ export function all() {
391
+ return allDrawings('label');
392
+ }
393
+ /**
394
+ * Sets the label position from a chart point: `point.index` for `bar_index` labels, `point.time`
395
+ * for `bar_time` labels, and `point.price`.
396
+ */
397
+ export function set_point(id, point) {
398
+ if (isDeleted(id))
399
+ return id;
400
+ id.x = pointX(point, id.xloc);
401
+ id.y = point.price;
402
+ return id;
403
+ }
404
+ /**
405
+ * Sets the text formatting: `text.format_none`, `text.format_bold`, `text.format_italic`,
406
+ * or `text.format_bold + text.format_italic`.
407
+ */
408
+ export function set_text_formatting(id, formatting) {
409
+ if (isDeleted(id))
410
+ return id;
411
+ id.text_formatting = formatting;
412
+ return id;
413
+ }
414
+ // Alias to match PineScript API
415
+ export { new_label as new };
416
+ export { delete_label as delete };
417
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/label/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * OakScriptJS Libraries
3
+ *
4
+ * This module exports reusable library implementations
5
+ * ported from PineScript libraries.
6
+ */
7
+ export * from './zigzag/index.js';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * OakScriptJS Libraries
3
+ *
4
+ * This module exports reusable library implementations
5
+ * ported from PineScript libraries.
6
+ */
7
+ export * from './zigzag/index.js';
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * ZigZag Library - Public API
3
+ */
4
+ export { ZigZag, calculateZigZag, defaultSettings as zigZagDefaults, type ZigZagSettings, type ZigZagPoint, type ZigZagPivot, type ZigZagResult, } from './zigzag.js';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/zigzag/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,MAAM,EACN,eAAe,EACf,eAAe,IAAI,cAAc,EACjC,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,YAAY,GAClB,MAAM,aAAa,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * ZigZag Library - Public API
3
+ */
4
+ export { ZigZag, calculateZigZag, defaultSettings as zigZagDefaults, } from './zigzag.js';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/zigzag/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,MAAM,EACN,eAAe,EACf,eAAe,IAAI,cAAc,GAKlC,MAAM,aAAa,CAAC"}
@@ -0,0 +1,100 @@
1
+ /**
2
+ * ZigZag Library
3
+ *
4
+ * Identifies trend reversals by connecting pivot highs and lows
5
+ * that exceed a specified percentage deviation threshold.
6
+ *
7
+ * Based on the PineScript ZigZag library v8.
8
+ */
9
+ import type { Bar } from '../../types/index.js';
10
+ export interface ZigZagSettings {
11
+ /** Minimum percentage deviation from previous pivot to register reversal (default: 5.0) */
12
+ devThreshold: number;
13
+ /** Number of bars required for pivot point detection (default: 10) */
14
+ depth: number;
15
+ /** Line color for ZigZag drawing (default: '#2962FF') */
16
+ lineColor: string;
17
+ /** Extend line from last pivot to current bar (default: true) */
18
+ extendLast: boolean;
19
+ /** Display reversal price in labels (default: true) */
20
+ displayReversalPrice: boolean;
21
+ /** Display cumulative volume in labels (default: true) */
22
+ displayCumulativeVolume: boolean;
23
+ /** Display price change from previous pivot (default: true) */
24
+ displayReversalPriceChange: boolean;
25
+ /** Price change display mode: 'Absolute' or 'Percent' (default: 'Absolute') */
26
+ differencePriceMode: 'Absolute' | 'Percent';
27
+ /** Allow both pivot high and low on same bar (default: true) */
28
+ allowZigZagOnOneBar: boolean;
29
+ }
30
+ export interface ZigZagPoint {
31
+ /** Bar timestamp */
32
+ time: number;
33
+ /** Bar index position */
34
+ barIndex: number;
35
+ /** Price at this point */
36
+ price: number;
37
+ }
38
+ export interface ZigZagPivot {
39
+ /** True if this is a pivot high, false for pivot low */
40
+ isHigh: boolean;
41
+ /** Cumulative volume from start to end */
42
+ volume: number;
43
+ /** Starting point of this segment */
44
+ start: ZigZagPoint;
45
+ /** Ending point (the pivot) of this segment */
46
+ end: ZigZagPoint;
47
+ }
48
+ export interface ZigZagResult {
49
+ /** Array of confirmed pivots */
50
+ pivots: ZigZagPivot[];
51
+ /** Extension line to current bar (if extendLast enabled) */
52
+ extension: ZigZagPivot | null;
53
+ }
54
+ export declare const defaultSettings: ZigZagSettings;
55
+ export declare class ZigZag {
56
+ settings: ZigZagSettings;
57
+ pivots: ZigZagPivot[];
58
+ sumVol: number;
59
+ private highBuffer;
60
+ private lowBuffer;
61
+ private timeBuffer;
62
+ private barCount;
63
+ constructor(settings?: Partial<ZigZagSettings>);
64
+ /**
65
+ * Process a single bar, detecting pivots.
66
+ * Must be called sequentially for each bar.
67
+ * @returns true if a new pivot was detected or updated
68
+ */
69
+ update(bar: Bar, barIndex: number): boolean;
70
+ /**
71
+ * Get the last confirmed pivot
72
+ */
73
+ lastPivot(): ZigZagPivot | null;
74
+ /**
75
+ * Get extension line to current bar (if extendLast enabled)
76
+ */
77
+ getExtension(currentBar: Bar, barIndex: number): ZigZagPivot | null;
78
+ private tryFindPivot;
79
+ /**
80
+ * Check if a bar from `depth` bars back is a pivot point.
81
+ * A pivot high has prices below it on both sides.
82
+ * A pivot low has prices above it on both sides.
83
+ */
84
+ private findPivotPoint;
85
+ /**
86
+ * Calculate percentage deviation from base price to new price
87
+ */
88
+ private calcDev;
89
+ /**
90
+ * Handle a newly detected pivot point.
91
+ * Either updates existing pivot (if same direction) or adds new pivot (if direction changed).
92
+ */
93
+ private newPivotPointFound;
94
+ }
95
+ /**
96
+ * Convenience function to calculate ZigZag on an array of bars.
97
+ * Processes all bars and returns the resulting pivots and extension.
98
+ */
99
+ export declare function calculateZigZag(bars: Bar[], settings?: Partial<ZigZagSettings>): ZigZagResult;
100
+ //# sourceMappingURL=zigzag.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zigzag.d.ts","sourceRoot":"","sources":["../../../../src/lib/zigzag/zigzag.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAIhD,MAAM,WAAW,cAAc;IAC7B,2FAA2F;IAC3F,YAAY,EAAE,MAAM,CAAC;IACrB,sEAAsE;IACtE,KAAK,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,SAAS,EAAE,MAAM,CAAC;IAClB,iEAAiE;IACjE,UAAU,EAAE,OAAO,CAAC;IACpB,uDAAuD;IACvD,oBAAoB,EAAE,OAAO,CAAC;IAC9B,0DAA0D;IAC1D,uBAAuB,EAAE,OAAO,CAAC;IACjC,+DAA+D;IAC/D,0BAA0B,EAAE,OAAO,CAAC;IACpC,+EAA+E;IAC/E,mBAAmB,EAAE,UAAU,GAAG,SAAS,CAAC;IAC5C,gEAAgE;IAChE,mBAAmB,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,WAAW;IAC1B,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,yBAAyB;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,0BAA0B;IAC1B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,wDAAwD;IACxD,MAAM,EAAE,OAAO,CAAC;IAChB,0CAA0C;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,KAAK,EAAE,WAAW,CAAC;IACnB,+CAA+C;IAC/C,GAAG,EAAE,WAAW,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,gCAAgC;IAChC,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,4DAA4D;IAC5D,SAAS,EAAE,WAAW,GAAG,IAAI,CAAC;CAC/B;AAID,eAAO,MAAM,eAAe,EAAE,cAU7B,CAAC;AAIF,qBAAa,MAAM;IACjB,QAAQ,EAAE,cAAc,CAAC;IACzB,MAAM,EAAE,WAAW,EAAE,CAAM;IAC3B,MAAM,EAAE,MAAM,CAAK;IAEnB,OAAO,CAAC,UAAU,CAAgB;IAClC,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,UAAU,CAAgB;IAClC,OAAO,CAAC,QAAQ,CAAa;gBAEjB,QAAQ,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC;IAI9C;;;;OAIG;IACH,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO;IAwB3C;;OAEG;IACH,SAAS,IAAI,WAAW,GAAG,IAAI;IAM/B;;OAEG;IACH,YAAY,CAAC,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAoBnE,OAAO,CAAC,YAAY;IAWpB;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAmDtB;;OAEG;IACH,OAAO,CAAC,OAAO;IAIf;;;OAGG;IACH,OAAO,CAAC,kBAAkB;CAsD3B;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,GAAG,EAAE,EACX,QAAQ,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GACjC,YAAY,CAwBd"}