openalgo-script 0.4.0 → 0.6.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 (359) hide show
  1. package/CHANGELOG.md +1050 -0
  2. package/README.md +111 -27
  3. package/dist/adapters/charts/driving.d.ts +50 -0
  4. package/dist/adapters/charts/driving.d.ts.map +1 -0
  5. package/dist/adapters/charts/driving.js +57 -0
  6. package/dist/adapters/charts/driving.js.map +1 -0
  7. package/dist/adapters/charts/run.d.ts +20 -0
  8. package/dist/adapters/charts/run.d.ts.map +1 -1
  9. package/dist/adapters/charts/run.js +89 -16
  10. package/dist/adapters/charts/run.js.map +1 -1
  11. package/dist/adapters/charts/tables.d.ts +6 -19
  12. package/dist/adapters/charts/tables.d.ts.map +1 -1
  13. package/dist/adapters/charts/tables.js.map +1 -1
  14. package/dist/adapters/charts/undrawable.d.ts +4 -0
  15. package/dist/adapters/charts/undrawable.d.ts.map +1 -0
  16. package/dist/adapters/charts/undrawable.js +47 -0
  17. package/dist/adapters/charts/undrawable.js.map +1 -0
  18. package/dist/adapters/charts/venue.d.ts +73 -0
  19. package/dist/adapters/charts/venue.d.ts.map +1 -0
  20. package/dist/adapters/charts/venue.js +104 -0
  21. package/dist/adapters/charts/venue.js.map +1 -0
  22. package/dist/core/accounting/analysis.d.ts +111 -0
  23. package/dist/core/accounting/analysis.d.ts.map +1 -0
  24. package/dist/core/accounting/analysis.js +123 -0
  25. package/dist/core/accounting/analysis.js.map +1 -0
  26. package/dist/core/accounting/equity.d.ts +33 -0
  27. package/dist/core/accounting/equity.d.ts.map +1 -1
  28. package/dist/core/accounting/equity.js +12 -0
  29. package/dist/core/accounting/equity.js.map +1 -1
  30. package/dist/core/accounting/index.d.ts +2 -0
  31. package/dist/core/accounting/index.d.ts.map +1 -1
  32. package/dist/core/accounting/index.js +1 -0
  33. package/dist/core/accounting/index.js.map +1 -1
  34. package/dist/core/accounting/report.d.ts +3 -0
  35. package/dist/core/accounting/report.d.ts.map +1 -1
  36. package/dist/core/accounting/report.js +2 -0
  37. package/dist/core/accounting/report.js.map +1 -1
  38. package/dist/core/accounting/statistics.d.ts +12 -0
  39. package/dist/core/accounting/statistics.d.ts.map +1 -1
  40. package/dist/core/accounting/statistics.js +23 -1
  41. package/dist/core/accounting/statistics.js.map +1 -1
  42. package/dist/core/backtest/case.d.ts +60 -0
  43. package/dist/core/backtest/case.d.ts.map +1 -0
  44. package/dist/core/backtest/case.js +319 -0
  45. package/dist/core/backtest/case.js.map +1 -0
  46. package/dist/core/backtest/compare.d.ts.map +1 -1
  47. package/dist/core/backtest/compare.js +2 -0
  48. package/dist/core/backtest/compare.js.map +1 -1
  49. package/dist/core/backtest/deliver.d.ts +93 -0
  50. package/dist/core/backtest/deliver.d.ts.map +1 -0
  51. package/dist/core/backtest/deliver.js +94 -0
  52. package/dist/core/backtest/deliver.js.map +1 -0
  53. package/dist/core/backtest/drive.d.ts +101 -8
  54. package/dist/core/backtest/drive.d.ts.map +1 -1
  55. package/dist/core/backtest/drive.js +114 -158
  56. package/dist/core/backtest/drive.js.map +1 -1
  57. package/dist/core/backtest/index.d.ts +26 -12
  58. package/dist/core/backtest/index.d.ts.map +1 -1
  59. package/dist/core/backtest/index.js +21 -10
  60. package/dist/core/backtest/index.js.map +1 -1
  61. package/dist/core/backtest/record.d.ts +63 -2
  62. package/dist/core/backtest/record.d.ts.map +1 -1
  63. package/dist/core/backtest/record.js +71 -4
  64. package/dist/core/backtest/record.js.map +1 -1
  65. package/dist/core/backtest/replay.d.ts.map +1 -1
  66. package/dist/core/backtest/replay.js +11 -1
  67. package/dist/core/backtest/replay.js.map +1 -1
  68. package/dist/core/backtest/simulate.d.ts +113 -1
  69. package/dist/core/backtest/simulate.d.ts.map +1 -1
  70. package/dist/core/backtest/simulate.js +123 -5
  71. package/dist/core/backtest/simulate.js.map +1 -1
  72. package/dist/core/backtest/walk.d.ts +39 -0
  73. package/dist/core/backtest/walk.d.ts.map +1 -0
  74. package/dist/core/backtest/walk.js +125 -0
  75. package/dist/core/backtest/walk.js.map +1 -0
  76. package/dist/core/catalogue/catalogue.generated.d.ts +179 -2
  77. package/dist/core/catalogue/catalogue.generated.d.ts.map +1 -1
  78. package/dist/core/catalogue/catalogue.generated.js +19 -2
  79. package/dist/core/catalogue/catalogue.generated.js.map +1 -1
  80. package/dist/core/catalogue/types.d.ts +8 -2
  81. package/dist/core/catalogue/types.d.ts.map +1 -1
  82. package/dist/core/catalogue/values.generated.d.ts +51 -0
  83. package/dist/core/catalogue/values.generated.d.ts.map +1 -1
  84. package/dist/core/check/assigned.d.ts +19 -0
  85. package/dist/core/check/assigned.d.ts.map +1 -0
  86. package/dist/core/check/assigned.js +14 -0
  87. package/dist/core/check/assigned.js.map +1 -0
  88. package/dist/core/check/call-sites.d.ts.map +1 -1
  89. package/dist/core/check/call-sites.js +9 -4
  90. package/dist/core/check/call-sites.js.map +1 -1
  91. package/dist/core/check/calls.d.ts.map +1 -1
  92. package/dist/core/check/calls.js +12 -4
  93. package/dist/core/check/calls.js.map +1 -1
  94. package/dist/core/check/check.d.ts.map +1 -1
  95. package/dist/core/check/check.js +15 -2
  96. package/dist/core/check/check.js.map +1 -1
  97. package/dist/core/check/checker.d.ts +26 -0
  98. package/dist/core/check/checker.d.ts.map +1 -1
  99. package/dist/core/check/checker.js +38 -2
  100. package/dist/core/check/checker.js.map +1 -1
  101. package/dist/core/check/constant.d.ts +16 -0
  102. package/dist/core/check/constant.d.ts.map +1 -1
  103. package/dist/core/check/constant.js +52 -0
  104. package/dist/core/check/constant.js.map +1 -1
  105. package/dist/core/check/deleted.d.ts +3 -0
  106. package/dist/core/check/deleted.d.ts.map +1 -0
  107. package/dist/core/check/deleted.js +109 -0
  108. package/dist/core/check/deleted.js.map +1 -0
  109. package/dist/core/check/expressions.js +1 -1
  110. package/dist/core/check/expressions.js.map +1 -1
  111. package/dist/core/check/library-orders.js +2 -2
  112. package/dist/core/check/library-orders.js.map +1 -1
  113. package/dist/core/check/library-output.d.ts.map +1 -1
  114. package/dist/core/check/library-output.js +1 -0
  115. package/dist/core/check/library-output.js.map +1 -1
  116. package/dist/core/check/library-prose.generated.js +12 -12
  117. package/dist/core/check/library-prose.generated.js.map +1 -1
  118. package/dist/core/check/library.d.ts +7 -0
  119. package/dist/core/check/library.d.ts.map +1 -1
  120. package/dist/core/check/library.js +1 -0
  121. package/dist/core/check/library.js.map +1 -1
  122. package/dist/core/check/surface.d.ts +9 -0
  123. package/dist/core/check/surface.d.ts.map +1 -1
  124. package/dist/core/check/surface.js +13 -0
  125. package/dist/core/check/surface.js.map +1 -1
  126. package/dist/core/emit/canonical.d.ts +22 -8
  127. package/dist/core/emit/canonical.d.ts.map +1 -1
  128. package/dist/core/emit/canonical.js +67 -6
  129. package/dist/core/emit/canonical.js.map +1 -1
  130. package/dist/core/engine/arithmetic.d.ts +6 -25
  131. package/dist/core/engine/arithmetic.d.ts.map +1 -1
  132. package/dist/core/engine/arithmetic.js +48 -3
  133. package/dist/core/engine/arithmetic.js.map +1 -1
  134. package/dist/core/engine/bar-source.d.ts +65 -0
  135. package/dist/core/engine/bar-source.d.ts.map +1 -0
  136. package/dist/core/engine/bar-source.js +58 -0
  137. package/dist/core/engine/bar-source.js.map +1 -0
  138. package/dist/core/engine/engine.d.ts +9 -11
  139. package/dist/core/engine/engine.d.ts.map +1 -1
  140. package/dist/core/engine/engine.js +24 -24
  141. package/dist/core/engine/engine.js.map +1 -1
  142. package/dist/core/engine/guard.d.ts.map +1 -1
  143. package/dist/core/engine/guard.js +10 -0
  144. package/dist/core/engine/guard.js.map +1 -1
  145. package/dist/core/engine/host.d.ts +4 -2
  146. package/dist/core/engine/host.d.ts.map +1 -1
  147. package/dist/core/engine/host.js.map +1 -1
  148. package/dist/core/engine/index.d.ts +2 -1
  149. package/dist/core/engine/index.d.ts.map +1 -1
  150. package/dist/core/engine/index.js +1 -1
  151. package/dist/core/engine/index.js.map +1 -1
  152. package/dist/core/engine/library/arrays.d.ts.map +1 -1
  153. package/dist/core/engine/library/arrays.js +8 -2
  154. package/dist/core/engine/library/arrays.js.map +1 -1
  155. package/dist/core/engine/library/binding.d.ts +2 -0
  156. package/dist/core/engine/library/binding.d.ts.map +1 -1
  157. package/dist/core/engine/library/binding.js.map +1 -1
  158. package/dist/core/engine/library/code-points.d.ts +40 -0
  159. package/dist/core/engine/library/code-points.d.ts.map +1 -0
  160. package/dist/core/engine/library/code-points.js +74 -0
  161. package/dist/core/engine/library/code-points.js.map +1 -0
  162. package/dist/core/engine/library/index.d.ts +13 -0
  163. package/dist/core/engine/library/index.d.ts.map +1 -1
  164. package/dist/core/engine/library/index.js +15 -0
  165. package/dist/core/engine/library/index.js.map +1 -1
  166. package/dist/core/engine/library/objects.d.ts.map +1 -1
  167. package/dist/core/engine/library/objects.js +1 -1
  168. package/dist/core/engine/library/objects.js.map +1 -1
  169. package/dist/core/engine/library/text.d.ts.map +1 -1
  170. package/dist/core/engine/library/text.js +51 -34
  171. package/dist/core/engine/library/text.js.map +1 -1
  172. package/dist/core/engine/load.d.ts +20 -0
  173. package/dist/core/engine/load.d.ts.map +1 -1
  174. package/dist/core/engine/load.js +62 -0
  175. package/dist/core/engine/load.js.map +1 -1
  176. package/dist/core/engine/request-body.d.ts +3 -1
  177. package/dist/core/engine/request-body.d.ts.map +1 -1
  178. package/dist/core/engine/request-body.js +3 -1
  179. package/dist/core/engine/request-body.js.map +1 -1
  180. package/dist/core/engine/request-plan.d.ts +3 -3
  181. package/dist/core/engine/request-plan.js +3 -3
  182. package/dist/core/engine/requests.d.ts +2 -2
  183. package/dist/core/engine/requests.d.ts.map +1 -1
  184. package/dist/core/engine/requests.js +5 -4
  185. package/dist/core/engine/requests.js.map +1 -1
  186. package/dist/core/engine/series.d.ts +18 -6
  187. package/dist/core/engine/series.d.ts.map +1 -1
  188. package/dist/core/engine/series.js +24 -5
  189. package/dist/core/engine/series.js.map +1 -1
  190. package/dist/core/engine/session/record.d.ts +4 -4
  191. package/dist/core/engine/session/record.js +4 -4
  192. package/dist/core/engine/verify-tables.d.ts.map +1 -1
  193. package/dist/core/engine/verify-tables.js +41 -0
  194. package/dist/core/engine/verify-tables.js.map +1 -1
  195. package/dist/core/importer/calls.d.ts +29 -0
  196. package/dist/core/importer/calls.d.ts.map +1 -0
  197. package/dist/core/importer/calls.js +267 -0
  198. package/dist/core/importer/calls.js.map +1 -0
  199. package/dist/core/importer/context.d.ts +118 -0
  200. package/dist/core/importer/context.d.ts.map +1 -0
  201. package/dist/core/importer/context.js +120 -0
  202. package/dist/core/importer/context.js.map +1 -0
  203. package/dist/core/importer/expressions.d.ts +44 -0
  204. package/dist/core/importer/expressions.d.ts.map +1 -0
  205. package/dist/core/importer/expressions.js +223 -0
  206. package/dist/core/importer/expressions.js.map +1 -0
  207. package/dist/core/importer/importer.d.ts +13 -0
  208. package/dist/core/importer/importer.d.ts.map +1 -0
  209. package/dist/core/importer/importer.js +220 -0
  210. package/dist/core/importer/importer.js.map +1 -0
  211. package/dist/core/importer/index.d.ts +20 -0
  212. package/dist/core/importer/index.d.ts.map +1 -0
  213. package/dist/core/importer/index.js +18 -0
  214. package/dist/core/importer/index.js.map +1 -0
  215. package/dist/core/importer/lexer.d.ts +68 -0
  216. package/dist/core/importer/lexer.d.ts.map +1 -0
  217. package/dist/core/importer/lexer.js +207 -0
  218. package/dist/core/importer/lexer.js.map +1 -0
  219. package/dist/core/importer/names.d.ts +41 -0
  220. package/dist/core/importer/names.d.ts.map +1 -0
  221. package/dist/core/importer/names.js +78 -0
  222. package/dist/core/importer/names.js.map +1 -0
  223. package/dist/core/importer/orders.d.ts +8 -0
  224. package/dist/core/importer/orders.d.ts.map +1 -0
  225. package/dist/core/importer/orders.js +332 -0
  226. package/dist/core/importer/orders.js.map +1 -0
  227. package/dist/core/importer/outputs.d.ts +19 -0
  228. package/dist/core/importer/outputs.d.ts.map +1 -0
  229. package/dist/core/importer/outputs.js +266 -0
  230. package/dist/core/importer/outputs.js.map +1 -0
  231. package/dist/core/importer/parser.d.ts +5 -0
  232. package/dist/core/importer/parser.d.ts.map +1 -0
  233. package/dist/core/importer/parser.js +439 -0
  234. package/dist/core/importer/parser.js.map +1 -0
  235. package/dist/core/importer/presence.d.ts +32 -0
  236. package/dist/core/importer/presence.d.ts.map +1 -0
  237. package/dist/core/importer/presence.js +146 -0
  238. package/dist/core/importer/presence.js.map +1 -0
  239. package/dist/core/importer/settle.d.ts +23 -0
  240. package/dist/core/importer/settle.d.ts.map +1 -0
  241. package/dist/core/importer/settle.js +135 -0
  242. package/dist/core/importer/settle.js.map +1 -0
  243. package/dist/core/importer/statements.d.ts +4 -0
  244. package/dist/core/importer/statements.d.ts.map +1 -0
  245. package/dist/core/importer/statements.js +339 -0
  246. package/dist/core/importer/statements.js.map +1 -0
  247. package/dist/core/importer/syntax.d.ts +182 -0
  248. package/dist/core/importer/syntax.d.ts.map +1 -0
  249. package/dist/core/importer/syntax.js +14 -0
  250. package/dist/core/importer/syntax.js.map +1 -0
  251. package/dist/core/importer/table.d.ts +52 -0
  252. package/dist/core/importer/table.d.ts.map +1 -0
  253. package/dist/core/importer/table.js +156 -0
  254. package/dist/core/importer/table.js.map +1 -0
  255. package/dist/core/importer/values.d.ts +27 -0
  256. package/dist/core/importer/values.d.ts.map +1 -0
  257. package/dist/core/importer/values.js +236 -0
  258. package/dist/core/importer/values.js.map +1 -0
  259. package/dist/core/index.d.ts +22 -5
  260. package/dist/core/index.d.ts.map +1 -1
  261. package/dist/core/index.js +19 -3
  262. package/dist/core/index.js.map +1 -1
  263. package/dist/core/stdlib/calendar/civil.d.ts.map +1 -1
  264. package/dist/core/stdlib/calendar/civil.js +5 -2
  265. package/dist/core/stdlib/calendar/civil.js.map +1 -1
  266. package/dist/core/stdlib/index.d.ts +1 -1
  267. package/dist/core/stdlib/index.d.ts.map +1 -1
  268. package/dist/core/stdlib/index.js +1 -1
  269. package/dist/core/stdlib/index.js.map +1 -1
  270. package/dist/core/stdlib/maths/index.d.ts +1 -1
  271. package/dist/core/stdlib/maths/index.d.ts.map +1 -1
  272. package/dist/core/stdlib/maths/index.js +1 -1
  273. package/dist/core/stdlib/maths/index.js.map +1 -1
  274. package/dist/core/stdlib/maths/rounding.d.ts +5 -0
  275. package/dist/core/stdlib/maths/rounding.d.ts.map +1 -1
  276. package/dist/core/stdlib/maths/rounding.js +19 -1
  277. package/dist/core/stdlib/maths/rounding.js.map +1 -1
  278. package/dist/core/version/version.generated.d.ts +1 -1
  279. package/dist/core/version/version.generated.js +1 -1
  280. package/package.json +17 -2
  281. package/spec/README.md +2 -1
  282. package/spec/errors.json +383 -23
  283. package/src/adapters/charts/driving.ts +109 -0
  284. package/src/adapters/charts/run.ts +126 -28
  285. package/src/adapters/charts/tables.ts +6 -19
  286. package/src/adapters/charts/undrawable.ts +51 -0
  287. package/src/adapters/charts/venue.ts +132 -0
  288. package/src/core/accounting/analysis.ts +188 -0
  289. package/src/core/accounting/equity.ts +38 -0
  290. package/src/core/accounting/index.ts +2 -0
  291. package/src/core/accounting/report.ts +5 -0
  292. package/src/core/accounting/statistics.ts +38 -1
  293. package/src/core/backtest/case.ts +395 -0
  294. package/src/core/backtest/compare.ts +2 -0
  295. package/src/core/backtest/deliver.ts +161 -0
  296. package/src/core/backtest/drive.ts +233 -217
  297. package/src/core/backtest/index.ts +26 -12
  298. package/src/core/backtest/record.ts +134 -5
  299. package/src/core/backtest/replay.ts +11 -1
  300. package/src/core/backtest/simulate.ts +201 -6
  301. package/src/core/backtest/walk.ts +182 -0
  302. package/src/core/catalogue/catalogue.generated.ts +19 -2
  303. package/src/core/catalogue/types.ts +8 -2
  304. package/src/core/catalogue/values.generated.ts +16 -0
  305. package/src/core/check/assigned.ts +31 -0
  306. package/src/core/check/call-sites.ts +11 -4
  307. package/src/core/check/calls.ts +13 -4
  308. package/src/core/check/check.ts +14 -2
  309. package/src/core/check/checker.ts +39 -2
  310. package/src/core/check/constant.ts +57 -0
  311. package/src/core/check/deleted.ts +135 -0
  312. package/src/core/check/expressions.ts +1 -1
  313. package/src/core/check/library-orders.ts +2 -2
  314. package/src/core/check/library-output.ts +1 -0
  315. package/src/core/check/library-prose.generated.ts +12 -12
  316. package/src/core/check/library.ts +8 -0
  317. package/src/core/check/surface.ts +16 -0
  318. package/src/core/emit/canonical.ts +67 -9
  319. package/src/core/engine/arithmetic.ts +23 -3
  320. package/src/core/engine/bar-source.ts +113 -0
  321. package/src/core/engine/engine.ts +26 -25
  322. package/src/core/engine/guard.ts +12 -1
  323. package/src/core/engine/host.ts +4 -2
  324. package/src/core/engine/index.ts +2 -1
  325. package/src/core/engine/library/arrays.ts +8 -2
  326. package/src/core/engine/library/binding.ts +2 -0
  327. package/src/core/engine/library/code-points.ts +73 -0
  328. package/src/core/engine/library/index.ts +17 -0
  329. package/src/core/engine/library/objects.ts +1 -6
  330. package/src/core/engine/library/text.ts +53 -35
  331. package/src/core/engine/load.ts +68 -0
  332. package/src/core/engine/request-body.ts +5 -7
  333. package/src/core/engine/request-plan.ts +3 -3
  334. package/src/core/engine/requests.ts +11 -8
  335. package/src/core/engine/series.ts +30 -6
  336. package/src/core/engine/session/record.ts +4 -4
  337. package/src/core/engine/verify-tables.ts +43 -0
  338. package/src/core/importer/calls.ts +274 -0
  339. package/src/core/importer/context.ts +197 -0
  340. package/src/core/importer/expressions.ts +247 -0
  341. package/src/core/importer/importer.ts +226 -0
  342. package/src/core/importer/index.ts +19 -0
  343. package/src/core/importer/lexer.ts +285 -0
  344. package/src/core/importer/names.ts +104 -0
  345. package/src/core/importer/orders.ts +307 -0
  346. package/src/core/importer/outputs.ts +245 -0
  347. package/src/core/importer/parser.ts +436 -0
  348. package/src/core/importer/presence.ts +164 -0
  349. package/src/core/importer/settle.ts +141 -0
  350. package/src/core/importer/statements.ts +331 -0
  351. package/src/core/importer/syntax.ts +144 -0
  352. package/src/core/importer/table.ts +191 -0
  353. package/src/core/importer/values.ts +241 -0
  354. package/src/core/index.ts +29 -2
  355. package/src/core/stdlib/calendar/civil.ts +5 -2
  356. package/src/core/stdlib/index.ts +1 -0
  357. package/src/core/stdlib/maths/index.ts +1 -0
  358. package/src/core/stdlib/maths/rounding.ts +23 -1
  359. package/src/core/version/version.generated.ts +1 -1
