oakscriptjs 0.8.2 → 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 (546) 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 -7981
  461. package/dist/index.d.ts +0 -64
  462. package/dist/index.d.ts.map +0 -1
  463. package/dist/index.mjs +0 -7964
  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 -126
  503. package/dist/runtime/types.d.ts.map +0 -1
  504. package/dist/script/index.cjs +0 -6377
  505. package/dist/script/index.d.ts +0 -713
  506. package/dist/script/index.d.ts.map +0 -1
  507. package/dist/script/index.mjs +0 -6360
  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/running-sum.d.ts +0 -3
  526. package/dist/ta/running-sum.d.ts.map +0 -1
  527. package/dist/ta-series.d.ts +0 -143
  528. package/dist/ta-series.d.ts.map +0 -1
  529. package/dist/text/index.d.ts +0 -4
  530. package/dist/text/index.d.ts.map +0 -1
  531. package/dist/time/datestring.d.ts +0 -2
  532. package/dist/time/datestring.d.ts.map +0 -1
  533. package/dist/time/index.d.ts +0 -15
  534. package/dist/time/index.d.ts.map +0 -1
  535. package/dist/time/session.d.ts +0 -2
  536. package/dist/time/session.d.ts.map +0 -1
  537. package/dist/time/timezone.d.ts +0 -13
  538. package/dist/time/timezone.d.ts.map +0 -1
  539. package/dist/timeframe/index.d.ts +0 -17
  540. package/dist/timeframe/index.d.ts.map +0 -1
  541. package/dist/types/index.d.ts +0 -181
  542. package/dist/types/index.d.ts.map +0 -1
  543. package/dist/types/metadata.d.ts +0 -132
  544. package/dist/types/metadata.d.ts.map +0 -1
  545. package/dist/utils/index.d.ts +0 -26
  546. package/dist/utils/index.d.ts.map +0 -1
