@invinite-org/chartlang-runtime 1.0.2

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 (984) hide show
  1. package/CHANGELOG.md +2690 -0
  2. package/LICENSE +21 -0
  3. package/README.md +57 -0
  4. package/dist/buildComputeContext.d.ts +21 -0
  5. package/dist/buildComputeContext.d.ts.map +1 -0
  6. package/dist/buildComputeContext.js +48 -0
  7. package/dist/buildComputeContext.js.map +1 -0
  8. package/dist/createScriptRunner.d.ts +111 -0
  9. package/dist/createScriptRunner.d.ts.map +1 -0
  10. package/dist/createScriptRunner.js +234 -0
  11. package/dist/createScriptRunner.js.map +1 -0
  12. package/dist/emit/alert.d.ts +46 -0
  13. package/dist/emit/alert.d.ts.map +1 -0
  14. package/dist/emit/alert.js +71 -0
  15. package/dist/emit/alert.js.map +1 -0
  16. package/dist/emit/alertConditionEmission.d.ts +15 -0
  17. package/dist/emit/alertConditionEmission.d.ts.map +1 -0
  18. package/dist/emit/alertConditionEmission.js +53 -0
  19. package/dist/emit/alertConditionEmission.js.map +1 -0
  20. package/dist/emit/draw/annotations/arrow.d.ts +42 -0
  21. package/dist/emit/draw/annotations/arrow.d.ts.map +1 -0
  22. package/dist/emit/draw/annotations/arrow.js +40 -0
  23. package/dist/emit/draw/annotations/arrow.js.map +1 -0
  24. package/dist/emit/draw/annotations/arrowMarkDown.d.ts +36 -0
  25. package/dist/emit/draw/annotations/arrowMarkDown.d.ts.map +1 -0
  26. package/dist/emit/draw/annotations/arrowMarkDown.js +40 -0
  27. package/dist/emit/draw/annotations/arrowMarkDown.js.map +1 -0
  28. package/dist/emit/draw/annotations/arrowMarkUp.d.ts +36 -0
  29. package/dist/emit/draw/annotations/arrowMarkUp.d.ts.map +1 -0
  30. package/dist/emit/draw/annotations/arrowMarkUp.js +40 -0
  31. package/dist/emit/draw/annotations/arrowMarkUp.js.map +1 -0
  32. package/dist/emit/draw/annotations/arrowMarker.d.ts +40 -0
  33. package/dist/emit/draw/annotations/arrowMarker.d.ts.map +1 -0
  34. package/dist/emit/draw/annotations/arrowMarker.js +40 -0
  35. package/dist/emit/draw/annotations/arrowMarker.js.map +1 -0
  36. package/dist/emit/draw/annotations/text.d.ts +41 -0
  37. package/dist/emit/draw/annotations/text.d.ts.map +1 -0
  38. package/dist/emit/draw/annotations/text.js +44 -0
  39. package/dist/emit/draw/annotations/text.js.map +1 -0
  40. package/dist/emit/draw/boxes/circle.d.ts +42 -0
  41. package/dist/emit/draw/boxes/circle.d.ts.map +1 -0
  42. package/dist/emit/draw/boxes/circle.js +44 -0
  43. package/dist/emit/draw/boxes/circle.js.map +1 -0
  44. package/dist/emit/draw/boxes/ellipse.d.ts +42 -0
  45. package/dist/emit/draw/boxes/ellipse.d.ts.map +1 -0
  46. package/dist/emit/draw/boxes/ellipse.js +40 -0
  47. package/dist/emit/draw/boxes/ellipse.js.map +1 -0
  48. package/dist/emit/draw/boxes/marker.d.ts +43 -0
  49. package/dist/emit/draw/boxes/marker.d.ts.map +1 -0
  50. package/dist/emit/draw/boxes/marker.js +49 -0
  51. package/dist/emit/draw/boxes/marker.js.map +1 -0
  52. package/dist/emit/draw/boxes/path.d.ts +43 -0
  53. package/dist/emit/draw/boxes/path.d.ts.map +1 -0
  54. package/dist/emit/draw/boxes/path.js +40 -0
  55. package/dist/emit/draw/boxes/path.js.map +1 -0
  56. package/dist/emit/draw/boxes/polyline.d.ts +43 -0
  57. package/dist/emit/draw/boxes/polyline.d.ts.map +1 -0
  58. package/dist/emit/draw/boxes/polyline.js +40 -0
  59. package/dist/emit/draw/boxes/polyline.js.map +1 -0
  60. package/dist/emit/draw/boxes/rectangle.d.ts +40 -0
  61. package/dist/emit/draw/boxes/rectangle.d.ts.map +1 -0
  62. package/dist/emit/draw/boxes/rectangle.js +40 -0
  63. package/dist/emit/draw/boxes/rectangle.js.map +1 -0
  64. package/dist/emit/draw/boxes/rotatedRectangle.d.ts +45 -0
  65. package/dist/emit/draw/boxes/rotatedRectangle.d.ts.map +1 -0
  66. package/dist/emit/draw/boxes/rotatedRectangle.js +40 -0
  67. package/dist/emit/draw/boxes/rotatedRectangle.js.map +1 -0
  68. package/dist/emit/draw/boxes/triangle.d.ts +42 -0
  69. package/dist/emit/draw/boxes/triangle.d.ts.map +1 -0
  70. package/dist/emit/draw/boxes/triangle.js +40 -0
  71. package/dist/emit/draw/boxes/triangle.js.map +1 -0
  72. package/dist/emit/draw/channels/disjointChannel.d.ts +43 -0
  73. package/dist/emit/draw/channels/disjointChannel.d.ts.map +1 -0
  74. package/dist/emit/draw/channels/disjointChannel.js +40 -0
  75. package/dist/emit/draw/channels/disjointChannel.js.map +1 -0
  76. package/dist/emit/draw/channels/flatTopBottom.d.ts +44 -0
  77. package/dist/emit/draw/channels/flatTopBottom.d.ts.map +1 -0
  78. package/dist/emit/draw/channels/flatTopBottom.js +40 -0
  79. package/dist/emit/draw/channels/flatTopBottom.js.map +1 -0
  80. package/dist/emit/draw/channels/regressionTrend.d.ts +49 -0
  81. package/dist/emit/draw/channels/regressionTrend.d.ts.map +1 -0
  82. package/dist/emit/draw/channels/regressionTrend.js +44 -0
  83. package/dist/emit/draw/channels/regressionTrend.js.map +1 -0
  84. package/dist/emit/draw/channels/trendChannel.d.ts +43 -0
  85. package/dist/emit/draw/channels/trendChannel.d.ts.map +1 -0
  86. package/dist/emit/draw/channels/trendChannel.js +40 -0
  87. package/dist/emit/draw/channels/trendChannel.js.map +1 -0
  88. package/dist/emit/draw/containers/frame.d.ts +42 -0
  89. package/dist/emit/draw/containers/frame.d.ts.map +1 -0
  90. package/dist/emit/draw/containers/frame.js +47 -0
  91. package/dist/emit/draw/containers/frame.js.map +1 -0
  92. package/dist/emit/draw/containers/group.d.ts +47 -0
  93. package/dist/emit/draw/containers/group.d.ts.map +1 -0
  94. package/dist/emit/draw/containers/group.js +44 -0
  95. package/dist/emit/draw/containers/group.js.map +1 -0
  96. package/dist/emit/draw/curves/arc.d.ts +44 -0
  97. package/dist/emit/draw/curves/arc.d.ts.map +1 -0
  98. package/dist/emit/draw/curves/arc.js +40 -0
  99. package/dist/emit/draw/curves/arc.js.map +1 -0
  100. package/dist/emit/draw/curves/brush.d.ts +44 -0
  101. package/dist/emit/draw/curves/brush.d.ts.map +1 -0
  102. package/dist/emit/draw/curves/brush.js +43 -0
  103. package/dist/emit/draw/curves/brush.js.map +1 -0
  104. package/dist/emit/draw/curves/curve.d.ts +43 -0
  105. package/dist/emit/draw/curves/curve.d.ts.map +1 -0
  106. package/dist/emit/draw/curves/curve.js +40 -0
  107. package/dist/emit/draw/curves/curve.js.map +1 -0
  108. package/dist/emit/draw/curves/doubleCurve.d.ts +46 -0
  109. package/dist/emit/draw/curves/doubleCurve.d.ts.map +1 -0
  110. package/dist/emit/draw/curves/doubleCurve.js +40 -0
  111. package/dist/emit/draw/curves/doubleCurve.js.map +1 -0
  112. package/dist/emit/draw/curves/highlighter.d.ts +43 -0
  113. package/dist/emit/draw/curves/highlighter.d.ts.map +1 -0
  114. package/dist/emit/draw/curves/highlighter.js +43 -0
  115. package/dist/emit/draw/curves/highlighter.js.map +1 -0
  116. package/dist/emit/draw/curves/pen.d.ts +41 -0
  117. package/dist/emit/draw/curves/pen.d.ts.map +1 -0
  118. package/dist/emit/draw/curves/pen.js +40 -0
  119. package/dist/emit/draw/curves/pen.js.map +1 -0
  120. package/dist/emit/draw/cycles/cyclicLines.d.ts +41 -0
  121. package/dist/emit/draw/cycles/cyclicLines.d.ts.map +1 -0
  122. package/dist/emit/draw/cycles/cyclicLines.js +44 -0
  123. package/dist/emit/draw/cycles/cyclicLines.js.map +1 -0
  124. package/dist/emit/draw/cycles/sineLine.d.ts +40 -0
  125. package/dist/emit/draw/cycles/sineLine.d.ts.map +1 -0
  126. package/dist/emit/draw/cycles/sineLine.js +44 -0
  127. package/dist/emit/draw/cycles/sineLine.js.map +1 -0
  128. package/dist/emit/draw/cycles/timeCycles.d.ts +40 -0
  129. package/dist/emit/draw/cycles/timeCycles.d.ts.map +1 -0
  130. package/dist/emit/draw/cycles/timeCycles.js +44 -0
  131. package/dist/emit/draw/cycles/timeCycles.js.map +1 -0
  132. package/dist/emit/draw/elliott/elliottCorrectionWave.d.ts +39 -0
  133. package/dist/emit/draw/elliott/elliottCorrectionWave.d.ts.map +1 -0
  134. package/dist/emit/draw/elliott/elliottCorrectionWave.js +43 -0
  135. package/dist/emit/draw/elliott/elliottCorrectionWave.js.map +1 -0
  136. package/dist/emit/draw/elliott/elliottDoubleCombo.d.ts +44 -0
  137. package/dist/emit/draw/elliott/elliottDoubleCombo.d.ts.map +1 -0
  138. package/dist/emit/draw/elliott/elliottDoubleCombo.js +43 -0
  139. package/dist/emit/draw/elliott/elliottDoubleCombo.js.map +1 -0
  140. package/dist/emit/draw/elliott/elliottImpulseWave.d.ts +42 -0
  141. package/dist/emit/draw/elliott/elliottImpulseWave.d.ts.map +1 -0
  142. package/dist/emit/draw/elliott/elliottImpulseWave.js +43 -0
  143. package/dist/emit/draw/elliott/elliottImpulseWave.js.map +1 -0
  144. package/dist/emit/draw/elliott/elliottTriangleWave.d.ts +41 -0
  145. package/dist/emit/draw/elliott/elliottTriangleWave.d.ts.map +1 -0
  146. package/dist/emit/draw/elliott/elliottTriangleWave.js +43 -0
  147. package/dist/emit/draw/elliott/elliottTriangleWave.js.map +1 -0
  148. package/dist/emit/draw/elliott/elliottTripleCombo.d.ts +44 -0
  149. package/dist/emit/draw/elliott/elliottTripleCombo.d.ts.map +1 -0
  150. package/dist/emit/draw/elliott/elliottTripleCombo.js +47 -0
  151. package/dist/emit/draw/elliott/elliottTripleCombo.js.map +1 -0
  152. package/dist/emit/draw/fibA/fibChannel.d.ts +41 -0
  153. package/dist/emit/draw/fibA/fibChannel.d.ts.map +1 -0
  154. package/dist/emit/draw/fibA/fibChannel.js +40 -0
  155. package/dist/emit/draw/fibA/fibChannel.js.map +1 -0
  156. package/dist/emit/draw/fibA/fibRetracement.d.ts +40 -0
  157. package/dist/emit/draw/fibA/fibRetracement.d.ts.map +1 -0
  158. package/dist/emit/draw/fibA/fibRetracement.js +44 -0
  159. package/dist/emit/draw/fibA/fibRetracement.js.map +1 -0
  160. package/dist/emit/draw/fibA/fibTimeZone.d.ts +41 -0
  161. package/dist/emit/draw/fibA/fibTimeZone.d.ts.map +1 -0
  162. package/dist/emit/draw/fibA/fibTimeZone.js +44 -0
  163. package/dist/emit/draw/fibA/fibTimeZone.js.map +1 -0
  164. package/dist/emit/draw/fibA/fibTrendExtension.d.ts +42 -0
  165. package/dist/emit/draw/fibA/fibTrendExtension.d.ts.map +1 -0
  166. package/dist/emit/draw/fibA/fibTrendExtension.js +44 -0
  167. package/dist/emit/draw/fibA/fibTrendExtension.js.map +1 -0
  168. package/dist/emit/draw/fibA/fibWedge.d.ts +42 -0
  169. package/dist/emit/draw/fibA/fibWedge.d.ts.map +1 -0
  170. package/dist/emit/draw/fibA/fibWedge.js +40 -0
  171. package/dist/emit/draw/fibA/fibWedge.js.map +1 -0
  172. package/dist/emit/draw/fibB/fibCircles.d.ts +41 -0
  173. package/dist/emit/draw/fibB/fibCircles.d.ts.map +1 -0
  174. package/dist/emit/draw/fibB/fibCircles.js +44 -0
  175. package/dist/emit/draw/fibB/fibCircles.js.map +1 -0
  176. package/dist/emit/draw/fibB/fibSpeedArcs.d.ts +39 -0
  177. package/dist/emit/draw/fibB/fibSpeedArcs.d.ts.map +1 -0
  178. package/dist/emit/draw/fibB/fibSpeedArcs.js +44 -0
  179. package/dist/emit/draw/fibB/fibSpeedArcs.js.map +1 -0
  180. package/dist/emit/draw/fibB/fibSpeedFan.d.ts +39 -0
  181. package/dist/emit/draw/fibB/fibSpeedFan.d.ts.map +1 -0
  182. package/dist/emit/draw/fibB/fibSpeedFan.js +44 -0
  183. package/dist/emit/draw/fibB/fibSpeedFan.js.map +1 -0
  184. package/dist/emit/draw/fibB/fibSpiral.d.ts +41 -0
  185. package/dist/emit/draw/fibB/fibSpiral.d.ts.map +1 -0
  186. package/dist/emit/draw/fibB/fibSpiral.js +44 -0
  187. package/dist/emit/draw/fibB/fibSpiral.js.map +1 -0
  188. package/dist/emit/draw/fibB/fibTrendTime.d.ts +45 -0
  189. package/dist/emit/draw/fibB/fibTrendTime.d.ts.map +1 -0
  190. package/dist/emit/draw/fibB/fibTrendTime.js +44 -0
  191. package/dist/emit/draw/fibB/fibTrendTime.js.map +1 -0
  192. package/dist/emit/draw/gann/gannBox.d.ts +39 -0
  193. package/dist/emit/draw/gann/gannBox.d.ts.map +1 -0
  194. package/dist/emit/draw/gann/gannBox.js +44 -0
  195. package/dist/emit/draw/gann/gannBox.js.map +1 -0
  196. package/dist/emit/draw/gann/gannFan.d.ts +39 -0
  197. package/dist/emit/draw/gann/gannFan.d.ts.map +1 -0
  198. package/dist/emit/draw/gann/gannFan.js +44 -0
  199. package/dist/emit/draw/gann/gannFan.js.map +1 -0
  200. package/dist/emit/draw/gann/gannSquare.d.ts +38 -0
  201. package/dist/emit/draw/gann/gannSquare.d.ts.map +1 -0
  202. package/dist/emit/draw/gann/gannSquare.js +44 -0
  203. package/dist/emit/draw/gann/gannSquare.js.map +1 -0
  204. package/dist/emit/draw/gann/gannSquareFixed.d.ts +35 -0
  205. package/dist/emit/draw/gann/gannSquareFixed.d.ts.map +1 -0
  206. package/dist/emit/draw/gann/gannSquareFixed.js +44 -0
  207. package/dist/emit/draw/gann/gannSquareFixed.js.map +1 -0
  208. package/dist/emit/draw/handle.d.ts +37 -0
  209. package/dist/emit/draw/handle.d.ts.map +1 -0
  210. package/dist/emit/draw/handle.js +118 -0
  211. package/dist/emit/draw/handle.js.map +1 -0
  212. package/dist/emit/draw/index.d.ts +5 -0
  213. package/dist/emit/draw/index.d.ts.map +1 -0
  214. package/dist/emit/draw/index.js +13 -0
  215. package/dist/emit/draw/index.js.map +1 -0
  216. package/dist/emit/draw/lines/crossLine.d.ts +37 -0
  217. package/dist/emit/draw/lines/crossLine.d.ts.map +1 -0
  218. package/dist/emit/draw/lines/crossLine.js +40 -0
  219. package/dist/emit/draw/lines/crossLine.js.map +1 -0
  220. package/dist/emit/draw/lines/horizontalLine.d.ts +33 -0
  221. package/dist/emit/draw/lines/horizontalLine.d.ts.map +1 -0
  222. package/dist/emit/draw/lines/horizontalLine.js +40 -0
  223. package/dist/emit/draw/lines/horizontalLine.js.map +1 -0
  224. package/dist/emit/draw/lines/horizontalRay.d.ts +36 -0
  225. package/dist/emit/draw/lines/horizontalRay.d.ts.map +1 -0
  226. package/dist/emit/draw/lines/horizontalRay.js +40 -0
  227. package/dist/emit/draw/lines/horizontalRay.js.map +1 -0
  228. package/dist/emit/draw/lines/line.d.ts +43 -0
  229. package/dist/emit/draw/lines/line.d.ts.map +1 -0
  230. package/dist/emit/draw/lines/line.js +43 -0
  231. package/dist/emit/draw/lines/line.js.map +1 -0
  232. package/dist/emit/draw/lines/trendAngle.d.ts +38 -0
  233. package/dist/emit/draw/lines/trendAngle.d.ts.map +1 -0
  234. package/dist/emit/draw/lines/trendAngle.js +40 -0
  235. package/dist/emit/draw/lines/trendAngle.js.map +1 -0
  236. package/dist/emit/draw/lines/verticalLine.d.ts +33 -0
  237. package/dist/emit/draw/lines/verticalLine.d.ts.map +1 -0
  238. package/dist/emit/draw/lines/verticalLine.js +40 -0
  239. package/dist/emit/draw/lines/verticalLine.js.map +1 -0
  240. package/dist/emit/draw/namespace.d.ts +26 -0
  241. package/dist/emit/draw/namespace.d.ts.map +1 -0
  242. package/dist/emit/draw/namespace.js +186 -0
  243. package/dist/emit/draw/namespace.js.map +1 -0
  244. package/dist/emit/draw/patterns/abcdPattern.d.ts +40 -0
  245. package/dist/emit/draw/patterns/abcdPattern.d.ts.map +1 -0
  246. package/dist/emit/draw/patterns/abcdPattern.js +40 -0
  247. package/dist/emit/draw/patterns/abcdPattern.js.map +1 -0
  248. package/dist/emit/draw/patterns/cypherPattern.d.ts +43 -0
  249. package/dist/emit/draw/patterns/cypherPattern.d.ts.map +1 -0
  250. package/dist/emit/draw/patterns/cypherPattern.js +41 -0
  251. package/dist/emit/draw/patterns/cypherPattern.js.map +1 -0
  252. package/dist/emit/draw/patterns/headAndShoulders.d.ts +42 -0
  253. package/dist/emit/draw/patterns/headAndShoulders.d.ts.map +1 -0
  254. package/dist/emit/draw/patterns/headAndShoulders.js +49 -0
  255. package/dist/emit/draw/patterns/headAndShoulders.js.map +1 -0
  256. package/dist/emit/draw/patterns/threeDrivesPattern.d.ts +43 -0
  257. package/dist/emit/draw/patterns/threeDrivesPattern.d.ts.map +1 -0
  258. package/dist/emit/draw/patterns/threeDrivesPattern.js +44 -0
  259. package/dist/emit/draw/patterns/threeDrivesPattern.js.map +1 -0
  260. package/dist/emit/draw/patterns/trianglePattern.d.ts +41 -0
  261. package/dist/emit/draw/patterns/trianglePattern.d.ts.map +1 -0
  262. package/dist/emit/draw/patterns/trianglePattern.js +50 -0
  263. package/dist/emit/draw/patterns/trianglePattern.js.map +1 -0
  264. package/dist/emit/draw/patterns/xabcdPattern.d.ts +41 -0
  265. package/dist/emit/draw/patterns/xabcdPattern.d.ts.map +1 -0
  266. package/dist/emit/draw/patterns/xabcdPattern.js +40 -0
  267. package/dist/emit/draw/patterns/xabcdPattern.js.map +1 -0
  268. package/dist/emit/draw/pitchforks/pitchfan.d.ts +39 -0
  269. package/dist/emit/draw/pitchforks/pitchfan.d.ts.map +1 -0
  270. package/dist/emit/draw/pitchforks/pitchfan.js +40 -0
  271. package/dist/emit/draw/pitchforks/pitchfan.js.map +1 -0
  272. package/dist/emit/draw/pitchforks/pitchfork.d.ts +51 -0
  273. package/dist/emit/draw/pitchforks/pitchfork.d.ts.map +1 -0
  274. package/dist/emit/draw/pitchforks/pitchfork.js +50 -0
  275. package/dist/emit/draw/pitchforks/pitchfork.js.map +1 -0
  276. package/dist/emit/draw/pushDrawing.d.ts +45 -0
  277. package/dist/emit/draw/pushDrawing.d.ts.map +1 -0
  278. package/dist/emit/draw/pushDrawing.js +107 -0
  279. package/dist/emit/draw/pushDrawing.js.map +1 -0
  280. package/dist/emit/draw/subIdAllocator.d.ts +34 -0
  281. package/dist/emit/draw/subIdAllocator.d.ts.map +1 -0
  282. package/dist/emit/draw/subIdAllocator.js +42 -0
  283. package/dist/emit/draw/subIdAllocator.js.map +1 -0
  284. package/dist/emit/draw/table/table.d.ts +39 -0
  285. package/dist/emit/draw/table/table.d.ts.map +1 -0
  286. package/dist/emit/draw/table/table.js +39 -0
  287. package/dist/emit/draw/table/table.js.map +1 -0
  288. package/dist/emit/emissionsQueue.d.ts +65 -0
  289. package/dist/emit/emissionsQueue.d.ts.map +1 -0
  290. package/dist/emit/emissionsQueue.js +140 -0
  291. package/dist/emit/emissionsQueue.js.map +1 -0
  292. package/dist/emit/hash.d.ts +13 -0
  293. package/dist/emit/hash.d.ts.map +1 -0
  294. package/dist/emit/hash.js +24 -0
  295. package/dist/emit/hash.js.map +1 -0
  296. package/dist/emit/hline.d.ts +42 -0
  297. package/dist/emit/hline.d.ts.map +1 -0
  298. package/dist/emit/hline.js +59 -0
  299. package/dist/emit/hline.js.map +1 -0
  300. package/dist/emit/index.d.ts +11 -0
  301. package/dist/emit/index.d.ts.map +1 -0
  302. package/dist/emit/index.js +13 -0
  303. package/dist/emit/index.js.map +1 -0
  304. package/dist/emit/logEmission.d.ts +25 -0
  305. package/dist/emit/logEmission.d.ts.map +1 -0
  306. package/dist/emit/logEmission.js +127 -0
  307. package/dist/emit/logEmission.js.map +1 -0
  308. package/dist/emit/paneResolver.d.ts +19 -0
  309. package/dist/emit/paneResolver.d.ts.map +1 -0
  310. package/dist/emit/paneResolver.js +45 -0
  311. package/dist/emit/paneResolver.js.map +1 -0
  312. package/dist/emit/plot.d.ts +45 -0
  313. package/dist/emit/plot.d.ts.map +1 -0
  314. package/dist/emit/plot.js +126 -0
  315. package/dist/emit/plot.js.map +1 -0
  316. package/dist/emit/runtimeError.d.ts +27 -0
  317. package/dist/emit/runtimeError.d.ts.map +1 -0
  318. package/dist/emit/runtimeError.js +33 -0
  319. package/dist/emit/runtimeError.js.map +1 -0
  320. package/dist/execution/dispose.d.ts +23 -0
  321. package/dist/execution/dispose.d.ts.map +1 -0
  322. package/dist/execution/dispose.js +57 -0
  323. package/dist/execution/dispose.js.map +1 -0
  324. package/dist/execution/drain.d.ts +22 -0
  325. package/dist/execution/drain.d.ts.map +1 -0
  326. package/dist/execution/drain.js +40 -0
  327. package/dist/execution/drain.js.map +1 -0
  328. package/dist/execution/index.d.ts +6 -0
  329. package/dist/execution/index.d.ts.map +1 -0
  330. package/dist/execution/index.js +8 -0
  331. package/dist/execution/index.js.map +1 -0
  332. package/dist/execution/onBarClose.d.ts +25 -0
  333. package/dist/execution/onBarClose.d.ts.map +1 -0
  334. package/dist/execution/onBarClose.js +78 -0
  335. package/dist/execution/onBarClose.js.map +1 -0
  336. package/dist/execution/onBarTick.d.ts +24 -0
  337. package/dist/execution/onBarTick.d.ts.map +1 -0
  338. package/dist/execution/onBarTick.js +77 -0
  339. package/dist/execution/onBarTick.js.map +1 -0
  340. package/dist/execution/onHistory.d.ts +31 -0
  341. package/dist/execution/onHistory.d.ts.map +1 -0
  342. package/dist/execution/onHistory.js +59 -0
  343. package/dist/execution/onHistory.js.map +1 -0
  344. package/dist/execution/secondaryStream.d.ts +36 -0
  345. package/dist/execution/secondaryStream.d.ts.map +1 -0
  346. package/dist/execution/secondaryStream.js +45 -0
  347. package/dist/execution/secondaryStream.js.map +1 -0
  348. package/dist/index.d.ts +25 -0
  349. package/dist/index.d.ts.map +1 -0
  350. package/dist/index.js +24 -0
  351. package/dist/index.js.map +1 -0
  352. package/dist/inputs/index.d.ts +2 -0
  353. package/dist/inputs/index.d.ts.map +1 -0
  354. package/dist/inputs/index.js +4 -0
  355. package/dist/inputs/index.js.map +1 -0
  356. package/dist/inputs/resolveInputs.d.ts +18 -0
  357. package/dist/inputs/resolveInputs.d.ts.map +1 -0
  358. package/dist/inputs/resolveInputs.js +93 -0
  359. package/dist/inputs/resolveInputs.js.map +1 -0
  360. package/dist/persistentStateStore.d.ts +40 -0
  361. package/dist/persistentStateStore.d.ts.map +1 -0
  362. package/dist/persistentStateStore.js +30 -0
  363. package/dist/persistentStateStore.js.map +1 -0
  364. package/dist/persistentStateStore.runtime.d.ts +57 -0
  365. package/dist/persistentStateStore.runtime.d.ts.map +1 -0
  366. package/dist/persistentStateStore.runtime.js +163 -0
  367. package/dist/persistentStateStore.runtime.js.map +1 -0
  368. package/dist/persistentStateStore.validate.d.ts +14 -0
  369. package/dist/persistentStateStore.validate.d.ts.map +1 -0
  370. package/dist/persistentStateStore.validate.js +63 -0
  371. package/dist/persistentStateStore.validate.js.map +1 -0
  372. package/dist/primitives.d.ts +23 -0
  373. package/dist/primitives.d.ts.map +1 -0
  374. package/dist/primitives.js +25 -0
  375. package/dist/primitives.js.map +1 -0
  376. package/dist/request/alignHtfSeriesCache.d.ts +20 -0
  377. package/dist/request/alignHtfSeriesCache.d.ts.map +1 -0
  378. package/dist/request/alignHtfSeriesCache.js +50 -0
  379. package/dist/request/alignHtfSeriesCache.js.map +1 -0
  380. package/dist/request/alignHtfSeriesToLtf.d.ts +26 -0
  381. package/dist/request/alignHtfSeriesToLtf.d.ts.map +1 -0
  382. package/dist/request/alignHtfSeriesToLtf.js +47 -0
  383. package/dist/request/alignHtfSeriesToLtf.js.map +1 -0
  384. package/dist/request/bucketLtfBarsByMainContainment.d.ts +22 -0
  385. package/dist/request/bucketLtfBarsByMainContainment.d.ts.map +1 -0
  386. package/dist/request/bucketLtfBarsByMainContainment.js +41 -0
  387. package/dist/request/bucketLtfBarsByMainContainment.js.map +1 -0
  388. package/dist/request/bucketLtfBarsCache.d.ts +14 -0
  389. package/dist/request/bucketLtfBarsCache.d.ts.map +1 -0
  390. package/dist/request/bucketLtfBarsCache.js +30 -0
  391. package/dist/request/bucketLtfBarsCache.js.map +1 -0
  392. package/dist/request/index.d.ts +4 -0
  393. package/dist/request/index.d.ts.map +1 -0
  394. package/dist/request/index.js +6 -0
  395. package/dist/request/index.js.map +1 -0
  396. package/dist/request/lowerTf.d.ts +14 -0
  397. package/dist/request/lowerTf.d.ts.map +1 -0
  398. package/dist/request/lowerTf.js +65 -0
  399. package/dist/request/lowerTf.js.map +1 -0
  400. package/dist/request/pushOnce.d.ts +13 -0
  401. package/dist/request/pushOnce.d.ts.map +1 -0
  402. package/dist/request/pushOnce.js +26 -0
  403. package/dist/request/pushOnce.js.map +1 -0
  404. package/dist/request/requestNamespace.d.ts +17 -0
  405. package/dist/request/requestNamespace.d.ts.map +1 -0
  406. package/dist/request/requestNamespace.js +39 -0
  407. package/dist/request/requestNamespace.js.map +1 -0
  408. package/dist/request/security.d.ts +25 -0
  409. package/dist/request/security.d.ts.map +1 -0
  410. package/dist/request/security.js +172 -0
  411. package/dist/request/security.js.map +1 -0
  412. package/dist/request/streamBars.d.ts +27 -0
  413. package/dist/request/streamBars.d.ts.map +1 -0
  414. package/dist/request/streamBars.js +55 -0
  415. package/dist/request/streamBars.js.map +1 -0
  416. package/dist/ringBuffer.d.ts +95 -0
  417. package/dist/ringBuffer.d.ts.map +1 -0
  418. package/dist/ringBuffer.js +146 -0
  419. package/dist/ringBuffer.js.map +1 -0
  420. package/dist/runtimeContext.d.ts +238 -0
  421. package/dist/runtimeContext.d.ts.map +1 -0
  422. package/dist/runtimeContext.js +24 -0
  423. package/dist/runtimeContext.js.map +1 -0
  424. package/dist/seriesView.d.ts +59 -0
  425. package/dist/seriesView.d.ts.map +1 -0
  426. package/dist/seriesView.js +109 -0
  427. package/dist/seriesView.js.map +1 -0
  428. package/dist/state/index.d.ts +6 -0
  429. package/dist/state/index.d.ts.map +1 -0
  430. package/dist/state/index.js +6 -0
  431. package/dist/state/index.js.map +1 -0
  432. package/dist/state/lifecycle.d.ts +75 -0
  433. package/dist/state/lifecycle.d.ts.map +1 -0
  434. package/dist/state/lifecycle.js +87 -0
  435. package/dist/state/lifecycle.js.map +1 -0
  436. package/dist/state/stateNamespace.d.ts +14 -0
  437. package/dist/state/stateNamespace.d.ts.map +1 -0
  438. package/dist/state/stateNamespace.js +56 -0
  439. package/dist/state/stateNamespace.js.map +1 -0
  440. package/dist/state/stateSlot.d.ts +59 -0
  441. package/dist/state/stateSlot.d.ts.map +1 -0
  442. package/dist/state/stateSlot.js +74 -0
  443. package/dist/state/stateSlot.js.map +1 -0
  444. package/dist/stateStore.d.ts +40 -0
  445. package/dist/stateStore.d.ts.map +1 -0
  446. package/dist/stateStore.js +34 -0
  447. package/dist/stateStore.js.map +1 -0
  448. package/dist/streamState.d.ts +178 -0
  449. package/dist/streamState.d.ts.map +1 -0
  450. package/dist/streamState.js +313 -0
  451. package/dist/streamState.js.map +1 -0
  452. package/dist/ta/adl.d.ts +27 -0
  453. package/dist/ta/adl.d.ts.map +1 -0
  454. package/dist/ta/adl.js +92 -0
  455. package/dist/ta/adl.js.map +1 -0
  456. package/dist/ta/adr.d.ts +38 -0
  457. package/dist/ta/adr.d.ts.map +1 -0
  458. package/dist/ta/adr.js +143 -0
  459. package/dist/ta/adr.js.map +1 -0
  460. package/dist/ta/adx.d.ts +31 -0
  461. package/dist/ta/adx.d.ts.map +1 -0
  462. package/dist/ta/adx.js +167 -0
  463. package/dist/ta/adx.js.map +1 -0
  464. package/dist/ta/alma.d.ts +35 -0
  465. package/dist/ta/alma.d.ts.map +1 -0
  466. package/dist/ta/alma.js +121 -0
  467. package/dist/ta/alma.js.map +1 -0
  468. package/dist/ta/anchoredVolumeProfile.d.ts +22 -0
  469. package/dist/ta/anchoredVolumeProfile.d.ts.map +1 -0
  470. package/dist/ta/anchoredVolumeProfile.js +104 -0
  471. package/dist/ta/anchoredVolumeProfile.js.map +1 -0
  472. package/dist/ta/anchoredVwap.d.ts +36 -0
  473. package/dist/ta/anchoredVwap.d.ts.map +1 -0
  474. package/dist/ta/anchoredVwap.js +134 -0
  475. package/dist/ta/anchoredVwap.js.map +1 -0
  476. package/dist/ta/ao.d.ts +21 -0
  477. package/dist/ta/ao.d.ts.map +1 -0
  478. package/dist/ta/ao.js +74 -0
  479. package/dist/ta/ao.js.map +1 -0
  480. package/dist/ta/aroon.d.ts +26 -0
  481. package/dist/ta/aroon.d.ts.map +1 -0
  482. package/dist/ta/aroon.js +166 -0
  483. package/dist/ta/aroon.js.map +1 -0
  484. package/dist/ta/aroonOsc.d.ts +19 -0
  485. package/dist/ta/aroonOsc.d.ts.map +1 -0
  486. package/dist/ta/aroonOsc.js +68 -0
  487. package/dist/ta/aroonOsc.js.map +1 -0
  488. package/dist/ta/atr.d.ts +25 -0
  489. package/dist/ta/atr.d.ts.map +1 -0
  490. package/dist/ta/atr.js +132 -0
  491. package/dist/ta/atr.js.map +1 -0
  492. package/dist/ta/barssince.d.ts +21 -0
  493. package/dist/ta/barssince.d.ts.map +1 -0
  494. package/dist/ta/barssince.js +96 -0
  495. package/dist/ta/barssince.js.map +1 -0
  496. package/dist/ta/bb.d.ts +28 -0
  497. package/dist/ta/bb.d.ts.map +1 -0
  498. package/dist/ta/bb.js +123 -0
  499. package/dist/ta/bb.js.map +1 -0
  500. package/dist/ta/bbPercentB.d.ts +23 -0
  501. package/dist/ta/bbPercentB.d.ts.map +1 -0
  502. package/dist/ta/bbPercentB.js +84 -0
  503. package/dist/ta/bbPercentB.js.map +1 -0
  504. package/dist/ta/bbw.d.ts +23 -0
  505. package/dist/ta/bbw.d.ts.map +1 -0
  506. package/dist/ta/bbw.js +84 -0
  507. package/dist/ta/bbw.js.map +1 -0
  508. package/dist/ta/bop.d.ts +22 -0
  509. package/dist/ta/bop.d.ts.map +1 -0
  510. package/dist/ta/bop.js +75 -0
  511. package/dist/ta/bop.js.map +1 -0
  512. package/dist/ta/cci.d.ts +25 -0
  513. package/dist/ta/cci.d.ts.map +1 -0
  514. package/dist/ta/cci.js +149 -0
  515. package/dist/ta/cci.js.map +1 -0
  516. package/dist/ta/chaikinOsc.d.ts +33 -0
  517. package/dist/ta/chaikinOsc.d.ts.map +1 -0
  518. package/dist/ta/chaikinOsc.js +100 -0
  519. package/dist/ta/chaikinOsc.js.map +1 -0
  520. package/dist/ta/chandeKrollStop.d.ts +36 -0
  521. package/dist/ta/chandeKrollStop.d.ts.map +1 -0
  522. package/dist/ta/chandeKrollStop.js +185 -0
  523. package/dist/ta/chandeKrollStop.js.map +1 -0
  524. package/dist/ta/chandelier.d.ts +36 -0
  525. package/dist/ta/chandelier.d.ts.map +1 -0
  526. package/dist/ta/chandelier.js +114 -0
  527. package/dist/ta/chandelier.js.map +1 -0
  528. package/dist/ta/change.d.ts +19 -0
  529. package/dist/ta/change.d.ts.map +1 -0
  530. package/dist/ta/change.js +83 -0
  531. package/dist/ta/change.js.map +1 -0
  532. package/dist/ta/chop.d.ts +29 -0
  533. package/dist/ta/chop.d.ts.map +1 -0
  534. package/dist/ta/chop.js +167 -0
  535. package/dist/ta/chop.js.map +1 -0
  536. package/dist/ta/cmf.d.ts +26 -0
  537. package/dist/ta/cmf.d.ts.map +1 -0
  538. package/dist/ta/cmf.js +126 -0
  539. package/dist/ta/cmf.js.map +1 -0
  540. package/dist/ta/cmo.d.ts +23 -0
  541. package/dist/ta/cmo.d.ts.map +1 -0
  542. package/dist/ta/cmo.js +130 -0
  543. package/dist/ta/cmo.js.map +1 -0
  544. package/dist/ta/connorsRsi.d.ts +31 -0
  545. package/dist/ta/connorsRsi.d.ts.map +1 -0
  546. package/dist/ta/connorsRsi.js +207 -0
  547. package/dist/ta/connorsRsi.js.map +1 -0
  548. package/dist/ta/coppock.d.ts +25 -0
  549. package/dist/ta/coppock.d.ts.map +1 -0
  550. package/dist/ta/coppock.js +151 -0
  551. package/dist/ta/coppock.js.map +1 -0
  552. package/dist/ta/crossover.d.ts +29 -0
  553. package/dist/ta/crossover.d.ts.map +1 -0
  554. package/dist/ta/crossover.js +108 -0
  555. package/dist/ta/crossover.js.map +1 -0
  556. package/dist/ta/crossunder.d.ts +23 -0
  557. package/dist/ta/crossunder.d.ts.map +1 -0
  558. package/dist/ta/crossunder.js +101 -0
  559. package/dist/ta/crossunder.js.map +1 -0
  560. package/dist/ta/dema.d.ts +25 -0
  561. package/dist/ta/dema.d.ts.map +1 -0
  562. package/dist/ta/dema.js +72 -0
  563. package/dist/ta/dema.js.map +1 -0
  564. package/dist/ta/dmi.d.ts +36 -0
  565. package/dist/ta/dmi.d.ts.map +1 -0
  566. package/dist/ta/dmi.js +107 -0
  567. package/dist/ta/dmi.js.map +1 -0
  568. package/dist/ta/donchian.d.ts +29 -0
  569. package/dist/ta/donchian.d.ts.map +1 -0
  570. package/dist/ta/donchian.js +93 -0
  571. package/dist/ta/donchian.js.map +1 -0
  572. package/dist/ta/dpo.d.ts +25 -0
  573. package/dist/ta/dpo.d.ts.map +1 -0
  574. package/dist/ta/dpo.js +111 -0
  575. package/dist/ta/dpo.js.map +1 -0
  576. package/dist/ta/ema.d.ts +27 -0
  577. package/dist/ta/ema.d.ts.map +1 -0
  578. package/dist/ta/ema.js +116 -0
  579. package/dist/ta/ema.js.map +1 -0
  580. package/dist/ta/envelope.d.ts +29 -0
  581. package/dist/ta/envelope.d.ts.map +1 -0
  582. package/dist/ta/envelope.js +119 -0
  583. package/dist/ta/envelope.js.map +1 -0
  584. package/dist/ta/eom.d.ts +35 -0
  585. package/dist/ta/eom.d.ts.map +1 -0
  586. package/dist/ta/eom.js +185 -0
  587. package/dist/ta/eom.js.map +1 -0
  588. package/dist/ta/fisher.d.ts +33 -0
  589. package/dist/ta/fisher.d.ts.map +1 -0
  590. package/dist/ta/fisher.js +174 -0
  591. package/dist/ta/fisher.js.map +1 -0
  592. package/dist/ta/fixedRangeVolumeProfile.d.ts +30 -0
  593. package/dist/ta/fixedRangeVolumeProfile.d.ts.map +1 -0
  594. package/dist/ta/fixedRangeVolumeProfile.js +141 -0
  595. package/dist/ta/fixedRangeVolumeProfile.js.map +1 -0
  596. package/dist/ta/highest.d.ts +21 -0
  597. package/dist/ta/highest.d.ts.map +1 -0
  598. package/dist/ta/highest.js +131 -0
  599. package/dist/ta/highest.js.map +1 -0
  600. package/dist/ta/historicalVolatility.d.ts +28 -0
  601. package/dist/ta/historicalVolatility.d.ts.map +1 -0
  602. package/dist/ta/historicalVolatility.js +199 -0
  603. package/dist/ta/historicalVolatility.js.map +1 -0
  604. package/dist/ta/hma.d.ts +28 -0
  605. package/dist/ta/hma.d.ts.map +1 -0
  606. package/dist/ta/hma.js +64 -0
  607. package/dist/ta/hma.js.map +1 -0
  608. package/dist/ta/ichimoku.d.ts +42 -0
  609. package/dist/ta/ichimoku.d.ts.map +1 -0
  610. package/dist/ta/ichimoku.js +188 -0
  611. package/dist/ta/ichimoku.js.map +1 -0
  612. package/dist/ta/index.d.ts +5 -0
  613. package/dist/ta/index.d.ts.map +1 -0
  614. package/dist/ta/index.js +5 -0
  615. package/dist/ta/index.js.map +1 -0
  616. package/dist/ta/kama.d.ts +35 -0
  617. package/dist/ta/kama.d.ts.map +1 -0
  618. package/dist/ta/kama.js +141 -0
  619. package/dist/ta/kama.js.map +1 -0
  620. package/dist/ta/keltner.d.ts +31 -0
  621. package/dist/ta/keltner.d.ts.map +1 -0
  622. package/dist/ta/keltner.js +125 -0
  623. package/dist/ta/keltner.js.map +1 -0
  624. package/dist/ta/klinger.d.ts +32 -0
  625. package/dist/ta/klinger.d.ts.map +1 -0
  626. package/dist/ta/klinger.js +165 -0
  627. package/dist/ta/klinger.js.map +1 -0
  628. package/dist/ta/kst.d.ts +31 -0
  629. package/dist/ta/kst.d.ts.map +1 -0
  630. package/dist/ta/kst.js +139 -0
  631. package/dist/ta/kst.js.map +1 -0
  632. package/dist/ta/lib/adxFromDi.d.ts +29 -0
  633. package/dist/ta/lib/adxFromDi.d.ts.map +1 -0
  634. package/dist/ta/lib/adxFromDi.js +72 -0
  635. package/dist/ta/lib/adxFromDi.js.map +1 -0
  636. package/dist/ta/lib/applyOffset.d.ts +19 -0
  637. package/dist/ta/lib/applyOffset.d.ts.map +1 -0
  638. package/dist/ta/lib/applyOffset.js +38 -0
  639. package/dist/ta/lib/applyOffset.js.map +1 -0
  640. package/dist/ta/lib/computeMa.d.ts +25 -0
  641. package/dist/ta/lib/computeMa.d.ts.map +1 -0
  642. package/dist/ta/lib/computeMa.js +43 -0
  643. package/dist/ta/lib/computeMa.js.map +1 -0
  644. package/dist/ta/lib/computeMaOfFloat64.d.ts +24 -0
  645. package/dist/ta/lib/computeMaOfFloat64.d.ts.map +1 -0
  646. package/dist/ta/lib/computeMaOfFloat64.js +45 -0
  647. package/dist/ta/lib/computeMaOfFloat64.js.map +1 -0
  648. package/dist/ta/lib/directionalState.d.ts +90 -0
  649. package/dist/ta/lib/directionalState.d.ts.map +1 -0
  650. package/dist/ta/lib/directionalState.js +204 -0
  651. package/dist/ta/lib/directionalState.js.map +1 -0
  652. package/dist/ta/lib/donchianMid.d.ts +21 -0
  653. package/dist/ta/lib/donchianMid.d.ts.map +1 -0
  654. package/dist/ta/lib/donchianMid.js +56 -0
  655. package/dist/ta/lib/donchianMid.js.map +1 -0
  656. package/dist/ta/lib/emaFloat64.d.ts +22 -0
  657. package/dist/ta/lib/emaFloat64.d.ts.map +1 -0
  658. package/dist/ta/lib/emaFloat64.js +60 -0
  659. package/dist/ta/lib/emaFloat64.js.map +1 -0
  660. package/dist/ta/lib/linearRegression.d.ts +50 -0
  661. package/dist/ta/lib/linearRegression.d.ts.map +1 -0
  662. package/dist/ta/lib/linearRegression.js +86 -0
  663. package/dist/ta/lib/linearRegression.js.map +1 -0
  664. package/dist/ta/lib/maTypes.d.ts +37 -0
  665. package/dist/ta/lib/maTypes.d.ts.map +1 -0
  666. package/dist/ta/lib/maTypes.js +4 -0
  667. package/dist/ta/lib/maTypes.js.map +1 -0
  668. package/dist/ta/lib/pearson.d.ts +31 -0
  669. package/dist/ta/lib/pearson.d.ts.map +1 -0
  670. package/dist/ta/lib/pearson.js +79 -0
  671. package/dist/ta/lib/pearson.js.map +1 -0
  672. package/dist/ta/lib/pickCandleSource.d.ts +24 -0
  673. package/dist/ta/lib/pickCandleSource.d.ts.map +1 -0
  674. package/dist/ta/lib/pickCandleSource.js +45 -0
  675. package/dist/ta/lib/pickCandleSource.js.map +1 -0
  676. package/dist/ta/lib/readSourceField.d.ts +29 -0
  677. package/dist/ta/lib/readSourceField.d.ts.map +1 -0
  678. package/dist/ta/lib/readSourceField.js +37 -0
  679. package/dist/ta/lib/readSourceField.js.map +1 -0
  680. package/dist/ta/lib/rollingStddev.d.ts +22 -0
  681. package/dist/ta/lib/rollingStddev.d.ts.map +1 -0
  682. package/dist/ta/lib/rollingStddev.js +60 -0
  683. package/dist/ta/lib/rollingStddev.js.map +1 -0
  684. package/dist/ta/lib/smaFloat64.d.ts +20 -0
  685. package/dist/ta/lib/smaFloat64.d.ts.map +1 -0
  686. package/dist/ta/lib/smaFloat64.js +59 -0
  687. package/dist/ta/lib/smaFloat64.js.map +1 -0
  688. package/dist/ta/lib/smmaFloat64.d.ts +23 -0
  689. package/dist/ta/lib/smmaFloat64.d.ts.map +1 -0
  690. package/dist/ta/lib/smmaFloat64.js +60 -0
  691. package/dist/ta/lib/smmaFloat64.js.map +1 -0
  692. package/dist/ta/lib/sourceValue.d.ts +31 -0
  693. package/dist/ta/lib/sourceValue.d.ts.map +1 -0
  694. package/dist/ta/lib/sourceValue.js +21 -0
  695. package/dist/ta/lib/sourceValue.js.map +1 -0
  696. package/dist/ta/lib/trSeries.d.ts +48 -0
  697. package/dist/ta/lib/trSeries.d.ts.map +1 -0
  698. package/dist/ta/lib/trSeries.js +81 -0
  699. package/dist/ta/lib/trSeries.js.map +1 -0
  700. package/dist/ta/lib/volume-profile/bucketEdges.d.ts +14 -0
  701. package/dist/ta/lib/volume-profile/bucketEdges.d.ts.map +1 -0
  702. package/dist/ta/lib/volume-profile/bucketEdges.js +42 -0
  703. package/dist/ta/lib/volume-profile/bucketEdges.js.map +1 -0
  704. package/dist/ta/lib/volume-profile/bucketizeVolume.d.ts +26 -0
  705. package/dist/ta/lib/volume-profile/bucketizeVolume.d.ts.map +1 -0
  706. package/dist/ta/lib/volume-profile/bucketizeVolume.js +115 -0
  707. package/dist/ta/lib/volume-profile/bucketizeVolume.js.map +1 -0
  708. package/dist/ta/lib/volume-profile/developingSeries.d.ts +35 -0
  709. package/dist/ta/lib/volume-profile/developingSeries.d.ts.map +1 -0
  710. package/dist/ta/lib/volume-profile/developingSeries.js +97 -0
  711. package/dist/ta/lib/volume-profile/developingSeries.js.map +1 -0
  712. package/dist/ta/lib/volume-profile/index.d.ts +11 -0
  713. package/dist/ta/lib/volume-profile/index.d.ts.map +1 -0
  714. package/dist/ta/lib/volume-profile/index.js +15 -0
  715. package/dist/ta/lib/volume-profile/index.js.map +1 -0
  716. package/dist/ta/lib/volume-profile/intercept.d.ts +15 -0
  717. package/dist/ta/lib/volume-profile/intercept.d.ts.map +1 -0
  718. package/dist/ta/lib/volume-profile/intercept.js +31 -0
  719. package/dist/ta/lib/volume-profile/intercept.js.map +1 -0
  720. package/dist/ta/lib/volume-profile/scaffold.d.ts +165 -0
  721. package/dist/ta/lib/volume-profile/scaffold.d.ts.map +1 -0
  722. package/dist/ta/lib/volume-profile/scaffold.js +209 -0
  723. package/dist/ta/lib/volume-profile/scaffold.js.map +1 -0
  724. package/dist/ta/lib/volume-profile/tooHeavy.d.ts +45 -0
  725. package/dist/ta/lib/volume-profile/tooHeavy.d.ts.map +1 -0
  726. package/dist/ta/lib/volume-profile/tooHeavy.js +92 -0
  727. package/dist/ta/lib/volume-profile/tooHeavy.js.map +1 -0
  728. package/dist/ta/lib/volume-profile/types.d.ts +188 -0
  729. package/dist/ta/lib/volume-profile/types.d.ts.map +1 -0
  730. package/dist/ta/lib/volume-profile/types.js +17 -0
  731. package/dist/ta/lib/volume-profile/types.js.map +1 -0
  732. package/dist/ta/lib/volume-profile/valueArea.d.ts +14 -0
  733. package/dist/ta/lib/volume-profile/valueArea.d.ts.map +1 -0
  734. package/dist/ta/lib/volume-profile/valueArea.js +90 -0
  735. package/dist/ta/lib/volume-profile/valueArea.js.map +1 -0
  736. package/dist/ta/lib/volume-profile/volumeProfileShared.d.ts +35 -0
  737. package/dist/ta/lib/volume-profile/volumeProfileShared.d.ts.map +1 -0
  738. package/dist/ta/lib/volume-profile/volumeProfileShared.js +136 -0
  739. package/dist/ta/lib/volume-profile/volumeProfileShared.js.map +1 -0
  740. package/dist/ta/lib/vwmaFloat64.d.ts +28 -0
  741. package/dist/ta/lib/vwmaFloat64.d.ts.map +1 -0
  742. package/dist/ta/lib/vwmaFloat64.js +70 -0
  743. package/dist/ta/lib/vwmaFloat64.js.map +1 -0
  744. package/dist/ta/lib/wilderDirectional.d.ts +53 -0
  745. package/dist/ta/lib/wilderDirectional.d.ts.map +1 -0
  746. package/dist/ta/lib/wilderDirectional.js +121 -0
  747. package/dist/ta/lib/wilderDirectional.js.map +1 -0
  748. package/dist/ta/lib/wilderSmoothing.d.ts +16 -0
  749. package/dist/ta/lib/wilderSmoothing.d.ts.map +1 -0
  750. package/dist/ta/lib/wilderSmoothing.js +26 -0
  751. package/dist/ta/lib/wilderSmoothing.js.map +1 -0
  752. package/dist/ta/lib/wmaFloat64.d.ts +22 -0
  753. package/dist/ta/lib/wmaFloat64.d.ts.map +1 -0
  754. package/dist/ta/lib/wmaFloat64.js +61 -0
  755. package/dist/ta/lib/wmaFloat64.js.map +1 -0
  756. package/dist/ta/lowest.d.ts +20 -0
  757. package/dist/ta/lowest.d.ts.map +1 -0
  758. package/dist/ta/lowest.js +113 -0
  759. package/dist/ta/lowest.js.map +1 -0
  760. package/dist/ta/lsma.d.ts +31 -0
  761. package/dist/ta/lsma.d.ts.map +1 -0
  762. package/dist/ta/lsma.js +127 -0
  763. package/dist/ta/lsma.js.map +1 -0
  764. package/dist/ta/maRibbon.d.ts +52 -0
  765. package/dist/ta/maRibbon.d.ts.map +1 -0
  766. package/dist/ta/maRibbon.js +125 -0
  767. package/dist/ta/maRibbon.js.map +1 -0
  768. package/dist/ta/macd.d.ts +30 -0
  769. package/dist/ta/macd.d.ts.map +1 -0
  770. package/dist/ta/macd.js +122 -0
  771. package/dist/ta/macd.js.map +1 -0
  772. package/dist/ta/massIndex.d.ts +29 -0
  773. package/dist/ta/massIndex.d.ts.map +1 -0
  774. package/dist/ta/massIndex.js +149 -0
  775. package/dist/ta/massIndex.js.map +1 -0
  776. package/dist/ta/mcginley.d.ts +26 -0
  777. package/dist/ta/mcginley.d.ts.map +1 -0
  778. package/dist/ta/mcginley.js +118 -0
  779. package/dist/ta/mcginley.js.map +1 -0
  780. package/dist/ta/median.d.ts +24 -0
  781. package/dist/ta/median.d.ts.map +1 -0
  782. package/dist/ta/median.js +112 -0
  783. package/dist/ta/median.js.map +1 -0
  784. package/dist/ta/mfi.d.ts +38 -0
  785. package/dist/ta/mfi.d.ts.map +1 -0
  786. package/dist/ta/mfi.js +152 -0
  787. package/dist/ta/mfi.js.map +1 -0
  788. package/dist/ta/momentum.d.ts +21 -0
  789. package/dist/ta/momentum.d.ts.map +1 -0
  790. package/dist/ta/momentum.js +46 -0
  791. package/dist/ta/momentum.js.map +1 -0
  792. package/dist/ta/netVolume.d.ts +31 -0
  793. package/dist/ta/netVolume.d.ts.map +1 -0
  794. package/dist/ta/netVolume.js +118 -0
  795. package/dist/ta/netVolume.js.map +1 -0
  796. package/dist/ta/nvi.d.ts +35 -0
  797. package/dist/ta/nvi.d.ts.map +1 -0
  798. package/dist/ta/nvi.js +140 -0
  799. package/dist/ta/nvi.js.map +1 -0
  800. package/dist/ta/nz.d.ts +17 -0
  801. package/dist/ta/nz.d.ts.map +1 -0
  802. package/dist/ta/nz.js +25 -0
  803. package/dist/ta/nz.js.map +1 -0
  804. package/dist/ta/obv.d.ts +25 -0
  805. package/dist/ta/obv.d.ts.map +1 -0
  806. package/dist/ta/obv.js +109 -0
  807. package/dist/ta/obv.js.map +1 -0
  808. package/dist/ta/persistence.d.ts +40 -0
  809. package/dist/ta/persistence.d.ts.map +1 -0
  810. package/dist/ta/persistence.js +306 -0
  811. package/dist/ta/persistence.js.map +1 -0
  812. package/dist/ta/pivotsHighLow.d.ts +41 -0
  813. package/dist/ta/pivotsHighLow.d.ts.map +1 -0
  814. package/dist/ta/pivotsHighLow.js +191 -0
  815. package/dist/ta/pivotsHighLow.js.map +1 -0
  816. package/dist/ta/pivotsStandard.d.ts +46 -0
  817. package/dist/ta/pivotsStandard.d.ts.map +1 -0
  818. package/dist/ta/pivotsStandard.js +323 -0
  819. package/dist/ta/pivotsStandard.js.map +1 -0
  820. package/dist/ta/pmo.d.ts +31 -0
  821. package/dist/ta/pmo.d.ts.map +1 -0
  822. package/dist/ta/pmo.js +185 -0
  823. package/dist/ta/pmo.js.map +1 -0
  824. package/dist/ta/ppo.d.ts +37 -0
  825. package/dist/ta/ppo.d.ts.map +1 -0
  826. package/dist/ta/ppo.js +130 -0
  827. package/dist/ta/ppo.js.map +1 -0
  828. package/dist/ta/psar.d.ts +36 -0
  829. package/dist/ta/psar.d.ts.map +1 -0
  830. package/dist/ta/psar.js +283 -0
  831. package/dist/ta/psar.js.map +1 -0
  832. package/dist/ta/pvi.d.ts +32 -0
  833. package/dist/ta/pvi.d.ts.map +1 -0
  834. package/dist/ta/pvi.js +127 -0
  835. package/dist/ta/pvi.js.map +1 -0
  836. package/dist/ta/pvo.d.ts +34 -0
  837. package/dist/ta/pvo.d.ts.map +1 -0
  838. package/dist/ta/pvo.js +123 -0
  839. package/dist/ta/pvo.js.map +1 -0
  840. package/dist/ta/pvt.d.ts +26 -0
  841. package/dist/ta/pvt.d.ts.map +1 -0
  842. package/dist/ta/pvt.js +128 -0
  843. package/dist/ta/pvt.js.map +1 -0
  844. package/dist/ta/registry.d.ts +395 -0
  845. package/dist/ta/registry.d.ts.map +1 -0
  846. package/dist/ta/registry.js +440 -0
  847. package/dist/ta/registry.js.map +1 -0
  848. package/dist/ta/roc.d.ts +19 -0
  849. package/dist/ta/roc.d.ts.map +1 -0
  850. package/dist/ta/roc.js +80 -0
  851. package/dist/ta/roc.js.map +1 -0
  852. package/dist/ta/rsi.d.ts +28 -0
  853. package/dist/ta/rsi.d.ts.map +1 -0
  854. package/dist/ta/rsi.js +166 -0
  855. package/dist/ta/rsi.js.map +1 -0
  856. package/dist/ta/rvgi.d.ts +27 -0
  857. package/dist/ta/rvgi.d.ts.map +1 -0
  858. package/dist/ta/rvgi.js +139 -0
  859. package/dist/ta/rvgi.js.map +1 -0
  860. package/dist/ta/rvi.d.ts +31 -0
  861. package/dist/ta/rvi.d.ts.map +1 -0
  862. package/dist/ta/rvi.js +195 -0
  863. package/dist/ta/rvi.js.map +1 -0
  864. package/dist/ta/sessionVolumeProfile.d.ts +23 -0
  865. package/dist/ta/sessionVolumeProfile.d.ts.map +1 -0
  866. package/dist/ta/sessionVolumeProfile.js +164 -0
  867. package/dist/ta/sessionVolumeProfile.js.map +1 -0
  868. package/dist/ta/sma.d.ts +23 -0
  869. package/dist/ta/sma.d.ts.map +1 -0
  870. package/dist/ta/sma.js +112 -0
  871. package/dist/ta/sma.js.map +1 -0
  872. package/dist/ta/smi.d.ts +41 -0
  873. package/dist/ta/smi.d.ts.map +1 -0
  874. package/dist/ta/smi.js +134 -0
  875. package/dist/ta/smi.js.map +1 -0
  876. package/dist/ta/smma.d.ts +26 -0
  877. package/dist/ta/smma.d.ts.map +1 -0
  878. package/dist/ta/smma.js +105 -0
  879. package/dist/ta/smma.js.map +1 -0
  880. package/dist/ta/stdev.d.ts +25 -0
  881. package/dist/ta/stdev.d.ts.map +1 -0
  882. package/dist/ta/stdev.js +125 -0
  883. package/dist/ta/stdev.js.map +1 -0
  884. package/dist/ta/stoch.d.ts +32 -0
  885. package/dist/ta/stoch.d.ts.map +1 -0
  886. package/dist/ta/stoch.js +91 -0
  887. package/dist/ta/stoch.js.map +1 -0
  888. package/dist/ta/stochRsi.d.ts +35 -0
  889. package/dist/ta/stochRsi.d.ts.map +1 -0
  890. package/dist/ta/stochRsi.js +98 -0
  891. package/dist/ta/stochRsi.js.map +1 -0
  892. package/dist/ta/supertrend.d.ts +34 -0
  893. package/dist/ta/supertrend.d.ts.map +1 -0
  894. package/dist/ta/supertrend.js +181 -0
  895. package/dist/ta/supertrend.js.map +1 -0
  896. package/dist/ta/tema.d.ts +27 -0
  897. package/dist/ta/tema.d.ts.map +1 -0
  898. package/dist/ta/tema.js +75 -0
  899. package/dist/ta/tema.js.map +1 -0
  900. package/dist/ta/trendStrengthIndex.d.ts +35 -0
  901. package/dist/ta/trendStrengthIndex.d.ts.map +1 -0
  902. package/dist/ta/trendStrengthIndex.js +183 -0
  903. package/dist/ta/trendStrengthIndex.js.map +1 -0
  904. package/dist/ta/trix.d.ts +34 -0
  905. package/dist/ta/trix.d.ts.map +1 -0
  906. package/dist/ta/trix.js +135 -0
  907. package/dist/ta/trix.js.map +1 -0
  908. package/dist/ta/tsi.d.ts +37 -0
  909. package/dist/ta/tsi.d.ts.map +1 -0
  910. package/dist/ta/tsi.js +127 -0
  911. package/dist/ta/tsi.js.map +1 -0
  912. package/dist/ta/ulcerIndex.d.ts +34 -0
  913. package/dist/ta/ulcerIndex.d.ts.map +1 -0
  914. package/dist/ta/ulcerIndex.js +120 -0
  915. package/dist/ta/ulcerIndex.js.map +1 -0
  916. package/dist/ta/ultimateOsc.d.ts +27 -0
  917. package/dist/ta/ultimateOsc.d.ts.map +1 -0
  918. package/dist/ta/ultimateOsc.js +174 -0
  919. package/dist/ta/ultimateOsc.js.map +1 -0
  920. package/dist/ta/valuewhen.d.ts +27 -0
  921. package/dist/ta/valuewhen.d.ts.map +1 -0
  922. package/dist/ta/valuewhen.js +115 -0
  923. package/dist/ta/valuewhen.js.map +1 -0
  924. package/dist/ta/visibleRangeVolumeProfile.d.ts +26 -0
  925. package/dist/ta/visibleRangeVolumeProfile.d.ts.map +1 -0
  926. package/dist/ta/visibleRangeVolumeProfile.js +107 -0
  927. package/dist/ta/visibleRangeVolumeProfile.js.map +1 -0
  928. package/dist/ta/vol.d.ts +23 -0
  929. package/dist/ta/vol.d.ts.map +1 -0
  930. package/dist/ta/vol.js +58 -0
  931. package/dist/ta/vol.js.map +1 -0
  932. package/dist/ta/volatilityStop.d.ts +36 -0
  933. package/dist/ta/volatilityStop.d.ts.map +1 -0
  934. package/dist/ta/volatilityStop.js +203 -0
  935. package/dist/ta/volatilityStop.js.map +1 -0
  936. package/dist/ta/vortex.d.ts +30 -0
  937. package/dist/ta/vortex.d.ts.map +1 -0
  938. package/dist/ta/vortex.js +210 -0
  939. package/dist/ta/vortex.js.map +1 -0
  940. package/dist/ta/vwap.d.ts +33 -0
  941. package/dist/ta/vwap.d.ts.map +1 -0
  942. package/dist/ta/vwap.js +138 -0
  943. package/dist/ta/vwap.js.map +1 -0
  944. package/dist/ta/vwma.d.ts +24 -0
  945. package/dist/ta/vwma.d.ts.map +1 -0
  946. package/dist/ta/vwma.js +112 -0
  947. package/dist/ta/vwma.js.map +1 -0
  948. package/dist/ta/williamsFractal.d.ts +43 -0
  949. package/dist/ta/williamsFractal.d.ts.map +1 -0
  950. package/dist/ta/williamsFractal.js +171 -0
  951. package/dist/ta/williamsFractal.js.map +1 -0
  952. package/dist/ta/williamsR.d.ts +24 -0
  953. package/dist/ta/williamsR.d.ts.map +1 -0
  954. package/dist/ta/williamsR.js +75 -0
  955. package/dist/ta/williamsR.js.map +1 -0
  956. package/dist/ta/wma.d.ts +24 -0
  957. package/dist/ta/wma.d.ts.map +1 -0
  958. package/dist/ta/wma.js +106 -0
  959. package/dist/ta/wma.js.map +1 -0
  960. package/dist/ta/zigZag.d.ts +40 -0
  961. package/dist/ta/zigZag.d.ts.map +1 -0
  962. package/dist/ta/zigZag.js +296 -0
  963. package/dist/ta/zigZag.js.map +1 -0
  964. package/dist/views/barstateView.d.ts +44 -0
  965. package/dist/views/barstateView.d.ts.map +1 -0
  966. package/dist/views/barstateView.js +27 -0
  967. package/dist/views/barstateView.js.map +1 -0
  968. package/dist/views/index.d.ts +37 -0
  969. package/dist/views/index.d.ts.map +1 -0
  970. package/dist/views/index.js +28 -0
  971. package/dist/views/index.js.map +1 -0
  972. package/dist/views/refreshRuntimeViews.d.ts +15 -0
  973. package/dist/views/refreshRuntimeViews.d.ts.map +1 -0
  974. package/dist/views/refreshRuntimeViews.js +29 -0
  975. package/dist/views/refreshRuntimeViews.js.map +1 -0
  976. package/dist/views/symInfoView.d.ts +42 -0
  977. package/dist/views/symInfoView.d.ts.map +1 -0
  978. package/dist/views/symInfoView.js +32 -0
  979. package/dist/views/symInfoView.js.map +1 -0
  980. package/dist/views/timeframeView.d.ts +17 -0
  981. package/dist/views/timeframeView.d.ts.map +1 -0
  982. package/dist/views/timeframeView.js +47 -0
  983. package/dist/views/timeframeView.js.map +1 -0
  984. package/package.json +46 -0