@@ -1,5 +1,5 @@
1
1
  /**
2
- * The two things the engine checks about the bars it is handed,
2
+ * The three things the engine checks about the bars it is handed,
3
3
  * `host-interface.md` 3.5 and conformance item 1.
4
4
  *
5
5
  * Everything else about a series the engine takes exactly as stated: it does
@@ -43,6 +43,18 @@ import type { Instrument } from './host.js';
43
43
  * sends the reader back to the chart to work it out.
44
44
  */
45
45
  export declare function noBars(instrument: Instrument | undefined): Diagnostic;
46
+ /**
47
+ * A bar handed over with no time, OS6025.
48
+ *
49
+ * `host-interface.md` 3.1 states `time` for every bar with no absent case, and
50
+ * the order rule is built on it. Reading a missing one as the absent value, as
51
+ * `barField` would, steps the bar over every calendar fold and makes every
52
+ * session fact absent on a bar that is on the chart: a study draws a gap where
53
+ * the host has data, and nothing says why. It is a bar of the wrong shape, not
54
+ * one out of order, so it has a code and a fix of its own. A time that is not a
55
+ * finite number is no time either.
56
+ */
57
+ export declare function undated(bar: HostBar, index: number): Diagnostic | undefined;
46
58
  /**
47
59
  * A bar whose time does not follow the one before it, OS6011.
48
60
  *
@@ -51,11 +63,11 @@ export declare function noBars(instrument: Instrument | undefined): Diagnostic;
51
63
  * only one whose position tells the host where its own ordering went wrong.
52
64
  *
53
65
  * `previous` is the bar already handed over, or nothing for the first bar of a
54
- * run, which follows nothing and is therefore always in order. A time the host
55
- * did not state is not compared: the absent value is what `barField` gives a
56
- * script for it (3.1), and the catalogue has no code for a bar dated nothing,
57
- * so inventing this one for it would be a refusal the specification does not
58
- * describe.
66
+ * run, which follows nothing and is therefore always in order. A bar with no
67
+ * time never reaches this comparison: `undated` refuses it first, because a
68
+ * bar dated nothing is not two instants in the wrong order.
59
69
  */