@@ -0,0 +1,701 @@
1
+ /**
2
+ * Array namespace
3
+ * Mirrors PineScript's array.* functions
4
+ */
5
+ import type { PineArray, int, float, bool, simple_int, color, Line, Box, Label, Linefill } from '../types/index.js';
6
+ /**
7
+ * Creates a new array with initial size and default value
8
+ */
9
+ export declare function new_array<T>(size?: simple_int, initial_value?: T): PineArray<T>;
10
+ /**
11
+ * Returns the number of elements in an array
12
+ */
13
+ export declare function size<T>(id: PineArray<T>): int;
14
+ /**
15
+ * Returns the element at the specified index
16
+ */
17
+ export declare function get<T>(id: PineArray<T>, index: simple_int): T;
18
+ /**
19
+ * Sets the value of the element at the specified index
20
+ */
21
+ export declare function set<T>(id: PineArray<T>, index: simple_int, value: T): void;
22
+ /**
23
+ * Appends a value to the end of the array
24
+ */
25
+ export declare function push<T>(id: PineArray<T>, value: T): void;
26
+ /**
27
+ * Removes and returns the last element of the array
28
+ */
29
+ export declare function pop<T>(id: PineArray<T>): T;
30
+ /**
31
+ * Inserts a value at the beginning of the array
32
+ */
33
+ export declare function unshift<T>(id: PineArray<T>, value: T): void;
34
+ /**
35
+ * Removes and returns the first element of the array
36
+ */
37
+ export declare function shift<T>(id: PineArray<T>): T;
38
+ /**
39
+ * Removes all elements from the array
40
+ */
41
+ export declare function clear<T>(id: PineArray<T>): void;
42
+ /**
43
+ * Inserts a value at the specified index
44
+ */
45
+ export declare function insert<T>(id: PineArray<T>, index: simple_int, value: T): void;
46
+ /**
47
+ * Removes the element at the specified index
48
+ */
49
+ export declare function remove<T>(id: PineArray<T>, index: simple_int): T;
50
+ /**
51
+ * Returns true if the array contains the value
52
+ */
53
+ export declare function includes<T>(id: PineArray<T>, value: T): bool;
54
+ /**
55
+ * Returns the index of the first occurrence of the value
56
+ */
57
+ export declare function indexof<T>(id: PineArray<T>, value: T): int;
58
+ /**
59
+ * Returns the index of the last occurrence of the value
60
+ */
61
+ export declare function lastindexof<T>(id: PineArray<T>, value: T): int;
62
+ /**
63
+ * Returns a shallow copy of the array
64
+ */
65
+ export declare function copy<T>(id: PineArray<T>): PineArray<T>;
66
+ /**
67
+ * Concatenates two arrays
68
+ */
69
+ export declare function concat<T>(id1: PineArray<T>, id2: PineArray<T>): PineArray<T>;
70
+ /**
71
+ * Joins all elements into a string
72
+ */
73
+ export declare function join(id: PineArray<any>, separator?: string): string;
74
+ /**
75
+ * Reverses the array in place
76
+ */
77
+ export declare function reverse<T>(id: PineArray<T>): void;
78
+ /**
79
+ * Returns a slice of the array
80
+ */
81
+ export declare function slice<T>(id: PineArray<T>, index_from: simple_int, index_to?: simple_int): PineArray<T>;
82
+ /**
83
+ * Sorts array elements (numeric)
84
+ */
85
+ export declare function sort<T>(id: PineArray<T>, order?: 'asc' | 'desc'): void;
86
+ /**
87
+ * Returns the sum of all elements (numeric arrays only)
88
+ */
89
+ export declare function sum(id: PineArray<float>): float;
90
+ /**
91
+ * Returns the average of all elements (numeric arrays only)
92
+ */
93
+ export declare function avg(id: PineArray<float>): float;
94
+ /**
95
+ * The `nth` smallest value (0 = the smallest) of the non-na elements (PineScript `array.min(id, nth)`).
96
+ * An `nth` past the end gives the greatest value; an array without values gives NaN.
97
+ */
98
+ export declare function min(id: PineArray<float>, nth?: simple_int): float;
99
+ /**
100
+ * The `nth` greatest value (0 = the greatest) of the non-na elements (PineScript `array.max(id, nth)`).
101
+ * An `nth` past the end gives the smallest value; an array without values gives NaN.
102
+ */
103
+ export declare function max(id: PineArray<float>, nth?: simple_int): float;
104
+ /**
105
+ * Returns the median value (numeric arrays only)
106
+ */
107
+ export declare function median(id: PineArray<float>): float;
108
+ /**
109
+ * Returns the mode (most frequent value)
110
+ */
111
+ export declare function mode(id: PineArray<float>): float;
112
+ /**
113
+ * Standard deviation of the non-na elements (PineScript `array.stdev(id, biased)`).
114
+ * `biased` true (default) divides by the count, false by the count - 1.
115
+ */
116
+ export declare function stdev(id: PineArray<float>, biased?: bool): float;
117
+ /**
118
+ * Variance of the non-na elements (PineScript `array.variance(id, biased)`).
119
+ * `biased` true (default) divides by the count, false by the count - 1.
120
+ */
121
+ export declare function variance(id: PineArray<float>, biased?: bool): float;
122
+ /**
123
+ * Fills the array with the specified value
124
+ */
125
+ export declare function fill<T>(id: PineArray<T>, value: T, index_from?: simple_int, index_to?: simple_int): void;
126
+ /**
127
+ * Creates an array from its arguments (PineScript `array.from(arg0, arg1, ...)`).
128
+ * `na` values are kept.
129
+ *
130
+ * @example
131
+ * ```typescript
132
+ * array.from(0.236, 0.382, 0.5, 0.618); // [0.236, 0.382, 0.5, 0.618]
133
+ * ```
134
+ */
135
+ export declare function from<T>(...values: T[]): PineArray<T>;
136
+ /**
137
+ * Returns the first element of the array
138
+ *
139
+ * @param id - The array
140
+ * @returns The first element, or undefined if array is empty
141
+ *
142
+ * @remarks
143
+ * - Equivalent to `array.get(id, 0)`
144
+ * - Returns undefined for empty arrays
145
+ *
146
+ * @example
147
+ * ```typescript
148
+ * const arr = [1, 2, 3, 4, 5];
149
+ * const firstElement = array.first(arr); // Returns: 1
150
+ * ```
151
+ */
152
+ export declare function first<T>(id: PineArray<T>): T;
153
+ /**
154
+ * Returns the last element of the array
155
+ *
156
+ * @param id - The array
157
+ * @returns The last element, or undefined if array is empty
158
+ *
159
+ * @remarks
160
+ * - Equivalent to `array.get(id, array.size(id) - 1)`
161
+ * - Returns undefined for empty arrays
162
+ *
163
+ * @example
164
+ * ```typescript
165
+ * const arr = [1, 2, 3, 4, 5];
166
+ * const lastElement = array.last(arr); // Returns: 5
167
+ * ```
168
+ */
169
+ export declare function last<T>(id: PineArray<T>): T;
170
+ /**
171
+ * True when at least one element of a bool array is true (PineScript `array.some(id)`).
172
+ * An empty array gives false.
173
+ */
174
+ export declare function some(id: PineArray<bool>): bool;
175
+ /**
176
+ * True when every element of a bool array is true (PineScript `array.every(id)`).
177
+ * An empty array gives false, as in PineScript.
178
+ */
179
+ export declare function every(id: PineArray<bool>): bool;
180
+ /**
181
+ * Create new boolean array
182
+ *
183
+ * Creates a new array object of bool type elements.
184
+ *
185
+ * @param size - Initial size of array (default: 0)
186
+ * @param initial_value - Initial value for all elements (default: false)
187
+ * @returns New boolean array
188
+ *
189
+ * @example
190
+ * ```typescript
191
+ * const arr = array.new_bool(5, true);
192
+ * // Creates: [true, true, true, true, true]
193
+ * ```
194
+ */
195
+ export declare function new_bool(size?: simple_int, initial_value?: bool): PineArray<bool>;
196
+ /**
197
+ * Create new float array
198
+ *
199
+ * Creates a new array object of float type elements.
200
+ *
201
+ * @param size - Initial size of array (default: 0)
202
+ * @param initial_value - Initial value for all elements (default: NaN)
203
+ * @returns New float array
204
+ *
205
+ * @example
206
+ * ```typescript
207
+ * const arr = array.new_float(5, 0.0);
208
+ * // Creates: [0.0, 0.0, 0.0, 0.0, 0.0]
209
+ * ```
210
+ */
211
+ export declare function new_float(size?: simple_int, initial_value?: float): PineArray<float>;
212
+ /**
213
+ * Create new integer array
214
+ *
215
+ * Creates a new array object of int type elements.
216
+ *
217
+ * @param size - Initial size of array (default: 0)
218
+ * @param initial_value - Initial value for all elements (default: NaN)
219
+ * @returns New integer array
220
+ *
221
+ * @example
222
+ * ```typescript
223
+ * const arr = array.new_int(5, 0);
224
+ * // Creates: [0, 0, 0, 0, 0]
225
+ * ```
226
+ */
227
+ export declare function new_int(size?: simple_int, initial_value?: int): PineArray<int>;
228
+ /**
229
+ * Create new string array
230
+ *
231
+ * Creates a new array object of string type elements.
232
+ *
233
+ * @param size - Initial size of array (default: 0)
234
+ * @param initial_value - Initial value for all elements (default: undefined)
235
+ * @returns New string array
236
+ *
237
+ * @example
238
+ * ```typescript
239
+ * const arr = array.new_string(5, "text");
240
+ * // Creates: ["text", "text", "text", "text", "text"]
241
+ * ```
242
+ */
243
+ export declare function new_string(size?: simple_int, initial_value?: string): PineArray<string>;
244
+ /**
245
+ * Create new color array
246
+ *
247
+ * Creates a new array object of color type elements.
248
+ *
249
+ * @param size - Initial size of array (default: 0)
250
+ * @param initial_value - Initial value for all elements (default: undefined)
251
+ * @returns New color array
252
+ *
253
+ * @example
254
+ * ```typescript
255
+ * const arr = array.new_color(5, "#FF0000");
256
+ * // Creates: ["#FF0000", "#FF0000", "#FF0000", "#FF0000", "#FF0000"]
257
+ * ```
258
+ */
259
+ export declare function new_color(size?: simple_int, initial_value?: color): PineArray<color>;
260
+ /**
261
+ * Create new line array
262
+ *
263
+ * Creates a new array object of line type elements.
264
+ *
265
+ * @param size - Initial size of array (default: 0)
266
+ * @param initial_value - Initial value for all elements (default: undefined)
267
+ * @returns New line array
268
+ *
269
+ * @example
270
+ * ```typescript
271
+ * import { array, line } from 'oakscriptjs';
272
+ *
273
+ * // Create array to store last 15 lines
274
+ * const lines = array.new_line();
275
+ * const trendLine = line.new(0, 100, 50, 150);
276
+ * array.push(lines, trendLine);
277
+ *
278
+ * // Manage line count
279
+ * if (array.size(lines) > 15) {
280
+ * const oldLine = array.shift(lines);
281
+ * }
282
+ * ```
283
+ *
284
+ * @remarks
285
+ * Useful for managing collections of trend lines, support/resistance levels, or channel lines.
286
+ * In PineScript, this is typically used with line.delete() to manage chart object limits.
287
+ */
288
+ export declare function new_line(size?: simple_int, initial_value?: Line): PineArray<Line>;
289
+ /**
290
+ * Create new box array
291
+ *
292
+ * Creates a new array object of box type elements.
293
+ *
294
+ * @param size - Initial size of array (default: 0)
295
+ * @param initial_value - Initial value for all elements (default: undefined)
296
+ * @returns New box array
297
+ *
298
+ * @example
299
+ * ```typescript
300
+ * import { array, box } from 'oakscriptjs';
301
+ *
302
+ * // Create array to store gap boxes
303
+ * const gaps = array.new_box();
304
+ * const gapBox = box.new(10, 120, 15, 110);
305
+ * array.push(gaps, gapBox);
306
+ *
307
+ * // Track multiple gaps
308
+ * for (let i = 0; i < array.size(gaps); i++) {
309
+ * const gap = array.get(gaps, i);
310
+ * const gapTop = box.get_top(gap);
311
+ * const gapBottom = box.get_bottom(gap);
312
+ * // Check if gap filled...
313
+ * }
314
+ * ```
315
+ *
316
+ * @remarks
317
+ * Useful for tracking ranges, gaps, consolidation zones, or rectangle patterns.
318
+ * Enables systematic analysis of multiple box objects.
319
+ */
320
+ export declare function new_box(size?: simple_int, initial_value?: Box): PineArray<Box>;
321
+ /**
322
+ * Create new label array
323
+ *
324
+ * Creates a new array object of label type elements.
325
+ *
326
+ * @param size - Initial size of array (default: 0)
327
+ * @param initial_value - Initial value for all elements (default: undefined)
328
+ * @returns New label array
329
+ *
330
+ * @example
331
+ * ```typescript
332
+ * import { array, label } from 'oakscriptjs';
333
+ *
334
+ * // Create array to store pivot labels
335
+ * const pivotLabels = array.new_label();
336
+ *
337
+ * // Add labels for pivot highs
338
+ * const pivotLabel = label.new(50, 155.5, 'PH', 'bar_index', 'abovebar');
339
+ * array.push(pivotLabels, pivotLabel);
340
+ *
341
+ * // Limit number of labels shown
342
+ * const maxLabels = 50;
343
+ * if (array.size(pivotLabels) > maxLabels) {
344
+ * array.shift(pivotLabels);
345
+ * }
346
+ * ```
347
+ *
348
+ * @remarks
349
+ * Useful for managing collections of annotations, pivot markers, or signal labels.
350
+ * Helps limit the number of labels displayed by removing old ones.
351
+ */
352
+ export declare function new_label(size?: simple_int, initial_value?: Label): PineArray<Label>;
353
+ /**
354
+ * Create new linefill array
355
+ *
356
+ * Creates a new array object of linefill type elements.
357
+ *
358
+ * @param size - Initial size of array (default: 0)
359
+ * @param initial_value - Initial value for all elements (default: undefined)
360
+ * @returns New linefill array
361
+ *
362
+ * @example
363
+ * ```typescript
364
+ * import { array, line, linefill } from 'oakscriptjs';
365
+ *
366
+ * // Create array to store channel fills
367
+ * const channels = array.new_linefill();
368
+ *
369
+ * // Create channel
370
+ * const upperLine = line.new(0, 120, 50, 130);
371
+ * const lowerLine = line.new(0, 100, 50, 110);
372
+ * const channelFill = linefill.new(upperLine, lowerLine, '#0000FF15');
373
+ *
374
+ * array.push(channels, channelFill);
375
+ * ```
376
+ *
377
+ * @remarks
378
+ * Useful for managing collections of channel fills, Bollinger Band fills, or regression channel fills.
379
+ * Enables dynamic color changes across multiple channels.
380
+ */
381
+ export declare function new_linefill(size?: simple_int, initial_value?: Linefill): PineArray<Linefill>;
382
+ /**
383
+ * Absolute value of array elements
384
+ *
385
+ * Returns an array containing the absolute value of each element in the original array.
386
+ *
387
+ * @param id - Array of numeric values
388
+ * @returns New array with absolute values
389
+ *
390
+ * @example
391
+ * ```typescript
392
+ * const arr = [-1, -2, 3, -4, 5];
393
+ * const result = array.abs(arr);
394
+ * // Returns: [1, 2, 3, 4, 5]
395
+ * ```
396
+ */
397
+ export declare function abs(id: PineArray<float>): PineArray<float>;
398
+ /**
399
+ * Range of array values
400
+ *
401
+ * Returns the difference between the maximum and minimum values in the array.
402
+ *
403
+ * @param id - Array of numeric values
404
+ * @returns Difference between max and min (range)
405
+ *
406
+ * @example
407
+ * ```typescript
408
+ * const arr = [1, 5, 3, 9, 2];
409
+ * const result = array.range(arr);
410
+ * // Returns: 8 (9 - 1)
411
+ * ```
412
+ *
413
+ * @remarks
414
+ * Returns NaN if the array is empty.
415
+ */
416
+ export declare function range(id: PineArray<float>): float;
417
+ /**
418
+ * Binary Search
419
+ *
420
+ * Searches for a value in a sorted array using binary search algorithm.
421
+ * Returns the index of the value if found, or -1 if not found.
422
+ *
423
+ * @param id - Sorted array (ascending order)
424
+ * @param val - Value to search for
425
+ * @returns Index of the value, or -1 if not found
426
+ *
427
+ * @example
428
+ * ```typescript
429
+ * const arr = [-2, 0, 1, 5, 9]; // Must be sorted
430
+ * const index = array.binary_search(arr, 5);
431
+ * // Returns: 3
432
+ * ```
433
+ *
434
+ * @remarks
435
+ * - Array must be sorted in ascending order
436
+ * - Uses standard binary search algorithm
437
+ * - Time complexity: O(log n)
438
+ */
439
+ export declare function binary_search(id: PineArray<float>, val: float): int;
440
+ /**
441
+ * Binary Search Leftmost
442
+ *
443
+ * Returns the index of the value if found. When not found, returns the index
444
+ * of the next smallest element to the left of where the value would be.
445
+ *
446
+ * @param id - Sorted array (ascending order)
447
+ * @param val - Value to search for
448
+ * @returns Index of value or insertion point to the left
449
+ *
450
+ * @example
451
+ * ```typescript
452
+ * const arr = [-2, 0, 1, 5, 9];
453
+ * const index = array.binary_search_leftmost(arr, 3);
454
+ * // Returns: 2 (index of 1, which is left of where 3 would be)
455
+ * ```
456
+ *
457
+ * @example
458
+ * ```typescript
459
+ * const arr = [4, 5, 5, 5];
460
+ * const index = array.binary_search_leftmost(arr, 5);
461
+ * // Returns: 1 (index of first instance of 5)
462
+ * ```
463
+ *
464
+ * @remarks
465
+ * - Array must be sorted in ascending order
466
+ * - For duplicate values, returns leftmost occurrence
467
+ * - When value not found, returns position of next smaller element
468
+ */
469
+ export declare function binary_search_leftmost(id: PineArray<float>, val: float): int;
470
+ /**
471
+ * Binary Search Rightmost
472
+ *
473
+ * Returns the index of the value if found. When not found, returns the index
474
+ * of the element to the right of where the value would be.
475
+ *
476
+ * @param id - Sorted array (ascending order)
477
+ * @param val - Value to search for
478
+ * @returns Index of value or insertion point to the right
479
+ *
480
+ * @example
481
+ * ```typescript
482
+ * const arr = [-2, 0, 1, 5, 9];
483
+ * const index = array.binary_search_rightmost(arr, 3);
484
+ * // Returns: 3 (index of 5, which is right of where 3 would be)
485
+ * ```
486
+ *
487
+ * @example
488
+ * ```typescript
489
+ * const arr = [4, 5, 5, 5];
490
+ * const index = array.binary_search_rightmost(arr, 5);
491
+ * // Returns: 3 (index of last instance of 5)
492
+ * ```
493
+ *
494
+ * @remarks
495
+ * - Array must be sorted in ascending order
496
+ * - For duplicate values, returns rightmost occurrence
497
+ * - When value not found, returns position of next larger element
498
+ */
499
+ export declare function binary_search_rightmost(id: PineArray<float>, val: float): int;
500
+ /**
501
+ * Covariance
502
+ *
503
+ * Returns the covariance between two arrays.
504
+ *
505
+ * @param id1 - First array
506
+ * @param id2 - Second array
507
+ * @param biased - If true, uses biased estimate (population). If false, uses unbiased estimate (sample). Default: true
508
+ * @returns Covariance between the two arrays
509
+ *
510
+ * @example
511
+ * ```typescript
512
+ * const prices = [100, 102, 98, 105, 103];
513
+ * const volume = [1000, 1200, 950, 1300, 1100];
514
+ * const cov = array.covariance(prices, volume);
515
+ * // Returns covariance between price and volume
516
+ * ```
517
+ *
518
+ * @remarks
519
+ * - Biased (true): divides by n (population covariance)
520
+ * - Unbiased (false): divides by n-1 (sample covariance)
521
+ * - Returns NaN if arrays are empty or have different lengths
522
+ * - Formula: Cov(X,Y) = E[(X - μX)(Y - μY)]
523
+ */
524
+ export declare function covariance(id1: PineArray<float>, id2: PineArray<float>, biased?: bool): float;
525
+ /**
526
+ * Percentile Linear Interpolation
527
+ *
528
+ * Returns the value for which the specified percentage of array values are
529
+ * less than or equal to it, using linear interpolation.
530
+ *
531
+ * @param id - Array of numeric values
532
+ * @param percentage - Percentage (0-100)
533
+ * @returns Percentile value using linear interpolation
534
+ *
535
+ * @example
536
+ * ```typescript
537
+ * const arr = [1, 2, 3, 4, 5];
538
+ * const p50 = array.percentile_linear_interpolation(arr, 50);
539
+ * // Returns: 3 (median)
540
+ * ```
541
+ *
542
+ * @remarks
543
+ * - Uses linear interpolation between adjacent values
544
+ * - Result may not be a member of the array
545
+ * - Returns NaN if array is empty
546
+ *
547
+ * PineScript rules:
548
+ * - position in the sorted array: `percentage / 100 * size - 0.5`, clamped to the first / last value, linear
549
+ * interpolation between the two neighbours
550
+ * - `na` values are sorted after all numbers; with an `na` in the array, a position between two values gives `na`
551
+ */
552
+ export declare function percentile_linear_interpolation(id: PineArray<float>, percentage: float): float;
553
+ /**
554
+ * Percentile Nearest Rank
555
+ *
556
+ * Returns the value for which the specified percentage of array values are
557
+ * less than or equal to it, using the nearest-rank method.
558
+ *
559
+ * @param id - Array of numeric values
560
+ * @param percentage - Percentage (0-100)
561
+ * @returns Percentile value using nearest rank
562
+ *
563
+ * @example
564
+ * ```typescript
565
+ * const arr = [1, 2, 3, 4, 5];
566
+ * const p50 = array.percentile_nearest_rank(arr, 50);
567
+ * // Returns: 3 (median, always a member of array)
568
+ * ```
569
+ *
570
+ * @remarks
571
+ * - Result is always a member of the array
572
+ * - Uses nearest-rank method (no interpolation)
573
+ * - Returns NaN if array is empty
574
+ *
575
+ * PineScript rules:
576
+ * - the value at rank `ceil(percentage / 100 * size)` of the sorted array
577
+ * - `na` values are sorted after all numbers (na when that rank holds an `na`)
578
+ */
579
+ export declare function percentile_nearest_rank(id: PineArray<float>, percentage: float): float;
580
+ /**
581
+ * Percent Rank
582
+ *
583
+ * Returns the percentile rank of the element at the specified index.
584
+ * The percentile rank is the percentage of elements that are less than
585
+ * or equal to the reference value.
586
+ *
587
+ * @param id - Array of numeric values
588
+ * @param index - Index of element to rank
589
+ * @returns Percentile rank (0-100)
590
+ *
591
+ * @example
592
+ * ```typescript
593
+ * const arr = [1, 2, 3, 4, 5];
594
+ * const rank = array.percentrank(arr, 2); // Value at index 2 is 3
595
+ * // Returns: 40 (40% of values <= 3)
596
+ * ```
597
+ *
598
+ * @remarks
599
+ * - Returns percentage of elements <= the value at given index
600
+ * - Range: 0 to 100
601
+ * - Returns NaN if array is empty or index out of bounds
602
+ */
603
+ export declare function percentrank(id: PineArray<float>, index: int): float;
604
+ /**
605
+ * Sort Indices
606
+ *
607
+ * Returns an array of indices which, when used to index the original array,
608
+ * will access its elements in their sorted order. Does not modify the original array.
609
+ *
610
+ * @param id - Array to get sorted indices from
611
+ * @param order - Sort order: 'asc' or 'desc' (default: 'asc')
612
+ * @returns Array of indices in sorted order
613
+ *
614
+ * @example
615
+ * ```typescript
616
+ * const arr = [5, -2, 0, 9, 1];
617
+ * const indices = array.sort_indices(arr); // [1, 2, 4, 0, 3]
618
+ * // arr[1] = -2 (smallest)
619
+ * // arr[2] = 0
620
+ * // arr[4] = 1
621
+ * // arr[0] = 5
622
+ * // arr[3] = 9 (largest)
623
+ * ```
624
+ *
625
+ * @remarks
626
+ * - Original array is not modified
627
+ * - Returns indices that would sort the array
628
+ * - Useful for maintaining correspondence with other arrays
629
+ */
630
+ export declare function sort_indices(id: PineArray<float>, order?: 'asc' | 'desc'): PineArray<int>;
631
+ /**
632
+ * Standardize
633
+ *
634
+ * Returns an array of standardized elements (z-score normalization).
635
+ * Each element is transformed to (value - mean) / stddev.
636
+ *
637
+ * @param id - Array of numeric values
638
+ * @returns Array of standardized values (z-scores)
639
+ *
640
+ * @example
641
+ * ```typescript
642
+ * const arr = [1, 2, 3, 4, 5];
643
+ * const standardized = array.standardize(arr);
644
+ * // Mean = 3, StdDev ≈ 1.414
645
+ * // Result ≈ [-1.414, -0.707, 0, 0.707, 1.414]
646
+ * ```
647
+ *
648
+ * @remarks
649
+ * - Formula: z = (x - μ) / σ
650
+ * - Result has mean of 0 and standard deviation of 1
651
+ * - Returns array of NaN if standard deviation is 0
652
+ * - Useful for comparing values on different scales
653
+ */
654
+ export declare function standardize(id: PineArray<float>): PineArray<float>;
655
+ /**
656
+ * New Type (User-Defined Type Array)
657
+ *
658
+ * Creates a new array of user-defined type elements.
659
+ *
660
+ * @param size - Initial size of array (default: 0)
661
+ * @param initial_value - Initial value for all elements
662
+ * @returns New array of user-defined type
663
+ *
664
+ * @example
665
+ * ```typescript
666
+ * // NOTE: User-defined types (UDTs) are not fully supported yet
667
+ * // This is a placeholder for future implementation
668
+ * const arr = array.newtype<MyType>(5);
669
+ * ```
670
+ *
671
+ * @remarks
672
+ * - **⚠️ LIMITED SUPPORT**: User-defined types (UDTs) require a type system
673
+ * that is not yet fully implemented in this library
674
+ * - This function currently works like `new_array<T>()` for basic types
675
+ * - Full UDT support will be added in a future version
676
+ * - See PineScript documentation for UDT usage patterns
677
+ */
678
+ export declare function newtype<T>(size?: simple_int, initial_value?: T): PineArray<T>;
679
+ /**
680
+ * ⚠️ RENDERING FUNCTIONS NOT IMPLEMENTED
681
+ *
682
+ * The following array constructor functions are intentionally excluded
683
+ * because they create arrays for rendering objects, which are outside
684
+ * the scope of this calculation-focused library:
685
+ *
686
+ * - `new_box()` - Creates arrays of box drawing objects
687
+ * - `new_label()` - Creates arrays of label objects
688
+ * - `new_line()` - Creates arrays of line drawing objects
689
+ * - `new_linefill()` - Creates arrays of line fill objects
690
+ * - `new_table()` - Creates arrays of table layout objects
691
+ *
692
+ * **Design Constraint**: This library focuses on calculation and indicator
693
+ * functions only. Rendering, visualization, and UI functions require a
694
+ * rendering engine and are not included.
695
+ *
696
+ * If you need these functions, consider:
697
+ * 1. Using PineScript directly
698
+ * 2. Implementing a rendering layer separately
699
+ * 3. Using this library for calculations and another library for visualization
700
+ */
701
+ //# sourceMappingURL=index.d.ts.map