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,490 @@
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
+
13
+ import { all as allDrawings, isDeleted, register, remove } from '../drawing/registry.js';
14
+ import type { ChartPoint, Label, color } from '../types/index.js';
15
+
16
+ type LabelXloc = 'bar_index' | 'bar_time';
17
+ type LabelYloc = 'price' | 'abovebar' | 'belowbar';
18
+ type LabelStyle = NonNullable<Label['style']>;
19
+
20
+ /**
21
+ * Creates a new label (PineScript `label.new`), with a chart point or with coordinates:
22
+ *
23
+ * - `label.new(point, text?, xloc?, yloc?, color?, style?, textcolor?, size?, textalign?, tooltip?,
24
+ * text_font_family?, force_overlay?, text_formatting?)`
25
+ * - `label.new(x, y, text?, xloc?, yloc?, color?, style?, textcolor?, size?, textalign?, tooltip?,
26
+ * text_font_family?, force_overlay?, text_formatting?)`
27
+ *
28
+ * With a chart point, x is `point.index` for `bar_index` labels and `point.time` for `bar_time` labels.
29
+ *
30
+ * @example
31
+ * ```typescript
32
+ * const signal = label.new(10, 105.5, 'BUY');
33
+ * const atPoint = label.new(chartPoint.from_index(10, 105.5), 'BUY');
34
+ * ```
35
+ */
36
+ export function new_label(
37
+ point: ChartPoint,
38
+ text?: string,
39
+ xloc?: LabelXloc,
40
+ yloc?: LabelYloc,
41
+ labelColor?: color,
42
+ style?: LabelStyle,
43
+ textcolor?: color,
44
+ size?: string | number,
45
+ textalign?: 'left' | 'center' | 'right',
46
+ tooltip?: string,
47
+ text_font_family?: 'default' | 'monospace',
48
+ force_overlay?: boolean,
49
+ text_formatting?: number
50
+ ): Label;
51
+ export function new_label(
52
+ x: number,
53
+ y: number,
54
+ text?: string,
55
+ xloc?: LabelXloc,
56
+ yloc?: LabelYloc,
57
+ labelColor?: color,
58
+ style?: LabelStyle,
59
+ textcolor?: color,
60
+ size?: string | number,
61
+ textalign?: 'left' | 'center' | 'right',
62
+ tooltip?: string,
63
+ text_font_family?: 'default' | 'monospace',
64
+ force_overlay?: boolean,
65
+ text_formatting?: number
66
+ ): Label;
67
+ export function new_label(...args: unknown[]): Label {
68
+ let x: number, y: number, rest: unknown[];
69
+ if (typeof args[0] === 'object' && args[0] !== null) {
70
+ const point = args[0] as ChartPoint;
71
+ rest = args.slice(1);
72
+ x = pointX(point, (rest[1] as LabelXloc | undefined) ?? 'bar_index');
73
+ y = point.price;
74
+ } else {
75
+ [x, y] = args as [number, number];
76
+ rest = args.slice(2);
77
+ }
78
+ const [text, xloc, yloc, labelColor, style, textcolor, size, textalign, tooltip, text_font_family,
79
+ force_overlay, text_formatting] = rest as [
80
+ string?, LabelXloc?, LabelYloc?, color?, LabelStyle?, color?, (string | number)?,
81
+ ('left' | 'center' | 'right')?, string?, ('default' | 'monospace')?, boolean?, number?,
82
+ ];
83
+ return register('label', {
84
+ x,
85
+ y,
86
+ xloc: xloc ?? 'bar_index',
87
+ yloc: yloc ?? 'price',
88
+ text,
89
+ tooltip,
90
+ color: labelColor,
91
+ style,
92
+ textcolor,
93
+ size,
94
+ textalign,
95
+ text_font_family,
96
+ force_overlay: force_overlay ?? false,
97
+ text_formatting,
98
+ });
99
+ }
100
+
101
+ /**
102
+ * Returns the x coordinate.
103
+ *
104
+ * @param id - Label object
105
+ * @returns X coordinate (bar index or timestamp)
106
+ *
107
+ * @example
108
+ * ```typescript
109
+ * const label = label.new(50, 155.5, 'Pivot');
110
+ * const x = label.get_x(label); // Returns 50
111
+ * ```
112
+ */
113
+ export function get_x(id: Label): number {
114
+ return id.x;
115
+ }
116
+
117
+ /**
118
+ * Returns the y coordinate (price level).
119
+ *
120
+ * @param id - Label object
121
+ * @returns Y coordinate (price)
122
+ *
123
+ * @example
124
+ * ```typescript
125
+ * const label = label.new(50, 155.5, 'Pivot');
126
+ * const y = label.get_y(label); // Returns 155.5
127
+ * ```
128
+ */
129
+ export function get_y(id: Label): number {
130
+ return id.y;
131
+ }
132
+
133
+ /**
134
+ * Returns the label text content.
135
+ *
136
+ * @param id - Label object
137
+ * @returns Text content (or undefined if no text)
138
+ *
139
+ * @example
140
+ * ```typescript
141
+ * const label = label.new(50, 155.5, 'Pivot High');
142
+ * const text = label.get_text(label); // Returns 'Pivot High'
143
+ * ```
144
+ */
145
+ export function get_text(id: Label): string | undefined {
146
+ return id.text;
147
+ }
148
+
149
+ /**
150
+ * Creates a copy of the label object.
151
+ *
152
+ * @param id - Label object to copy
153
+ * @returns New label object with same properties
154
+ *
155
+ * @remarks
156
+ * Creates a shallow copy of the label. Modifications to the copy won't affect the original.
157
+ *
158
+ * @example
159
+ * ```typescript
160
+ * const original = label.new(50, 155.5, 'Pivot');
161
+ * const copied = label.copy(original);
162
+ *
163
+ * // Modify copy without affecting original
164
+ * copied.text = 'New Text';
165
+ * ```
166
+ */
167
+ export function copy(id: Label): Label {
168
+ return register('label', { ...id });
169
+ }
170
+
171
+ // =============================================================================
172
+ // POSITION SETTERS
173
+ // =============================================================================
174
+
175
+ /**
176
+ * Sets the x coordinate.
177
+ *
178
+ * @param id - Label object to modify
179
+ * @param x - New x coordinate
180
+ * @returns Modified label object
181
+ *
182
+ * @example
183
+ * ```typescript
184
+ * const label = label.new(50, 155.5, 'Pivot');
185
+ * label.set_x(label, 55); // Move to bar 55
186
+ * ```
187
+ */
188
+ export function set_x(id: Label, x: number): Label {
189
+ if (isDeleted(id)) return id;
190
+ id.x = x;
191
+ return id;
192
+ }
193
+
194
+ /**
195
+ * Sets the y coordinate (price level).
196
+ *
197
+ * @param id - Label object to modify
198
+ * @param y - New y coordinate
199
+ * @returns Modified label object
200
+ *
201
+ * @example
202
+ * ```typescript
203
+ * const label = label.new(50, 155.5, 'Pivot');
204
+ * label.set_y(label, 160); // Move to price 160
205
+ * ```
206
+ */
207
+ export function set_y(id: Label, y: number): Label {
208
+ if (isDeleted(id)) return id;
209
+ id.y = y;
210
+ return id;
211
+ }
212
+
213
+ /**
214
+ * Sets both x and y coordinates.
215
+ *
216
+ * @param id - Label object to modify
217
+ * @param x - New x coordinate
218
+ * @param y - New y coordinate
219
+ * @returns Modified label object
220
+ *
221
+ * @example
222
+ * ```typescript
223
+ * const label = label.new(50, 155.5, 'Pivot');
224
+ * label.set_xy(label, 60, 160); // Move to (60, 160)
225
+ * ```
226
+ */
227
+ export function set_xy(id: Label, x: number, y: number): Label {
228
+ if (isDeleted(id)) return id;
229
+ id.x = x;
230
+ id.y = y;
231
+ return id;
232
+ }
233
+
234
+ /**
235
+ * Sets the x-axis coordinate system.
236
+ *
237
+ * @param id - Label object to modify
238
+ * @param x - New x coordinate
239
+ * @param xloc - New coordinate system
240
+ * @returns Modified label object
241
+ *
242
+ * @remarks
243
+ * When changing xloc, you must provide an appropriate x coordinate for the new system.
244
+ *
245
+ * @example
246
+ * ```typescript
247
+ * const label = label.new(50, 155.5, 'Pivot');
248
+ * label.set_xloc(label, 1609459200000, 'bar_time'); // Change to timestamp
249
+ * ```
250
+ */
251
+ export function set_xloc(id: Label, x: number, xloc: 'bar_index' | 'bar_time'): Label {
252
+ if (isDeleted(id)) return id;
253
+ id.x = x;
254
+ id.xloc = xloc;
255
+ return id;
256
+ }
257
+
258
+ /**
259
+ * Sets the y-location mode of the label (PineScript `label.set_yloc(id, yloc)`): `price` uses the
260
+ * label's y, `abovebar` / `belowbar` place it above / below the bar.
261
+ */
262
+ export function set_yloc(id: Label, yloc: 'price' | 'abovebar' | 'belowbar'): Label {
263
+ if (isDeleted(id)) return id;
264
+ id.yloc = yloc;
265
+ return id;
266
+ }
267
+
268
+ // =============================================================================
269
+ // CONTENT SETTERS
270
+ // =============================================================================
271
+
272
+ /**
273
+ * Sets the text content.
274
+ *
275
+ * @param id - Label object to modify
276
+ * @param text - New text content
277
+ * @returns Modified label object
278
+ *
279
+ * @example
280
+ * ```typescript
281
+ * const label = label.new(50, 155.5, 'Pivot');
282
+ * label.set_text(label, 'Updated Text');
283
+ * ```
284
+ */
285
+ export function set_text(id: Label, text: string): Label {
286
+ if (isDeleted(id)) return id;
287
+ id.text = text;
288
+ return id;
289
+ }
290
+
291
+ /**
292
+ * Sets the tooltip text.
293
+ *
294
+ * @param id - Label object to modify
295
+ * @param tooltip - New tooltip text
296
+ * @returns Modified label object
297
+ *
298
+ * @example
299
+ * ```typescript
300
+ * const label = label.new(50, 155.5, 'Pivot');
301
+ * label.set_tooltip(label, 'Resistance level formed at 155.5');
302
+ * ```
303
+ */
304
+ export function set_tooltip(id: Label, tooltip: string): Label {
305
+ if (isDeleted(id)) return id;
306
+ id.tooltip = tooltip;
307
+ return id;
308
+ }
309
+
310
+ // =============================================================================
311
+ // STYLING SETTERS
312
+ // =============================================================================
313
+
314
+ /**
315
+ * Sets the label color (border and arrow).
316
+ *
317
+ * @param id - Label object to modify
318
+ * @param labelColor - New color
319
+ * @returns Modified label object
320
+ *
321
+ * @example
322
+ * ```typescript
323
+ * const label = label.new(50, 155.5, 'Pivot');
324
+ * label.set_color(label, '#FF0000'); // Red label
325
+ * ```
326
+ */
327
+ export function set_color(id: Label, labelColor: color): Label {
328
+ if (isDeleted(id)) return id;
329
+ id.color = labelColor;
330
+ return id;
331
+ }
332
+
333
+ /**
334
+ * Sets the text color.
335
+ *
336
+ * @param id - Label object to modify
337
+ * @param textColor - New text color
338
+ * @returns Modified label object
339
+ *
340
+ * @example
341
+ * ```typescript
342
+ * const label = label.new(50, 155.5, 'Pivot');
343
+ * label.set_textcolor(label, '#FFFFFF'); // White text
344
+ * ```
345
+ */
346
+ export function set_textcolor(id: Label, textColor: color): Label {
347
+ if (isDeleted(id)) return id;
348
+ id.textcolor = textColor;
349
+ return id;
350
+ }
351
+
352
+ /**
353
+ * Sets the label style.
354
+ *
355
+ * @param id - Label object to modify
356
+ * @param style - New label style
357
+ * @returns Modified label object
358
+ *
359
+ * @example
360
+ * ```typescript
361
+ * const label = label.new(50, 155.5, 'Pivot');
362
+ * label.set_style(label, 'label_down'); // Arrow pointing down
363
+ * ```
364
+ */
365
+ export function set_style(
366
+ id: Label,
367
+ style: 'none' | 'xcross' | 'cross' | 'triangleup' | 'triangledown' | 'flag' | 'circle' |
368
+ 'arrowup' | 'arrowdown' | 'label_up' | 'label_down' | 'label_left' | 'label_right' |
369
+ 'label_lower_left' | 'label_lower_right' | 'label_upper_left' | 'label_upper_right' |
370
+ 'label_center' | 'square' | 'diamond' | 'text_outline'
371
+ ): Label {
372
+ if (isDeleted(id)) return id;
373
+ id.style = style;
374
+ return id;
375
+ }
376
+
377
+ /**
378
+ * Sets the label size.
379
+ *
380
+ * @param id - Label object to modify
381
+ * @param size - New size
382
+ * @returns Modified label object
383
+ *
384
+ * @example
385
+ * ```typescript
386
+ * const label = label.new(50, 155.5, 'Pivot');
387
+ * label.set_size(label, 'large'); // Larger label
388
+ * ```
389
+ */
390
+ export function set_size(id: Label, size: string | number): Label {
391
+ if (isDeleted(id)) return id;
392
+ id.size = size;
393
+ return id;
394
+ }
395
+
396
+ /**
397
+ * Sets the text alignment.
398
+ *
399
+ * @param id - Label object to modify
400
+ * @param align - New text alignment
401
+ * @returns Modified label object
402
+ *
403
+ * @example
404
+ * ```typescript
405
+ * const label = label.new(50, 155.5, 'Pivot');
406
+ * label.set_textalign(label, 'center'); // Center-aligned text
407
+ * ```
408
+ */
409
+ export function set_textalign(id: Label, align: 'left' | 'center' | 'right'): Label {
410
+ if (isDeleted(id)) return id;
411
+ id.textalign = align;
412
+ return id;
413
+ }
414
+
415
+ /**
416
+ * Sets the text font family.
417
+ *
418
+ * @param id - Label object to modify
419
+ * @param font - New font family
420
+ * @returns Modified label object
421
+ *
422
+ * @example
423
+ * ```typescript
424
+ * const label = label.new(50, 155.5, 'Pivot');
425
+ * label.set_text_font_family(label, 'monospace');
426
+ * ```
427
+ */
428
+ export function set_text_font_family(id: Label, font: 'default' | 'monospace'): Label {
429
+ if (isDeleted(id)) return id;
430
+ id.text_font_family = font;
431
+ return id;
432
+ }
433
+
434
+ /**
435
+ * Deletes the label object.
436
+ *
437
+ * @param id - Label object to delete
438
+ *
439
+ * @remarks
440
+ * Removes the label from `label.all()`. As in PineScript, the deleted label is `na`: its getters
441
+ * return NaN and its setters do nothing. Deleting it twice has no effect.
442
+ *
443
+ * @example
444
+ * ```typescript
445
+ * const label = label.new(50, 155.5, 'Pivot');
446
+ * label.delete(label);
447
+ * // label.all() no longer contains it
448
+ * ```
449
+ */
450
+ export function delete_label(id: Label): void {
451
+ remove('label', id);
452
+ }
453
+
454
+ /** x coordinate of a chart point for an object's xloc (`na` when the point has no such coordinate). */
455
+ function pointX(point: ChartPoint, xloc: 'bar_index' | 'bar_time'): number {
456
+ const x = xloc === 'bar_time' ? point.time : point.index;
457
+ return x ?? NaN;
458
+ }
459
+
460
+ /**
461
+ * All live labels, in creation order (PineScript `label.all`). A new array.
462
+ */
463
+ export function all(): Label[] {
464
+ return allDrawings('label');
465
+ }
466
+
467
+ /**
468
+ * Sets the label position from a chart point: `point.index` for `bar_index` labels, `point.time`
469
+ * for `bar_time` labels, and `point.price`.
470
+ */
471
+ export function set_point(id: Label, point: ChartPoint): Label {
472
+ if (isDeleted(id)) return id;
473
+ id.x = pointX(point, id.xloc);
474
+ id.y = point.price;
475
+ return id;
476
+ }
477
+
478
+ /**
479
+ * Sets the text formatting: `text.format_none`, `text.format_bold`, `text.format_italic`,
480
+ * or `text.format_bold + text.format_italic`.
481
+ */
482
+ export function set_text_formatting(id: Label, formatting: number): Label {
483
+ if (isDeleted(id)) return id;
484
+ id.text_formatting = formatting;
485
+ return id;
486
+ }
487
+
488
+ // Alias to match PineScript API
489
+ export { new_label as new };
490
+ export { delete_label as delete };
@@ -0,0 +1,8 @@
1
+ /**
2
+ * OakScriptJS Libraries
3
+ *
4
+ * This module exports reusable library implementations
5
+ * ported from PineScript libraries.
6
+ */
7
+
8
+ export * from './zigzag/index.js';
@@ -0,0 +1,13 @@
1
+ /**
2
+ * ZigZag Library - Public API
3
+ */
4
+
5
+ export {
6
+ ZigZag,
7
+ calculateZigZag,
8
+ defaultSettings as zigZagDefaults,
9
+ type ZigZagSettings,
10
+ type ZigZagPoint,
11
+ type ZigZagPivot,
12
+ type ZigZagResult,
13
+ } from './zigzag.js';