60
70
  export declare function outOfOrder(bar: HostBar, previous: HostBar | undefined, index: number): Diagnostic | undefined;
71
+ /** Both checks of a bar handed over, in the order they are made: its shape, then its order. */
72
+ export declare function handOver(bar: HostBar, previous: HostBar | undefined, index: number): Diagnostic | undefined;
61
73
  //# sourceMappingURL=series.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"series.d.ts","sourceRoot":"","sources":["../../../src/core/engine/series.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAM5C;;;;;;GAMG;AACH,wBAAgB,MAAM,CAAC,UAAU,EAAE,UAAU,GAAG,SAAS,GAAG,UAAU,CAKrE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,UAAU,CACxB,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE,OAAO,GAAG,SAAS,EAC7B,KAAK,EAAE,MAAM,GACZ,UAAU,GAAG,SAAS,CAMxB"}
1
+ {"version":3,"file":"series.d.ts","sourceRoot":"","sources":["../../../src/core/engine/series.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAM5C;;;;;;GAMG;AACH,wBAAgB,MAAM,CAAC,UAAU,EAAE,UAAU,GAAG,SAAS,GAAG,UAAU,CAKrE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAI3E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CACxB,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE,OAAO,GAAG,SAAS,EAC7B,KAAK,EAAE,MAAM,GACZ,UAAU,GAAG,SAAS,CAMxB;AAED,+FAA+F;AAC/F,wBAAgB,QAAQ,CACtB,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE,OAAO,GAAG,SAAS,EAC7B,KAAK,EAAE,MAAM,GACZ,UAAU,GAAG,SAAS,CAExB"}
@@ -15,6 +15,23 @@ export function noBars(instrument) {
15
15
  timeframe: instrument?.interval ?? UNNAMED_INTERVAL,
16
16
  });