package/dist/ta/kst.js ADDED
@@ -0,0 +1,139 @@
1
+ // Copyright (c) 2026 Invinite. Licensed under the MIT License.
2
+ // See the LICENSE file in the repo root for full license text.
3
+ //
4
+ // Ported from invinite/src/components/trading-chart/indicators/kst.ts
5
+ // (commit 078f41fe2569d659d5aba726da8bcb5d3e2ced02, © Invinite).
6
+ // Re-licensed MIT for chartlang. See PLAN.md §3.1 for the
7
+ // provenance contract; the math is the reference, the code style is not.
8
+ // Structural choices (callsite-id slot, Series<T> proxy, replaceHead
9
+ // mode) follow chartlang's primitive shape — NOT invinite's
10
+ // IndicatorPlugin shape. Composition: four `ta.sma` sub-slots (one per
11
+ // smoothed ROC) + one `ta.sma` sub-slot for the signal line. The four
12
+ // percentage ROCs are computed inline against the parent's source
13
+ // ring (same convention as `coppock.ts` — `ta.change` emits absolute
14
+ // deltas, while KST needs percentage rate-of-change).
15
+ import { Float64RingBuffer } from "../ringBuffer.js";
16
+ import { ACTIVE_RUNTIME_CONTEXT } from "../runtimeContext.js";
17
+ import { makeSeriesView } from "../seriesView.js";
18
+ import { sma } from "./sma.js";
19
+ import { readSourceValue } from "./lib/sourceValue.js";
20
+ const DEFAULT_ROC1_LENGTH = 10;
21
+ const DEFAULT_ROC2_LENGTH = 15;
22
+ const DEFAULT_ROC3_LENGTH = 20;
23
+ const DEFAULT_ROC4_LENGTH = 30;
24
+ const DEFAULT_ROC1_SMOOTH = 10;
25
+ const DEFAULT_ROC2_SMOOTH = 10;
26
+ const DEFAULT_ROC3_SMOOTH = 10;
27
+ const DEFAULT_ROC4_SMOOTH = 15;
28
+ const DEFAULT_SIGNAL_LENGTH = 9;
29
+ function getCtx() {
30
+ const ctx = ACTIVE_RUNTIME_CONTEXT.current;
31
+ if (ctx === null) {
32
+ throw new Error("ta.kst called outside an active script step");
33
+ }
34
+ return ctx;
35
+ }
36
+ function pctRoc(current, lookback) {
37
+ if (!Number.isFinite(lookback) || lookback === 0 || !Number.isFinite(current)) {
38
+ return Number.NaN;
39
+ }
40
+ return (100 * (current - lookback)) / lookback;
41
+ }
42
+ function rocFromWindow(window, src, length) {
43
+ if (window.length <= length)
44
+ return Number.NaN;
45
+ return pctRoc(src, window.at(length));
46
+ }
47
+ /**
48
+ * Know Sure Thing (Martin Pring, 1992). Weighted sum of four SMA-
49
+ * smoothed percentage rate-of-change series plus an SMA signal line.
50
+ * Defaults `(10, 15, 20, 30, 10, 10, 10, 15, 9)` match Pring's
51
+ * canonical settings. Composes 4 `ta.sma` sub-slots
52
+ * (`${slotId}/r1Sma` .. `${slotId}/r4Sma`) for the smoothing layer
53
+ * plus one `ta.sma` sub-slot (`${slotId}/signalSma`) for the signal
54
+ * line. The percentage-ROC math is inline (mirrors `ta.coppock` —
55
+ * `ta.change` emits absolute deltas, not percentages).
56
+ *
57
+ * The user-facing `signal` Series IS the signalSma sub-slot's own
58
+ * Series view (no extra output buffer on the parent slot). The
59
+ * `kst` Series wraps the parent's own `kstBuf` ring. Result identity
60
+ * is captured on the first call and returned by reference thereafter.
61
+ *
62
+ * @formula rN[t] = sma(pctRoc(source[t], source[t − rocNLength]), rocNSmooth) for N in 1..4 ;
63
+ * kst[t] = r1 + 2·r2 + 3·r3 + 4·r4 ; NaN if any rN NaN ;
64
+ * signal = sma(kst, signalLength)
65
+ * @warmup max_N(rocNLength + rocNSmooth) + signalLength − 2
66
+ * @since 0.2
67
+ * @stable
68
+ *
69
+ * @example
70
+ * // import { ta } from "@invinite-org/chartlang-runtime";
71
+ * // const k = ta.kst("slot", bar.close);
72
+ * // plot(k.kst); plot(k.signal);
73
+ */
74
+ export function kst(slotId, source, opts) {
75
+ const ctx = getCtx();
76
+ const roc1Length = opts?.roc1Length ?? DEFAULT_ROC1_LENGTH;
77
+ const roc2Length = opts?.roc2Length ?? DEFAULT_ROC2_LENGTH;
78
+ const roc3Length = opts?.roc3Length ?? DEFAULT_ROC3_LENGTH;
79
+ const roc4Length = opts?.roc4Length ?? DEFAULT_ROC4_LENGTH;
80
+ const roc1Smooth = opts?.roc1Smooth ?? DEFAULT_ROC1_SMOOTH;
81
+ const roc2Smooth = opts?.roc2Smooth ?? DEFAULT_ROC2_SMOOTH;
82
+ const roc3Smooth = opts?.roc3Smooth ?? DEFAULT_ROC3_SMOOTH;
83
+ const roc4Smooth = opts?.roc4Smooth ?? DEFAULT_ROC4_SMOOTH;
84
+ const signalLength = opts?.signalLength ?? DEFAULT_SIGNAL_LENGTH;
85
+ const src = readSourceValue(source);
86
+ let slot = ctx.stream.taSlots.get(slotId);
87
+ if (slot === undefined) {
88
+ const capacity = ctx.stream.ohlcv.close.capacity;
89
+ const kstBuf = new Float64RingBuffer(capacity);
90
+ const lookbackCap = Math.max(roc1Length, roc2Length, roc3Length, roc4Length) + 1;
91
+ slot = {
92
+ result: null,
93
+ kstBuf,
94
+ kstSeries: makeSeriesView(kstBuf),
95
+ roc1Length,
96
+ roc2Length,
97
+ roc3Length,
98
+ roc4Length,
99
+ sourceWindow: new Float64RingBuffer(lookbackCap),
100
+ };
101
+ ctx.stream.taSlots.set(slotId, slot);
102
+ }
103
+ if (ctx.isTick) {
104
+ slot.sourceWindow.replaceHead(src);
105
+ }
106
+ else {
107
+ slot.sourceWindow.append(src);
108
+ }
109
+ const roc1 = rocFromWindow(slot.sourceWindow, src, slot.roc1Length);
110
+ const roc2 = rocFromWindow(slot.sourceWindow, src, slot.roc2Length);
111
+ const roc3 = rocFromWindow(slot.sourceWindow, src, slot.roc3Length);
112
+ const roc4 = rocFromWindow(slot.sourceWindow, src, slot.roc4Length);
113
+ const r1Series = sma(`${slotId}/r1Sma`, roc1, roc1Smooth);
114
+ const r2Series = sma(`${slotId}/r2Sma`, roc2, roc2Smooth);
115
+ const r3Series = sma(`${slotId}/r3Sma`, roc3, roc3Smooth);
116
+ const r4Series = sma(`${slotId}/r4Sma`, roc4, roc4Smooth);
117
+ const r1 = r1Series.current;
118
+ const r2 = r2Series.current;
119
+ const r3 = r3Series.current;
120
+ const r4 = r4Series.current;
121
+ const kstValue = Number.isFinite(r1) && Number.isFinite(r2) && Number.isFinite(r3) && Number.isFinite(r4)
122
+ ? r1 + 2 * r2 + 3 * r3 + 4 * r4
123
+ : Number.NaN;
124
+ if (ctx.isTick) {
125
+ slot.kstBuf.replaceHead(kstValue);
126
+ }
127
+ else {
128
+ slot.kstBuf.append(kstValue);
129
+ }
130
+ const signalSeries = sma(`${slotId}/signalSma`, kstValue, signalLength);
131
+ if (slot.result === null) {
132
+ slot.result = Object.freeze({
133
+ kst: slot.kstSeries,
134
+ signal: signalSeries,
135
+ });
136
+ }
137
+ return slot.result;
138
+ }
139
+ //# sourceMappingURL=kst.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kst.js","sourceRoot":"","sources":["../../src/ta/kst.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Wilder ADX from a pre-computed `+DI` / `-DI` pair. Computes
3
+ * `DX = 100 * |+DI - -DI| / (+DI + -DI)` per bar (falls back to `0`
4
+ * when both DIs are zero), then Wilder-smooths `DX` over `length`
5
+ * via the shared `wilderStep`.
6
+ *
7
+ * Warmup: `2 * length - 1`. Slots `[0, length - 1]` carry the DI
8
+ * warmup (callers feed NaN there); slots `[length, 2*length - 2]`
9
+ * accumulate the ADX seed sum; `out[2*length - 1]` is the first
10
+ * defined ADX value (mean of the first `length` DX samples).
11
+ *
12
+ * Mismatched input lengths or `length <= 0` yields an all-NaN
13
+ * buffer. Any non-finite DI in the seed window leaves the output
14
+ * NaN past the warmup — the Wilder recurrence cannot resume past
15
+ * a NaN seed.
16
+ *
17
+ * @formula dx[i] = 100 * |+DI - -DI| / (+DI + -DI) ;
18
+ * seed = mean(dx[length .. 2*length - 1]) ;
19
+ * out[i] = wilderStep(out[i-1], dx[i], length) ;
20
+ * outputs are clamped to [0, 100]
21
+ * @warmup 2 * length - 1
22
+ * @since 0.2
23
+ * @stable
24
+ * @example
25
+ * // import { adxFromDi } from "./adxFromDi";
26
+ * // const adx = adxFromDi(plusDi, minusDi, 14);
27
+ */
28
+ export declare function adxFromDi(plusDi: Float64Array, minusDi: Float64Array, length: number): Float64Array;
29
+ //# sourceMappingURL=adxFromDi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adxFromDi.d.ts","sourceRoot":"","sources":["../../../src/ta/lib/adxFromDi.ts"],"names":[],"mappings":"AAUA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,SAAS,CACrB,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,MAAM,GACf,YAAY,CAoCd"}
@@ -0,0 +1,72 @@
1
+ // Copyright (c) 2026 Invinite. Licensed under the MIT License.
2
+ // See the LICENSE file in the repo root for full license text.
3
+ //
4
+ // Ported from invinite/src/components/trading-chart/indicators/lib/adx-from-di.ts
5
+ // (commit 078f41fe2569d659d5aba726da8bcb5d3e2ced02, © Invinite).
6
+ // Re-licensed MIT for chartlang. See PLAN.md §3.1 for the
7
+ // provenance contract; the math is the reference, the code style is not.
8
+ import { wilderStep } from "./wilderSmoothing.js";
9
+ /**
10
+ * Wilder ADX from a pre-computed `+DI` / `-DI` pair. Computes
11
+ * `DX = 100 * |+DI - -DI| / (+DI + -DI)` per bar (falls back to `0`
12
+ * when both DIs are zero), then Wilder-smooths `DX` over `length`
13
+ * via the shared `wilderStep`.
14
+ *
15
+ * Warmup: `2 * length - 1`. Slots `[0, length - 1]` carry the DI
16
+ * warmup (callers feed NaN there); slots `[length, 2*length - 2]`
17
+ * accumulate the ADX seed sum; `out[2*length - 1]` is the first
18
+ * defined ADX value (mean of the first `length` DX samples).
19
+ *
20
+ * Mismatched input lengths or `length <= 0` yields an all-NaN
21
+ * buffer. Any non-finite DI in the seed window leaves the output
22
+ * NaN past the warmup — the Wilder recurrence cannot resume past
23
+ * a NaN seed.
24
+ *
25
+ * @formula dx[i] = 100 * |+DI - -DI| / (+DI + -DI) ;
26
+ * seed = mean(dx[length .. 2*length - 1]) ;
27
+ * out[i] = wilderStep(out[i-1], dx[i], length) ;
28
+ * outputs are clamped to [0, 100]
29
+ * @warmup 2 * length - 1
30
+ * @since 0.2
31
+ * @stable
32
+ * @example
33
+ * // import { adxFromDi } from "./adxFromDi";
34
+ * // const adx = adxFromDi(plusDi, minusDi, 14);
35
+ */
36
+ export function adxFromDi(plusDi, minusDi, length) {
37
+ const n = plusDi.length;
38
+ const out = new Float64Array(n);
39
+ out.fill(Number.NaN);
40
+ if (length <= 0 || n === 0 || minusDi.length !== n || n < 2 * length) {
41
+ return out;
42
+ }
43
+ const dx = new Float64Array(n);
44
+ dx.fill(Number.NaN);
45
+ for (let i = 0; i < n; i += 1) {
46
+ const p = plusDi[i];
47
+ const m = minusDi[i];
48
+ if (!Number.isFinite(p) || !Number.isFinite(m))
49
+ continue;
50
+ const sum = p + m;
51
+ dx[i] = sum === 0 ? 0 : (100 * Math.abs(p - m)) / sum;
52
+ }
53
+ const firstSeedIdx = 2 * length - 1;
54
+ let seedSum = 0;
55
+ for (let i = length; i <= firstSeedIdx; i += 1) {
56
+ const v = dx[i];
57
+ if (!Number.isFinite(v))
58
+ return out;
59
+ seedSum += v;
60
+ }
61
+ // dx is bounded by [0, 100] in exact arithmetic, but the seed mean
62
+ // and the Wilder recurrence can overshoot 100 by a few ulps — clamp.
63
+ out[firstSeedIdx] = Math.min(100, seedSum / length);
64
+ for (let i = firstSeedIdx + 1; i < n; i += 1) {
65
+ const v = dx[i];
66
+ if (!Number.isFinite(v))
67
+ return out;
68
+ out[i] = Math.min(100, wilderStep(out[i - 1], v, length));
69
+ }
70
+ return out;
71
+ }
72
+ //# sourceMappingURL=adxFromDi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adxFromDi.js","sourceRoot":"","sources":["../../../src/ta/lib/adxFromDi.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,+DAA+D;AAC/D,EAAE;AACF,kFAAkF;AAClF,mEAAmE;AACnE,0DAA0D;AAC1D,yEAAyE;AAEzE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,UAAU,SAAS,CACrB,MAAoB,EACpB,OAAqB,EACrB,MAAc;IAEd,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;IACxB,MAAM,GAAG,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;IAChC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACrB,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC;QACnE,OAAO,GAAG,CAAC;IACf,CAAC;IAED,MAAM,EAAE,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;IAC/B,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACpB,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAE,SAAS;QACzD,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QAClB,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IAC1D,CAAC;IAED,MAAM,YAAY,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC;IACpC,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC,IAAI,YAAY,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7C,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QAChB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAE,OAAO,GAAG,CAAC;QACpC,OAAO,IAAI,CAAC,CAAC;IACjB,CAAC;IACD,mEAAmE;IACnE,qEAAqE;IACrE,GAAG,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAAC,CAAC;IAEpD,KAAK,IAAI,CAAC,GAAG,YAAY,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3C,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QAChB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAE,OAAO,GAAG,CAAC;QACpC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO,GAAG,CAAC;AACf,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * TradingView-parity bar-shift helper. `offset === 0` returns the
3
+ * same array reference so callers can keep a no-shift call in the
4
+ * fast path without an allocation. Positive `offset` shifts forward
5
+ * in time (output[i] = values[i − offset], NaN where out of range);
6
+ * negative shifts backward.
7
+ *
8
+ * Phase 1 always passes `offset = 0` — the helper exists so Phase 4's
9
+ * universal `opts.offset` (§9.1) is a zero-line wire-up.
10
+ *
11
+ * @formula out[i] = values[i − offset] (NaN when i − offset ∉ [0, n))
12
+ * @since 0.1
13
+ * @stable
14
+ * @example
15
+ * // import { applyOffsetToSeries } from "./applyOffset";
16
+ * // const shifted = applyOffsetToSeries(values, 2);
17
+ */
18
+ export declare function applyOffsetToSeries(values: Float64Array, offset: number): Float64Array;
19
+ //# sourceMappingURL=applyOffset.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"applyOffset.d.ts","sourceRoot":"","sources":["../../../src/ta/lib/applyOffset.ts"],"names":[],"mappings":"AAQA;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,CAUtF"}
@@ -0,0 +1,38 @@
1
+ // Copyright (c) 2026 Invinite. Licensed under the MIT License.
2
+ // See the LICENSE file in the repo root for full license text.
3
+ //
4
+ // Ported from invinite/src/components/trading-chart/indicators/lib/apply-offset.ts
5
+ // (commit d2d1043c1b039f66d2f3674526d303d31cf2f1e0, © Invinite).
6
+ // Re-licensed MIT for chartlang. See PLAN.md §3.1 for the
7
+ // provenance contract; the math is the reference, the code style is not.
8
+ /**
9
+ * TradingView-parity bar-shift helper. `offset === 0` returns the
10
+ * same array reference so callers can keep a no-shift call in the
11
+ * fast path without an allocation. Positive `offset` shifts forward
12
+ * in time (output[i] = values[i − offset], NaN where out of range);
13
+ * negative shifts backward.
14
+ *
15
+ * Phase 1 always passes `offset = 0` — the helper exists so Phase 4's
16
+ * universal `opts.offset` (§9.1) is a zero-line wire-up.
17
+ *
18
+ * @formula out[i] = values[i − offset] (NaN when i − offset ∉ [0, n))
19
+ * @since 0.1
20
+ * @stable
21
+ * @example
22
+ * // import { applyOffsetToSeries } from "./applyOffset";
23
+ * // const shifted = applyOffsetToSeries(values, 2);
24
+ */
25
+ export function applyOffsetToSeries(values, offset) {
26
+ if (offset === 0 || values.length === 0)
27
+ return values;
28
+ const n = values.length;
29
+ const out = new Float64Array(n);
30
+ out.fill(Number.NaN);
31
+ for (let i = 0; i < n; i += 1) {
32
+ const src = i - offset;
33
+ if (src >= 0 && src < n)
34
+ out[i] = values[src];
35
+ }
36
+ return out;
37
+ }
38
+ //# sourceMappingURL=applyOffset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"applyOffset.js","sourceRoot":"","sources":["../../../src/ta/lib/applyOffset.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,+DAA+D;AAC/D,EAAE;AACF,mFAAmF;AACnF,mEAAmE;AACnE,0DAA0D;AAC1D,yEAAyE;AAEzE;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAoB,EAAE,MAAc;IACpE,IAAI,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IACvD,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;IACxB,MAAM,GAAG,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;IAChC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC;QACvB,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;YAAE,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC"}
@@ -0,0 +1,25 @@
1
+ import type { MaType } from "./maTypes.js";
2
+ /**
3
+ * Volume-aware MA dispatcher over a `Float64Array` input. Routes
4
+ * `"vwma"` through {@link vwmaFloat64} (requires a parallel volume
5
+ * array); every other kind routes through {@link computeMaOfFloat64}.
6
+ * Mirrors invinite's `computeMaSeries`, but operates on flat
7
+ * `Float64Array` source + volume instead of `ChartCandle[]` so the
8
+ * helper stays decoupled from the bar-shape.
9
+ *
10
+ * Throws a `TypeError` with `code = "ta-lib-vwma-requires-volume"` if
11
+ * `kind === "vwma"` and `volume === null` — calling VWMA without a
12
+ * volume stream is a programmer error, not a runtime data condition.
13
+ * For non-VWMA kinds, `volume` is ignored.
14
+ *
15
+ * @formula kind === "vwma" → vwmaFloat64(source, volume, length) ;
16
+ * otherwise → computeMaOfFloat64(kind, source, length)
17
+ * @since 0.2
18
+ * @stable
19
+ * @example
20
+ * // import { computeMa } from "./computeMa";
21
+ * // const ma = computeMa("vwma", close, volume, 20);
22
+ * // const sma20 = computeMa("sma", close, null, 20);
23
+ */
24
+ export declare function computeMa(kind: MaType, source: Float64Array, length: number, volume: Float64Array | null): Float64Array;
25
+ //# sourceMappingURL=computeMa.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"computeMa.d.ts","sourceRoot":"","sources":["../../../src/ta/lib/computeMa.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAU3C;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,SAAS,CACrB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,GAAG,IAAI,GAC5B,YAAY,CAYd"}
@@ -0,0 +1,43 @@
1
+ // Copyright (c) 2026 Invinite. Licensed under the MIT License.
2
+ // See the LICENSE file in the repo root for full license text.
3
+ //
4
+ // Ported from invinite/src/components/trading-chart/indicators/lib/compute-ma.ts
5
+ // (commit 078f41fe2569d659d5aba726da8bcb5d3e2ced02, © Invinite).
6
+ // Re-licensed MIT for chartlang. See PLAN.md §3.1 for the
7
+ // provenance contract; the math is the reference, the code style is not.
8
+ import { computeMaOfFloat64 } from "./computeMaOfFloat64.js";
9
+ import { vwmaFloat64 } from "./vwmaFloat64.js";
10
+ /**
11
+ * Volume-aware MA dispatcher over a `Float64Array` input. Routes
12
+ * `"vwma"` through {@link vwmaFloat64} (requires a parallel volume
13
+ * array); every other kind routes through {@link computeMaOfFloat64}.
14
+ * Mirrors invinite's `computeMaSeries`, but operates on flat
15
+ * `Float64Array` source + volume instead of `ChartCandle[]` so the
16
+ * helper stays decoupled from the bar-shape.
17
+ *
18
+ * Throws a `TypeError` with `code = "ta-lib-vwma-requires-volume"` if
19
+ * `kind === "vwma"` and `volume === null` — calling VWMA without a
20
+ * volume stream is a programmer error, not a runtime data condition.
21
+ * For non-VWMA kinds, `volume` is ignored.
22
+ *
23
+ * @formula kind === "vwma" → vwmaFloat64(source, volume, length) ;
24
+ * otherwise → computeMaOfFloat64(kind, source, length)
25
+ * @since 0.2
26
+ * @stable
27
+ * @example
28
+ * // import { computeMa } from "./computeMa";
29
+ * // const ma = computeMa("vwma", close, volume, 20);
30
+ * // const sma20 = computeMa("sma", close, null, 20);
31
+ */
32
+ export function computeMa(kind, source, length, volume) {
33
+ if (kind === "vwma") {
34
+ if (volume === null) {
35
+ const err = new TypeError("computeMa: vwma requires a non-null volume array");
36
+ err.code = "ta-lib-vwma-requires-volume";
37
+ throw err;
38
+ }
39
+ return vwmaFloat64(source, volume, length);
40
+ }
41
+ return computeMaOfFloat64(kind, source, length);
42
+ }
43
+ //# sourceMappingURL=computeMa.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"computeMa.js","sourceRoot":"","sources":["../../../src/ta/lib/computeMa.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,+DAA+D;AAC/D,EAAE;AACF,iFAAiF;AACjF,mEAAmE;AACnE,0DAA0D;AAC1D,yEAAyE;AAEzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAS/C;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,SAAS,CACrB,IAAY,EACZ,MAAoB,EACpB,MAAc,EACd,MAA2B;IAE3B,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QAClB,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YAClB,MAAM,GAAG,GAAG,IAAI,SAAS,CACrB,kDAAkD,CAC1B,CAAC;YAC7B,GAAG,CAAC,IAAI,GAAG,6BAA6B,CAAC;YACzC,MAAM,GAAG,CAAC;QACd,CAAC;QACD,OAAO,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AACpD,CAAC"}
@@ -0,0 +1,24 @@
1
+ import type { MaTypeNoVolume } from "./maTypes.js";
2
+ /**
3
+ * Chained-MA dispatcher over a `Float64Array` input. Routes by
4
+ * `MaTypeNoVolume` to the matching per-kind core — never re-implements
5
+ * the math. Consumed by chained MAs (MACD signal-of-MACD, PPO /
6
+ * PVO signal-of-oscillator, RSI smoothing-MA over RSI) and by every
7
+ * primitive that exposes an `maType` opt over a derived Float64 source
8
+ * (BB middle override, Keltner middle, Envelope middle, Chop
9
+ * denominator, Donchian midpoint).
10
+ *
11
+ * `"vwma"` is excluded at the type level: VWMA needs a parallel
12
+ * volume array and derived Float64 chain inputs carry no matching
13
+ * volume stream. Volume-aware callers route through {@link computeMa}.
14
+ *
15
+ * @formula kind switch over MaTypeNoVolume → delegates to
16
+ * {sma,ema,wma,smma}Float64(source, length)
17
+ * @since 0.2
18
+ * @stable
19
+ * @example
20
+ * // import { computeMaOfFloat64 } from "./computeMaOfFloat64";
21
+ * // const sig = computeMaOfFloat64("ema", macdLine, 9);
22
+ */
23
+ export declare function computeMaOfFloat64(kind: MaTypeNoVolume, source: Float64Array, length: number): Float64Array;
24
+ //# sourceMappingURL=computeMaOfFloat64.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"computeMaOfFloat64.d.ts","sourceRoot":"","sources":["../../../src/ta/lib/computeMaOfFloat64.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAKnD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,kBAAkB,CAC9B,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,MAAM,GACf,YAAY,CAWd"}
@@ -0,0 +1,45 @@
1
+ // Copyright (c) 2026 Invinite. Licensed under the MIT License.
2
+ // See the LICENSE file in the repo root for full license text.
3
+ //
4
+ // Ported from invinite/src/components/trading-chart/indicators/lib/compute-ma-of-float64.ts
5
+ // (commit 078f41fe2569d659d5aba726da8bcb5d3e2ced02, © Invinite).
6
+ // Re-licensed MIT for chartlang. See PLAN.md §3.1 for the
7
+ // provenance contract; the math is the reference, the code style is not.
8
+ import { computeEmaOfFloat64 } from "./emaFloat64.js";
9
+ import { computeSmaOfFloat64 } from "./smaFloat64.js";
10
+ import { smmaFloat64 } from "./smmaFloat64.js";
11
+ import { wmaFloat64 } from "./wmaFloat64.js";
12
+ /**
13
+ * Chained-MA dispatcher over a `Float64Array` input. Routes by
14
+ * `MaTypeNoVolume` to the matching per-kind core — never re-implements
15
+ * the math. Consumed by chained MAs (MACD signal-of-MACD, PPO /
16
+ * PVO signal-of-oscillator, RSI smoothing-MA over RSI) and by every
17
+ * primitive that exposes an `maType` opt over a derived Float64 source
18
+ * (BB middle override, Keltner middle, Envelope middle, Chop
19
+ * denominator, Donchian midpoint).
20
+ *
21
+ * `"vwma"` is excluded at the type level: VWMA needs a parallel
22
+ * volume array and derived Float64 chain inputs carry no matching
23
+ * volume stream. Volume-aware callers route through {@link computeMa}.
24
+ *
25
+ * @formula kind switch over MaTypeNoVolume → delegates to
26
+ * {sma,ema,wma,smma}Float64(source, length)
27
+ * @since 0.2
28
+ * @stable
29
+ * @example
30
+ * // import { computeMaOfFloat64 } from "./computeMaOfFloat64";
31
+ * // const sig = computeMaOfFloat64("ema", macdLine, 9);
32
+ */
33
+ export function computeMaOfFloat64(kind, source, length) {
34
+ switch (kind) {
35
+ case "sma":
36
+ return computeSmaOfFloat64(source, length);
37
+ case "ema":
38
+ return computeEmaOfFloat64(source, length);
39
+ case "wma":
40
+ return wmaFloat64(source, length);
41
+ case "smma":
42
+ return smmaFloat64(source, length);
43
+ }
44
+ }
45
+ //# sourceMappingURL=computeMaOfFloat64.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"computeMaOfFloat64.js","sourceRoot":"","sources":["../../../src/ta/lib/computeMaOfFloat64.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,+DAA+D;AAC/D,EAAE;AACF,4FAA4F;AAC5F,mEAAmE;AACnE,0DAA0D;AAC1D,yEAAyE;AAEzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,kBAAkB,CAC9B,IAAoB,EACpB,MAAoB,EACpB,MAAc;IAEd,QAAQ,IAAI,EAAE,CAAC;QACX,KAAK,KAAK;YACN,OAAO,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/C,KAAK,KAAK;YACN,OAAO,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/C,KAAK,KAAK;YACN,OAAO,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACtC,KAAK,MAAM;YACP,OAAO,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;AACL,CAAC"}
@@ -0,0 +1,90 @@
1
+ /**
2
+ * Incremental Wilder-directional state shared by `ta.dmi` and
3
+ * `ta.adx`. Tracks the seed-window accumulators + the smoothed
4
+ * running values, plus the "previous-previous" snapshots the tick
5
+ * replay needs to recompute the head against the prior closed bar.
6
+ *
7
+ * @formula N/A — record type for {@link initDirectionalState}
8
+ * @since 0.2
9
+ * @stable
10
+ * @example
11
+ * // const s: DirectionalState = initDirectionalState(14);
12
+ */
13
+ export type DirectionalState = {
14
+ readonly length: number;
15
+ /** Number of CLOSED bars seen so far (counts every close-side step). */
16
+ barCount: number;
17
+ prevHigh: number;
18
+ prevLow: number;
19
+ prevClose: number;
20
+ /** `prevHigh` / `prevLow` / `prevClose` as of the bar before the
21
+ * current bar — frozen by the prior close-side advance so tick
22
+ * replay can recompute against the previous closed state. */
23
+ prevPrevHigh: number;
24
+ prevPrevLow: number;
25
+ prevPrevClose: number;
26
+ seedPlusDm: number;
27
+ seedMinusDm: number;
28
+ seedTr: number;
29
+ smoothedPlusDm: number;
30
+ smoothedMinusDm: number;
31
+ smoothedTr: number;
32
+ /** Smoothed state captured at the prior close — used by tick replay. */
33
+ prevClosedSmoothedPlusDm: number;
34
+ prevClosedSmoothedMinusDm: number;
35
+ prevClosedSmoothedTr: number;
36
+ plusDi: number;
37
+ minusDi: number;
38
+ };
39
+ /**
40
+ * Allocate a fresh directional-state record. Shared by `ta.dmi` and
41
+ * `ta.adx`. Exported so the ADX primitive can fold onto the same
42
+ * recurrence without duplicating the field set.
43
+ *
44
+ * @formula N/A — state constructor (zero / NaN initializers)
45
+ * @since 0.2
46
+ * @stable
47
+ * @example
48
+ * // const s = initDirectionalState(14);
49
+ */
50
+ export declare function initDirectionalState(length: number): DirectionalState;
51
+ /**
52
+ * Fold the new closed bar into the directional state. Mutates
53
+ * `dirState` in place and returns the freshly computed `+DI` /
54
+ * `-DI` pair (NaN until the seed window completes). Shared by
55
+ * `ta.dmi` and `ta.adx`. The returned pair is also written back
56
+ * to `dirState.plusDi` / `dirState.minusDi` for the consumer's
57
+ * downstream DX computation.
58
+ *
59
+ * @formula See {@link wilderDirectional} (lib/) for the per-step
60
+ * +DM / -DM / TR formulas; this routine inlines the same
61
+ * recurrence in a single-pass mutable form.
62
+ * @warmup length + 1 (first defined DI at barCount === length + 1)
63
+ * @since 0.2
64
+ * @stable
65
+ * @example
66
+ * // const { plusDi, minusDi } = advanceDirectionalClose(s, h, l, c);
67
+ */
68
+ export declare function advanceDirectionalClose(dirState: DirectionalState, high: number, low: number, close: number): {
69
+ plusDi: number;
70
+ minusDi: number;
71
+ };
72
+ /**
73
+ * Replay the latest TR / DM / DI against the FROZEN prior-closed
74
+ * smoothed state. Does NOT mutate `dirState` (the consumer's
75
+ * close-side advance owns mutation). Returns the head DI pair the
76
+ * primitive should write to its output buffer.
77
+ *
78
+ * @formula Same recurrence as {@link advanceDirectionalClose}, but
79
+ * applied against `prevClosedSmoothed*` snapshots so the
80
+ * current bar can be replaced rather than appended.
81
+ * @since 0.2
82
+ * @stable
83
+ * @example
84
+ * // const di = tickDirectional(s, h, l, c);
85
+ */
86
+ export declare function tickDirectional(dirState: DirectionalState, high: number, low: number, close: number): {
87
+ plusDi: number;
88
+ minusDi: number;
89
+ };
90
+ //# sourceMappingURL=directionalState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"directionalState.d.ts","sourceRoot":"","sources":["../../../src/ta/lib/directionalState.ts"],"names":[],"mappings":"AAUA;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,wEAAwE;IACxE,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB;;iEAE6D;IAC7D,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,wEAAwE;IACxE,wBAAwB,EAAE,MAAM,CAAC;IACjC,yBAAyB,EAAE,MAAM,CAAC;IAClC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAsBrE;AAyBD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,uBAAuB,CACnC,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,GACd;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAqFrC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAC3B,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,GACd;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAwCrC"}