openalgo-script 0.1.0-alpha.1 → 0.2.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 (990) hide show
  1. package/CHANGELOG.md +1200 -0
  2. package/README.md +49 -28
  3. package/dist/adapters/charts/alerts.d.ts +70 -0
  4. package/dist/adapters/charts/alerts.d.ts.map +1 -0
  5. package/dist/adapters/charts/alerts.js +52 -0
  6. package/dist/adapters/charts/alerts.js.map +1 -0
  7. package/dist/adapters/charts/bars.d.ts +39 -0
  8. package/dist/adapters/charts/bars.d.ts.map +1 -0
  9. package/dist/adapters/charts/bars.js +32 -0
  10. package/dist/adapters/charts/bars.js.map +1 -0
  11. package/dist/adapters/charts/candles.d.ts +40 -0
  12. package/dist/adapters/charts/candles.d.ts.map +1 -0
  13. package/dist/adapters/charts/candles.js +85 -0
  14. package/dist/adapters/charts/candles.js.map +1 -0
  15. package/dist/adapters/charts/colours.d.ts +47 -0
  16. package/dist/adapters/charts/colours.d.ts.map +1 -0
  17. package/dist/adapters/charts/colours.js +80 -0
  18. package/dist/adapters/charts/colours.js.map +1 -0
  19. package/dist/adapters/charts/columns.d.ts +37 -0
  20. package/dist/adapters/charts/columns.d.ts.map +1 -0
  21. package/dist/adapters/charts/columns.js +56 -0
  22. package/dist/adapters/charts/columns.js.map +1 -0
  23. package/dist/adapters/charts/contract.d.ts +278 -0
  24. package/dist/adapters/charts/contract.d.ts.map +1 -0
  25. package/dist/adapters/charts/contract.js +2 -0
  26. package/dist/adapters/charts/contract.js.map +1 -0
  27. package/dist/adapters/charts/descriptor.d.ts +48 -0
  28. package/dist/adapters/charts/descriptor.d.ts.map +1 -0
  29. package/dist/adapters/charts/descriptor.js +111 -0
  30. package/dist/adapters/charts/descriptor.js.map +1 -0
  31. package/dist/adapters/charts/drawings.d.ts +43 -0
  32. package/dist/adapters/charts/drawings.d.ts.map +1 -0
  33. package/dist/adapters/charts/drawings.js +172 -0
  34. package/dist/adapters/charts/drawings.js.map +1 -0
  35. package/dist/adapters/charts/errors.d.ts +28 -0
  36. package/dist/adapters/charts/errors.d.ts.map +1 -0
  37. package/dist/adapters/charts/errors.js +21 -0
  38. package/dist/adapters/charts/errors.js.map +1 -0
  39. package/dist/adapters/charts/fields.d.ts +33 -0
  40. package/dist/adapters/charts/fields.d.ts.map +1 -0
  41. package/dist/adapters/charts/fields.js +51 -0
  42. package/dist/adapters/charts/fields.js.map +1 -0
  43. package/dist/adapters/charts/fills.d.ts +23 -0
  44. package/dist/adapters/charts/fills.d.ts.map +1 -0
  45. package/dist/adapters/charts/fills.js +48 -0
  46. package/dist/adapters/charts/fills.js.map +1 -0
  47. package/dist/adapters/charts/index.d.ts +37 -0
  48. package/dist/adapters/charts/index.d.ts.map +1 -0
  49. package/dist/adapters/charts/index.js +33 -0
  50. package/dist/adapters/charts/index.js.map +1 -0
  51. package/dist/adapters/charts/levels.d.ts +39 -0
  52. package/dist/adapters/charts/levels.d.ts.map +1 -0
  53. package/dist/adapters/charts/levels.js +61 -0
  54. package/dist/adapters/charts/levels.js.map +1 -0
  55. package/dist/adapters/charts/markers.d.ts +41 -0
  56. package/dist/adapters/charts/markers.d.ts.map +1 -0
  57. package/dist/adapters/charts/markers.js +75 -0
  58. package/dist/adapters/charts/markers.js.map +1 -0
  59. package/dist/adapters/charts/paint.d.ts +61 -0
  60. package/dist/adapters/charts/paint.d.ts.map +1 -0
  61. package/dist/adapters/charts/paint.js +47 -0
  62. package/dist/adapters/charts/paint.js.map +1 -0
  63. package/dist/adapters/charts/plots.d.ts +39 -0
  64. package/dist/adapters/charts/plots.d.ts.map +1 -0
  65. package/dist/adapters/charts/plots.js +117 -0
  66. package/dist/adapters/charts/plots.js.map +1 -0
  67. package/dist/adapters/charts/produced.d.ts +57 -0
  68. package/dist/adapters/charts/produced.d.ts.map +1 -0
  69. package/dist/adapters/charts/produced.js +11 -0
  70. package/dist/adapters/charts/produced.js.map +1 -0
  71. package/dist/adapters/charts/requests.d.ts +114 -0
  72. package/dist/adapters/charts/requests.d.ts.map +1 -0
  73. package/dist/adapters/charts/requests.js +277 -0
  74. package/dist/adapters/charts/requests.js.map +1 -0
  75. package/dist/adapters/charts/run.d.ts +147 -0
  76. package/dist/adapters/charts/run.d.ts.map +1 -0
  77. package/dist/adapters/charts/run.js +148 -0
  78. package/dist/adapters/charts/run.js.map +1 -0
  79. package/dist/adapters/charts/settings.d.ts +78 -0
  80. package/dist/adapters/charts/settings.d.ts.map +1 -0
  81. package/dist/adapters/charts/settings.js +225 -0
  82. package/dist/adapters/charts/settings.js.map +1 -0
  83. package/dist/adapters/charts/surfaces.d.ts +204 -0
  84. package/dist/adapters/charts/surfaces.d.ts.map +1 -0
  85. package/dist/adapters/charts/surfaces.js +2 -0
  86. package/dist/adapters/charts/surfaces.js.map +1 -0
  87. package/dist/adapters/charts/tables.d.ts +65 -0
  88. package/dist/adapters/charts/tables.d.ts.map +1 -0
  89. package/dist/adapters/charts/tables.js +84 -0
  90. package/dist/adapters/charts/tables.js.map +1 -0
  91. package/dist/core/catalogue/catalogue.generated.d.ts +98 -10
  92. package/dist/core/catalogue/catalogue.generated.d.ts.map +1 -1
  93. package/dist/core/catalogue/catalogue.generated.js +17 -9
  94. package/dist/core/catalogue/catalogue.generated.js.map +1 -1
  95. package/dist/core/catalogue/values.generated.d.ts +25 -0
  96. package/dist/core/catalogue/values.generated.d.ts.map +1 -1
  97. package/dist/core/check/arguments.d.ts +41 -0
  98. package/dist/core/check/arguments.d.ts.map +1 -0
  99. package/dist/core/check/arguments.js +84 -0
  100. package/dist/core/check/arguments.js.map +1 -0
  101. package/dist/core/check/call-sites.d.ts +22 -0
  102. package/dist/core/check/call-sites.d.ts.map +1 -0
  103. package/dist/core/check/call-sites.js +329 -0
  104. package/dist/core/check/call-sites.js.map +1 -0
  105. package/dist/core/check/call-warmup.d.ts +37 -0
  106. package/dist/core/check/call-warmup.d.ts.map +1 -0
  107. package/dist/core/check/call-warmup.js +97 -0
  108. package/dist/core/check/call-warmup.js.map +1 -0
  109. package/dist/core/check/calls.d.ts +33 -0
  110. package/dist/core/check/calls.d.ts.map +1 -0
  111. package/dist/core/check/calls.js +348 -0
  112. package/dist/core/check/calls.js.map +1 -0
  113. package/dist/core/check/check.d.ts +23 -0
  114. package/dist/core/check/check.d.ts.map +1 -0
  115. package/dist/core/check/check.js +163 -0
  116. package/dist/core/check/check.js.map +1 -0
  117. package/dist/core/check/checked.d.ts +198 -0
  118. package/dist/core/check/checked.d.ts.map +1 -0
  119. package/dist/core/check/checked.js +19 -0
  120. package/dist/core/check/checked.js.map +1 -0
  121. package/dist/core/check/checker.d.ts +182 -0
  122. package/dist/core/check/checker.d.ts.map +1 -0
  123. package/dist/core/check/checker.js +280 -0
  124. package/dist/core/check/checker.js.map +1 -0
  125. package/dist/core/check/conditional.d.ts +35 -0
  126. package/dist/core/check/conditional.d.ts.map +1 -0
  127. package/dist/core/check/conditional.js +100 -0
  128. package/dist/core/check/conditional.js.map +1 -0
  129. package/dist/core/check/constant.d.ts +47 -0
  130. package/dist/core/check/constant.d.ts.map +1 -0
  131. package/dist/core/check/constant.js +101 -0
  132. package/dist/core/check/constant.js.map +1 -0
  133. package/dist/core/check/declaration.d.ts +33 -0
  134. package/dist/core/check/declaration.d.ts.map +1 -0
  135. package/dist/core/check/declaration.js +181 -0
  136. package/dist/core/check/declaration.js.map +1 -0
  137. package/dist/core/check/expressions.d.ts +36 -0
  138. package/dist/core/check/expressions.d.ts.map +1 -0
  139. package/dist/core/check/expressions.js +398 -0
  140. package/dist/core/check/expressions.js.map +1 -0
  141. package/dist/core/check/functions.d.ts +31 -0
  142. package/dist/core/check/functions.d.ts.map +1 -0
  143. package/dist/core/check/functions.js +238 -0
  144. package/dist/core/check/functions.js.map +1 -0
  145. package/dist/core/check/handles.d.ts +48 -0
  146. package/dist/core/check/handles.d.ts.map +1 -0
  147. package/dist/core/check/handles.js +43 -0
  148. package/dist/core/check/handles.js.map +1 -0
  149. package/dist/core/check/index.d.ts +30 -0
  150. package/dist/core/check/index.d.ts.map +1 -0
  151. package/dist/core/check/index.js +26 -0
  152. package/dist/core/check/index.js.map +1 -0
  153. package/dist/core/check/library-bars.d.ts +7 -0
  154. package/dist/core/check/library-bars.d.ts.map +1 -0
  155. package/dist/core/check/library-bars.js +181 -0
  156. package/dist/core/check/library-bars.js.map +1 -0
  157. package/dist/core/check/library-orders.d.ts +5 -0
  158. package/dist/core/check/library-orders.d.ts.map +1 -0
  159. package/dist/core/check/library-orders.js +250 -0
  160. package/dist/core/check/library-orders.js.map +1 -0
  161. package/dist/core/check/library-output.d.ts +7 -0
  162. package/dist/core/check/library-output.d.ts.map +1 -0
  163. package/dist/core/check/library-output.js +195 -0
  164. package/dist/core/check/library-output.js.map +1 -0
  165. package/dist/core/check/library-series.d.ts +3 -0
  166. package/dist/core/check/library-series.d.ts.map +1 -0
  167. package/dist/core/check/library-series.js +415 -0
  168. package/dist/core/check/library-series.js.map +1 -0
  169. package/dist/core/check/library.d.ts +204 -0
  170. package/dist/core/check/library.d.ts.map +1 -0
  171. package/dist/core/check/library.js +198 -0
  172. package/dist/core/check/library.js.map +1 -0
  173. package/dist/core/check/literals.d.ts +19 -0
  174. package/dist/core/check/literals.d.ts.map +1 -0
  175. package/dist/core/check/literals.js +22 -0
  176. package/dist/core/check/literals.js.map +1 -0
  177. package/dist/core/check/outputs.d.ts +31 -0
  178. package/dist/core/check/outputs.d.ts.map +1 -0
  179. package/dist/core/check/outputs.js +113 -0
  180. package/dist/core/check/outputs.js.map +1 -0
  181. package/dist/core/check/statements.d.ts +25 -0
  182. package/dist/core/check/statements.d.ts.map +1 -0
  183. package/dist/core/check/statements.js +377 -0
  184. package/dist/core/check/statements.js.map +1 -0
  185. package/dist/core/check/suggest.d.ts +25 -0
  186. package/dist/core/check/suggest.d.ts.map +1 -0
  187. package/dist/core/check/suggest.js +61 -0
  188. package/dist/core/check/suggest.js.map +1 -0
  189. package/dist/core/check/surface.d.ts +38 -0
  190. package/dist/core/check/surface.d.ts.map +1 -0
  191. package/dist/core/check/surface.js +100 -0
  192. package/dist/core/check/surface.js.map +1 -0
  193. package/dist/core/check/tags.d.ts +4 -0
  194. package/dist/core/check/tags.d.ts.map +1 -0
  195. package/dist/core/check/tags.js +54 -0
  196. package/dist/core/check/tags.js.map +1 -0
  197. package/dist/core/check/types.d.ts +153 -0
  198. package/dist/core/check/types.d.ts.map +1 -0
  199. package/dist/core/check/types.js +221 -0
  200. package/dist/core/check/types.js.map +1 -0
  201. package/dist/core/check/warmup.d.ts +73 -0
  202. package/dist/core/check/warmup.d.ts.map +1 -0
  203. package/dist/core/check/warmup.js +62 -0
  204. package/dist/core/check/warmup.js.map +1 -0
  205. package/dist/core/diagnostics/collector.d.ts +12 -0
  206. package/dist/core/diagnostics/collector.d.ts.map +1 -1
  207. package/dist/core/diagnostics/collector.js +27 -1
  208. package/dist/core/diagnostics/collector.js.map +1 -1
  209. package/dist/core/emit/calls.d.ts +38 -0
  210. package/dist/core/emit/calls.d.ts.map +1 -0
  211. package/dist/core/emit/calls.js +347 -0
  212. package/dist/core/emit/calls.js.map +1 -0
  213. package/dist/core/emit/canonical.d.ts +39 -0
  214. package/dist/core/emit/canonical.d.ts.map +1 -0
  215. package/dist/core/emit/canonical.js +71 -0
  216. package/dist/core/emit/canonical.js.map +1 -0
  217. package/dist/core/emit/channels.d.ts +28 -0
  218. package/dist/core/emit/channels.d.ts.map +1 -0
  219. package/dist/core/emit/channels.js +110 -0
  220. package/dist/core/emit/channels.js.map +1 -0
  221. package/dist/core/emit/code.d.ts +75 -0
  222. package/dist/core/emit/code.d.ts.map +1 -0
  223. package/dist/core/emit/code.js +104 -0
  224. package/dist/core/emit/code.js.map +1 -0
  225. package/dist/core/emit/colours.d.ts +35 -0
  226. package/dist/core/emit/colours.d.ts.map +1 -0
  227. package/dist/core/emit/colours.js +50 -0
  228. package/dist/core/emit/colours.js.map +1 -0
  229. package/dist/core/emit/context.d.ts +271 -0
  230. package/dist/core/emit/context.d.ts.map +1 -0
  231. package/dist/core/emit/context.js +358 -0
  232. package/dist/core/emit/context.js.map +1 -0
  233. package/dist/core/emit/defaults.d.ts +45 -0
  234. package/dist/core/emit/defaults.d.ts.map +1 -0
  235. package/dist/core/emit/defaults.js +116 -0
  236. package/dist/core/emit/defaults.js.map +1 -0
  237. package/dist/core/emit/emit.d.ts +13 -0
  238. package/dist/core/emit/emit.d.ts.map +1 -0
  239. package/dist/core/emit/emit.js +281 -0
  240. package/dist/core/emit/emit.js.map +1 -0
  241. package/dist/core/emit/events.d.ts +21 -0
  242. package/dist/core/emit/events.d.ts.map +1 -0
  243. package/dist/core/emit/events.js +112 -0
  244. package/dist/core/emit/events.js.map +1 -0
  245. package/dist/core/emit/expressions.d.ts +23 -0
  246. package/dist/core/emit/expressions.d.ts.map +1 -0
  247. package/dist/core/emit/expressions.js +253 -0
  248. package/dist/core/emit/expressions.js.map +1 -0
  249. package/dist/core/emit/functions.d.ts +30 -0
  250. package/dist/core/emit/functions.d.ts.map +1 -0
  251. package/dist/core/emit/functions.js +171 -0
  252. package/dist/core/emit/functions.js.map +1 -0
  253. package/dist/core/emit/gaps.d.ts +34 -0
  254. package/dist/core/emit/gaps.d.ts.map +1 -0
  255. package/dist/core/emit/gaps.js +16 -0
  256. package/dist/core/emit/gaps.js.map +1 -0
  257. package/dist/core/emit/index.d.ts +29 -0
  258. package/dist/core/emit/index.d.ts.map +1 -0
  259. package/dist/core/emit/index.js +23 -0
  260. package/dist/core/emit/index.js.map +1 -0
  261. package/dist/core/emit/inputs.d.ts +47 -0
  262. package/dist/core/emit/inputs.d.ts.map +1 -0
  263. package/dist/core/emit/inputs.js +150 -0
  264. package/dist/core/emit/inputs.js.map +1 -0
  265. package/dist/core/emit/layout.d.ts +73 -0
  266. package/dist/core/emit/layout.d.ts.map +1 -0
  267. package/dist/core/emit/layout.js +126 -0
  268. package/dist/core/emit/layout.js.map +1 -0
  269. package/dist/core/emit/meta.d.ts +14 -0
  270. package/dist/core/emit/meta.d.ts.map +1 -0
  271. package/dist/core/emit/meta.js +68 -0
  272. package/dist/core/emit/meta.js.map +1 -0
  273. package/dist/core/emit/opcodes.d.ts +28 -0
  274. package/dist/core/emit/opcodes.d.ts.map +1 -0
  275. package/dist/core/emit/opcodes.js +137 -0
  276. package/dist/core/emit/opcodes.js.map +1 -0
  277. package/dist/core/emit/outputs.d.ts +67 -0
  278. package/dist/core/emit/outputs.d.ts.map +1 -0
  279. package/dist/core/emit/outputs.js +293 -0
  280. package/dist/core/emit/outputs.js.map +1 -0
  281. package/dist/core/emit/pool.d.ts +33 -0
  282. package/dist/core/emit/pool.d.ts.map +1 -0
  283. package/dist/core/emit/pool.js +79 -0
  284. package/dist/core/emit/pool.js.map +1 -0
  285. package/dist/core/emit/program.d.ts +333 -0
  286. package/dist/core/emit/program.d.ts.map +1 -0
  287. package/dist/core/emit/program.js +15 -0
  288. package/dist/core/emit/program.js.map +1 -0
  289. package/dist/core/emit/registers.d.ts +35 -0
  290. package/dist/core/emit/registers.d.ts.map +1 -0
  291. package/dist/core/emit/registers.js +170 -0
  292. package/dist/core/emit/registers.js.map +1 -0
  293. package/dist/core/emit/request-scope.d.ts +36 -0
  294. package/dist/core/emit/request-scope.d.ts.map +1 -0
  295. package/dist/core/emit/request-scope.js +41 -0
  296. package/dist/core/emit/request-scope.js.map +1 -0
  297. package/dist/core/emit/requests.d.ts +69 -0
  298. package/dist/core/emit/requests.d.ts.map +1 -0
  299. package/dist/core/emit/requests.js +230 -0
  300. package/dist/core/emit/requests.js.map +1 -0
  301. package/dist/core/emit/requires.d.ts +4 -0
  302. package/dist/core/emit/requires.d.ts.map +1 -0
  303. package/dist/core/emit/requires.js +71 -0
  304. package/dist/core/emit/requires.js.map +1 -0
  305. package/dist/core/emit/sha256.d.ts +24 -0
  306. package/dist/core/emit/sha256.d.ts.map +1 -0
  307. package/dist/core/emit/sha256.js +109 -0
  308. package/dist/core/emit/sha256.js.map +1 -0
  309. package/dist/core/emit/statements.d.ts +20 -0
  310. package/dist/core/emit/statements.d.ts.map +1 -0
  311. package/dist/core/emit/statements.js +393 -0
  312. package/dist/core/emit/statements.js.map +1 -0
  313. package/dist/core/emit/values.d.ts +80 -0
  314. package/dist/core/emit/values.d.ts.map +1 -0
  315. package/dist/core/emit/values.js +242 -0
  316. package/dist/core/emit/values.js.map +1 -0
  317. package/dist/core/engine/alerts.d.ts +66 -0
  318. package/dist/core/engine/alerts.d.ts.map +1 -0
  319. package/dist/core/engine/alerts.js +119 -0
  320. package/dist/core/engine/alerts.js.map +1 -0
  321. package/dist/core/engine/arithmetic.d.ts +82 -0
  322. package/dist/core/engine/arithmetic.d.ts.map +1 -0
  323. package/dist/core/engine/arithmetic.js +141 -0
  324. package/dist/core/engine/arithmetic.js.map +1 -0
  325. package/dist/core/engine/bars.d.ts +95 -0
  326. package/dist/core/engine/bars.d.ts.map +1 -0
  327. package/dist/core/engine/bars.js +133 -0
  328. package/dist/core/engine/bars.js.map +1 -0
  329. package/dist/core/engine/budget.d.ts +162 -0
  330. package/dist/core/engine/budget.d.ts.map +1 -0
  331. package/dist/core/engine/budget.js +188 -0
  332. package/dist/core/engine/budget.js.map +1 -0
  333. package/dist/core/engine/channels.d.ts +106 -0
  334. package/dist/core/engine/channels.d.ts.map +1 -0
  335. package/dist/core/engine/channels.js +99 -0
  336. package/dist/core/engine/channels.js.map +1 -0
  337. package/dist/core/engine/drawings.d.ts +64 -0
  338. package/dist/core/engine/drawings.d.ts.map +1 -0
  339. package/dist/core/engine/drawings.js +67 -0
  340. package/dist/core/engine/drawings.js.map +1 -0
  341. package/dist/core/engine/engine.d.ts +140 -0
  342. package/dist/core/engine/engine.d.ts.map +1 -0
  343. package/dist/core/engine/engine.js +405 -0
  344. package/dist/core/engine/engine.js.map +1 -0
  345. package/dist/core/engine/errors.d.ts +64 -0
  346. package/dist/core/engine/errors.d.ts.map +1 -0
  347. package/dist/core/engine/errors.js +63 -0
  348. package/dist/core/engine/errors.js.map +1 -0
  349. package/dist/core/engine/frames.d.ts +48 -0
  350. package/dist/core/engine/frames.d.ts.map +1 -0
  351. package/dist/core/engine/frames.js +41 -0
  352. package/dist/core/engine/frames.js.map +1 -0
  353. package/dist/core/engine/grids.d.ts +25 -0
  354. package/dist/core/engine/grids.d.ts.map +1 -0
  355. package/dist/core/engine/grids.js +77 -0
  356. package/dist/core/engine/grids.js.map +1 -0
  357. package/dist/core/engine/guard.d.ts +4 -0
  358. package/dist/core/engine/guard.d.ts.map +1 -0
  359. package/dist/core/engine/guard.js +46 -0
  360. package/dist/core/engine/guard.js.map +1 -0
  361. package/dist/core/engine/host.d.ts +219 -0
  362. package/dist/core/engine/host.d.ts.map +1 -0
  363. package/dist/core/engine/host.js +38 -0
  364. package/dist/core/engine/host.js.map +1 -0
  365. package/dist/core/engine/index.d.ts +49 -0
  366. package/dist/core/engine/index.d.ts.map +1 -0
  367. package/dist/core/engine/index.js +33 -0
  368. package/dist/core/engine/index.js.map +1 -0
  369. package/dist/core/engine/inputs.d.ts +77 -0
  370. package/dist/core/engine/inputs.d.ts.map +1 -0
  371. package/dist/core/engine/inputs.js +205 -0
  372. package/dist/core/engine/inputs.js.map +1 -0
  373. package/dist/core/engine/ledger/call.d.ts +63 -0
  374. package/dist/core/engine/ledger/call.d.ts.map +1 -0
  375. package/dist/core/engine/ledger/call.js +136 -0
  376. package/dist/core/engine/ledger/call.js.map +1 -0
  377. package/dist/core/engine/ledger/closable.d.ts +155 -0
  378. package/dist/core/engine/ledger/closable.d.ts.map +1 -0
  379. package/dist/core/engine/ledger/closable.js +173 -0
  380. package/dist/core/engine/ledger/closable.js.map +1 -0
  381. package/dist/core/engine/ledger/holdings.d.ts +194 -0
  382. package/dist/core/engine/ledger/holdings.d.ts.map +1 -0
  383. package/dist/core/engine/ledger/holdings.js +237 -0
  384. package/dist/core/engine/ledger/holdings.js.map +1 -0
  385. package/dist/core/engine/ledger/index.d.ts +19 -0
  386. package/dist/core/engine/ledger/index.d.ts.map +1 -0
  387. package/dist/core/engine/ledger/index.js +2 -0
  388. package/dist/core/engine/ledger/index.js.map +1 -0
  389. package/dist/core/engine/ledger/intent.d.ts +106 -0
  390. package/dist/core/engine/ledger/intent.d.ts.map +1 -0
  391. package/dist/core/engine/ledger/intent.js +21 -0
  392. package/dist/core/engine/ledger/intent.js.map +1 -0
  393. package/dist/core/engine/ledger/ledger.d.ts +143 -0
  394. package/dist/core/engine/ledger/ledger.d.ts.map +1 -0
  395. package/dist/core/engine/ledger/ledger.js +237 -0
  396. package/dist/core/engine/ledger/ledger.js.map +1 -0
  397. package/dist/core/engine/ledger/place.d.ts +75 -0
  398. package/dist/core/engine/ledger/place.d.ts.map +1 -0
  399. package/dist/core/engine/ledger/place.js +174 -0
  400. package/dist/core/engine/ledger/place.js.map +1 -0
  401. package/dist/core/engine/ledger/positions.d.ts +68 -0
  402. package/dist/core/engine/ledger/positions.d.ts.map +1 -0
  403. package/dist/core/engine/ledger/positions.js +114 -0
  404. package/dist/core/engine/ledger/positions.js.map +1 -0
  405. package/dist/core/engine/ledger/refuse.d.ts +43 -0
  406. package/dist/core/engine/ledger/refuse.d.ts.map +1 -0
  407. package/dist/core/engine/ledger/refuse.js +329 -0
  408. package/dist/core/engine/ledger/refuse.js.map +1 -0
  409. package/dist/core/engine/ledger/row.d.ts +176 -0
  410. package/dist/core/engine/ledger/row.d.ts.map +1 -0
  411. package/dist/core/engine/ledger/row.js +169 -0
  412. package/dist/core/engine/ledger/row.js.map +1 -0
  413. package/dist/core/engine/ledger/sizing.d.ts +142 -0
  414. package/dist/core/engine/ledger/sizing.d.ts.map +1 -0
  415. package/dist/core/engine/ledger/sizing.js +223 -0
  416. package/dist/core/engine/ledger/sizing.js.map +1 -0
  417. package/dist/core/engine/library/arrays.d.ts +14 -0
  418. package/dist/core/engine/library/arrays.d.ts.map +1 -0
  419. package/dist/core/engine/library/arrays.js +285 -0
  420. package/dist/core/engine/library/arrays.js.map +1 -0
  421. package/dist/core/engine/library/averages.d.ts +9 -0
  422. package/dist/core/engine/library/averages.d.ts.map +1 -0
  423. package/dist/core/engine/library/averages.js +41 -0
  424. package/dist/core/engine/library/averages.js.map +1 -0
  425. package/dist/core/engine/library/binding.d.ts +230 -0
  426. package/dist/core/engine/library/binding.d.ts.map +1 -0
  427. package/dist/core/engine/library/binding.js +109 -0
  428. package/dist/core/engine/library/binding.js.map +1 -0
  429. package/dist/core/engine/library/chart.d.ts +3 -0
  430. package/dist/core/engine/library/chart.d.ts.map +1 -0
  431. package/dist/core/engine/library/chart.js +83 -0
  432. package/dist/core/engine/library/chart.js.map +1 -0
  433. package/dist/core/engine/library/colours.d.ts +26 -0
  434. package/dist/core/engine/library/colours.d.ts.map +1 -0
  435. package/dist/core/engine/library/colours.js +81 -0
  436. package/dist/core/engine/library/colours.js.map +1 -0
  437. package/dist/core/engine/library/dates.d.ts +3 -0
  438. package/dist/core/engine/library/dates.d.ts.map +1 -0
  439. package/dist/core/engine/library/dates.js +75 -0
  440. package/dist/core/engine/library/dates.js.map +1 -0
  441. package/dist/core/engine/library/index.d.ts +13 -0
  442. package/dist/core/engine/library/index.d.ts.map +1 -0
  443. package/dist/core/engine/library/index.js +86 -0
  444. package/dist/core/engine/library/index.js.map +1 -0
  445. package/dist/core/engine/library/maths.d.ts +3 -0
  446. package/dist/core/engine/library/maths.d.ts.map +1 -0
  447. package/dist/core/engine/library/maths.js +89 -0
  448. package/dist/core/engine/library/maths.js.map +1 -0
  449. package/dist/core/engine/library/objects.d.ts +3 -0
  450. package/dist/core/engine/library/objects.d.ts.map +1 -0
  451. package/dist/core/engine/library/objects.js +199 -0
  452. package/dist/core/engine/library/objects.js.map +1 -0
  453. package/dist/core/engine/library/oscillators.d.ts +3 -0
  454. package/dist/core/engine/library/oscillators.d.ts.map +1 -0
  455. package/dist/core/engine/library/oscillators.js +29 -0
  456. package/dist/core/engine/library/oscillators.js.map +1 -0
  457. package/dist/core/engine/library/ranges.d.ts +3 -0
  458. package/dist/core/engine/library/ranges.d.ts.map +1 -0
  459. package/dist/core/engine/library/ranges.js +23 -0
  460. package/dist/core/engine/library/ranges.js.map +1 -0
  461. package/dist/core/engine/library/series.d.ts +3 -0
  462. package/dist/core/engine/library/series.d.ts.map +1 -0
  463. package/dist/core/engine/library/series.js +46 -0
  464. package/dist/core/engine/library/series.js.map +1 -0
  465. package/dist/core/engine/library/state.d.ts +35 -0
  466. package/dist/core/engine/library/state.d.ts.map +1 -0
  467. package/dist/core/engine/library/state.js +19 -0
  468. package/dist/core/engine/library/state.js.map +1 -0
  469. package/dist/core/engine/library/studies.d.ts +3 -0
  470. package/dist/core/engine/library/studies.d.ts.map +1 -0
  471. package/dist/core/engine/library/studies.js +35 -0
  472. package/dist/core/engine/library/studies.js.map +1 -0
  473. package/dist/core/engine/library/text.d.ts +6 -0
  474. package/dist/core/engine/library/text.d.ts.map +1 -0
  475. package/dist/core/engine/library/text.js +280 -0
  476. package/dist/core/engine/library/text.js.map +1 -0
  477. package/dist/core/engine/library/trend.d.ts +3 -0
  478. package/dist/core/engine/library/trend.d.ts.map +1 -0
  479. package/dist/core/engine/library/trend.js +29 -0
  480. package/dist/core/engine/library/trend.js.map +1 -0
  481. package/dist/core/engine/library/volume.d.ts +3 -0
  482. package/dist/core/engine/library/volume.d.ts.map +1 -0
  483. package/dist/core/engine/library/volume.js +51 -0
  484. package/dist/core/engine/library/volume.js.map +1 -0
  485. package/dist/core/engine/load.d.ts +45 -0
  486. package/dist/core/engine/load.d.ts.map +1 -0
  487. package/dist/core/engine/load.js +60 -0
  488. package/dist/core/engine/load.js.map +1 -0
  489. package/dist/core/engine/machine.d.ts +107 -0
  490. package/dist/core/engine/machine.d.ts.map +1 -0
  491. package/dist/core/engine/machine.js +337 -0
  492. package/dist/core/engine/machine.js.map +1 -0
  493. package/dist/core/engine/memory.d.ts +60 -0
  494. package/dist/core/engine/memory.d.ts.map +1 -0
  495. package/dist/core/engine/memory.js +92 -0
  496. package/dist/core/engine/memory.js.map +1 -0
  497. package/dist/core/engine/operations.d.ts +62 -0
  498. package/dist/core/engine/operations.d.ts.map +1 -0
  499. package/dist/core/engine/operations.js +149 -0
  500. package/dist/core/engine/operations.js.map +1 -0
  501. package/dist/core/engine/orders.d.ts +56 -0
  502. package/dist/core/engine/orders.d.ts.map +1 -0
  503. package/dist/core/engine/orders.js +83 -0
  504. package/dist/core/engine/orders.js.map +1 -0
  505. package/dist/core/engine/registers.d.ts +50 -0
  506. package/dist/core/engine/registers.d.ts.map +1 -0
  507. package/dist/core/engine/registers.js +85 -0
  508. package/dist/core/engine/registers.js.map +1 -0
  509. package/dist/core/engine/request-body.d.ts +138 -0
  510. package/dist/core/engine/request-body.d.ts.map +1 -0
  511. package/dist/core/engine/request-body.js +227 -0
  512. package/dist/core/engine/request-body.js.map +1 -0
  513. package/dist/core/engine/request-plan.d.ts +79 -0
  514. package/dist/core/engine/request-plan.d.ts.map +1 -0
  515. package/dist/core/engine/request-plan.js +228 -0
  516. package/dist/core/engine/request-plan.js.map +1 -0
  517. package/dist/core/engine/requests.d.ts +105 -0
  518. package/dist/core/engine/requests.d.ts.map +1 -0
  519. package/dist/core/engine/requests.js +260 -0
  520. package/dist/core/engine/requests.js.map +1 -0
  521. package/dist/core/engine/results.d.ts +40 -0
  522. package/dist/core/engine/results.d.ts.map +1 -0
  523. package/dist/core/engine/results.js +2 -0
  524. package/dist/core/engine/results.js.map +1 -0
  525. package/dist/core/engine/series.d.ts +61 -0
  526. package/dist/core/engine/series.d.ts.map +1 -0
  527. package/dist/core/engine/series.js +41 -0
  528. package/dist/core/engine/series.js.map +1 -0
  529. package/dist/core/engine/session/hours.d.ts +49 -0
  530. package/dist/core/engine/session/hours.d.ts.map +1 -0
  531. package/dist/core/engine/session/hours.js +31 -0
  532. package/dist/core/engine/session/hours.js.map +1 -0
  533. package/dist/core/engine/session/index.d.ts +17 -0
  534. package/dist/core/engine/session/index.d.ts.map +1 -0
  535. package/dist/core/engine/session/index.js +3 -0
  536. package/dist/core/engine/session/index.js.map +1 -0
  537. package/dist/core/engine/session/record.d.ts +56 -0
  538. package/dist/core/engine/session/record.d.ts.map +1 -0
  539. package/dist/core/engine/session/record.js +165 -0
  540. package/dist/core/engine/session/record.js.map +1 -0
  541. package/dist/core/engine/session/spec.d.ts +19 -0
  542. package/dist/core/engine/session/spec.d.ts.map +1 -0
  543. package/dist/core/engine/session/spec.js +31 -0
  544. package/dist/core/engine/session/spec.js.map +1 -0
  545. package/dist/core/engine/timeframe.d.ts +59 -0
  546. package/dist/core/engine/timeframe.d.ts.map +1 -0
  547. package/dist/core/engine/timeframe.js +140 -0
  548. package/dist/core/engine/timeframe.js.map +1 -0
  549. package/dist/core/engine/types.d.ts +15 -0
  550. package/dist/core/engine/types.d.ts.map +1 -0
  551. package/dist/core/engine/types.js +2 -0
  552. package/dist/core/engine/types.js.map +1 -0
  553. package/dist/core/engine/values/heap.d.ts +134 -0
  554. package/dist/core/engine/values/heap.d.ts.map +1 -0
  555. package/dist/core/engine/values/heap.js +230 -0
  556. package/dist/core/engine/values/heap.js.map +1 -0
  557. package/dist/core/engine/values/index.d.ts +13 -0
  558. package/dist/core/engine/values/index.d.ts.map +1 -0
  559. package/dist/core/engine/values/index.js +3 -0
  560. package/dist/core/engine/values/index.js.map +1 -0
  561. package/dist/core/engine/values/value.d.ts +82 -0
  562. package/dist/core/engine/values/value.d.ts.map +1 -0
  563. package/dist/core/engine/values/value.js +134 -0
  564. package/dist/core/engine/values/value.js.map +1 -0
  565. package/dist/core/engine/verify-budgets.d.ts +35 -0
  566. package/dist/core/engine/verify-budgets.d.ts.map +1 -0
  567. package/dist/core/engine/verify-budgets.js +172 -0
  568. package/dist/core/engine/verify-budgets.js.map +1 -0
  569. package/dist/core/engine/verify-code.d.ts +32 -0
  570. package/dist/core/engine/verify-code.d.ts.map +1 -0
  571. package/dist/core/engine/verify-code.js +278 -0
  572. package/dist/core/engine/verify-code.js.map +1 -0
  573. package/dist/core/engine/verify-requests.d.ts +44 -0
  574. package/dist/core/engine/verify-requests.d.ts.map +1 -0
  575. package/dist/core/engine/verify-requests.js +220 -0
  576. package/dist/core/engine/verify-requests.js.map +1 -0
  577. package/dist/core/engine/verify-shape.d.ts +46 -0
  578. package/dist/core/engine/verify-shape.d.ts.map +1 -0
  579. package/dist/core/engine/verify-shape.js +147 -0
  580. package/dist/core/engine/verify-shape.js.map +1 -0
  581. package/dist/core/engine/verify-tables.d.ts +19 -0
  582. package/dist/core/engine/verify-tables.d.ts.map +1 -0
  583. package/dist/core/engine/verify-tables.js +171 -0
  584. package/dist/core/engine/verify-tables.js.map +1 -0
  585. package/dist/core/engine/verify.d.ts +19 -0
  586. package/dist/core/engine/verify.d.ts.map +1 -0
  587. package/dist/core/engine/verify.js +309 -0
  588. package/dist/core/engine/verify.js.map +1 -0
  589. package/dist/core/index.d.ts +61 -6
  590. package/dist/core/index.d.ts.map +1 -1
  591. package/dist/core/index.js +48 -6
  592. package/dist/core/index.js.map +1 -1
  593. package/dist/core/parse/expressions.js +1 -1
  594. package/dist/core/parse/expressions.js.map +1 -1
  595. package/dist/core/parse/names.d.ts +7 -1
  596. package/dist/core/parse/names.d.ts.map +1 -1
  597. package/dist/core/parse/names.js +28 -2
  598. package/dist/core/parse/names.js.map +1 -1
  599. package/dist/core/stdlib/averages/exponential.d.ts +51 -0
  600. package/dist/core/stdlib/averages/exponential.d.ts.map +1 -0
  601. package/dist/core/stdlib/averages/exponential.js +72 -0
  602. package/dist/core/stdlib/averages/exponential.js.map +1 -0
  603. package/dist/core/stdlib/averages/index.d.ts +7 -0
  604. package/dist/core/stdlib/averages/index.d.ts.map +1 -0
  605. package/dist/core/stdlib/averages/index.js +5 -0
  606. package/dist/core/stdlib/averages/index.js.map +1 -0
  607. package/dist/core/stdlib/averages/select.d.ts +35 -0
  608. package/dist/core/stdlib/averages/select.d.ts.map +1 -0
  609. package/dist/core/stdlib/averages/select.js +43 -0
  610. package/dist/core/stdlib/averages/select.js.map +1 -0
  611. package/dist/core/stdlib/averages/shaped.d.ts +61 -0
  612. package/dist/core/stdlib/averages/shaped.d.ts.map +1 -0
  613. package/dist/core/stdlib/averages/shaped.js +126 -0
  614. package/dist/core/stdlib/averages/shaped.js.map +1 -0
  615. package/dist/core/stdlib/averages/simple.d.ts +58 -0
  616. package/dist/core/stdlib/averages/simple.d.ts.map +1 -0
  617. package/dist/core/stdlib/averages/simple.js +92 -0
  618. package/dist/core/stdlib/averages/simple.js.map +1 -0
  619. package/dist/core/stdlib/calendar/civil.d.ts +56 -0
  620. package/dist/core/stdlib/calendar/civil.d.ts.map +1 -0
  621. package/dist/core/stdlib/calendar/civil.js +70 -0
  622. package/dist/core/stdlib/calendar/civil.js.map +1 -0
  623. package/dist/core/stdlib/calendar/fields.d.ts +36 -0
  624. package/dist/core/stdlib/calendar/fields.d.ts.map +1 -0
  625. package/dist/core/stdlib/calendar/fields.js +93 -0
  626. package/dist/core/stdlib/calendar/fields.js.map +1 -0
  627. package/dist/core/stdlib/calendar/format.d.ts +19 -0
  628. package/dist/core/stdlib/calendar/format.d.ts.map +1 -0
  629. package/dist/core/stdlib/calendar/format.js +51 -0
  630. package/dist/core/stdlib/calendar/format.js.map +1 -0
  631. package/dist/core/stdlib/calendar/index.d.ts +7 -0
  632. package/dist/core/stdlib/calendar/index.d.ts.map +1 -0
  633. package/dist/core/stdlib/calendar/index.js +5 -0
  634. package/dist/core/stdlib/calendar/index.js.map +1 -0
  635. package/dist/core/stdlib/calendar/zone.d.ts +53 -0
  636. package/dist/core/stdlib/calendar/zone.d.ts.map +1 -0
  637. package/dist/core/stdlib/calendar/zone.js +138 -0
  638. package/dist/core/stdlib/calendar/zone.js.map +1 -0
  639. package/dist/core/stdlib/index.d.ts +57 -0
  640. package/dist/core/stdlib/index.d.ts.map +1 -0
  641. package/dist/core/stdlib/index.js +51 -0
  642. package/dist/core/stdlib/index.js.map +1 -0
  643. package/dist/core/stdlib/maths/arithmetic.d.ts +38 -0
  644. package/dist/core/stdlib/maths/arithmetic.d.ts.map +1 -0
  645. package/dist/core/stdlib/maths/arithmetic.js +66 -0
  646. package/dist/core/stdlib/maths/arithmetic.js.map +1 -0
  647. package/dist/core/stdlib/maths/elementary.d.ts +65 -0
  648. package/dist/core/stdlib/maths/elementary.d.ts.map +1 -0
  649. package/dist/core/stdlib/maths/elementary.js +93 -0
  650. package/dist/core/stdlib/maths/elementary.js.map +1 -0
  651. package/dist/core/stdlib/maths/index.d.ts +4 -0
  652. package/dist/core/stdlib/maths/index.d.ts.map +1 -0
  653. package/dist/core/stdlib/maths/index.js +4 -0
  654. package/dist/core/stdlib/maths/index.js.map +1 -0
  655. package/dist/core/stdlib/maths/rounding.d.ts +43 -0
  656. package/dist/core/stdlib/maths/rounding.d.ts.map +1 -0
  657. package/dist/core/stdlib/maths/rounding.js +62 -0
  658. package/dist/core/stdlib/maths/rounding.js.map +1 -0
  659. package/dist/core/stdlib/momentum/convergence.d.ts +36 -0
  660. package/dist/core/stdlib/momentum/convergence.d.ts.map +1 -0
  661. package/dist/core/stdlib/momentum/convergence.js +48 -0
  662. package/dist/core/stdlib/momentum/convergence.js.map +1 -0
  663. package/dist/core/stdlib/momentum/index.d.ts +6 -0
  664. package/dist/core/stdlib/momentum/index.d.ts.map +1 -0
  665. package/dist/core/stdlib/momentum/index.js +6 -0
  666. package/dist/core/stdlib/momentum/index.js.map +1 -0
  667. package/dist/core/stdlib/momentum/pressure.d.ts +43 -0
  668. package/dist/core/stdlib/momentum/pressure.d.ts.map +1 -0
  669. package/dist/core/stdlib/momentum/pressure.js +103 -0
  670. package/dist/core/stdlib/momentum/pressure.js.map +1 -0
  671. package/dist/core/stdlib/momentum/rates.d.ts +74 -0
  672. package/dist/core/stdlib/momentum/rates.d.ts.map +1 -0
  673. package/dist/core/stdlib/momentum/rates.js +134 -0
  674. package/dist/core/stdlib/momentum/rates.js.map +1 -0
  675. package/dist/core/stdlib/momentum/rsi.d.ts +21 -0
  676. package/dist/core/stdlib/momentum/rsi.d.ts.map +1 -0
  677. package/dist/core/stdlib/momentum/rsi.js +30 -0
  678. package/dist/core/stdlib/momentum/rsi.js.map +1 -0
  679. package/dist/core/stdlib/momentum/stochastic.d.ts +44 -0
  680. package/dist/core/stdlib/momentum/stochastic.d.ts.map +1 -0
  681. package/dist/core/stdlib/momentum/stochastic.js +97 -0
  682. package/dist/core/stdlib/momentum/stochastic.js.map +1 -0
  683. package/dist/core/stdlib/series/changes.d.ts +59 -0
  684. package/dist/core/stdlib/series/changes.d.ts.map +1 -0
  685. package/dist/core/stdlib/series/changes.js +129 -0
  686. package/dist/core/stdlib/series/changes.js.map +1 -0
  687. package/dist/core/stdlib/series/conditions.d.ts +34 -0
  688. package/dist/core/stdlib/series/conditions.d.ts.map +1 -0
  689. package/dist/core/stdlib/series/conditions.js +52 -0
  690. package/dist/core/stdlib/series/conditions.js.map +1 -0
  691. package/dist/core/stdlib/series/extremes.d.ts +29 -0
  692. package/dist/core/stdlib/series/extremes.d.ts.map +1 -0
  693. package/dist/core/stdlib/series/extremes.js +62 -0
  694. package/dist/core/stdlib/series/extremes.js.map +1 -0
  695. package/dist/core/stdlib/series/index.d.ts +9 -0
  696. package/dist/core/stdlib/series/index.d.ts.map +1 -0
  697. package/dist/core/stdlib/series/index.js +7 -0
  698. package/dist/core/stdlib/series/index.js.map +1 -0
  699. package/dist/core/stdlib/series/pivots.d.ts +25 -0
  700. package/dist/core/stdlib/series/pivots.d.ts.map +1 -0
  701. package/dist/core/stdlib/series/pivots.js +42 -0
  702. package/dist/core/stdlib/series/pivots.js.map +1 -0
  703. package/dist/core/stdlib/series/statistics.d.ts +64 -0
  704. package/dist/core/stdlib/series/statistics.d.ts.map +1 -0
  705. package/dist/core/stdlib/series/statistics.js +148 -0
  706. package/dist/core/stdlib/series/statistics.js.map +1 -0
  707. package/dist/core/stdlib/series/totals.d.ts +68 -0
  708. package/dist/core/stdlib/series/totals.d.ts.map +1 -0
  709. package/dist/core/stdlib/series/totals.js +115 -0
  710. package/dist/core/stdlib/series/totals.js.map +1 -0
  711. package/dist/core/stdlib/trend/directional.d.ts +69 -0
  712. package/dist/core/stdlib/trend/directional.d.ts.map +1 -0
  713. package/dist/core/stdlib/trend/directional.js +151 -0
  714. package/dist/core/stdlib/trend/directional.js.map +1 -0
  715. package/dist/core/stdlib/trend/index.d.ts +4 -0
  716. package/dist/core/stdlib/trend/index.d.ts.map +1 -0
  717. package/dist/core/stdlib/trend/index.js +4 -0
  718. package/dist/core/stdlib/trend/index.js.map +1 -0
  719. package/dist/core/stdlib/trend/psar.d.ts +33 -0
  720. package/dist/core/stdlib/trend/psar.d.ts.map +1 -0
  721. package/dist/core/stdlib/trend/psar.js +86 -0
  722. package/dist/core/stdlib/trend/psar.js.map +1 -0
  723. package/dist/core/stdlib/trend/supertrend.d.ts +30 -0
  724. package/dist/core/stdlib/trend/supertrend.d.ts.map +1 -0
  725. package/dist/core/stdlib/trend/supertrend.js +65 -0
  726. package/dist/core/stdlib/trend/supertrend.js.map +1 -0
  727. package/dist/core/stdlib/values/bar.d.ts +39 -0
  728. package/dist/core/stdlib/values/bar.d.ts.map +1 -0
  729. package/dist/core/stdlib/values/bar.js +33 -0
  730. package/dist/core/stdlib/values/bar.js.map +1 -0
  731. package/dist/core/stdlib/values/index.d.ts +11 -0
  732. package/dist/core/stdlib/values/index.d.ts.map +1 -0
  733. package/dist/core/stdlib/values/index.js +6 -0
  734. package/dist/core/stdlib/values/index.js.map +1 -0
  735. package/dist/core/stdlib/values/lookback.d.ts +83 -0
  736. package/dist/core/stdlib/values/lookback.d.ts.map +1 -0
  737. package/dist/core/stdlib/values/lookback.js +134 -0
  738. package/dist/core/stdlib/values/lookback.js.map +1 -0
  739. package/dist/core/stdlib/values/region.d.ts +55 -0
  740. package/dist/core/stdlib/values/region.d.ts.map +1 -0
  741. package/dist/core/stdlib/values/region.js +73 -0
  742. package/dist/core/stdlib/values/region.js.map +1 -0
  743. package/dist/core/stdlib/values/tail.d.ts +44 -0
  744. package/dist/core/stdlib/values/tail.d.ts.map +1 -0
  745. package/dist/core/stdlib/values/tail.js +23 -0
  746. package/dist/core/stdlib/values/tail.js.map +1 -0
  747. package/dist/core/stdlib/values/value.d.ts +64 -0
  748. package/dist/core/stdlib/values/value.d.ts.map +1 -0
  749. package/dist/core/stdlib/values/value.js +61 -0
  750. package/dist/core/stdlib/values/value.js.map +1 -0
  751. package/dist/core/stdlib/volatility/bands.d.ts +50 -0
  752. package/dist/core/stdlib/volatility/bands.d.ts.map +1 -0
  753. package/dist/core/stdlib/volatility/bands.js +101 -0
  754. package/dist/core/stdlib/volatility/bands.js.map +1 -0
  755. package/dist/core/stdlib/volatility/deviation.d.ts +43 -0
  756. package/dist/core/stdlib/volatility/deviation.d.ts.map +1 -0
  757. package/dist/core/stdlib/volatility/deviation.js +75 -0
  758. package/dist/core/stdlib/volatility/deviation.js.map +1 -0
  759. package/dist/core/stdlib/volatility/index.d.ts +6 -0
  760. package/dist/core/stdlib/volatility/index.d.ts.map +1 -0
  761. package/dist/core/stdlib/volatility/index.js +5 -0
  762. package/dist/core/stdlib/volatility/index.js.map +1 -0
  763. package/dist/core/stdlib/volatility/measures.d.ts +48 -0
  764. package/dist/core/stdlib/volatility/measures.d.ts.map +1 -0
  765. package/dist/core/stdlib/volatility/measures.js +73 -0
  766. package/dist/core/stdlib/volatility/measures.js.map +1 -0
  767. package/dist/core/stdlib/volatility/range.d.ts +69 -0
  768. package/dist/core/stdlib/volatility/range.d.ts.map +1 -0
  769. package/dist/core/stdlib/volatility/range.js +86 -0
  770. package/dist/core/stdlib/volatility/range.js.map +1 -0
  771. package/dist/core/stdlib/volume/accumulation.d.ts +61 -0
  772. package/dist/core/stdlib/volume/accumulation.d.ts.map +1 -0
  773. package/dist/core/stdlib/volume/accumulation.js +127 -0
  774. package/dist/core/stdlib/volume/accumulation.js.map +1 -0
  775. package/dist/core/stdlib/volume/flow.d.ts +60 -0
  776. package/dist/core/stdlib/volume/flow.d.ts.map +1 -0
  777. package/dist/core/stdlib/volume/flow.js +125 -0
  778. package/dist/core/stdlib/volume/flow.js.map +1 -0
  779. package/dist/core/stdlib/volume/index.d.ts +5 -0
  780. package/dist/core/stdlib/volume/index.d.ts.map +1 -0
  781. package/dist/core/stdlib/volume/index.js +4 -0
  782. package/dist/core/stdlib/volume/index.js.map +1 -0
  783. package/dist/core/stdlib/volume/weighted.d.ts +52 -0
  784. package/dist/core/stdlib/volume/weighted.d.ts.map +1 -0
  785. package/dist/core/stdlib/volume/weighted.js +64 -0
  786. package/dist/core/stdlib/volume/weighted.js.map +1 -0
  787. package/dist/core/version/version.generated.d.ts +2 -2
  788. package/dist/core/version/version.generated.d.ts.map +1 -1
  789. package/dist/core/version/version.generated.js +2 -2
  790. package/dist/core/version/version.generated.js.map +1 -1
  791. package/package.json +38 -14
  792. package/spec/errors.json +382 -183
  793. package/src/adapters/charts/alerts.ts +116 -0
  794. package/src/adapters/charts/bars.ts +63 -0
  795. package/src/adapters/charts/candles.ts +137 -0
  796. package/src/adapters/charts/colours.ts +113 -0
  797. package/src/adapters/charts/columns.ts +99 -0
  798. package/src/adapters/charts/contract.ts +320 -0
  799. package/src/adapters/charts/descriptor.ts +199 -0
  800. package/src/adapters/charts/drawings.ts +213 -0
  801. package/src/adapters/charts/errors.ts +45 -0
  802. package/src/adapters/charts/fields.ts +74 -0
  803. package/src/adapters/charts/fills.ts +71 -0
  804. package/src/adapters/charts/index.ts +78 -0
  805. package/src/adapters/charts/levels.ts +92 -0
  806. package/src/adapters/charts/markers.ts +119 -0
  807. package/src/adapters/charts/paint.ts +101 -0
  808. package/src/adapters/charts/plots.ts +185 -0
  809. package/src/adapters/charts/produced.ts +68 -0
  810. package/src/adapters/charts/requests.ts +357 -0
  811. package/src/adapters/charts/run.ts +327 -0
  812. package/src/adapters/charts/settings.ts +273 -0
  813. package/src/adapters/charts/surfaces.ts +238 -0
  814. package/src/adapters/charts/tables.ts +155 -0
  815. package/src/core/catalogue/catalogue.generated.ts +17 -9
  816. package/src/core/catalogue/values.generated.ts +8 -0
  817. package/src/core/check/arguments.ts +126 -0
  818. package/src/core/check/call-sites.ts +385 -0
  819. package/src/core/check/call-warmup.ts +121 -0
  820. package/src/core/check/calls.ts +412 -0
  821. package/src/core/check/check.ts +183 -0
  822. package/src/core/check/checked.ts +228 -0
  823. package/src/core/check/checker.ts +393 -0
  824. package/src/core/check/conditional.ts +143 -0
  825. package/src/core/check/constant.ts +127 -0
  826. package/src/core/check/declaration.ts +230 -0
  827. package/src/core/check/expressions.ts +471 -0
  828. package/src/core/check/functions.ts +283 -0
  829. package/src/core/check/handles.ts +75 -0
  830. package/src/core/check/index.ts +67 -0
  831. package/src/core/check/library-bars.ts +194 -0
  832. package/src/core/check/library-orders.ts +290 -0
  833. package/src/core/check/library-output.ts +241 -0
  834. package/src/core/check/library-series.ts +457 -0
  835. package/src/core/check/library.ts +374 -0
  836. package/src/core/check/literals.ts +35 -0
  837. package/src/core/check/outputs.ts +152 -0
  838. package/src/core/check/statements.ts +465 -0
  839. package/src/core/check/suggest.ts +63 -0
  840. package/src/core/check/surface.ts +115 -0
  841. package/src/core/check/tags.ts +94 -0
  842. package/src/core/check/types.ts +260 -0
  843. package/src/core/check/warmup.ts +100 -0
  844. package/src/core/diagnostics/collector.ts +27 -1
  845. package/src/core/emit/calls.ts +415 -0
  846. package/src/core/emit/canonical.ts +81 -0
  847. package/src/core/emit/channels.ts +144 -0
  848. package/src/core/emit/code.ts +155 -0
  849. package/src/core/emit/colours.ts +75 -0
  850. package/src/core/emit/context.ts +461 -0
  851. package/src/core/emit/defaults.ts +150 -0
  852. package/src/core/emit/emit.ts +313 -0
  853. package/src/core/emit/events.ts +141 -0
  854. package/src/core/emit/expressions.ts +292 -0
  855. package/src/core/emit/functions.ts +195 -0
  856. package/src/core/emit/gaps.ts +44 -0
  857. package/src/core/emit/index.ts +74 -0
  858. package/src/core/emit/inputs.ts +179 -0
  859. package/src/core/emit/layout.ts +165 -0
  860. package/src/core/emit/meta.ts +104 -0
  861. package/src/core/emit/opcodes.ts +160 -0
  862. package/src/core/emit/outputs.ts +357 -0
  863. package/src/core/emit/pool.ts +102 -0
  864. package/src/core/emit/program.ts +385 -0
  865. package/src/core/emit/registers.ts +179 -0
  866. package/src/core/emit/request-scope.ts +52 -0
  867. package/src/core/emit/requests.ts +258 -0
  868. package/src/core/emit/requires.ts +91 -0
  869. package/src/core/emit/sha256.ts +119 -0
  870. package/src/core/emit/statements.ts +438 -0
  871. package/src/core/emit/values.ts +284 -0
  872. package/src/core/engine/alerts.ts +152 -0
  873. package/src/core/engine/arithmetic.ts +165 -0
  874. package/src/core/engine/bars.ts +224 -0
  875. package/src/core/engine/budget.ts +284 -0
  876. package/src/core/engine/channels.ts +171 -0
  877. package/src/core/engine/drawings.ts +127 -0
  878. package/src/core/engine/engine.ts +498 -0
  879. package/src/core/engine/errors.ts +100 -0
  880. package/src/core/engine/frames.ts +85 -0
  881. package/src/core/engine/grids.ts +98 -0
  882. package/src/core/engine/guard.ts +71 -0
  883. package/src/core/engine/host.ts +251 -0
  884. package/src/core/engine/index.ts +93 -0
  885. package/src/core/engine/inputs.ts +263 -0
  886. package/src/core/engine/ledger/call.ts +218 -0
  887. package/src/core/engine/ledger/closable.ts +269 -0
  888. package/src/core/engine/ledger/holdings.ts +354 -0
  889. package/src/core/engine/ledger/index.ts +28 -0
  890. package/src/core/engine/ledger/intent.ts +112 -0
  891. package/src/core/engine/ledger/ledger.ts +314 -0
  892. package/src/core/engine/ledger/place.ts +277 -0
  893. package/src/core/engine/ledger/positions.ts +123 -0
  894. package/src/core/engine/ledger/refuse.ts +378 -0
  895. package/src/core/engine/ledger/row.ts +318 -0
  896. package/src/core/engine/ledger/sizing.ts +292 -0
  897. package/src/core/engine/library/arrays.ts +316 -0
  898. package/src/core/engine/library/averages.ts +97 -0
  899. package/src/core/engine/library/binding.ts +325 -0
  900. package/src/core/engine/library/chart.ts +115 -0
  901. package/src/core/engine/library/colours.ts +111 -0
  902. package/src/core/engine/library/dates.ts +109 -0
  903. package/src/core/engine/library/index.ts +103 -0
  904. package/src/core/engine/library/maths.ts +134 -0
  905. package/src/core/engine/library/objects.ts +265 -0
  906. package/src/core/engine/library/oscillators.ts +124 -0
  907. package/src/core/engine/library/ranges.ts +51 -0
  908. package/src/core/engine/library/series.ts +236 -0
  909. package/src/core/engine/library/state.ts +47 -0
  910. package/src/core/engine/library/studies.ts +150 -0
  911. package/src/core/engine/library/text.ts +303 -0
  912. package/src/core/engine/library/trend.ts +79 -0
  913. package/src/core/engine/library/volume.ts +101 -0
  914. package/src/core/engine/load.ts +104 -0
  915. package/src/core/engine/machine.ts +446 -0
  916. package/src/core/engine/memory.ts +129 -0
  917. package/src/core/engine/operations.ts +171 -0
  918. package/src/core/engine/orders.ts +121 -0
  919. package/src/core/engine/registers.ts +104 -0
  920. package/src/core/engine/request-body.ts +328 -0
  921. package/src/core/engine/request-plan.ts +270 -0
  922. package/src/core/engine/requests.ts +382 -0
  923. package/src/core/engine/results.ts +41 -0
  924. package/src/core/engine/series.ts +82 -0
  925. package/src/core/engine/session/hours.ts +86 -0
  926. package/src/core/engine/session/index.ts +17 -0
  927. package/src/core/engine/session/record.ts +191 -0
  928. package/src/core/engine/session/spec.ts +45 -0
  929. package/src/core/engine/timeframe.ts +161 -0
  930. package/src/core/engine/types.ts +47 -0
  931. package/src/core/engine/values/heap.ts +295 -0
  932. package/src/core/engine/values/index.ts +34 -0
  933. package/src/core/engine/values/value.ts +158 -0
  934. package/src/core/engine/verify-budgets.ts +202 -0
  935. package/src/core/engine/verify-code.ts +332 -0
  936. package/src/core/engine/verify-requests.ts +255 -0
  937. package/src/core/engine/verify-shape.ts +164 -0
  938. package/src/core/engine/verify-tables.ts +176 -0
  939. package/src/core/engine/verify.ts +341 -0
  940. package/src/core/index.ts +128 -6
  941. package/src/core/parse/expressions.ts +1 -1
  942. package/src/core/parse/names.ts +29 -2
  943. package/src/core/stdlib/averages/exponential.ts +119 -0
  944. package/src/core/stdlib/averages/index.ts +45 -0
  945. package/src/core/stdlib/averages/select.ts +71 -0
  946. package/src/core/stdlib/averages/shaped.ts +161 -0
  947. package/src/core/stdlib/averages/simple.ts +139 -0
  948. package/src/core/stdlib/calendar/civil.ts +89 -0
  949. package/src/core/stdlib/calendar/fields.ts +124 -0
  950. package/src/core/stdlib/calendar/format.ts +71 -0
  951. package/src/core/stdlib/calendar/index.ts +15 -0
  952. package/src/core/stdlib/calendar/zone.ts +161 -0
  953. package/src/core/stdlib/index.ts +400 -0
  954. package/src/core/stdlib/maths/arithmetic.ts +74 -0
  955. package/src/core/stdlib/maths/elementary.ts +124 -0
  956. package/src/core/stdlib/maths/index.ts +43 -0
  957. package/src/core/stdlib/maths/rounding.ts +78 -0
  958. package/src/core/stdlib/momentum/convergence.ts +82 -0
  959. package/src/core/stdlib/momentum/index.ts +47 -0
  960. package/src/core/stdlib/momentum/pressure.ts +141 -0
  961. package/src/core/stdlib/momentum/rates.ts +188 -0
  962. package/src/core/stdlib/momentum/rsi.ts +49 -0
  963. package/src/core/stdlib/momentum/stochastic.ts +147 -0
  964. package/src/core/stdlib/series/changes.ts +177 -0
  965. package/src/core/stdlib/series/conditions.ts +74 -0
  966. package/src/core/stdlib/series/extremes.ts +92 -0
  967. package/src/core/stdlib/series/index.ts +83 -0
  968. package/src/core/stdlib/series/pivots.ts +63 -0
  969. package/src/core/stdlib/series/statistics.ts +207 -0
  970. package/src/core/stdlib/series/totals.ts +164 -0
  971. package/src/core/stdlib/trend/directional.ts +196 -0
  972. package/src/core/stdlib/trend/index.ts +13 -0
  973. package/src/core/stdlib/trend/psar.ts +131 -0
  974. package/src/core/stdlib/trend/supertrend.ts +100 -0
  975. package/src/core/stdlib/values/bar.ts +54 -0
  976. package/src/core/stdlib/values/index.ts +14 -0
  977. package/src/core/stdlib/values/lookback.ts +198 -0
  978. package/src/core/stdlib/values/region.ts +86 -0
  979. package/src/core/stdlib/values/tail.ts +58 -0
  980. package/src/core/stdlib/values/value.ts +82 -0
  981. package/src/core/stdlib/volatility/bands.ts +178 -0
  982. package/src/core/stdlib/volatility/deviation.ts +111 -0
  983. package/src/core/stdlib/volatility/index.ts +48 -0
  984. package/src/core/stdlib/volatility/measures.ts +96 -0
  985. package/src/core/stdlib/volatility/range.ts +143 -0
  986. package/src/core/stdlib/volume/accumulation.ts +152 -0
  987. package/src/core/stdlib/volume/flow.ts +173 -0
  988. package/src/core/stdlib/volume/index.ts +43 -0
  989. package/src/core/stdlib/volume/weighted.ts +101 -0
  990. package/src/core/version/version.generated.ts +2 -2
