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,149 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var dateformat_exports = {};
20
+ __export(dateformat_exports, {
21
+ formatDate: () => formatDate
22
+ });
23
+ module.exports = __toCommonJS(dateformat_exports);
24
+ var import_timezone = require("../time/timezone.js");
25
+ const MONTHS = [
26
+ "January",
27
+ "February",
28
+ "March",
29
+ "April",
30
+ "May",
31
+ "June",
32
+ "July",
33
+ "August",
34
+ "September",
35
+ "October",
36
+ "November",
37
+ "December"
38
+ ];
39
+ const DAYS = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
40
+ const pad = (n, width) => String(n).padStart(width, "0");
41
+ function zoneName(time, timezone, offsetMs) {
42
+ if (timezone === "Etc/UTC") return "UTC";
43
+ if (/^(UTC|GMT)/.test(timezone)) {
44
+ if (offsetMs === 0) return "GMT";
45
+ const minutes = Math.abs(offsetMs) / 6e4;
46
+ return `GMT${offsetMs < 0 ? "-" : "+"}${pad(Math.floor(minutes / 60), 2)}:${pad(minutes % 60, 2)}`;
47
+ }
48
+ const part = new Intl.DateTimeFormat("en-US", { timeZone: timezone, timeZoneName: "short" }).formatToParts(time).find((p) => p.type === "timeZoneName");
49
+ return part?.value ?? timezone;
50
+ }
51
+ function weekOfYear(year, month, day) {
52
+ const date = Date.UTC(year, month - 1, day);
53
+ const dow = new Date(date).getUTCDay();
54
+ const weekStart = date - dow * 864e5;
55
+ if (weekStart + 6 * 864e5 >= Date.UTC(year + 1, 0, 1)) return 1;
56
+ const jan1 = Date.UTC(year, 0, 1);
57
+ const jan1Dow = new Date(jan1).getUTCDay();
58
+ return Math.floor((date - jan1 + jan1Dow * 864e5) / (7 * 864e5)) + 1;
59
+ }
60
+ function formatDate(time, pattern, timezone) {
61
+ if (Number.isNaN(time)) return "NaN";
62
+ const f = (0, import_timezone.zonedFields)(time, timezone);
63
+ const offset = (0, import_timezone.zoneOffset)(time, timezone);
64
+ const ms = (time % 1e3 + 1e3) % 1e3;
65
+ const dayOfYear = (Date.UTC(f.year, f.month - 1, f.day) - Date.UTC(f.year, 0, 1)) / 864e5 + 1;
66
+ let out = "";
67
+ for (let i = 0; i < pattern.length; ) {
68
+ const ch = pattern[i];
69
+ if (ch === "'") {
70
+ const end = pattern.indexOf("'", i + 1);
71
+ if (end === i + 1) {
72
+ out += "'";
73
+ i += 2;
74
+ } else {
75
+ out += pattern.slice(i + 1, end === -1 ? void 0 : end);
76
+ i = end === -1 ? pattern.length : end + 1;
77
+ }
78
+ continue;
79
+ }
80
+ if (!/[A-Za-z]/.test(ch)) {
81
+ out += ch;
82
+ i++;
83
+ continue;
84
+ }
85
+ let n = 1;
86
+ while (pattern[i + n] === ch) n++;
87
+ i += n;
88
+ const hour12 = f.hour % 12;
89
+ switch (ch) {
90
+ case "y":
91
+ out += n === 2 ? pad(f.year % 100, 2) : pad(f.year, n);
92
+ break;
93
+ case "M":
94
+ out += n >= 4 ? MONTHS[f.month - 1] : n === 3 ? MONTHS[f.month - 1].slice(0, 3) : pad(f.month, n);
95
+ break;
96
+ case "d":
97
+ out += pad(f.day, n);
98
+ break;
99
+ case "E":
100
+ out += n >= 4 ? DAYS[f.dayOfWeek - 1] : DAYS[f.dayOfWeek - 1].slice(0, 3);
101
+ break;
102
+ case "u":
103
+ out += pad(f.dayOfWeek === 1 ? 7 : f.dayOfWeek - 1, n);
104
+ break;
105
+ case "D":
106
+ out += pad(dayOfYear, n);
107
+ break;
108
+ case "w":
109
+ out += pad(weekOfYear(f.year, f.month, f.day), n);
110
+ break;
111
+ case "H":
112
+ out += pad(f.hour, n);
113
+ break;
114
+ case "k":
115
+ out += pad(f.hour === 0 ? 24 : f.hour, n);
116
+ break;
117
+ case "K":
118
+ out += pad(hour12, n);
119
+ break;
120
+ case "h":
121
+ out += pad(hour12 === 0 ? 12 : hour12, n);
122
+ break;
123
+ case "a":
124
+ out += f.hour < 12 ? "AM" : "PM";
125
+ break;
126
+ case "m":
127
+ out += pad(f.minute, n);
128
+ break;
129
+ case "s":
130
+ out += pad(f.second, n);
131
+ break;
132
+ case "S":
133
+ out += pad(ms, n);
134
+ break;
135
+ case "Z": {
136
+ const minutes = Math.abs(offset) / 6e4;
137
+ out += (offset < 0 ? "-" : "+") + pad(Math.floor(minutes / 60), 2) + pad(minutes % 60, 2);
138
+ break;
139
+ }
140
+ case "z":
141
+ out += zoneName(time, timezone, offset);
142
+ break;
143
+ default:
144
+ throw new SyntaxError(`Unsupported date pattern letter "${ch}" in "${pattern}"`);
145
+ }
146
+ }
147
+ return out;
148
+ }
149
+ //# sourceMappingURL=dateformat.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/str/dateformat.ts"],
4
+ "sourcesContent": ["/**\n * Date patterns of `str.format_time` and `str.format(\"{0,date,...}\")`, as PineScript formats them\n * (Java SimpleDateFormat letters, English names):\n *\n * y year, M month (M, MM, MMM, MMMM), d day, E weekday (EEE, EEEE), u weekday number (1 = Monday),\n * D day of year, w week of year (weeks start on Sunday, week 1 contains 1 January), H hour 0-23,\n * k hour 1-24, K hour 0-11, h hour 1-12, a AM/PM, m minute, s second, S millisecond,\n * Z offset (+0530), z time zone name, 'text' literal text ('' is a quote).\n *\n * `z` gives \"UTC\" for Etc/UTC, \"GMT\" for \"UTC\"/\"GMT\", \"GMT+05:00\" for other offsets, and the\n * host's short English name for IANA zones (PineScript's names can differ, e.g. \"IST\" for Asia/Kolkata).\n */\n\nimport { zonedFields, zoneOffset } from '../time/timezone.js';\n\nconst MONTHS = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September',\n 'October', 'November', 'December'];\nconst DAYS = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];\n\nconst pad = (n: number, width: number): string => String(n).padStart(width, '0');\n\nfunction zoneName(time: number, timezone: string, offsetMs: number): string {\n if (timezone === 'Etc/UTC') return 'UTC';\n if (/^(UTC|GMT)/.test(timezone)) {\n if (offsetMs === 0) return 'GMT';\n const minutes = Math.abs(offsetMs) / 60000;\n return `GMT${offsetMs < 0 ? '-' : '+'}${pad(Math.floor(minutes / 60), 2)}:${pad(minutes % 60, 2)}`;\n }\n const part = new Intl.DateTimeFormat('en-US', { timeZone: timezone, timeZoneName: 'short' })\n .formatToParts(time)\n .find((p) => p.type === 'timeZoneName');\n return part?.value ?? timezone;\n}\n\n/** Week of year: weeks start on Sunday and week 1 is the week that contains 1 January. */\nfunction weekOfYear(year: number, month: number, day: number): number {\n const date = Date.UTC(year, month - 1, day);\n const dow = new Date(date).getUTCDay();\n const weekStart = date - dow * 86_400_000;\n // the week that contains 1 January of the next year is week 1\n if (weekStart + 6 * 86_400_000 >= Date.UTC(year + 1, 0, 1)) return 1;\n const jan1 = Date.UTC(year, 0, 1);\n const jan1Dow = new Date(jan1).getUTCDay();\n return Math.floor((date - jan1 + jan1Dow * 86_400_000) / (7 * 86_400_000)) + 1;\n}\n\n/** Formats a UNIX time (ms) with a SimpleDateFormat pattern in `timezone`. */\nexport function formatDate(time: number, pattern: string, timezone: string): string {\n if (Number.isNaN(time)) return 'NaN';\n const f = zonedFields(time, timezone);\n const offset = zoneOffset(time, timezone);\n const ms = ((time % 1000) + 1000) % 1000;\n const dayOfYear = (Date.UTC(f.year, f.month - 1, f.day) - Date.UTC(f.year, 0, 1)) / 86_400_000 + 1;\n\n let out = '';\n for (let i = 0; i < pattern.length; ) {\n const ch = pattern[i]!;\n if (ch === \"'\") {\n const end = pattern.indexOf(\"'\", i + 1);\n if (end === i + 1) {\n out += \"'\";\n i += 2;\n } else {\n out += pattern.slice(i + 1, end === -1 ? undefined : end);\n i = end === -1 ? pattern.length : end + 1;\n }\n continue;\n }\n if (!/[A-Za-z]/.test(ch)) {\n out += ch;\n i++;\n continue;\n }\n let n = 1;\n while (pattern[i + n] === ch) n++;\n i += n;\n const hour12 = f.hour % 12;\n switch (ch) {\n case 'y': out += n === 2 ? pad(f.year % 100, 2) : pad(f.year, n); break;\n case 'M': out += n >= 4 ? MONTHS[f.month - 1] : n === 3 ? MONTHS[f.month - 1]!.slice(0, 3) : pad(f.month, n); break;\n case 'd': out += pad(f.day, n); break;\n case 'E': out += n >= 4 ? DAYS[f.dayOfWeek - 1] : DAYS[f.dayOfWeek - 1]!.slice(0, 3); break;\n case 'u': out += pad(f.dayOfWeek === 1 ? 7 : f.dayOfWeek - 1, n); break;\n case 'D': out += pad(dayOfYear, n); break;\n case 'w': out += pad(weekOfYear(f.year, f.month, f.day), n); break;\n case 'H': out += pad(f.hour, n); break;\n case 'k': out += pad(f.hour === 0 ? 24 : f.hour, n); break;\n case 'K': out += pad(hour12, n); break;\n case 'h': out += pad(hour12 === 0 ? 12 : hour12, n); break;\n case 'a': out += f.hour < 12 ? 'AM' : 'PM'; break;\n case 'm': out += pad(f.minute, n); break;\n case 's': out += pad(f.second, n); break;\n case 'S': out += pad(ms, n); break;\n case 'Z': {\n const minutes = Math.abs(offset) / 60000;\n out += (offset < 0 ? '-' : '+') + pad(Math.floor(minutes / 60), 2) + pad(minutes % 60, 2);\n break;\n }\n case 'z': out += zoneName(time, timezone, offset); break;\n default: throw new SyntaxError(`Unsupported date pattern letter \"${ch}\" in \"${pattern}\"`);\n }\n }\n return out;\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,459 @@
1
+ /**
2
+ * String namespace
3
+ * Mirrors PineScript's str.* functions for string manipulation and analysis.
4
+ *
5
+ * @remarks
6
+ * All string functions in this namespace follow PineScript v6 API specifications.
7
+ * String operations are case-sensitive unless otherwise specified.
8
+ *
9
+ * @version 6
10
+ */
11
+ import type { int, bool, float, simple_int, simple_string } from '../types/index.js';
12
+ /**
13
+ * Returns the length of a string.
14
+ *
15
+ * @param str - The string to measure
16
+ * @returns The number of characters in the string
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ * str.length("Hello") // Returns: 5
21
+ * str.length("") // Returns: 0
22
+ * ```
23
+ */
24
+ export declare function length(str: simple_string): int;
25
+ /**
26
+ * Converts a value to its string representation (PineScript `str.tostring`).
27
+ *
28
+ * @param value - The value to convert (number, boolean, string, etc.)
29
+ * @param format - Optional number format: a pattern ("#.##", "#,###.00", "0.00%", "0.00E0") or
30
+ * `format.percent` ("percent"), `format.volume` ("volume"), `format.price` / `format.inherit`
31
+ * @returns String representation of the value
32
+ *
33
+ * @remarks
34
+ * As in PineScript:
35
+ * - without format, numbers show up to 10 decimals ("0.3333333333"); 1e21 and more use "1E21"
36
+ * - patterns round half away from zero on the shortest decimal form: 1.005 with "#.##" gives "1.01"
37
+ * - "#" is an optional digit ("1.5" with "#.##"), "0" a required digit ("1.50" with "0.00"),
38
+ * "," groups thousands, "%" multiplies by 100, 'text' is literal text
39
+ * - `format.percent` shows 2 decimals and "%" without multiplying; `format.volume` uses K, M, B, T
40
+ * - `format.price` and `format.inherit` give "price1" / "inherit1" in PineScript: they are patterns
41
+ * without digit characters, and oakscriptjs does the same
42
+ * - `format.mintick` needs the symbol's tick size and throws here
43
+ *
44
+ * @example
45
+ * ```typescript
46
+ * str.tostring(123) // "123"
47
+ * str.tostring(1.5, "#.##") // "1.5"
48
+ * str.tostring(0.5, "#.00") // ".50"
49
+ * str.tostring(12345.678, format.volume) // "12.346K"
50
+ * ```
51
+ */
52
+ export declare function tostring(value: any, format?: simple_string): string;
53
+ /**
54
+ * Converts a string to a number (float).
55
+ *
56
+ * @param str - The string to convert
57
+ * @returns The numeric value, or null if conversion fails
58
+ *
59
+ * @remarks
60
+ * - Returns null for invalid number strings
61
+ * - Supports scientific notation (e.g., "1e3")
62
+ * - Supports decimal numbers (e.g., "0.5", ".5")
63
+ * - Whitespace is ignored
64
+ * - "NaN" string returns null
65
+ *
66
+ * @example
67
+ * ```typescript
68
+ * str.tonumber("123") // Returns: 123
69
+ * str.tonumber("45.67") // Returns: 45.67
70
+ * str.tonumber("abc") // Returns: null
71
+ * str.tonumber("1e3") // Returns: 1000
72
+ * ```
73
+ */
74
+ export declare function tonumber(str: simple_string): float | null;
75
+ /**
76
+ * Extracts a substring from a string.
77
+ *
78
+ * @param str - The source string
79
+ * @param begin - Starting index (0-based, inclusive)
80
+ * @param end - Ending index (0-based, exclusive). If omitted, extracts to end of string
81
+ * @returns The extracted substring
82
+ *
83
+ * @remarks
84
+ * - If begin > end, indices are swapped (JavaScript behavior)
85
+ * - Negative indices are treated as 0
86
+ * - Indices beyond string length return empty string
87
+ *
88
+ * @example
89
+ * ```typescript
90
+ * str.substring("hello world", 0, 5) // Returns: "hello"
91
+ * str.substring("hello world", 6) // Returns: "world"
92
+ * str.substring("test", 1, 3) // Returns: "es"
93
+ * ```
94
+ */
95
+ export declare function substring(str: simple_string, begin: simple_int, end?: simple_int): string;
96
+ /**
97
+ * Converts all characters in a string to uppercase.
98
+ *
99
+ * @param str - The string to convert
100
+ * @returns The uppercase string
101
+ *
102
+ * @example
103
+ * ```typescript
104
+ * str.upper("hello") // Returns: "HELLO"
105
+ * str.upper("Hello World") // Returns: "HELLO WORLD"
106
+ * str.upper("test123") // Returns: "TEST123"
107
+ * ```
108
+ */
109
+ export declare function upper(str: simple_string): string;
110
+ /**
111
+ * Converts all characters in a string to lowercase.
112
+ *
113
+ * @param str - The string to convert
114
+ * @returns The lowercase string
115
+ *
116
+ * @example
117
+ * ```typescript
118
+ * str.lower("HELLO") // Returns: "hello"
119
+ * str.lower("Hello World") // Returns: "hello world"
120
+ * str.lower("TEST123") // Returns: "test123"
121
+ * ```
122
+ */
123
+ export declare function lower(str: simple_string): string;
124
+ /**
125
+ * Checks if a string contains a substring.
126
+ *
127
+ * @param source - The string to search in
128
+ * @param str - The substring to search for
129
+ * @returns True if source contains str, false otherwise
130
+ *
131
+ * @remarks
132
+ * - Search is case-sensitive
133
+ * - Empty string is contained in any string
134
+ *
135
+ * @example
136
+ * ```typescript
137
+ * str.contains("hello world", "world") // Returns: true
138
+ * str.contains("hello world", "World") // Returns: false (case-sensitive)
139
+ * str.contains("test", "xyz") // Returns: false
140
+ * ```
141
+ */
142
+ export declare function contains(source: simple_string, str: simple_string): bool;
143
+ /**
144
+ * Returns the position of the first occurrence of a substring.
145
+ *
146
+ * @param source - The string to search in
147
+ * @param str - The substring to search for
148
+ * @returns The 0-based index of the first occurrence, or -1 if not found
149
+ *
150
+ * @remarks
151
+ * - Search is case-sensitive
152
+ * - Returns 0 for empty search string
153
+ * - Returns -1 if substring is not found
154
+ *
155
+ * @example
156
+ * ```typescript
157
+ * str.pos("hello world", "world") // Returns: 6
158
+ * str.pos("hello world", "o") // Returns: 4 (first occurrence)
159
+ * str.pos("hello", "xyz") // Returns: -1
160
+ * ```
161
+ */
162
+ export declare function pos(source: simple_string, str: simple_string): int;
163
+ /**
164
+ * Replaces occurrences of a substring with another string.
165
+ *
166
+ * @param source - The source string
167
+ * @param target - The substring to replace
168
+ * @param replacement - The string to replace with
169
+ * @param occurrence - If 0, replaces first occurrence only; otherwise replaces all occurrences (default: all)
170
+ * @returns The string with replacements made
171
+ *
172
+ * @remarks
173
+ * - Search is case-sensitive
174
+ * - If target is not found, returns source unchanged
175
+ * - occurrence parameter: 0 = first only, any other value = all occurrences
176
+ *
177
+ * @example
178
+ * ```typescript
179
+ * str.replace("hello world hello", "hello", "hi", 0) // Returns: "hi world hello"
180
+ * str.replace("hello world hello", "hello", "hi") // Returns: "hi world hi"
181
+ * str.replace("test", "xyz", "abc") // Returns: "test"
182
+ * ```
183
+ */
184
+ export declare function replace(source: simple_string, target: simple_string, replacement: simple_string, occurrence?: simple_int): string;
185
+ /**
186
+ * Replaces all occurrences of a target string with a replacement string.
187
+ *
188
+ * @param source - The source string
189
+ * @param target - The substring to find
190
+ * @param replacement - The replacement string
191
+ * @returns String with all occurrences replaced
192
+ *
193
+ * @remarks
194
+ * - Replaces all occurrences of the target string
195
+ * - Case sensitive
196
+ * - If target is empty string, returns original string
197
+ * - This matches PineScript's `str.replace_all()` behavior
198
+ *
199
+ * @example
200
+ * ```typescript
201
+ * str.replace_all("hello world hello", "hello", "hi") // Returns: "hi world hi"
202
+ * str.replace_all("a-b-c", "-", "_") // Returns: "a_b_c"
203
+ * str.replace_all("test", "x", "y") // Returns: "test" (no match)
204
+ * ```
205
+ */
206
+ export declare function replace_all(source: simple_string, target: simple_string, replacement: simple_string): string;
207
+ /**
208
+ * Splits a string into an array of substrings using a separator.
209
+ *
210
+ * @param str - The string to split
211
+ * @param separator - The separator string
212
+ * @returns Array of substrings
213
+ *
214
+ * @remarks
215
+ * - Empty separator splits into individual characters
216
+ * - If separator is not found, returns array with original string
217
+ * - Consecutive separators create empty strings in result
218
+ *
219
+ * @example
220
+ * ```typescript
221
+ * str.split("a,b,c", ",") // Returns: ["a", "b", "c"]
222
+ * str.split("hello", "") // Returns: ["h", "e", "l", "l", "o"]
223
+ * str.split("a,,b", ",") // Returns: ["a", "", "b"]
224
+ * ```
225
+ */
226
+ export declare function split(str: simple_string, separator: simple_string): string[];
227
+ /**
228
+ * Concatenates multiple strings into one.
229
+ *
230
+ * @param strings - Variable number of strings to concatenate
231
+ * @returns The concatenated string
232
+ *
233
+ * @example
234
+ * ```typescript
235
+ * str.concat("hello", " ", "world") // Returns: "hello world"
236
+ * str.concat("a", "b", "c") // Returns: "abc"
237
+ * str.concat("test") // Returns: "test"
238
+ * ```
239
+ */
240
+ export declare function concat(...strings: simple_string[]): string;
241
+ /**
242
+ * Formats a string with placeholders (PineScript `str.format`, Java MessageFormat syntax).
243
+ *
244
+ * @param formatStr - Pattern with `{0}`, `{1,number,#.##}`, `{0,number,percent}`, `{0,date,yyyy-MM-dd}`...
245
+ * @param args - Values for the placeholders
246
+ * @returns Formatted string
247
+ *
248
+ * @remarks
249
+ * As in PineScript: numbers in `{n}` use
250
+ * "#,##0.###" (1234.5678 gives "1,234.568"); number patterns round half to even on the exact
251
+ * value; `'...'` is literal text and `''` a quote; a missing argument leaves `{n}` in the text.
252
+ * Dates are formatted in UTC here; PineScript uses the exchange time zone.
253
+ *
254
+ * @example
255
+ * ```typescript
256
+ * str.format('Close: {0,number,#.##}', 101.456) // "Close: 101.46"
257
+ * str.format('{0} and {1}', 'a', 2) // "a and 2"
258
+ * ```
259
+ */
260
+ export declare function format(formatStr: simple_string, ...args: any[]): string;
261
+ /**
262
+ * Checks if a string starts with a specific prefix.
263
+ *
264
+ * @param source - The string to check
265
+ * @param str - The prefix to look for
266
+ * @returns True if source starts with str, false otherwise
267
+ *
268
+ * @remarks
269
+ * - Search is case-sensitive
270
+ * - Empty string prefix always returns true
271
+ *
272
+ * @example
273
+ * ```typescript
274
+ * str.startswith("hello world", "hello") // Returns: true
275
+ * str.startswith("hello world", "Hello") // Returns: false (case-sensitive)
276
+ * str.startswith("test", "testing") // Returns: false
277
+ * ```
278
+ */
279
+ export declare function startswith(source: simple_string, str: simple_string): bool;
280
+ /**
281
+ * Checks if a string ends with a specific suffix.
282
+ *
283
+ * @param source - The string to check
284
+ * @param str - The suffix to look for
285
+ * @returns True if source ends with str, false otherwise
286
+ *
287
+ * @remarks
288
+ * - Search is case-sensitive
289
+ * - Empty string suffix always returns true
290
+ *
291
+ * @example
292
+ * ```typescript
293
+ * str.endswith("hello world", "world") // Returns: true
294
+ * str.endswith("hello world", "World") // Returns: false (case-sensitive)
295
+ * str.endswith("testing", "test") // Returns: false
296
+ * ```
297
+ */
298
+ export declare function endswith(source: simple_string, str: simple_string): bool;
299
+ /**
300
+ * Returns the character at a specific position in a string.
301
+ *
302
+ * @param str - The source string
303
+ * @param pos - The 0-based position
304
+ * @returns The character at the position, or empty string if out of bounds
305
+ *
306
+ * @remarks
307
+ * - Returns empty string for negative or out-of-bounds positions
308
+ * - Unicode characters may span multiple code units
309
+ *
310
+ * @example
311
+ * ```typescript
312
+ * str.charAt("hello", 0) // Returns: "h"
313
+ * str.charAt("hello", 4) // Returns: "o"
314
+ * str.charAt("hello", 10) // Returns: ""
315
+ * ```
316
+ */
317
+ export declare function charAt(str: simple_string, pos: simple_int): string;
318
+ /**
319
+ * Removes whitespace from both ends of a string.
320
+ *
321
+ * @param str - The string to trim
322
+ * @returns The trimmed string
323
+ *
324
+ * @remarks
325
+ * - Removes spaces, tabs, newlines, and other whitespace characters
326
+ * - Preserves internal whitespace
327
+ *
328
+ * @example
329
+ * ```typescript
330
+ * str.trim(" hello ") // Returns: "hello"
331
+ * str.trim(" hello world ") // Returns: "hello world"
332
+ * str.trim("\thello\n") // Returns: "hello"
333
+ * ```
334
+ */
335
+ export declare function trim(str: simple_string): string;
336
+ /**
337
+ * Removes whitespace from the left (start) of a string.
338
+ *
339
+ * @param str - The string to trim
340
+ * @returns The trimmed string
341
+ *
342
+ * @remarks
343
+ * - Only removes leading whitespace
344
+ * - Preserves trailing and internal whitespace
345
+ *
346
+ * @example
347
+ * ```typescript
348
+ * str.trimLeft(" hello ") // Returns: "hello "
349
+ * str.trimLeft(" hello") // Returns: "hello"
350
+ * str.trimLeft("\thello") // Returns: "hello"
351
+ * ```
352
+ */
353
+ export declare function trimLeft(str: simple_string): string;
354
+ /**
355
+ * Removes whitespace from the right (end) of a string.
356
+ *
357
+ * @param str - The string to trim
358
+ * @returns The trimmed string
359
+ *
360
+ * @remarks
361
+ * - Only removes trailing whitespace
362
+ * - Preserves leading and internal whitespace
363
+ *
364
+ * @example
365
+ * ```typescript
366
+ * str.trimRight(" hello ") // Returns: " hello"
367
+ * str.trimRight("hello ") // Returns: "hello"
368
+ * str.trimRight("hello\t") // Returns: "hello"
369
+ * ```
370
+ */
371
+ export declare function trimRight(str: simple_string): string;
372
+ /**
373
+ * Tests if a string matches a regular expression pattern.
374
+ *
375
+ * @param source - The string to test
376
+ * @param regex - The regular expression pattern
377
+ * @returns True if the pattern matches, false otherwise
378
+ *
379
+ * @remarks
380
+ * - Uses JavaScript regex syntax
381
+ * - Match is case-sensitive by default
382
+ * - Pattern is tested against entire string
383
+ *
384
+ * @example
385
+ * ```typescript
386
+ * str.match("hello123", "\\d+") // Returns: true
387
+ * str.match("test@example.com", "^[a-z]+@[a-z]+\\.[a-z]+$") // Returns: true
388
+ * str.match("abc", "[A-Z]+") // Returns: false
389
+ * ```
390
+ */
391
+ export declare function match(source: simple_string, regex: simple_string): bool;
392
+ /**
393
+ * Formats a timestamp as a string according to the specified format.
394
+ *
395
+ * @param time - Unix timestamp in milliseconds
396
+ * @param format - Format string using PineScript format specifiers
397
+ * @returns Formatted date/time string
398
+ *
399
+ * @remarks
400
+ * Supported format specifiers (case-sensitive):
401
+ * - `yyyy` - 4-digit year (e.g., "2024")
402
+ * - `yy` - 2-digit year (e.g., "24")
403
+ * - `MMMM` - Full month name (e.g., "January")
404
+ * - `MMM` - Abbreviated month name (e.g., "Jan")
405
+ * - `MM` - 2-digit month (01-12)
406
+ * - `M` - Month (1-12)
407
+ * - `dd` - 2-digit day (01-31)
408
+ * - `d` - Day (1-31)
409
+ * - `HH` - 2-digit hour (00-23)
410
+ * - `H` - Hour (0-23)
411
+ * - `hh` - 2-digit hour (01-12)
412
+ * - `h` - Hour (1-12)
413
+ * - `mm` - 2-digit minute (00-59)
414
+ * - `m` - Minute (0-59)
415
+ * - `ss` - 2-digit second (00-59)
416
+ * - `s` - Second (0-59)
417
+ * - `a` - AM/PM
418
+ *
419
+ * @example
420
+ * ```typescript
421
+ * const timestamp = 1609459200000; // Jan 1, 2021 00:00:00 UTC
422
+ * str.format_time(timestamp, "dd MMM yyyy") // Returns: "01 Jan 2021"
423
+ * str.format_time(timestamp, "yyyy-MM-dd HH:mm:ss") // Returns: "2021-01-01 00:00:00"
424
+ * str.format_time(timestamp, "MMM d, yyyy") // Returns: "Jan 1, 2021"
425
+ * str.format_time(timestamp, "hh:mm a") // Returns: "12:00 AM"
426
+ * ```
427
+ */
428
+ /**
429
+ * Constructs a new string containing the source string repeated N times with an optional separator.
430
+ *
431
+ * @param source - The string to repeat
432
+ * @param count - Number of times to repeat (must be >= 0)
433
+ * @param separator - String to inject between repeated instances. Optional, defaults to empty string.
434
+ * @returns The repeated string, or null if source is null/undefined
435
+ *
436
+ * @example
437
+ * ```typescript
438
+ * str.repeat("ab", 3) // Returns: "ababab"
439
+ * str.repeat("?", 3, ",") // Returns: "?,?,?"
440
+ * str.repeat("hello", 0) // Returns: ""
441
+ * str.repeat("x", 1) // Returns: "x"
442
+ * ```
443
+ */
444
+ export declare function repeat(source: simple_string, count: simple_int, separator?: simple_string): string | null;
445
+ /**
446
+ * Formats a UNIX time (ms) with a date pattern (PineScript `str.format_time`).
447
+ *
448
+ * @param time - UNIX time in milliseconds
449
+ * @param format - Java SimpleDateFormat pattern, e.g. "yyyy-MM-dd HH:mm:ss", "dd MMM yyyy", "hh:mm a"
450
+ * @param timezone - UTC/GMT offset ("UTC-5") or IANA name ("America/New_York"). PineScript's default is
451
+ * the exchange time zone, which is not known here: the default is UTC
452
+ * @returns Formatted date string
453
+ *
454
+ * @remarks
455
+ * Letters: y, M, d, E, u, D, w,
456
+ * H, k, K, h, a, m, s, S, Z, z; 'text' is literal text.
457
+ */
458
+ export declare function format_time(time: simple_int, format?: simple_string, timezone?: simple_string): string;
459
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/str/index.ts"],"names":[],"mappings":"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"}