17
17
  }
18
+ /**
19
+ * A bar handed over with no time, OS6025.
20
+ *
21
+ * `host-interface.md` 3.1 states `time` for every bar with no absent case, and
22
+ * the order rule is built on it. Reading a missing one as the absent value, as
23
+ * `barField` would, steps the bar over every calendar fold and makes every
24
+ * session fact absent on a bar that is on the chart: a study draws a gap where
25
+ * the host has data, and nothing says why. It is a bar of the wrong shape, not
26
+ * one out of order, so it has a code and a fix of its own. A time that is not a
27
+ * finite number is no time either.
28
+ */
29
+ export function undated(bar, index) {
30
+ const time = bar.time;
31
+ if (typeof time === 'number' && Number.isFinite(time))
32
+ return undefined;
33
+ return failure('OS6025', NO_POSITION, { index });
34
+ }
18
35
  /**
19
36
  * A bar whose time does not follow the one before it, OS6011.
20
37
  *
@@ -23,11 +40,9 @@ export function noBars(instrument) {
23
40
  * only one whose position tells the host where its own ordering went wrong.
24
41
  *
25
42
  * `previous` is the bar already handed over, or nothing for the first bar of a
26
- * run, which follows nothing and is therefore always in order. A time the host
27
- * did not state is not compared: the absent value is what `barField` gives a
28
- * script for it (3.1), and the catalogue has no code for a bar dated nothing,
29
- * so inventing this one for it would be a refusal the specification does not
30
- * describe.
43
+ * run, which follows nothing and is therefore always in order. A bar with no
44
+ * time never reaches this comparison: `undated` refuses it first, because a
45
+ * bar dated nothing is not two instants in the wrong order.
31
46
  */