@@ -0,0 +1,195 @@
1
+ /**
2
+ * The part of the library that reaches the chart or the host: `stdlib.md`
3
+ * sections 13 to 16.
4
+ *
5
+ * Two facts about this group drive most of the checking around it. The four
6
+ * declaration calls and `table` and `input` are top level only, because they
7
+ * describe the study's fixed shape and that shape is settled before bar 0
8
+ * (`language.md` 15.3). And the arguments that land in a declaration rather
9
+ * than in a bar are marked constant, so a value computed from bar data in one
10
+ * of them is OS3003 rather than something the host discovers it cannot honour.
11
+ */
12
+ import { DATA_DRIVEN, entry, wholeRange } from './library.js';
13
+ const PLOT_STYLES = ['line', 'lineWithMarkers', 'step', 'area', 'histogram', 'column'];
14
+ const SCALES = ['right', 'left', 'none'];
15
+ const FORMATS = ['price', 'percent', 'volume'];
16
+ const MARKER_AT = ['above', 'below', 'price'];
17
+ const MARKER_SHAPES = [
18
+ 'label',
19
+ 'arrowUp',
20
+ 'arrowDown',
21
+ 'triangleUp',
22
+ 'triangleDown',
23
+ 'circle',
24
+ 'square',
25
+ 'diamond',
26
+ 'cross',
27
+ 'flag',
28
+ ];
29
+ const CORNERS = ['topLeft', 'topRight', 'bottomLeft', 'bottomRight'];
30
+ const CELL_ALIGN = ['left', 'center', 'right'];
31
+ const LINE_STYLES = ['solid', 'dashed', 'dotted'];
32
+ const REQUEST_MODES = ['confirmed', 'developing', 'lookahead'];
33
+ const ALERT_FREQUENCIES = ['oncePerBar', 'once', 'everyUpdate'];
34
+ /** The two reads of stdlib.md 15.1, which are the only calls that can repaint. */
35
+ export const REQUEST_NAMES = ['req.timeframe', 'req.symbol'];
36
+ /** The calls `language.md` 15.3 puts at the top level, minus `input` and the legs. */
37
+ export const TOP_LEVEL_NAMES = [
38
+ 'plot',
39
+ 'plotCandles',
40
+ 'fill',
41
+ 'level',
42
+ 'table',
43
+ 'leg.fixed',
44
+ 'leg.relative',
45
+ ];
46
+ const inputs = [
47
+ entry('input(value: any, title?: string, min?: number, max?: number, step?: number, options?: array<string>, kind?: string, group?: string, tooltip?: string, inline?: string, confirm?: bool) -> any', {
48
+ topLevel: true,
49
+ values: { kind: ['interval', 'time', 'symbol', 'price', 'session'] },
50
+ constant: [
51
+ 'title',
52
+ 'min',
53
+ 'max',
54
+ 'step',
55
+ 'options',
56
+ 'kind',
57
+ 'group',
58
+ 'tooltip',
59
+ 'inline',
60
+ 'confirm',
61
+ ],
62
+ }),
63
+ ];
64
+ const declarations = [
65
+ entry('plot(value: series number, title: string, color?: color, width?: number, style?: string, offset?: number, overlay?: bool, precision?: number, format?: string, scale?: string) -> plot', {
66
+ topLevel: true,
67
+ values: { style: PLOT_STYLES, format: FORMATS, scale: SCALES },
68
+ constant: ['title', 'width', 'style', 'offset', 'overlay', 'precision', 'format', 'scale'],
69
+ whole: { precision: wholeRange(0, 10), offset: wholeRange() },
70
+ }),
71
+ entry('plotCandles(open: series number, high: series number, low: series number, close: series number, title: string, colorUp?: color, colorDown?: color, wickColor?: color, borderColor?: color) -> plot', { topLevel: true, constant: ['title'] }),
72
+ entry('fill(plotA: plot, plotB: plot, color?: color, colorUp?: color, colorDown?: color, opacity?: number, overlay?: bool) -> fill', {
73
+ topLevel: true,
74
+ constant: ['opacity', 'overlay'],
75
+ // One colour for the whole band or one for each side, never both: any
76
+ // rule for reconciling them surprises somebody (stdlib.md 14.2).
77
+ conflicts: [
78
+ ['color', 'colorUp'],
79
+ ['color', 'colorDown'],
80
+ ],
81
+ }),
82
+ entry('level(price: series number, title?: string, color?: color, style?: string, width?: number) -> level', {
83
+ topLevel: true,
84
+ values: { style: LINE_STYLES },
85
+ // A level's colour is one field of the declaration and the format gives it
86
+ // no per-bar channel, unlike a plot's, so a bar-dependent one has nowhere
87
+ // to land (`compiled-program.md` 2.8).
88
+ constant: ['title', 'color', 'style', 'width'],
89
+ }),
90
+ entry('table(title: string, rows: number, cols: number, position?: string, textColor?: color, bgColor?: color, borderWidth?: number) -> table', {
91
+ topLevel: true,
92
+ values: { position: CORNERS },
93
+ // The grid's own style is declared once, in `options`. A cell's colours
94
+ // are the per-bar ones, and `cell` takes them.
95
+ constant: ['title', 'rows', 'cols', 'position', 'textColor', 'bgColor', 'borderWidth'],
96
+ whole: { rows: wholeRange(1), cols: wholeRange(1) },
97
+ }),
98
+ ];
99
+ const perBar = [
100
+ entry('signal(text: string, color?: color, at?: string, shape?: string) -> nothing', {
101
+ values: { at: MARKER_AT, shape: MARKER_SHAPES },
102
+ constant: ['color', 'at', 'shape'],
103
+ }),
104
+ entry('barColor(color: color) -> nothing'),
105
+ entry('background(color: color) -> nothing'),
106
+ entry('cell(t: table, row: number, col: number, text: string, textColor?: color = none, bgColor?: color = none, align?: string = "left") -> nothing', { values: { align: CELL_ALIGN }, whole: { row: wholeRange(0), col: wholeRange(0) } }),
107
+ entry('clear(t: table) -> nothing'),
108
+ entry('print(value: any) -> nothing'),
109
+ // Only the message is read per bar. The other three are the entry's own
110
+ // identity and its firing rule, written into `outputs.alerts` before bar 0,
111
+ // so a bar-dependent one has nowhere to land (`compiled-program.md` 2.8).
112
+ entry('alert(message: string, id?: string, title?: string, frequency?: string) -> nothing', {
113
+ values: { frequency: ALERT_FREQUENCIES },
114
+ constant: ['id', 'title', 'frequency'],
115
+ }),
116
+ entry('notify(message: string, channel: string) -> nothing', { planned: true }),
117
+ ];
118
+ /**
119
+ * The four creation calls, with the defaults of `stdlib.md` 14.4 written out.
120
+ *
121
+ * These four were the only entries in the library that said what their optional
122
+ * arguments default to, on the reasoning that a calculation reading an absent
123
+ * length answers absence, which was thought to be a truthful answer that cost
124
+ * nothing, while an object created with an absent width is a drawing with no
125
+ * thickness and nothing is drawn (`language.md` 6.7).
126
+ *
127
+ * **The first half of that reasoning was wrong and cost more than the second.**
128
+ * A length the specification gave and the call dropped is not a length nobody
129
+ * gave: `atr()` is `atr(14)` in `stdlib.md`, it drew no value on any bar, and
130
+ * unlike a drawing with no thickness there was nothing on the chart to notice.
131
+ * Every optional parameter in the library now carries its default, these four
132
+ * included, and `scripts/check-defaults.mjs` refuses one that does not.
133
+ *
134
+ * **A setter says which objects it takes, and takes no others.** Eleven of them
135
+ * used to write `obj: any` because the real type is a set of kinds and there
136
+ * was no way to spell one, so `draw.setFrom(aLabel, t, p)` type checked, wrote
137
+ * an anchor a label has no field for, and drew nothing with nothing reported;
138
+ * `draw.setColor(5, red)` type checked as readily. The sets below are the
139
+ * properties each kind actually carries, which is `stdlib.md` 14.4's own table
140
+ * read down its last column, and a call that misses one is OS3011 at the
141
+ * argument, before any bar runs.
142
+ */
143
+ const drawing = [
144
+ entry('draw.line(t1: number, p1: number, t2: number, p2: number, color?: color = gray, width?: number = 1, style?: string = "solid", extendLeft?: bool = false, extendRight?: bool = false) -> line', { values: { style: LINE_STYLES } }),
145
+ entry('draw.label(t: number, p: number, text: string, color?: color = none, textColor?: color = white, align?: string = "center", tooltip?: string = "") -> label'),
146
+ entry('draw.box(t1: number, p1: number, t2: number, p2: number, color?: color = none, fillColor?: color = none, opacity?: number = 0.12, width?: number = 1, text?: string = "", textColor?: color = white, tooltip?: string = "") -> box'),
147
+ entry('draw.polyline(times: array<number>, prices: array<number>, color?: color = gray, width?: number = 1, closed?: bool = false, fillColor?: color = none, opacity?: number = 0.12) -> polyline'),
148
+ entry('draw.setFrom(obj: line | box, t: number, p: number) -> nothing'),
149
+ entry('draw.setTo(obj: line | box, t: number, p: number) -> nothing'),
150
+ entry('draw.setBounds(obj: line | box, t1: number, p1: number, t2: number, p2: number) -> nothing'),
151
+ entry('draw.setAt(label: label, t: number, p: number) -> nothing'),
152
+ entry('draw.setPoints(polyline: polyline, times: array<number>, prices: array<number>) -> nothing'),
153
+ entry('draw.setText(obj: label | box, text: string) -> nothing'),
154
+ entry('draw.setColor(obj: line | label | box | polyline, color: color) -> nothing'),
155
+ entry('draw.setTextColor(obj: label | box, color: color) -> nothing'),
156
+ entry('draw.setFillColor(obj: box | polyline, color: color) -> nothing'),
157
+ entry('draw.setWidth(obj: line | box | polyline, width: number) -> nothing'),
158
+ entry('draw.setStyle(obj: line, style: string) -> nothing', { values: { style: LINE_STYLES } }),
159
+ entry('draw.setExtend(line: line, left: bool, right: bool) -> nothing'),
160
+ entry('draw.setTooltip(obj: label | box, text: string) -> nothing'),
161
+ entry('draw.delete(obj: line | label | box | polyline) -> nothing'),
162
+ entry('draw.deleteAll() -> nothing'),
163
+ entry('draw.count() -> number'),
164
+ ];
165
+ const requests = [
166
+ // Not planned, and deliberately so: a target script uses a higher timeframe
167
+ // read, so the language has it in version one and the checker accepts it.
168
+ //
169
+ // The engine is what does not execute a request body yet, and the format
170
+ // already has the honest way to say that: the program carries a `req.timeframe`
171
+ // capability tag, and an engine without it refuses at load with OS6006 naming
172
+ // the capability. That is a third legitimate state beside "runs" and
173
+ // "planned", and it is the one the compiled format was designed for, because
174
+ // it is how an old engine tells a new program what it is missing.
175
+ entry('req.timeframe(timeframe: string, expr: T, mode?: string = "confirmed") -> T', {
176
+ warmup: DATA_DRIVEN,
177
+ values: { mode: REQUEST_MODES },
178
+ }),
179
+ entry('req.symbol(symbol: string, timeframe: string, expr: T, exchange?: string = chart.exchange, mode?: string = "confirmed") -> T', {
180
+ warmup: DATA_DRIVEN,
181
+ values: { mode: REQUEST_MODES },
182
+ }),
183
+ entry('req.isReady(read: any) -> series bool'),
184
+ entry('req.error(read: any) -> series string'),
185
+ entry('req.candle(timeframe: string, mode?: string) -> array<number>', { planned: true }),
186
+ entry('req.events(kind: string) -> series number', { planned: true }),
187
+ ];
188
+ export const OUTPUT_ENTRIES = [
189
+ ...inputs,
190
+ ...declarations,
191
+ ...perBar,
192
+ ...drawing,
193
+ ...requests,
194
+ ];
195
+ //# sourceMappingURL=library-output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"library-output.js","sourceRoot":"","sources":["../../../src/core/check/library-output.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { LibraryEntry } from './library.js';
2
+ export declare const SERIES_ENTRIES: readonly LibraryEntry[];
3
+ //# sourceMappingURL=library-series.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"library-series.d.ts","sourceRoot":"","sources":["../../../src/core/check/library-series.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,YAAY,EAAc,MAAM,cAAc,CAAC;AA2a7D,eAAO,MAAM,cAAc,EAAE,SAAS,YAAY,EASjD,CAAC"}
@@ -0,0 +1,415 @@
1
+ /**
2
+ * The part of the library that computes: `stdlib.md` sections 4 to 11 and the
3
+ * array operations of `language.md` 14.1.
4
+ *
5
+ * Every entry carries the warmup its row in `stdlib.md` states. Where the
6
+ * formula there is longer than the shape this module can hold, the entry is
7
+ * marked inexact and the checker reports a floor rather than a number, because
8
+ * a warmup that is stated exactly and is wrong would be worse than one that
9
+ * says it is a bound. `atLeastLength` is that mark.
10
+ */
11
+ import { DATA_DRIVEN, TOTAL, atLeastLength, delayBars, entry, fromLength, fromLengths, wholeRange, } from './library.js';
12
+ const stateful = { stateful: true };
13
+ /**
14
+ * `[gap, signal, histogram]`, which two entries return on the same terms.
15
+ *
16
+ * The gap is there once the slower mean is, and the signal and the histogram
17
+ * wait for the mean of the gap: `slow + signal - 2`, the bar `stdlib.md` states
18
+ * for both of them.
19
+ */
20
+ const GAP_AND_SIGNAL = [
21
+ fromLength('slow', -1),
22
+ fromLengths(['slow', 'signal'], -2),
23
+ fromLengths(['slow', 'signal'], -2),
24
+ ];
25
+ /** The three colour channels of stdlib.md 11.2, which are whole 0 to 255. */
26
+ const CHANNELS = { r: wholeRange(0, 255), g: wholeRange(0, 255), b: wholeRange(0, 255) };
27
+ const trend = [
28
+ entry('sma(src: series number, len: number) -> series number', {
29
+ ...stateful,
30
+ warmup: fromLength('len', -1),
31
+ }),
32
+ entry('ema(src: series number, len: number) -> series number', {
33
+ ...stateful,
34
+ warmup: fromLength('len', -1),
35
+ }),
36
+ entry('wma(src: series number, len: number) -> series number', {
37
+ ...stateful,
38
+ warmup: fromLength('len', -1),
39
+ }),
40
+ entry('rma(src: series number, len: number) -> series number', {
41
+ ...stateful,
42
+ warmup: fromLength('len', -1),
43
+ }),
44
+ entry('hma(src: series number, len: number) -> series number', {
45
+ ...stateful,
46
+ warmup: atLeastLength(['len'], -2),
47
+ }),
48
+ entry('dema(src: series number, len: number) -> series number', {
49
+ ...stateful,
50
+ warmup: fromLength('len', -2, 2),
51
+ }),
52
+ entry('tema(src: series number, len: number) -> series number', {
53
+ ...stateful,
54
+ warmup: fromLength('len', -3, 3),
55
+ }),
56
+ entry('vwma(src: series number, len: number) -> series number', {
57
+ ...stateful,
58
+ warmup: fromLength('len', -1),
59
+ }),
60
+ entry('swma(src: series number) -> series number', { ...stateful, warmup: delayBars(3) }),
61
+ entry('alma(src: series number, len: number, offset?: number = 0.85, sigma?: number = 6) -> series number', { ...stateful, warmup: fromLength('len', -1) }),
62
+ entry('linreg(src: series number, len: number, offset?: number = 0) -> series number', {
63
+ ...stateful,
64
+ warmup: fromLength('len', -1),
65
+ }),
66
+ entry('ma(src: series number, len: number, type?: string = "sma") -> series number', {
67
+ ...stateful,
68
+ warmup: atLeastLength(['len'], -1),
69
+ values: { type: ['sma', 'ema', 'wma', 'rma', 'hma', 'vwma'] },
70
+ }),
71
+ entry('supertrend(factor?: number = 3, atrLen?: number = 10) -> array<number>', {
72
+ ...stateful,
73
+ warmup: fromLength('atrLen', 0),
74
+ }),
75
+ entry('psar(start?: number = 0.02, step?: number = 0.02, max?: number = 0.2) -> array<number>', {
76
+ ...stateful,
77
+ warmup: delayBars(1),
78
+ }),
79
+ entry('adx(diLen?: number = 14, adxLen?: number = 14) -> array<number>', {
80
+ ...stateful,
81
+ warmup: atLeastLength(['diLen'], 0),
82
+ elements: [
83
+ fromLengths(['diLen', 'adxLen'], -1),
84
+ fromLength('diLen', 0),
85
+ fromLength('diLen', 0),
86
+ ],
87
+ }),
88
+ entry('aroon(len?: number = 14) -> array<number>', { ...stateful, warmup: fromLength('len', 0) }),
89
+ entry('ichimoku(convLen?: number = 9, baseLen?: number = 26, spanLen?: number = 52) -> array<number>', {
90
+ ...stateful,
91
+ warmup: atLeastLength(['convLen'], -1),
92
+ elements: [
93
+ fromLength('convLen', -1),
94
+ fromLength('baseLen', -1),
95
+ fromLength('baseLen', -1),
96
+ fromLength('spanLen', -1),
97
+ fromLength('baseLen', -1),
98
+ ],
99
+ }),
100
+ entry('kama(src: series number, len: number, fast?: number = 2, slow?: number = 30) -> series number', {
101
+ planned: true,
102
+ }),
103
+ entry('zlema(src: series number, len: number) -> series number', { planned: true }),
104
+ entry('vidya(src: series number, len: number) -> series number', { planned: true }),
105
+ entry('zigzag(src: series number, deviation: number) -> array<number>', { planned: true }),
106
+ ];
107
+ const momentum = [
108
+ entry('rsi(src: series number, len?: number = 14) -> series number', {
109
+ ...stateful,
110
+ warmup: fromLength('len', 0),
111
+ }),
112
+ entry('stoch(len?: number = 14, smoothK?: number = 1, smoothD?: number = 3) -> array<number>', {
113
+ ...stateful,
114
+ warmup: atLeastLength(['len', 'smoothK'], -2),
115
+ elements: [
116
+ fromLengths(['len', 'smoothK'], -2),
117
+ fromLengths(['len', 'smoothK', 'smoothD'], -3),
118
+ ],
119
+ }),
120
+ entry('stochRsi(src: series number, rsiLen?: number = 14, stochLen?: number = 14, smoothK?: number = 3, smoothD?: number = 3) -> array<number>', {
121
+ ...stateful,
122
+ warmup: atLeastLength(['rsiLen', 'stochLen', 'smoothK'], -2),
123
+ // One element and not two: `stdlib.md` states the bar for element 0 and
124
+ // not for the line smoothed out of it, and element 1 takes the entry's
125
+ // own floor rather than a formula nobody wrote down.
126
+ elements: [fromLengths(['rsiLen', 'stochLen', 'smoothK'], -2)],
127
+ }),
128
+ entry('macd(src: series number, fast?: number = 12, slow?: number = 26, signal?: number = 9) -> array<number>', { ...stateful, warmup: fromLength('slow', -1), elements: GAP_AND_SIGNAL }),
129
+ entry('ppo(src: series number, fast?: number = 12, slow?: number = 26, signal?: number = 9) -> array<number>', { ...stateful, warmup: fromLength('slow', -1), elements: GAP_AND_SIGNAL }),
130
+ entry('cci(len?: number = 20) -> series number', { ...stateful, warmup: fromLength('len', -1) }),
131
+ entry('mom(src: series number, len?: number = 10) -> series number', {
132
+ ...stateful,
133
+ warmup: fromLength('len', 0),
134
+ }),
135
+ entry('roc(src: series number, len?: number = 9) -> series number', {
136
+ ...stateful,
137
+ warmup: fromLength('len', 0),
138
+ }),
139
+ entry('williamsR(len?: number = 14) -> series number', {
140
+ ...stateful,
141
+ warmup: fromLength('len', -1),
142
+ }),
143
+ entry('tsi(src: series number, longLen?: number = 25, shortLen?: number = 13) -> series number', {
144
+ ...stateful,
145
+ warmup: atLeastLength(['longLen', 'shortLen'], -1),
146
+ }),
147
+ entry('trix(src: series number, len?: number = 18) -> series number', {
148
+ ...stateful,
149
+ warmup: fromLength('len', -2, 3),
150
+ }),
151
+ entry('cmo(src: series number, len?: number = 9) -> series number', {
152
+ ...stateful,
153
+ warmup: fromLength('len', 0),
154
+ }),
155
+ entry('dpo(src: series number, len?: number = 21) -> series number', {
156
+ ...stateful,
157
+ warmup: atLeastLength(['len'], 0),
158
+ }),
159
+ entry('ultimateOsc(len1?: number = 7, len2?: number = 14, len3?: number = 28) -> series number', {
160
+ ...stateful,
161
+ warmup: atLeastLength(['len1'], 0),
162
+ }),
163
+ entry('awesomeOsc(fast?: number = 5, slow?: number = 34) -> series number', {
164
+ ...stateful,
165
+ warmup: fromLength('slow', -1),
166
+ }),
167
+ entry('fisher(len?: number = 9) -> array<number>', { planned: true }),
168
+ entry('rvi(src: series number, len?: number = 10) -> array<number>', { planned: true }),
169
+ entry('coppock(src: series number, roc1?: number = 14, roc2?: number = 11, wmaLen?: number = 10) -> series number', { planned: true }),
170
+ ];
171
+ const volatility = [
172
+ entry('trueRange() -> series number'),
173
+ entry('atr(len?: number = 14) -> series number', { ...stateful, warmup: fromLength('len', -1) }),
174
+ entry('natr(len?: number = 14) -> series number', { ...stateful, warmup: fromLength('len', -1) }),
175
+ entry('stdev(src: series number, len: number, sample?: bool = false) -> series number', {
176
+ ...stateful,
177
+ warmup: fromLength('len', -1),
178
+ }),
179
+ entry('variance(src: series number, len: number, sample?: bool = false) -> series number', {
180
+ ...stateful,
181
+ warmup: fromLength('len', -1),
182
+ }),
183
+ entry('bollinger(src: series number, len?: number = 20, mult?: number = 2) -> array<number>', {
184
+ ...stateful,
185
+ warmup: fromLength('len', -1),
186
+ }),
187
+ entry('bbWidth(src: series number, len?: number = 20, mult?: number = 2) -> series number', {
188
+ ...stateful,
189
+ warmup: fromLength('len', -1),
190
+ }),
191
+ entry('bbPercent(src: series number, len?: number = 20, mult?: number = 2) -> series number', {
192
+ ...stateful,
193
+ warmup: fromLength('len', -1),
194
+ }),
195
+ entry('keltner(len?: number = 20, mult?: number = 2, atrLen?: number = 10, maType?: string = "ema") -> array<number>', { ...stateful, warmup: atLeastLength(['len'], -1) }),
196
+ entry('donchian(len?: number = 20) -> array<number>', {
197
+ ...stateful,
198
+ warmup: fromLength('len', -1),
199
+ }),
200
+ entry('chop(len?: number = 14) -> series number', { ...stateful, warmup: fromLength('len', 0) }),
201
+ entry('hv(src: series number, len?: number = 20, periodsPerYear?: number = 252) -> series number', {
202
+ ...stateful,
203
+ warmup: fromLength('len', 0),
204
+ }),
205
+ entry('massIndex(len?: number = 25) -> series number', { planned: true }),
206
+ ];
207
+ const volume = [
208
+ entry('vwap(src?: series number = hlc3) -> series number', { ...stateful, warmup: DATA_DRIVEN }),
209
+ entry('vwapAnchor(src: series number, resetWhen: series bool) -> series number', {
210
+ ...stateful,
211
+ warmup: DATA_DRIVEN,
212
+ }),
213
+ entry('obv() -> series number', stateful),
214
+ entry('ad() -> series number', stateful),
215
+ entry('adOsc(fast?: number = 3, slow?: number = 10) -> series number', {
216
+ ...stateful,
217
+ warmup: fromLength('slow', -1),
218
+ }),
219
+ entry('mfi(len?: number = 14) -> series number', { ...stateful, warmup: fromLength('len', 0) }),
220
+ entry('cmf(len?: number = 20) -> series number', { ...stateful, warmup: fromLength('len', -1) }),
221
+ entry('pvt() -> series number', { ...stateful, warmup: delayBars(1) }),
222
+ entry('eom(len?: number = 14) -> series number', { ...stateful, warmup: fromLength('len', 0) }),
223
+ entry('forceIndex(len?: number = 13) -> series number', {
224
+ ...stateful,
225
+ warmup: fromLength('len', 0),
226
+ }),
227
+ entry('relativeVolume(len?: number = 20) -> series number', {
228
+ ...stateful,
229
+ warmup: fromLength('len', -1),
230
+ }),
231
+ entry('nvi() -> series number', { planned: true }),
232
+ entry('pvi() -> series number', { planned: true }),
233
+ entry('klinger(fast?: number = 34, slow?: number = 55, signal?: number = 13) -> array<number>', {
234
+ planned: true,
235
+ }),
236
+ entry('volumeProfile(rows?: number = 24, from?: number = none) -> array<number>', { planned: true }),
237
+ entry('cvd() -> series number', { planned: true }),
238
+ ];
239
+ const helpers = [
240
+ entry('highest(src: series number, len: number) -> series number', {
241
+ ...stateful,
242
+ warmup: fromLength('len', -1),
243
+ }),
244
+ entry('lowest(src: series number, len: number) -> series number', {
245
+ ...stateful,
246
+ warmup: fromLength('len', -1),
247
+ }),
248
+ entry('highestBars(src: series number, len: number) -> series number', {
249
+ ...stateful,
250
+ warmup: fromLength('len', -1),
251
+ }),
252
+ entry('lowestBars(src: series number, len: number) -> series number', {
253
+ ...stateful,
254
+ warmup: fromLength('len', -1),
255
+ }),
256
+ entry('change(src: series number) -> series number', { ...stateful, warmup: delayBars(1) }),
257
+ entry('change(src: series number, len: number) -> series number', {
258
+ ...stateful,
259
+ warmup: fromLength('len', 0),
260
+ }),
261
+ entry('rising(src: series number, len: number) -> series bool', {
262
+ ...stateful,
263
+ warmup: fromLength('len', 0),
264
+ }),
265
+ entry('falling(src: series number, len: number) -> series bool', {
266
+ ...stateful,
267
+ warmup: fromLength('len', 0),
268
+ }),
269
+ entry('crossUp(a: series number, b: series number) -> series bool', {
270
+ ...stateful,
271
+ warmup: delayBars(1),
272
+ }),
273
+ entry('crossDown(a: series number, b: series number) -> series bool', {
274
+ ...stateful,
275
+ warmup: delayBars(1),
276
+ }),
277
+ entry('cross(a: series number, b: series number) -> series bool', {
278
+ ...stateful,
279
+ warmup: delayBars(1),
280
+ }),
281
+ entry('barsSince(cond: series bool) -> series number', { ...stateful, warmup: DATA_DRIVEN }),
282
+ entry('valueWhen(cond: series bool, src: T, occurrence?: number = 0) -> T', {
283
+ ...stateful,
284
+ warmup: DATA_DRIVEN,
285
+ }),
286
+ entry('cum(src: series number) -> series number', stateful),
287
+ entry('sum(src: series number, len: number) -> series number', {
288
+ ...stateful,
289
+ warmup: fromLength('len', -1),
290
+ }),
291
+ entry('count(cond: series bool, len: number) -> series number', {
292
+ ...stateful,
293
+ warmup: fromLength('len', -1),
294
+ }),
295
+ entry('sumSkip(src: series number, len: number) -> series number', {
296
+ ...stateful,
297
+ warmup: fromLength('len', -1),
298
+ }),
299
+ entry('avgSkip(src: series number, len: number) -> series number', {
300
+ ...stateful,
301
+ warmup: fromLength('len', -1),
302
+ }),
303
+ entry('countPresent(src: series number, len: number) -> series number', {
304
+ ...stateful,
305
+ warmup: fromLength('len', -1),
306
+ }),
307
+ entry('history(src: T, n: number) -> T', { ...stateful, warmup: fromLength('n', 0) }),
308
+ entry('pivotHigh(src: series number, left: number, right: number) -> series number', {
309
+ ...stateful,
310
+ warmup: fromLengths(['left', 'right'], 0),
311
+ }),
312
+ entry('pivotLow(src: series number, left: number, right: number) -> series number', {
313
+ ...stateful,
314
+ warmup: fromLengths(['left', 'right'], 0),
315
+ }),
316
+ entry('median(src: series number, len: number) -> series number', {
317
+ ...stateful,
318
+ warmup: fromLength('len', -1),
319
+ }),
320
+ entry('percentile(src: series number, len: number, p: number) -> series number', {
321
+ ...stateful,
322
+ warmup: fromLength('len', -1),
323
+ }),
324
+ entry('percentRank(src: series number, len: number) -> series number', {
325
+ ...stateful,
326
+ warmup: fromLength('len', -1),
327
+ }),
328
+ entry('correlation(a: series number, b: series number, len: number) -> series number', {
329
+ ...stateful,
330
+ warmup: fromLength('len', -1),
331
+ }),
332
+ entry('covariance(a: series number, b: series number, len: number) -> series number', {
333
+ ...stateful,
334
+ warmup: fromLength('len', -1),
335
+ }),
336
+ ];
337
+ const maths = [
338
+ entry('abs(x: number) -> number'),
339
+ entry('sign(x: number) -> number'),
340
+ entry('min(a: number, b: number) -> number'),
341
+ entry('max(a: number, b: number) -> number'),
342
+ entry('clamp(x: number, lo: number, hi: number) -> number'),
343
+ entry('floor(x: number) -> number'),
344
+ entry('ceil(x: number) -> number'),
345
+ entry('round(x: number) -> number'),
346
+ entry('round(x: number, decimals: number) -> number'),
347
+ entry('trunc(x: number) -> number'),
348
+ entry('roundToStep(x: number, step: number) -> number'),
349
+ entry('roundToTick(price: number) -> number'),
350
+ entry('sqrt(x: number) -> number'),
351
+ entry('pow(x: number, y: number) -> number'),
352
+ entry('exp(x: number) -> number'),
353
+ entry('log(x: number) -> number'),
354
+ entry('log10(x: number) -> number'),
355
+ entry('mod(a: number, b: number) -> number'),
356
+ entry('isNone(x: any) -> bool', { warmup: TOTAL }),
357
+ entry('orElse(x: T, fallback: T) -> T', {
358
+ warmup: { kind: 'either', params: ['x', 'fallback'] },
359
+ }),
360
+ // The three conversions. Two of them are spelled `to` and the type because
361
+ // `bool` and `number` are reserved words: a call has a name in front of it,
362
+ // a reserved word is not one, and a library that published those two spellings
363
+ // published two names no script could ever write. `text` is not the odd one
364
+ // out: `text` is not a type name either, the type is `string`, and the same
365
+ // call is the formatter as well (`text(x, 2)`), so it never collided and it
366
+ // keeps the name every script already writes.
367
+ entry('toBool(x: any) -> bool', { warmup: TOTAL }),
368
+ entry('text(x: any) -> string'),
369
+ entry('text(x: number, decimals: number) -> string'),
370
+ entry('toNumber(s: string) -> number'),
371
+ ];
372
+ const colour = [
373
+ entry('rgb(r: number, g: number, b: number) -> color', { whole: CHANNELS }),
374
+ entry('rgba(r: number, g: number, b: number, a: number) -> color', { whole: CHANNELS }),
375
+ entry('fade(color: color, percent: number) -> color'),
376
+ entry('mix(a: color, b: color, weight: number) -> color'),
377
+ entry('alpha(color: color) -> number'),
378
+ entry('withAlpha(color: color, a: number) -> color'),
379
+ entry('hsl(h: number, s: number, l: number) -> color', { planned: true }),
380
+ entry('gradient(value: number, from: number, to: number, colorFrom: color, colorTo: color) -> color', { planned: true }),
381
+ ];
382
+ const arrays = [
383
+ entry('size(arr: array<E>) -> number'),
384
+ entry('element(arr: array<E>, i: number) -> E'),
385
+ entry('set(arr: array<E>, i: number, v: E) -> nothing'),
386
+ entry('push(arr: array<E>, v: E) -> nothing'),
387
+ entry('pop(arr: array<E>) -> E'),
388
+ entry('shift(arr: array<E>) -> E'),
389
+ entry('unshift(arr: array<E>, v: E) -> nothing'),
390
+ entry('insert(arr: array<E>, i: number, v: E) -> nothing'),
391
+ entry('remove(arr: array<E>, i: number) -> E'),
392
+ entry('clear(arr: array<E>) -> nothing'),
393
+ entry('slice(arr: array<E>, from: number, to: number) -> array<E>'),
394
+ entry('copy(arr: array<E>) -> array<E>'),
395
+ entry('indexOf(arr: array<E>, v: E) -> number'),
396
+ entry('arrayEqual(a: array<E>, b: array<E>) -> bool'),
397
+ entry('sort(arr: array<E>, order: string) -> nothing', { values: { order: ['asc', 'desc'] } }),
398
+ entry('reverse(arr: array<E>) -> nothing'),
399
+ entry('sum(arr: array<number>) -> number'),
400
+ entry('avg(arr: array<number>) -> number'),
401
+ entry('min(arr: array<number>) -> number'),
402
+ entry('max(arr: array<number>) -> number'),
403
+ entry('stdev(arr: array<number>) -> number'),
404
+ ];
405
+ export const SERIES_ENTRIES = [
406
+ ...trend,
407
+ ...momentum,
408
+ ...volatility,
409
+ ...volume,
410
+ ...helpers,
411
+ ...maths,
412
+ ...colour,
413
+ ...arrays,
414
+ ];
415
+ //# sourceMappingURL=library-series.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"library-series.js","sourceRoot":"","sources":["../../../src/core/check/library-series.ts"],"names":[],"mappings":"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"}