32
47
  export function outOfOrder(bar, previous, index) {
33
48
  const time = bar.time;
@@ -38,4 +53,8 @@ export function outOfOrder(bar, previous, index) {
38
53
  return undefined;
39
54
  return failure('OS6011', NO_POSITION, { index, time, previous: index - 1 });
40
55
  }
56
+ /** Both checks of a bar handed over, in the order they are made: its shape, then its order. */
57
+ export function handOver(bar, previous, index) {
58
+ return undated(bar, index) ?? outOfOrder(bar, previous, index);
59
+ }
41
60
  //# sourceMappingURL=series.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"series.js","sourceRoot":"","sources":["../../../src/core/engine/series.ts"],"names":[],"mappings":"AAoCA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGnD,sEAAsE;AACtE,MAAM,kBAAkB,GAAG,yBAAyB,CAAC;AACrD,MAAM,gBAAgB,GAAG,uBAAuB,CAAC;AAEjD;;;;;;GAMG;AACH,MAAM,UAAU,MAAM,CAAC,UAAkC;IACvD,OAAO,OAAO,CAAC,QAAQ,EAAE,WAAW,EAAE;QACpC,MAAM,EAAE,UAAU,EAAE,MAAM,IAAI,kBAAkB;QAChD,SAAS,EAAE,UAAU,EAAE,QAAQ,IAAI,gBAAgB;KACpD,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,UAAU,CACxB,GAAY,EACZ,QAA6B,EAC7B,KAAa;IAEb,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IACtB,MAAM,MAAM,GAAG,QAAQ,EAAE,IAAI,CAAC;IAC9B,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC7E,IAAI,IAAI,GAAG,MAAM;QAAE,OAAO,SAAS,CAAC;IACpC,OAAO,OAAO,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;AAC9E,CAAC"}
1
+ {"version":3,"file":"series.js","sourceRoot":"","sources":["../../../src/core/engine/series.ts"],"names":[],"mappings":"AAoCA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGnD,sEAAsE;AACtE,MAAM,kBAAkB,GAAG,yBAAyB,CAAC;AACrD,MAAM,gBAAgB,GAAG,uBAAuB,CAAC;AAEjD;;;;;;GAMG;AACH,MAAM,UAAU,MAAM,CAAC,UAAkC;IACvD,OAAO,OAAO,CAAC,QAAQ,EAAE,WAAW,EAAE;QACpC,MAAM,EAAE,UAAU,EAAE,MAAM,IAAI,kBAAkB;QAChD,SAAS,EAAE,UAAU,EAAE,QAAQ,IAAI,gBAAgB;KACpD,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,OAAO,CAAC,GAAY,EAAE,KAAa;IACjD,MAAM,IAAI,GAAY,GAAG,CAAC,IAAI,CAAC;IAC/B,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IACxE,OAAO,OAAO,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;AACnD,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,UAAU,CACxB,GAAY,EACZ,QAA6B,EAC7B,KAAa;IAEb,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IACtB,MAAM,MAAM,GAAG,QAAQ,EAAE,IAAI,CAAC;IAC9B,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC7E,IAAI,IAAI,GAAG,MAAM;QAAE,OAAO,SAAS,CAAC;IACpC,OAAO,OAAO,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;AAC9E,CAAC;AAED,+FAA+F;AAC/F,MAAM,UAAU,QAAQ,CACtB,GAAY,EACZ,QAA6B,EAC7B,KAAa;IAEb,OAAO,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,UAAU,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;AACjE,CAAC"}
@@ -34,10 +34,10 @@ export declare const NO_SESSION: SessionFacts;
34
34
  *
35
35
  * Each of the three is reported at load rather than answered with absence,
36
36
  * because absence there is indistinguishable from the honest case and the honest
37
- * case is the one a reader will assume. This decides nothing about what a bare
38
- * read of an instrument fact returns, which is issue 0002 and is open: a record
39
- * the host contradicts itself in is a different question from a fact it did not
40
- * state.
37
+ * case is the one a reader will assume. A bare read of an instrument fact the
38
+ * host did not state is a different question with the opposite answer: it is
39
+ * absent and never refused (`host-interface.md` 4.5, decision 66), because a
40
+ * record the host contradicts itself in is not a fact it left out.
41
41
  */
42
42
  export declare function recordProblem(stated: SessionHours | undefined, zone: string | null): string | undefined;
43
43
  /** Reads one run's session facts, one bar at a time. */
@@ -89,10 +89,10 @@ function hoursOf(stated) {
89
89
  *
90
90
  * Each of the three is reported at load rather than answered with absence,
91
91
  * because absence there is indistinguishable from the honest case and the honest
92
- * case is the one a reader will assume. This decides nothing about what a bare
93
- * read of an instrument fact returns, which is issue 0002 and is open: a record
94
- * the host contradicts itself in is a different question from a fact it did not
95
- * state.
92
+ * case is the one a reader will assume. A bare read of an instrument fact the
93
+ * host did not state is a different question with the opposite answer: it is
94
+ * absent and never refused (`host-interface.md` 4.5, decision 66), because a
95
+ * record the host contradicts itself in is not a fact it left out.
96
96
  */
97
97
  export function recordProblem(stated, zone) {
98
98
  if (zone !== null && fieldsIn(0, zone) === null)
@@ -1 +1 @@
1
- {"version":3,"file":"verify-tables.d.ts","sourceRoot":"","sources":["../../../src/core/engine/verify-tables.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAQpD,iFAAiF;AACjF,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,OAAO,CA8F9F"}
1
+ {"version":3,"file":"verify-tables.d.ts","sourceRoot":"","sources":["../../../src/core/engine/verify-tables.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAkDpD,iFAAiF;AACjF,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,OAAO,CA+F9F"}
@@ -3,8 +3,49 @@ import { checkMachineTables, checkRequests } from './verify-requests.js';
3
3
  const META_KINDS = ['study', 'strategy'];
4
4
  const CHANNEL_TYPES = ['number', 'string', 'color', 'bool'];
5
5
  const EFFECTS = ['none', 'signal', 'order', 'draw', 'log'];
6
+ /**
7
+ * The tables a later minor of this format major added, with the minor that
8
+ * added each.
9
+ *
10
+ * 9.2's rule read from the other side, which 9.4 step 3 states and decision 56
11
+ * settled: a table a later minor added and an earlier program lacks reads as
12
+ * empty, never as a refusal, because 9.5's first line is a promise about that
13
+ * program. A program stamped at this minor or a later one has no such excuse.
14
+ * Section 2 says an empty table is written as an empty array and never
15
+ * omitted, so its absence there is the defect check 1 exists for, and the
16
+ * version is what tells the two apart.
17
+ *
18
+ * `spec/format-history.json` records the same additions, one entry per format
19
+ * version, and `tests/engine/format-minors.test.ts` holds this list to that
20
+ * file: a table the history says a later minor added has to be one a program
21
+ * at the earlier minor may lack.
22
+ */
23
+ const ADDED_AT_MINOR = [
24
+ { table: 'requests', minor: 1 },
25
+ ];
26
+ /** The minor of a `major.minor` the version step has already proved is one. */
27
+ function minorOf(raw) {
28
+ const version = raw['openscript'];
29
+ return Number(String(version['format']).split('.')[1] ?? '0');
30
+ }
31
+ /**
32
+ * Writes the empty table an earlier minor is owed into the program itself.
33
+ *
34
+ * Into the object rather than into a local, because every later step reads
35
+ * the program as its own type and would find the table missing again: the
36
+ * verifier hands the same object on, and the engine holds it.
37
+ */
38
+ function supplyAddedTables(raw) {
39
+ const minor = minorOf(raw);
40
+ for (const added of ADDED_AT_MINOR) {
41
+ if (raw[added.table] !== undefined || minor >= added.minor)
42
+ continue;
43
+ raw[added.table] = [];
44
+ }
45
+ }
6
46
  /** Check 1 over every table the machine indexes, and every declaration field. */
7
47
  export function checkTables(shape, raw) {
48
+ supplyAddedTables(raw);
8
49
  for (const name of ['requires', 'inputs', 'channels', 'consts', 'series', 'cells', 'states',
9
50
  'functions', 'callSites', 'loops', 'code', 'requests']) {
10
51
  if (!shape.array(raw[name], name))
@@ -1 +1 @@
1
- {"version":3,"file":"verify-tables.js","sourceRoot":"","sources":["../../../src/core/engine/verify-tables.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verify-tables.js","sourceRoot":"","sources":["../../../src/core/engine/verify-tables.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import type { Context } from './context.js';
2
+ import type { Arg, CallExpr, Place } from './syntax.js';
3
+ import type { Mapping } from './table.js';
4
+ import type { Out } from './values.js';
5
+ /** A call's arguments against a parameter list: by name, and what fitted none. */
6
+ export interface Bound {
7
+ readonly byName: ReadonlyMap<string, Arg>;
8
+ /** Arguments past the positional list, named by their position. */
9
+ readonly stray: readonly {
10
+ readonly arg: Arg;
11
+ readonly name: string;
12
+ }[];
13
+ }
14
+ export declare function bind(call: CallExpr, positional: readonly string[]): Bound;
15
+ /**
16
+ * Refuses the first argument that is not one of `known`, with OS9006. Returns
17
+ * whether the call may go on.
18
+ */
19
+ export declare function onlyKnown(ctx: Context, path: string, bound: Bound, known: readonly string[]): boolean;
20
+ /** OS9007, once per built-in: its first bars follow OpenScript's own rules. */
21
+ export declare function warmupNote(ctx: Context, at: Place, call: string, target: string): void;
22
+ /** The translated text of one argument, or undefined where the call left it out. */
23
+ export declare function argText(ctx: Context, bound: Bound, name: string): string | undefined;
24
+ /** A row whose arguments line up one to one, which is most of the table. */
25
+ export declare function generic(ctx: Context, call: CallExpr, row: Mapping, path: string): Out;
26
+ /** `ta.tr` read as a value, which is the call with `handle_na` false. */
27
+ export declare function trueRangeValue(): Out;
28
+ export declare function translateCall(ctx: Context, call: CallExpr): Out;
29
+ //# sourceMappingURL=calls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calls.d.ts","sourceRoot":"","sources":["../../../src/core/importer/calls.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAK5C,OAAO,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAExD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAEvC,kFAAkF;AAClF,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1C,mEAAmE;IACnE,QAAQ,CAAC,KAAK,EAAE,SAAS;QAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACzE;AAED,wBAAgB,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG,KAAK,CAezE;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAYrG;AAED,+EAA+E;AAC/E,wBAAgB,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAEtF;AAED,oFAAoF;AACpF,wBAAgB,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGpF;AAsBD,4EAA4E;AAC5E,wBAAgB,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,GAAG,CAUrF;AAWD,yEAAyE;AACzE,wBAAgB,cAAc,IAAI,GAAG,CAEpC;AAqGD,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,GAAG,GAAG,CA8C/D"}
@@ -0,0 +1,267 @@
1
+ /**
2
+ * Calls, written out as OpenScript text.
3
+ *
4
+ * A call to a function the script declares keeps its arguments, with a named
5
+ * argument's label following the parameter's new spelling where it was renamed.
6
+ * A call to a built-in is translated from its row in the table, one argument to
7
+ * one argument where they line up, and by a translator of its own where they do
8
+ * not: the highest and lowest of a window that default their source, a
9
+ * deviation whose `biased` flag is the negation of OpenScript's `sample`, a
10
+ * true range whose absent first bar is a flag, and the handful of conversions
11
+ * that are an expression rather than a call in OpenScript.
12
+ *
13
+ * A call that draws or trades is a statement, not a value, and its translator
14
+ * lives with the other statements; used as a value it is refused.
15
+ */
16
+ import { diagnosticFor } from '../diagnostics/index.js';
17
+ import { canonicalNumber } from '../emit/index.js';
18
+ import { levelCall, plotCall, translateInput } from './outputs.js';
19
+ import { neverAbsent } from './presence.js';
20
+ import { pathOf } from './syntax.js';
21
+ import { CALLS } from './table.js';
22
+ import { NOTHING, PREC, atom, translate, wrap } from './values.js';
23
+ export function bind(call, positional) {
24
+ const byName = new Map();
25
+ const stray = [];
26
+ let position = 0;
27
+ for (const arg of call.args) {
28
+ if (arg.label !== undefined) {
29
+ byName.set(arg.label, arg);
30
+ continue;
31
+ }
32
+ const name = positional[position];
33
+ if (name === undefined)
34
+ stray.push({ arg, name: `argument ${canonicalNumber(position + 1)}` });
35
+ else
36
+ byName.set(name, arg);
37
+ position += 1;
38
+ }
39
+ return { byName, stray };
40
+ }
41
+ /**
42
+ * Refuses the first argument that is not one of `known`, with OS9006. Returns
43
+ * whether the call may go on.
44
+ */
45
+ export function onlyKnown(ctx, path, bound, known) {
46
+ const first = bound.stray[0];
47
+ if (first !== undefined) {
48
+ ctx.refuse(diagnosticFor('OS9006', ctx.span(first.arg.at), { argument: first.name, call: path }));
49
+ return false;
50
+ }
51
+ for (const [name, arg] of bound.byName) {
52
+ if (known.includes(name))
53
+ continue;
54
+ ctx.refuse(diagnosticFor('OS9006', ctx.span(arg.at), { argument: name, call: path }));
55
+ return false;
56
+ }
57
+ return true;
58
+ }
59
+ /** OS9007, once per built-in: its first bars follow OpenScript's own rules. */
60
+ export function warmupNote(ctx, at, call, target) {
61
+ ctx.note(diagnosticFor('OS9007', ctx.span(at), { call, target }), `OS9007 ${call}`);
62
+ }
63
+ /** The translated text of one argument, or undefined where the call left it out. */
64
+ export function argText(ctx, bound, name) {
65
+ const arg = bound.byName.get(name);
66
+ return arg === undefined ? undefined : translate(ctx, arg.value).text;
67
+ }
68
+ /** Arguments by position up to the first one left out, and by name after it. */
69
+ function written(texts, labels) {
70
+ const parts = [];
71
+ let gap = false;
72
+ for (let i = 0; i < texts.length; i += 1) {
73
+ const text = texts[i];
74
+ if (text === undefined) {
75
+ gap = true;
76
+ continue;
77
+ }
78
+ if (!gap)
79
+ parts.push(text);
80
+ else {
81
+ const label = labels[i];
82
+ if (label === undefined)
83
+ return undefined;
84
+ parts.push(`${label} = ${text}`);
85
+ }
86
+ }
87
+ return parts;
88
+ }
89
+ /** A row whose arguments line up one to one, which is most of the table. */
90
+ export function generic(ctx, call, row, path) {
91
+ const bound = bind(call, row.params);
92
+ if (!onlyKnown(ctx, path, bound, row.params))
93
+ return NOTHING;
94
+ const parts = written(row.params.map((name) => argText(ctx, bound, name)), row.targets);
95
+ if (parts === undefined) {
96
+ ctx.refuse(diagnosticFor('OS9006', ctx.span(call.at), { argument: 'an argument left out before another', call: path }));
97
+ return NOTHING;
98
+ }
99
+ if (row.difference === 'warmup')
100
+ warmupNote(ctx, call.callee.at, path, row.target);
101
+ return atom(`${row.target}(${parts.join(', ')})`);
102
+ }
103
+ function userCall(ctx, call, binding) {
104
+ const parts = call.args.map((arg) => {
105
+ const text = translate(ctx, arg.value).text;
106
+ if (arg.label === undefined)
107
+ return text;
108
+ return `${binding.labels?.get(arg.label) ?? arg.label} = ${text}`;
109
+ });
110
+ return atom(`${binding.output}(${parts.join(', ')})`);
111
+ }
112
+ /** `ta.tr` read as a value, which is the call with `handle_na` false. */
113
+ export function trueRangeValue() {
114
+ return { text: 'isNone(close[1]) ? none : trueRange()', prec: PREC.ternary };
115
+ }
116
+ function trueRangeCall(ctx, call, path) {
117
+ const bound = bind(call, ['handle_na']);
118
+ if (!onlyKnown(ctx, path, bound, ['handle_na']))
119
+ return NOTHING;
120
+ const flag = bound.byName.get('handle_na')?.value;
121
+ if (flag === undefined || (flag.kind === 'bool' && !flag.value))
122
+ return trueRangeValue();
123
+ if (flag.kind === 'bool')
124
+ return atom('trueRange()');
125
+ const handled = translate(ctx, flag);
126
+ return { text: `${wrap(handled, PREC.or)} or not isNone(close[1]) ? trueRange() : none`, prec: PREC.ternary };
127
+ }
128
+ function extreme(ctx, call, row, path) {
129
+ const one = call.args.length === 1 && call.args[0]?.label === undefined;
130
+ const bound = bind(call, one ? ['length'] : ['source', 'length']);
131
+ if (!onlyKnown(ctx, path, bound, ['source', 'length']))
132
+ return NOTHING;
133
+ const source = argText(ctx, bound, 'source') ?? (row.target === 'highest' ? 'high' : 'low');
134
+ const length = argText(ctx, bound, 'length');
135
+ if (length === undefined) {
136
+ ctx.refuse(diagnosticFor('OS9006', ctx.span(call.at), { argument: 'length', call: path }));
137
+ return NOTHING;
138
+ }
139
+ warmupNote(ctx, call.callee.at, path, row.target);
140
+ return atom(`${row.target}(${source}, ${length})`);
141
+ }
142
+ function deviation(ctx, call, row, path) {
143
+ const bound = bind(call, row.params);
144
+ if (!onlyKnown(ctx, path, bound, row.params))
145
+ return NOTHING;
146
+ const source = argText(ctx, bound, 'source');
147
+ const length = argText(ctx, bound, 'length');
148
+ if (source === undefined || length === undefined) {
149
+ ctx.refuse(diagnosticFor('OS9006', ctx.span(call.at), { argument: source === undefined ? 'source' : 'length', call: path }));
150
+ return NOTHING;
151
+ }
152
+ const biased = bound.byName.get('biased')?.value;
153
+ let sample = '';
154
+ if (biased !== undefined && !(biased.kind === 'bool' && biased.value)) {
155
+ sample = biased.kind === 'bool' ? ', sample = true' : `, sample = not ${wrap(translate(ctx, biased), PREC.unary)}`;
156
+ }
157
+ warmupNote(ctx, call.callee.at, path, row.target);
158
+ return atom(`${row.target}(${source}, ${length}${sample})`);
159
+ }
160
+ /** A condition handed to a counting built-in, which the source dialect never sees absent. */
161
+ function condition(ctx, call, row, path) {
162
+ const bound = bind(call, row.params);
163
+ if (!onlyKnown(ctx, path, bound, row.params))
164
+ return NOTHING;
165
+ const texts = row.params.map((name) => {
166
+ const arg = bound.byName.get(name);
167
+ if (arg === undefined)
168
+ return undefined;
169
+ const text = translate(ctx, arg.value).text;
170
+ return name === 'condition' && !neverAbsent(ctx, arg.value) ? `orElse(${text}, false)` : text;
171
+ });
172
+ const parts = written(texts, row.targets);
173
+ if (parts === undefined || texts[0] === undefined) {
174
+ ctx.refuse(diagnosticFor('OS9006', ctx.span(call.at), { argument: 'condition', call: path }));
175
+ return NOTHING;
176
+ }
177
+ warmupNote(ctx, call.callee.at, path, row.target);
178
+ return atom(`${row.target}(${parts.join(', ')})`);
179
+ }
180
+ /** `math.max` and `math.min` take any number of arguments; OpenScript's take two. */
181
+ function extremes(ctx, call, row, path) {
182
+ const labelled = call.args.find((arg) => arg.label !== undefined);
183
+ if (labelled !== undefined || call.args.length < 2) {
184
+ const at = labelled?.at ?? call.at;
185
+ ctx.refuse(diagnosticFor('OS9006', ctx.span(at), { argument: labelled?.label ?? 'a single argument', call: path }));
186
+ return NOTHING;
187
+ }
188
+ const texts = call.args.map((arg) => translate(ctx, arg.value).text);
189
+ let text = texts[0] ?? '';
190
+ for (const next of texts.slice(1))
191
+ text = `${row.target}(${text}, ${next})`;
192
+ return atom(text);
193
+ }
194
+ function fallback(ctx, call, row, path) {
195
+ const bound = bind(call, row.params);
196
+ if (!onlyKnown(ctx, path, bound, row.params))
197
+ return NOTHING;
198
+ const source = argText(ctx, bound, 'source');
199
+ if (source === undefined) {
200
+ ctx.refuse(diagnosticFor('OS9006', ctx.span(call.at), { argument: 'source', call: path }));
201
+ return NOTHING;
202
+ }
203
+ return atom(`orElse(${source}, ${argText(ctx, bound, 'replacement') ?? '0'})`);
204
+ }
205
+ function rgb(ctx, call, row, path) {
206
+ const bound = bind(call, row.params);
207
+ if (!onlyKnown(ctx, path, bound, row.params))
208
+ return NOTHING;
209
+ const channels = ['red', 'green', 'blue'].map((name) => argText(ctx, bound, name));
210
+ if (channels.some((one) => one === undefined)) {
211
+ ctx.refuse(diagnosticFor('OS9006', ctx.span(call.at), { argument: 'a colour channel', call: path }));
212
+ return NOTHING;
213
+ }
214
+ const colour = `rgb(${channels.join(', ')})`;
215
+ const transp = argText(ctx, bound, 'transp');
216
+ return atom(transp === undefined ? colour : `fade(${colour}, ${transp})`);
217
+ }
218
+ export function translateCall(ctx, call) {
219
+ const path = pathOf(call.callee);
220
+ const root = path?.split('.')[0];
221
+ const binding = root === undefined ? undefined : ctx.lookup(root, call.callee.at);
222
+ if (path === undefined || (binding !== undefined && (path !== root || binding.kind !== 'function'))) {
223
+ ctx.refuse(diagnosticFor('OS9002', ctx.span(call.callee.at), { construct: 'a call on a value' }));
224
+ return NOTHING;
225
+ }
226
+ if (binding !== undefined)
227
+ return userCall(ctx, call, binding);
228
+ const row = CALLS.get(path);
229
+ if (row === undefined) {
230
+ ctx.refuse(diagnosticFor('OS9003', ctx.span(call.callee.at), { name: path }));
231
+ return NOTHING;
232
+ }
233
+ switch (row.special) {
234
+ case undefined:
235
+ return generic(ctx, call, row, path);
236
+ case 'trueRange':
237
+ return trueRangeCall(ctx, call, path);
238
+ case 'extreme':
239
+ return extreme(ctx, call, row, path);
240
+ case 'deviation':
241
+ return deviation(ctx, call, row, path);
242
+ case 'condition':
243
+ return condition(ctx, call, row, path);
244
+ case 'extremes':
245
+ return extremes(ctx, call, row, path);
246
+ case 'fallback':
247
+ return fallback(ctx, call, row, path);
248
+ case 'rgb':
249
+ return rgb(ctx, call, row, path);
250
+ case 'float': {
251
+ const bound = bind(call, row.params);
252
+ if (!onlyKnown(ctx, path, bound, row.params))
253
+ return NOTHING;
254
+ const arg = bound.byName.get('x');
255
+ return arg === undefined ? atom('none') : atom(`(${translate(ctx, arg.value).text})`);
256
+ }
257
+ case 'input':
258
+ return translateInput(ctx, call, path, false);
259
+ case 'plot':
260
+ return plotCall(ctx, call, path);
261
+ case 'hline':
262
+ return levelCall(ctx, call, path);
263
+ }
264
+ ctx.refuse(diagnosticFor('OS9002', ctx.span(call.callee.at), { construct: `${path} used as a value` }));
265
+ return NOTHING;
266
+ }
267
+ //# sourceMappingURL=calls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calls.js","sourceRoot":"","sources":["../../../src/core/importer/calls.ts"],"names":[],"mappings":"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"}