@eagleoutice/flowr 2.6.1 → 2.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (681) hide show
  1. package/README.md +131 -30
  2. package/abstract-interpretation/data-frame/absint-info.d.ts +1 -1
  3. package/abstract-interpretation/data-frame/absint-visitor.d.ts +2 -3
  4. package/abstract-interpretation/data-frame/absint-visitor.js +15 -10
  5. package/abstract-interpretation/data-frame/dataframe-domain.d.ts +18 -12
  6. package/abstract-interpretation/data-frame/dataframe-domain.js +25 -13
  7. package/abstract-interpretation/data-frame/mappers/access-mapper.d.ts +0 -1
  8. package/abstract-interpretation/data-frame/mappers/access-mapper.js +0 -1
  9. package/abstract-interpretation/data-frame/mappers/arguments.d.ts +1 -10
  10. package/abstract-interpretation/data-frame/mappers/arguments.js +0 -7
  11. package/abstract-interpretation/data-frame/mappers/assignment-mapper.d.ts +0 -1
  12. package/abstract-interpretation/data-frame/mappers/assignment-mapper.js +0 -1
  13. package/abstract-interpretation/data-frame/mappers/function-mapper.d.ts +4 -5
  14. package/abstract-interpretation/data-frame/mappers/function-mapper.js +3 -4
  15. package/abstract-interpretation/data-frame/mappers/replacement-mapper.d.ts +0 -1
  16. package/abstract-interpretation/data-frame/mappers/replacement-mapper.js +0 -1
  17. package/abstract-interpretation/data-frame/resolve-args.d.ts +1 -1
  18. package/abstract-interpretation/data-frame/semantics.d.ts +3 -4
  19. package/abstract-interpretation/data-frame/semantics.js +171 -162
  20. package/abstract-interpretation/data-frame/shape-inference.d.ts +1 -4
  21. package/abstract-interpretation/data-frame/shape-inference.js +7 -9
  22. package/abstract-interpretation/domains/abstract-domain.d.ts +59 -18
  23. package/abstract-interpretation/domains/abstract-domain.js +74 -1
  24. package/abstract-interpretation/domains/bounded-set-domain.d.ts +37 -24
  25. package/abstract-interpretation/domains/bounded-set-domain.js +70 -47
  26. package/abstract-interpretation/domains/interval-domain.d.ts +33 -25
  27. package/abstract-interpretation/domains/interval-domain.js +109 -50
  28. package/abstract-interpretation/domains/lattice.d.ts +19 -11
  29. package/abstract-interpretation/domains/mapped-abstract-domain.d.ts +34 -0
  30. package/abstract-interpretation/domains/mapped-abstract-domain.js +189 -0
  31. package/abstract-interpretation/domains/positive-interval-domain.d.ts +16 -12
  32. package/abstract-interpretation/domains/positive-interval-domain.js +20 -11
  33. package/abstract-interpretation/domains/product-domain.d.ts +18 -23
  34. package/abstract-interpretation/domains/product-domain.js +11 -19
  35. package/abstract-interpretation/domains/satisfiable-domain.d.ts +29 -0
  36. package/abstract-interpretation/domains/satisfiable-domain.js +24 -0
  37. package/abstract-interpretation/domains/set-upper-bound-domain.d.ts +54 -0
  38. package/abstract-interpretation/domains/set-upper-bound-domain.js +197 -0
  39. package/abstract-interpretation/domains/singleton-domain.d.ts +24 -19
  40. package/abstract-interpretation/domains/singleton-domain.js +52 -37
  41. package/abstract-interpretation/domains/state-abstract-domain.d.ts +8 -24
  42. package/abstract-interpretation/domains/state-abstract-domain.js +2 -167
  43. package/abstract-interpretation/normalized-ast-fold.d.ts +1 -7
  44. package/abstract-interpretation/normalized-ast-fold.js +0 -5
  45. package/benchmark/slicer.d.ts +3 -7
  46. package/benchmark/slicer.js +14 -19
  47. package/benchmark/stats/print.d.ts +6 -0
  48. package/benchmark/stats/print.js +6 -0
  49. package/benchmark/stats/size-of.d.ts +0 -1
  50. package/benchmark/stats/size-of.js +0 -1
  51. package/benchmark/stats/stats.d.ts +2 -2
  52. package/benchmark/stopwatch.d.ts +11 -13
  53. package/benchmark/stopwatch.js +11 -13
  54. package/benchmark/summarizer/first-phase/input.d.ts +6 -0
  55. package/benchmark/summarizer/first-phase/input.js +6 -0
  56. package/benchmark/summarizer/first-phase/process.d.ts +13 -1
  57. package/benchmark/summarizer/first-phase/process.js +12 -0
  58. package/benchmark/summarizer/second-phase/graph.d.ts +3 -0
  59. package/benchmark/summarizer/second-phase/graph.js +3 -0
  60. package/benchmark/summarizer/second-phase/process.d.ts +12 -0
  61. package/benchmark/summarizer/second-phase/process.js +12 -0
  62. package/benchmark/summarizer/summarizer.d.ts +1 -2
  63. package/cli/benchmark-app.js +0 -2
  64. package/cli/common/features.d.ts +7 -1
  65. package/cli/common/features.js +6 -0
  66. package/cli/common/script.d.ts +3 -1
  67. package/cli/common/script.js +3 -1
  68. package/cli/common/scripts-info.d.ts +3 -1
  69. package/cli/common/scripts-info.js +3 -0
  70. package/cli/flowr-main-options.d.ts +3 -0
  71. package/cli/flowr-main-options.js +3 -0
  72. package/cli/repl/commands/repl-commands.d.ts +13 -0
  73. package/cli/repl/commands/repl-commands.js +13 -2
  74. package/cli/repl/commands/repl-execute.d.ts +4 -0
  75. package/cli/repl/commands/repl-execute.js +6 -2
  76. package/cli/repl/commands/repl-main.d.ts +15 -9
  77. package/cli/repl/commands/repl-parse.js +2 -2
  78. package/cli/repl/commands/repl-query.js +16 -5
  79. package/cli/repl/core.d.ts +24 -6
  80. package/cli/repl/core.js +28 -19
  81. package/cli/repl/execute.d.ts +0 -2
  82. package/cli/repl/execute.js +0 -2
  83. package/cli/repl/parser/slice-query-parser.d.ts +14 -0
  84. package/cli/repl/parser/slice-query-parser.js +34 -0
  85. package/cli/repl/print-version.d.ts +6 -0
  86. package/cli/repl/print-version.js +6 -0
  87. package/cli/repl/server/compact.d.ts +8 -0
  88. package/cli/repl/server/compact.js +8 -0
  89. package/cli/repl/server/connection.d.ts +4 -3
  90. package/cli/repl/server/connection.js +3 -31
  91. package/cli/repl/server/messages/all-messages.d.ts +1 -3
  92. package/cli/repl/server/messages/all-messages.js +0 -1
  93. package/cli/repl/server/messages/message-analysis.d.ts +0 -2
  94. package/cli/repl/server/messages/message-query.d.ts +1 -1
  95. package/cli/repl/server/messages/message-repl.d.ts +0 -1
  96. package/cli/repl/server/send.d.ts +6 -0
  97. package/cli/repl/server/send.js +6 -0
  98. package/cli/repl/server/server.d.ts +1 -1
  99. package/cli/repl/server/validate.d.ts +10 -1
  100. package/cli/repl/server/validate.js +9 -0
  101. package/cli/run-script.d.ts +1 -2
  102. package/cli/run-script.js +0 -1
  103. package/cli/script-core/statistics-core.d.ts +3 -0
  104. package/cli/script-core/statistics-core.js +3 -0
  105. package/cli/script-core/statistics-helper-core.d.ts +4 -1
  106. package/cli/script-core/statistics-helper-core.js +3 -0
  107. package/cli/script-core/summarizer-core.d.ts +3 -0
  108. package/cli/script-core/summarizer-core.js +3 -0
  109. package/cli/summarizer-app.d.ts +2 -3
  110. package/cli/summarizer-app.js +2 -3
  111. package/config.d.ts +17 -3
  112. package/config.js +15 -0
  113. package/control-flow/basic-cfg-guided-visitor.d.ts +1 -2
  114. package/control-flow/basic-cfg-guided-visitor.js +0 -1
  115. package/control-flow/cfg-to-basic-blocks.d.ts +1 -1
  116. package/control-flow/control-flow-graph.d.ts +20 -12
  117. package/control-flow/control-flow-graph.js +16 -4
  118. package/control-flow/dfg-cfg-guided-visitor.d.ts +2 -3
  119. package/control-flow/diff-cfg.d.ts +3 -5
  120. package/control-flow/diff-cfg.js +0 -1
  121. package/control-flow/extract-cfg.d.ts +3 -6
  122. package/control-flow/extract-cfg.js +0 -3
  123. package/control-flow/happens-before.d.ts +1 -1
  124. package/control-flow/semantic-cfg-guided-visitor.d.ts +2 -31
  125. package/control-flow/semantic-cfg-guided-visitor.js +0 -28
  126. package/control-flow/simple-visitor.d.ts +1 -3
  127. package/control-flow/simple-visitor.js +0 -2
  128. package/control-flow/syntax-cfg-guided-visitor.d.ts +1 -2
  129. package/control-flow/useless-loop.d.ts +0 -3
  130. package/control-flow/useless-loop.js +2 -5
  131. package/core/pipeline-executor.d.ts +8 -16
  132. package/core/pipeline-executor.js +9 -18
  133. package/core/print/dataflow-printer.d.ts +19 -0
  134. package/core/print/dataflow-printer.js +19 -0
  135. package/core/print/normalize-printer.d.ts +21 -1
  136. package/core/print/normalize-printer.js +20 -0
  137. package/core/print/parse-printer.d.ts +6 -1
  138. package/core/print/parse-printer.js +5 -0
  139. package/core/print/print.d.ts +0 -1
  140. package/core/print/print.js +0 -1
  141. package/core/print/slice-diff-ansi.d.ts +3 -0
  142. package/core/print/slice-diff-ansi.js +3 -0
  143. package/core/steps/all/core/00-parse.d.ts +1 -1
  144. package/core/steps/all/core/01-parse-tree-sitter.d.ts +1 -11
  145. package/core/steps/all/core/10-normalize.d.ts +3 -0
  146. package/core/steps/all/core/10-normalize.js +3 -0
  147. package/core/steps/all/core/11-normalize-tree-sitter.d.ts +4 -3
  148. package/core/steps/pipeline/create-pipeline.d.ts +1 -1
  149. package/core/steps/pipeline/default-pipelines.d.ts +47 -47
  150. package/core/steps/pipeline/default-pipelines.js +0 -4
  151. package/core/steps/pipeline/pipeline.d.ts +1 -8
  152. package/core/steps/pipeline/pipeline.js +1 -3
  153. package/core/steps/pipeline-step.d.ts +0 -1
  154. package/core/steps/pipeline-step.js +0 -1
  155. package/dataflow/cluster.d.ts +3 -0
  156. package/dataflow/cluster.js +3 -0
  157. package/dataflow/environments/append.d.ts +1 -1
  158. package/dataflow/environments/built-in-config.d.ts +1 -5
  159. package/dataflow/environments/built-in-config.js +0 -1
  160. package/dataflow/environments/built-in.d.ts +10 -5
  161. package/dataflow/environments/built-in.js +6 -1
  162. package/dataflow/environments/clone.d.ts +1 -1
  163. package/dataflow/environments/default-builtin-config.d.ts +3 -0
  164. package/dataflow/environments/default-builtin-config.js +4 -1
  165. package/dataflow/environments/diff.d.ts +11 -2
  166. package/dataflow/environments/diff.js +9 -0
  167. package/dataflow/environments/environment.d.ts +3 -3
  168. package/dataflow/environments/environment.js +8 -6
  169. package/dataflow/environments/identifier.d.ts +0 -4
  170. package/dataflow/environments/identifier.js +0 -1
  171. package/dataflow/environments/overwrite.d.ts +4 -1
  172. package/dataflow/environments/overwrite.js +3 -0
  173. package/dataflow/environments/resolve-by-name.d.ts +4 -4
  174. package/dataflow/environments/resolve-by-name.js +3 -2
  175. package/dataflow/environments/scoping.d.ts +4 -1
  176. package/dataflow/environments/scoping.js +3 -0
  177. package/dataflow/eval/resolve/alias-tracking.d.ts +4 -10
  178. package/dataflow/eval/resolve/alias-tracking.js +11 -14
  179. package/dataflow/eval/resolve/resolve-argument.d.ts +1 -1
  180. package/dataflow/eval/resolve/resolve.d.ts +1 -7
  181. package/dataflow/eval/resolve/resolve.js +0 -5
  182. package/dataflow/eval/values/general.d.ts +1 -3
  183. package/dataflow/eval/values/general.js +0 -1
  184. package/dataflow/eval/values/intervals/interval-constants.d.ts +7 -1
  185. package/dataflow/eval/values/intervals/interval-constants.js +6 -0
  186. package/dataflow/eval/values/logical/logical-constants.d.ts +4 -1
  187. package/dataflow/eval/values/logical/logical-constants.js +3 -0
  188. package/dataflow/eval/values/r-value.d.ts +12 -0
  189. package/dataflow/eval/values/r-value.js +12 -0
  190. package/dataflow/eval/values/scalar/scalar-consatnts.d.ts +7 -1
  191. package/dataflow/eval/values/scalar/scalar-consatnts.js +6 -0
  192. package/dataflow/eval/values/sets/set-constants.d.ts +7 -2
  193. package/dataflow/eval/values/sets/set-constants.js +6 -0
  194. package/dataflow/eval/values/string/string-constants.d.ts +10 -1
  195. package/dataflow/eval/values/string/string-constants.js +9 -0
  196. package/dataflow/eval/values/vectors/vector-constants.d.ts +1 -1
  197. package/dataflow/extractor.d.ts +1 -1
  198. package/dataflow/graph/dataflowgraph-builder.d.ts +20 -38
  199. package/dataflow/graph/dataflowgraph-builder.js +6 -23
  200. package/dataflow/graph/diff-dataflow-graph.d.ts +16 -6
  201. package/dataflow/graph/diff-dataflow-graph.js +12 -1
  202. package/dataflow/graph/edge.d.ts +9 -0
  203. package/dataflow/graph/edge.js +9 -0
  204. package/dataflow/graph/graph.d.ts +6 -19
  205. package/dataflow/graph/graph.js +4 -15
  206. package/dataflow/graph/invert-dfg.d.ts +3 -0
  207. package/dataflow/graph/invert-dfg.js +3 -0
  208. package/dataflow/graph/quads.d.ts +1 -1
  209. package/dataflow/graph/unknown-replacement.d.ts +6 -0
  210. package/dataflow/graph/unknown-replacement.js +6 -0
  211. package/dataflow/graph/unknown-side-effect.d.ts +8 -0
  212. package/dataflow/graph/unknown-side-effect.js +8 -0
  213. package/dataflow/graph/vertex.d.ts +9 -9
  214. package/dataflow/graph/vertex.js +9 -1
  215. package/dataflow/info.d.ts +9 -10
  216. package/dataflow/info.js +6 -1
  217. package/dataflow/internal/linker.d.ts +25 -9
  218. package/dataflow/internal/linker.js +23 -7
  219. package/dataflow/internal/process/functions/call/argument/make-argument.d.ts +6 -0
  220. package/dataflow/internal/process/functions/call/argument/make-argument.js +6 -0
  221. package/dataflow/internal/process/functions/call/argument/unpack-argument.d.ts +1 -1
  222. package/dataflow/internal/process/functions/call/built-in/built-in-access.d.ts +4 -1
  223. package/dataflow/internal/process/functions/call/built-in/built-in-access.js +3 -1
  224. package/dataflow/internal/process/functions/call/built-in/built-in-apply.d.ts +4 -1
  225. package/dataflow/internal/process/functions/call/built-in/built-in-apply.js +3 -0
  226. package/dataflow/internal/process/functions/call/built-in/built-in-assignment.d.ts +2 -2
  227. package/dataflow/internal/process/functions/call/built-in/built-in-eval.d.ts +6 -3
  228. package/dataflow/internal/process/functions/call/built-in/built-in-eval.js +3 -0
  229. package/dataflow/internal/process/functions/call/built-in/built-in-expression-list.d.ts +4 -1
  230. package/dataflow/internal/process/functions/call/built-in/built-in-expression-list.js +3 -0
  231. package/dataflow/internal/process/functions/call/built-in/built-in-for-loop.d.ts +5 -2
  232. package/dataflow/internal/process/functions/call/built-in/built-in-for-loop.js +3 -0
  233. package/dataflow/internal/process/functions/call/built-in/built-in-function-definition.d.ts +10 -4
  234. package/dataflow/internal/process/functions/call/built-in/built-in-function-definition.js +6 -0
  235. package/dataflow/internal/process/functions/call/built-in/built-in-get.d.ts +3 -0
  236. package/dataflow/internal/process/functions/call/built-in/built-in-get.js +3 -0
  237. package/dataflow/internal/process/functions/call/built-in/built-in-if-then-else.d.ts +5 -2
  238. package/dataflow/internal/process/functions/call/built-in/built-in-if-then-else.js +4 -0
  239. package/dataflow/internal/process/functions/call/built-in/built-in-library.d.ts +3 -0
  240. package/dataflow/internal/process/functions/call/built-in/built-in-library.js +3 -0
  241. package/dataflow/internal/process/functions/call/built-in/built-in-list.d.ts +1 -1
  242. package/dataflow/internal/process/functions/call/built-in/built-in-pipe.d.ts +3 -0
  243. package/dataflow/internal/process/functions/call/built-in/built-in-pipe.js +3 -0
  244. package/dataflow/internal/process/functions/call/built-in/built-in-quote.d.ts +3 -0
  245. package/dataflow/internal/process/functions/call/built-in/built-in-quote.js +3 -0
  246. package/dataflow/internal/process/functions/call/built-in/built-in-repeat-loop.d.ts +5 -2
  247. package/dataflow/internal/process/functions/call/built-in/built-in-repeat-loop.js +3 -0
  248. package/dataflow/internal/process/functions/call/built-in/built-in-replacement.d.ts +6 -3
  249. package/dataflow/internal/process/functions/call/built-in/built-in-replacement.js +3 -1
  250. package/dataflow/internal/process/functions/call/built-in/built-in-rm.d.ts +4 -1
  251. package/dataflow/internal/process/functions/call/built-in/built-in-rm.js +3 -0
  252. package/dataflow/internal/process/functions/call/built-in/built-in-source.d.ts +23 -6
  253. package/dataflow/internal/process/functions/call/built-in/built-in-source.js +20 -1
  254. package/dataflow/internal/process/functions/call/built-in/built-in-special-bin-op.d.ts +3 -0
  255. package/dataflow/internal/process/functions/call/built-in/built-in-special-bin-op.js +3 -0
  256. package/dataflow/internal/process/functions/call/built-in/built-in-vector.d.ts +1 -1
  257. package/dataflow/internal/process/functions/call/built-in/built-in-while-loop.d.ts +5 -2
  258. package/dataflow/internal/process/functions/call/built-in/built-in-while-loop.js +3 -0
  259. package/dataflow/internal/process/functions/call/common.d.ts +11 -5
  260. package/dataflow/internal/process/functions/call/common.js +6 -0
  261. package/dataflow/internal/process/functions/call/default-call-handling.d.ts +3 -0
  262. package/dataflow/internal/process/functions/call/default-call-handling.js +3 -0
  263. package/dataflow/internal/process/functions/call/known-call-handling.d.ts +12 -5
  264. package/dataflow/internal/process/functions/call/known-call-handling.js +7 -0
  265. package/dataflow/internal/process/functions/call/named-call-handling.d.ts +7 -1
  266. package/dataflow/internal/process/functions/call/named-call-handling.js +6 -0
  267. package/dataflow/internal/process/functions/call/unnamed-call-handling.d.ts +4 -1
  268. package/dataflow/internal/process/functions/call/unnamed-call-handling.js +3 -0
  269. package/dataflow/internal/process/functions/process-argument.d.ts +8 -2
  270. package/dataflow/internal/process/functions/process-argument.js +6 -0
  271. package/dataflow/internal/process/functions/process-parameter.d.ts +5 -2
  272. package/dataflow/internal/process/functions/process-parameter.js +3 -0
  273. package/dataflow/internal/process/process-symbol.d.ts +3 -0
  274. package/dataflow/internal/process/process-symbol.js +3 -0
  275. package/dataflow/internal/process/process-uninteresting-leaf.d.ts +3 -0
  276. package/dataflow/internal/process/process-uninteresting-leaf.js +3 -0
  277. package/dataflow/internal/process/process-value.d.ts +3 -0
  278. package/dataflow/internal/process/process-value.js +3 -0
  279. package/dataflow/origin/dfg-get-origin.d.ts +0 -2
  280. package/dataflow/origin/dfg-get-symbol-refs.d.ts +5 -7
  281. package/dataflow/origin/dfg-get-symbol-refs.js +6 -8
  282. package/dataflow/processor.d.ts +0 -1
  283. package/dataflow/processor.js +0 -1
  284. package/documentation/data/dfg/doc-data-dfg-util.d.ts +6 -0
  285. package/documentation/data/dfg/doc-data-dfg-util.js +6 -0
  286. package/documentation/data/faq/faqs.d.ts +5 -0
  287. package/documentation/data/faq/faqs.js +78 -0
  288. package/documentation/data/faq/wiki-faq-store.d.ts +18 -0
  289. package/documentation/data/faq/wiki-faq-store.js +75 -0
  290. package/documentation/data/server/doc-data-server-messages.d.ts +3 -0
  291. package/documentation/data/server/doc-data-server-messages.js +4 -63
  292. package/documentation/doc-util/doc-auto-gen.d.ts +6 -0
  293. package/documentation/doc-util/doc-auto-gen.js +6 -0
  294. package/documentation/doc-util/doc-benchmarks.d.ts +12 -0
  295. package/documentation/doc-util/doc-benchmarks.js +12 -0
  296. package/documentation/doc-util/doc-cfg.d.ts +7 -1
  297. package/documentation/doc-util/doc-cfg.js +9 -0
  298. package/documentation/doc-util/doc-cli-option.d.ts +9 -0
  299. package/documentation/doc-util/doc-cli-option.js +9 -0
  300. package/documentation/doc-util/doc-code.d.ts +24 -0
  301. package/documentation/doc-util/doc-code.js +24 -0
  302. package/documentation/doc-util/doc-dfg.d.ts +7 -1
  303. package/documentation/doc-util/doc-dfg.js +9 -0
  304. package/documentation/doc-util/doc-env.d.ts +3 -0
  305. package/documentation/doc-util/doc-env.js +3 -0
  306. package/documentation/doc-util/doc-escape.d.ts +0 -1
  307. package/documentation/doc-util/doc-escape.js +0 -1
  308. package/documentation/doc-util/doc-files.d.ts +11 -0
  309. package/documentation/doc-util/doc-files.js +15 -4
  310. package/documentation/doc-util/doc-general.d.ts +6 -0
  311. package/documentation/doc-util/doc-general.js +6 -0
  312. package/documentation/doc-util/doc-normalized-ast.d.ts +7 -1
  313. package/documentation/doc-util/doc-normalized-ast.js +6 -0
  314. package/documentation/doc-util/doc-query.d.ts +15 -0
  315. package/documentation/doc-util/doc-query.js +17 -2
  316. package/documentation/doc-util/doc-repl.d.ts +6 -0
  317. package/documentation/doc-util/doc-repl.js +6 -0
  318. package/documentation/doc-util/doc-search.d.ts +15 -0
  319. package/documentation/doc-util/doc-search.js +17 -2
  320. package/documentation/doc-util/doc-server-message.d.ts +13 -1
  321. package/documentation/doc-util/doc-server-message.js +13 -1
  322. package/documentation/doc-util/doc-structure.d.ts +9 -0
  323. package/documentation/doc-util/doc-structure.js +10 -1
  324. package/documentation/doc-util/doc-types.d.ts +42 -0
  325. package/documentation/doc-util/doc-types.js +42 -0
  326. package/documentation/print-analyzer-wiki.js +4 -0
  327. package/documentation/print-core-wiki.d.ts +3 -0
  328. package/documentation/print-core-wiki.js +5 -2
  329. package/documentation/print-dataflow-graph-wiki.js +5 -5
  330. package/documentation/print-faq-wiki.js +3 -75
  331. package/documentation/print-interface-wiki.js +1 -1
  332. package/documentation/print-onboarding-wiki.js +1 -1
  333. package/documentation/print-query-wiki.js +4 -34
  334. package/documentation/print-readme.js +105 -0
  335. package/engines.d.ts +1 -1
  336. package/linter/linter-executor.d.ts +6 -3
  337. package/linter/linter-executor.js +3 -0
  338. package/linter/linter-format.d.ts +8 -0
  339. package/linter/linter-format.js +8 -0
  340. package/linter/rules/absolute-path.d.ts +3 -4
  341. package/linter/rules/dataframe-access-validation.d.ts +3 -4
  342. package/linter/rules/dataframe-access-validation.js +9 -11
  343. package/linter/rules/dead-code.d.ts +1 -1
  344. package/linter/rules/deprecated-functions.d.ts +1 -1
  345. package/linter/rules/file-path-validity.d.ts +1 -2
  346. package/linter/rules/function-finder-util.d.ts +1 -2
  347. package/linter/rules/naming-convention.d.ts +13 -2
  348. package/linter/rules/naming-convention.js +13 -1
  349. package/linter/rules/network-functions.d.ts +1 -1
  350. package/linter/rules/seeded-randomness.d.ts +1 -2
  351. package/linter/rules/unused-definition.d.ts +2 -3
  352. package/linter/rules/useless-loop.d.ts +1 -2
  353. package/package.json +2 -2
  354. package/project/cache/flowr-analyzer-cache.d.ts +2 -9
  355. package/project/cache/flowr-analyzer-cache.js +0 -6
  356. package/project/context/flowr-analyzer-context.d.ts +3 -6
  357. package/project/context/flowr-analyzer-dependencies-context.d.ts +0 -1
  358. package/project/context/flowr-analyzer-files-context.d.ts +2 -4
  359. package/project/context/flowr-file.d.ts +0 -1
  360. package/project/flowr-analyzer-builder.d.ts +1 -3
  361. package/project/flowr-analyzer-builder.js +5 -6
  362. package/project/flowr-analyzer.d.ts +34 -25
  363. package/project/flowr-analyzer.js +10 -11
  364. package/project/plugins/file-plugins/flowr-analyzer-description-file-plugin.d.ts +1 -1
  365. package/project/plugins/file-plugins/flowr-description-file.d.ts +1 -3
  366. package/project/plugins/file-plugins/flowr-description-file.js +0 -1
  367. package/project/plugins/project-discovery/flowr-analyzer-project-discovery-plugin.d.ts +1 -1
  368. package/queries/base-query-format.d.ts +2 -2
  369. package/queries/catalog/call-context-query/call-context-query-executor.d.ts +3 -0
  370. package/queries/catalog/call-context-query/call-context-query-executor.js +3 -0
  371. package/queries/catalog/call-context-query/call-context-query-format.d.ts +3 -3
  372. package/queries/catalog/call-context-query/identify-link-to-last-call-relation.d.ts +11 -2
  373. package/queries/catalog/call-context-query/identify-link-to-last-call-relation.js +9 -0
  374. package/queries/catalog/cluster-query/cluster-query-executor.d.ts +3 -0
  375. package/queries/catalog/cluster-query/cluster-query-executor.js +3 -0
  376. package/queries/catalog/cluster-query/cluster-query-format.d.ts +1 -1
  377. package/queries/catalog/config-query/config-query-executor.d.ts +3 -0
  378. package/queries/catalog/config-query/config-query-executor.js +3 -0
  379. package/queries/catalog/config-query/config-query-format.d.ts +5 -2
  380. package/queries/catalog/config-query/config-query-format.js +13 -16
  381. package/queries/catalog/control-flow-query/control-flow-query-executor.d.ts +3 -0
  382. package/queries/catalog/control-flow-query/control-flow-query-executor.js +3 -0
  383. package/queries/catalog/control-flow-query/control-flow-query-format.d.ts +3 -3
  384. package/queries/catalog/dataflow-lens-query/dataflow-lens-query-executor.d.ts +3 -0
  385. package/queries/catalog/dataflow-lens-query/dataflow-lens-query-executor.js +3 -0
  386. package/queries/catalog/dataflow-lens-query/dataflow-lens-query-format.d.ts +1 -1
  387. package/queries/catalog/dataflow-query/dataflow-query-executor.d.ts +3 -0
  388. package/queries/catalog/dataflow-query/dataflow-query-executor.js +3 -0
  389. package/queries/catalog/dataflow-query/dataflow-query-format.d.ts +1 -1
  390. package/queries/catalog/dependencies-query/dependencies-query-executor.d.ts +4 -1
  391. package/queries/catalog/dependencies-query/dependencies-query-executor.js +7 -4
  392. package/queries/catalog/dependencies-query/dependencies-query-format.d.ts +4 -1
  393. package/queries/catalog/dependencies-query/dependencies-query-format.js +4 -1
  394. package/queries/catalog/df-shape-query/df-shape-query-executor.d.ts +4 -1
  395. package/queries/catalog/df-shape-query/df-shape-query-executor.js +8 -4
  396. package/queries/catalog/df-shape-query/df-shape-query-format.d.ts +10 -3
  397. package/queries/catalog/df-shape-query/df-shape-query-format.js +24 -5
  398. package/queries/catalog/happens-before-query/happens-before-query-executor.d.ts +3 -0
  399. package/queries/catalog/happens-before-query/happens-before-query-executor.js +3 -0
  400. package/queries/catalog/happens-before-query/happens-before-query-format.d.ts +1 -1
  401. package/queries/catalog/id-map-query/id-map-query-executor.d.ts +3 -0
  402. package/queries/catalog/id-map-query/id-map-query-executor.js +3 -0
  403. package/queries/catalog/id-map-query/id-map-query-format.d.ts +1 -1
  404. package/queries/catalog/inspect-higher-order-query/inspect-higher-order-query-executor.d.ts +3 -0
  405. package/queries/catalog/inspect-higher-order-query/inspect-higher-order-query-executor.js +3 -0
  406. package/queries/catalog/inspect-higher-order-query/inspect-higher-order-query-format.d.ts +2 -2
  407. package/queries/catalog/linter-query/linter-query-executor.d.ts +4 -0
  408. package/queries/catalog/linter-query/linter-query-executor.js +4 -0
  409. package/queries/catalog/linter-query/linter-query-format.d.ts +12 -3
  410. package/queries/catalog/linter-query/linter-query-format.js +67 -0
  411. package/queries/catalog/location-map-query/location-map-query-executor.d.ts +4 -0
  412. package/queries/catalog/location-map-query/location-map-query-executor.js +5 -1
  413. package/queries/catalog/location-map-query/location-map-query-format.d.ts +7 -1
  414. package/queries/catalog/location-map-query/location-map-query-format.js +12 -0
  415. package/queries/catalog/normalized-ast-query/normalized-ast-query-executor.d.ts +3 -0
  416. package/queries/catalog/normalized-ast-query/normalized-ast-query-executor.js +3 -0
  417. package/queries/catalog/normalized-ast-query/normalized-ast-query-format.d.ts +1 -1
  418. package/queries/catalog/origin-query/origin-query-executor.d.ts +7 -1
  419. package/queries/catalog/origin-query/origin-query-executor.js +6 -0
  420. package/queries/catalog/origin-query/origin-query-format.d.ts +7 -1
  421. package/queries/catalog/origin-query/origin-query-format.js +17 -1
  422. package/queries/catalog/project-query/project-query-executor.d.ts +3 -0
  423. package/queries/catalog/project-query/project-query-executor.js +3 -0
  424. package/queries/catalog/project-query/project-query-format.d.ts +1 -1
  425. package/queries/catalog/resolve-value-query/resolve-value-query-executor.d.ts +6 -0
  426. package/queries/catalog/resolve-value-query/resolve-value-query-executor.js +6 -0
  427. package/queries/catalog/resolve-value-query/resolve-value-query-format.d.ts +7 -1
  428. package/queries/catalog/resolve-value-query/resolve-value-query-format.js +19 -1
  429. package/queries/catalog/search-query/search-query-executor.d.ts +3 -0
  430. package/queries/catalog/search-query/search-query-executor.js +3 -0
  431. package/queries/catalog/search-query/search-query-format.d.ts +1 -1
  432. package/queries/catalog/static-slice-query/static-slice-query-executor.d.ts +9 -0
  433. package/queries/catalog/static-slice-query/static-slice-query-executor.js +9 -0
  434. package/queries/catalog/static-slice-query/static-slice-query-format.d.ts +7 -1
  435. package/queries/catalog/static-slice-query/static-slice-query-format.js +17 -0
  436. package/queries/query-print.d.ts +20 -4
  437. package/queries/query-print.js +18 -2
  438. package/queries/query.d.ts +85 -55
  439. package/queries/query.js +35 -23
  440. package/queries/virtual-query/virtual-queries.d.ts +1 -2
  441. package/r-bridge/data/get.d.ts +6 -0
  442. package/r-bridge/data/get.js +6 -0
  443. package/r-bridge/lang-4.x/ast/model/collect.d.ts +0 -1
  444. package/r-bridge/lang-4.x/ast/model/collect.js +0 -1
  445. package/r-bridge/lang-4.x/ast/model/model.d.ts +8 -11
  446. package/r-bridge/lang-4.x/ast/model/nodes/r-function-call.d.ts +0 -2
  447. package/r-bridge/lang-4.x/ast/model/nodes/r-number.d.ts +3 -0
  448. package/r-bridge/lang-4.x/ast/model/nodes/r-number.js +3 -0
  449. package/r-bridge/lang-4.x/ast/model/nodes/r-string.d.ts +3 -0
  450. package/r-bridge/lang-4.x/ast/model/nodes/r-string.js +3 -0
  451. package/r-bridge/lang-4.x/ast/model/nodes/r-symbol.d.ts +3 -0
  452. package/r-bridge/lang-4.x/ast/model/nodes/r-symbol.js +3 -0
  453. package/r-bridge/lang-4.x/ast/model/operators.d.ts +0 -1
  454. package/r-bridge/lang-4.x/ast/model/processing/decorate.d.ts +6 -7
  455. package/r-bridge/lang-4.x/ast/model/processing/decorate.js +6 -6
  456. package/r-bridge/lang-4.x/ast/model/processing/fold.d.ts +1 -1
  457. package/r-bridge/lang-4.x/ast/model/processing/node-id.d.ts +0 -1
  458. package/r-bridge/lang-4.x/ast/model/processing/node-id.js +0 -1
  459. package/r-bridge/lang-4.x/ast/model/processing/role.d.ts +0 -1
  460. package/r-bridge/lang-4.x/ast/model/processing/stateful-fold.d.ts +1 -2
  461. package/r-bridge/lang-4.x/ast/model/processing/visitor.d.ts +0 -1
  462. package/r-bridge/lang-4.x/ast/model/processing/visitor.js +0 -1
  463. package/r-bridge/lang-4.x/ast/model/type.d.ts +4 -5
  464. package/r-bridge/lang-4.x/ast/model/type.js +4 -5
  465. package/r-bridge/lang-4.x/ast/model/versions.d.ts +0 -1
  466. package/r-bridge/lang-4.x/ast/model/versions.js +0 -1
  467. package/r-bridge/lang-4.x/ast/parser/json/parser.d.ts +4 -5
  468. package/r-bridge/lang-4.x/ast/parser/json/parser.js +0 -1
  469. package/r-bridge/lang-4.x/ast/parser/main/internal/control/normalize-if-then.d.ts +1 -1
  470. package/r-bridge/lang-4.x/ast/parser/main/internal/expression/normalize-expression.d.ts +0 -1
  471. package/r-bridge/lang-4.x/ast/parser/main/internal/expression/normalize-expression.js +0 -1
  472. package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-argument.d.ts +0 -2
  473. package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-argument.js +0 -2
  474. package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-call.d.ts +1 -3
  475. package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-call.js +0 -2
  476. package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-definition.d.ts +0 -2
  477. package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-definition.js +0 -2
  478. package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-parameter.d.ts +0 -2
  479. package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-parameter.js +0 -2
  480. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-break.d.ts +3 -0
  481. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-break.js +3 -0
  482. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-for.d.ts +4 -1
  483. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-for.js +3 -0
  484. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-next.d.ts +3 -0
  485. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-next.js +3 -0
  486. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-repeat.d.ts +0 -2
  487. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-repeat.js +0 -2
  488. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-while.d.ts +4 -1
  489. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-while.js +3 -0
  490. package/r-bridge/lang-4.x/ast/parser/main/internal/normalize-access.d.ts +0 -2
  491. package/r-bridge/lang-4.x/ast/parser/main/internal/normalize-access.js +0 -2
  492. package/r-bridge/lang-4.x/ast/parser/main/internal/operators/normalize-binary.d.ts +1 -1
  493. package/r-bridge/lang-4.x/ast/parser/main/internal/operators/normalize-unary.d.ts +0 -2
  494. package/r-bridge/lang-4.x/ast/parser/main/internal/operators/normalize-unary.js +0 -2
  495. package/r-bridge/lang-4.x/ast/parser/main/internal/other/normalize-comment.d.ts +0 -1
  496. package/r-bridge/lang-4.x/ast/parser/main/internal/other/normalize-comment.js +0 -1
  497. package/r-bridge/lang-4.x/ast/parser/main/internal/other/normalize-line-directive.d.ts +0 -1
  498. package/r-bridge/lang-4.x/ast/parser/main/internal/other/normalize-line-directive.js +0 -1
  499. package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-delimiter.d.ts +3 -0
  500. package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-delimiter.js +3 -0
  501. package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-expressions.d.ts +9 -0
  502. package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-expressions.js +9 -0
  503. package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-single-node.d.ts +1 -3
  504. package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-single-node.js +0 -2
  505. package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-number.d.ts +1 -2
  506. package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-number.js +0 -1
  507. package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-string.d.ts +0 -1
  508. package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-string.js +0 -1
  509. package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-symbol.d.ts +0 -2
  510. package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-symbol.js +0 -2
  511. package/r-bridge/lang-4.x/ast/parser/main/normalize-meta.d.ts +14 -5
  512. package/r-bridge/lang-4.x/ast/parser/main/normalize-meta.js +13 -6
  513. package/r-bridge/lang-4.x/convert-values.d.ts +12 -1
  514. package/r-bridge/lang-4.x/convert-values.js +12 -1
  515. package/r-bridge/lang-4.x/tree-sitter/tree-sitter-executor.d.ts +7 -2
  516. package/r-bridge/lang-4.x/tree-sitter/tree-sitter-executor.js +17 -0
  517. package/r-bridge/lang-4.x/tree-sitter/tree-sitter-normalize.d.ts +13 -1
  518. package/r-bridge/lang-4.x/tree-sitter/tree-sitter-normalize.js +48 -19
  519. package/r-bridge/parser.d.ts +28 -7
  520. package/r-bridge/retriever.d.ts +16 -1
  521. package/r-bridge/retriever.js +15 -0
  522. package/r-bridge/shell-executor.d.ts +3 -3
  523. package/r-bridge/shell-executor.js +6 -1
  524. package/r-bridge/shell.d.ts +24 -23
  525. package/r-bridge/shell.js +37 -31
  526. package/reconstruct/auto-select/auto-select-defaults.d.ts +0 -1
  527. package/reconstruct/auto-select/magic-comments.d.ts +1 -2
  528. package/reconstruct/auto-select/magic-comments.js +1 -2
  529. package/reconstruct/reconstruct.d.ts +1 -3
  530. package/reconstruct/reconstruct.js +0 -2
  531. package/search/flowr-search-builder.d.ts +12 -5
  532. package/search/flowr-search-builder.js +7 -2
  533. package/search/flowr-search-executor.d.ts +3 -3
  534. package/search/flowr-search-filters.d.ts +14 -1
  535. package/search/flowr-search-filters.js +13 -0
  536. package/search/flowr-search-printer.d.ts +6 -0
  537. package/search/flowr-search-printer.js +6 -0
  538. package/search/flowr-search-traverse.d.ts +1 -1
  539. package/search/flowr-search.d.ts +3 -3
  540. package/search/search-executor/search-enrichers.d.ts +9 -6
  541. package/search/search-executor/search-enrichers.js +3 -0
  542. package/search/search-executor/search-generators.d.ts +19 -10
  543. package/search/search-executor/search-generators.js +49 -2
  544. package/search/search-executor/search-mappers.d.ts +8 -5
  545. package/search/search-executor/search-mappers.js +3 -0
  546. package/search/search-executor/search-transformer.d.ts +19 -16
  547. package/search/search-executor/search-transformer.js +3 -0
  548. package/slicing/criterion/collect-all.d.ts +10 -10
  549. package/slicing/criterion/parse.d.ts +4 -2
  550. package/slicing/criterion/parse.js +4 -2
  551. package/slicing/static/fingerprint.d.ts +9 -1
  552. package/slicing/static/fingerprint.js +8 -0
  553. package/slicing/static/slice-call.d.ts +2 -2
  554. package/slicing/static/static-slicer.d.ts +8 -4
  555. package/slicing/static/static-slicer.js +5 -1
  556. package/slicing/static/visiting-queue.d.ts +1 -1
  557. package/statistics/features/common-syntax-probability.d.ts +10 -1
  558. package/statistics/features/common-syntax-probability.js +9 -0
  559. package/statistics/features/feature.d.ts +0 -4
  560. package/statistics/features/feature.js +0 -1
  561. package/statistics/features/post-processing.d.ts +6 -0
  562. package/statistics/features/post-processing.js +6 -0
  563. package/statistics/features/supported/assignments/post-process.d.ts +3 -0
  564. package/statistics/features/supported/assignments/post-process.js +3 -0
  565. package/statistics/features/supported/comments/post-process.d.ts +3 -0
  566. package/statistics/features/supported/comments/post-process.js +3 -0
  567. package/statistics/features/supported/control-flow/post-process.d.ts +3 -0
  568. package/statistics/features/supported/control-flow/post-process.js +3 -0
  569. package/statistics/features/supported/data-access/data-access.d.ts +1 -1
  570. package/statistics/features/supported/data-access/post-process.d.ts +3 -0
  571. package/statistics/features/supported/data-access/post-process.js +3 -0
  572. package/statistics/features/supported/defined-functions/defined-functions.d.ts +1 -1
  573. package/statistics/features/supported/expression-list/post-process.d.ts +3 -0
  574. package/statistics/features/supported/expression-list/post-process.js +3 -0
  575. package/statistics/features/supported/loops/post-process.d.ts +3 -0
  576. package/statistics/features/supported/loops/post-process.js +3 -0
  577. package/statistics/features/supported/used-functions/used-functions.d.ts +1 -1
  578. package/statistics/features/supported/used-packages/post-process.d.ts +3 -0
  579. package/statistics/features/supported/used-packages/post-process.js +3 -0
  580. package/statistics/features/supported/values/post-process.d.ts +3 -0
  581. package/statistics/features/supported/values/post-process.js +3 -0
  582. package/statistics/features/supported/variables/post-process.d.ts +7 -1
  583. package/statistics/features/supported/variables/post-process.js +6 -0
  584. package/statistics/meta-statistics.d.ts +8 -9
  585. package/statistics/output/file-provider.d.ts +5 -6
  586. package/statistics/output/file-provider.js +5 -6
  587. package/statistics/output/print-stats.d.ts +13 -1
  588. package/statistics/output/print-stats.js +12 -0
  589. package/statistics/output/statistics-file.d.ts +1 -2
  590. package/statistics/output/statistics-file.js +0 -1
  591. package/statistics/statistics.d.ts +3 -4
  592. package/statistics/statistics.js +1 -2
  593. package/statistics/summarizer/auto-detect.d.ts +3 -0
  594. package/statistics/summarizer/auto-detect.js +3 -0
  595. package/statistics/summarizer/post-process/clusterer.d.ts +3 -4
  596. package/statistics/summarizer/post-process/clusterer.js +0 -2
  597. package/statistics/summarizer/post-process/file-based-count.d.ts +0 -1
  598. package/statistics/summarizer/post-process/file-based-count.js +0 -1
  599. package/statistics/summarizer/post-process/histogram.d.ts +0 -2
  600. package/statistics/summarizer/post-process/histogram.js +0 -2
  601. package/statistics/summarizer/post-process/post-process-output.d.ts +2 -4
  602. package/statistics/summarizer/post-process/post-process-output.js +0 -3
  603. package/statistics/summarizer/second-phase/process.d.ts +5 -3
  604. package/statistics/summarizer/second-phase/process.js +3 -1
  605. package/statistics/summarizer/summarizer.d.ts +1 -2
  606. package/util/assert.d.ts +52 -2
  607. package/util/assert.js +52 -2
  608. package/util/collections/arrays.d.ts +10 -5
  609. package/util/collections/arrays.js +10 -5
  610. package/util/collections/defaultmap.d.ts +11 -11
  611. package/util/collections/defaultmap.js +11 -11
  612. package/util/containers.d.ts +2 -7
  613. package/util/containers.js +0 -5
  614. package/util/diff-graph.d.ts +0 -1
  615. package/util/diff-graph.js +0 -1
  616. package/util/diff.d.ts +3 -1
  617. package/util/diff.js +3 -1
  618. package/util/files.d.ts +11 -11
  619. package/util/files.js +10 -10
  620. package/util/formats/adapter.d.ts +9 -0
  621. package/util/formats/adapter.js +9 -0
  622. package/util/formats/adapters/rmd-adapter.d.ts +10 -1
  623. package/util/formats/adapters/rmd-adapter.js +10 -1
  624. package/util/html-hover-over.d.ts +5 -0
  625. package/util/html-hover-over.js +5 -0
  626. package/util/json.d.ts +13 -0
  627. package/util/json.js +13 -0
  628. package/util/log.d.ts +2 -2
  629. package/util/log.js +2 -2
  630. package/util/mermaid/ast.d.ts +3 -0
  631. package/util/mermaid/ast.js +3 -0
  632. package/util/mermaid/cfg.d.ts +1 -1
  633. package/util/mermaid/dfg.d.ts +12 -4
  634. package/util/mermaid/dfg.js +9 -1
  635. package/util/mermaid/mermaid.d.ts +6 -1
  636. package/util/mermaid/mermaid.js +6 -1
  637. package/util/numbers.d.ts +7 -0
  638. package/util/numbers.js +7 -0
  639. package/util/objects.d.ts +0 -2
  640. package/util/os.d.ts +3 -0
  641. package/util/os.js +3 -0
  642. package/util/parallel.d.ts +4 -4
  643. package/util/parallel.js +4 -4
  644. package/util/prefix.d.ts +0 -1
  645. package/util/prefix.js +0 -1
  646. package/util/quads.d.ts +14 -17
  647. package/util/quads.js +3 -5
  648. package/util/r-value.d.ts +10 -1
  649. package/util/r-value.js +21 -0
  650. package/util/random.d.ts +3 -0
  651. package/util/random.js +3 -0
  652. package/util/range.d.ts +9 -3
  653. package/util/range.js +15 -2
  654. package/util/schema.d.ts +14 -1
  655. package/util/schema.js +15 -2
  656. package/util/simple-df/dfg-view.d.ts +4 -1
  657. package/util/simple-df/dfg-view.js +4 -1
  658. package/util/summarizer.d.ts +9 -1
  659. package/util/summarizer.js +9 -0
  660. package/util/text/ansi.d.ts +3 -0
  661. package/util/text/ansi.js +3 -0
  662. package/util/text/args.d.ts +2 -4
  663. package/util/text/args.js +7 -5
  664. package/util/text/text.d.ts +4 -0
  665. package/util/text/text.js +4 -0
  666. package/util/text/time.d.ts +0 -1
  667. package/util/text/time.js +0 -1
  668. package/util/version.d.ts +12 -3
  669. package/util/version.js +12 -3
  670. package/abstract-interpretation/data-frame/domain.d.ts +0 -107
  671. package/abstract-interpretation/data-frame/domain.js +0 -315
  672. package/abstract-interpretation/domains/set-bounded-set-domain.d.ts +0 -43
  673. package/abstract-interpretation/domains/set-bounded-set-domain.js +0 -164
  674. package/cli/repl/commands/repl-lineage.d.ts +0 -15
  675. package/cli/repl/commands/repl-lineage.js +0 -66
  676. package/cli/repl/server/messages/message-lineage.d.ts +0 -17
  677. package/cli/repl/server/messages/message-lineage.js +0 -25
  678. package/queries/catalog/lineage-query/lineage-query-executor.d.ts +0 -3
  679. package/queries/catalog/lineage-query/lineage-query-executor.js +0 -22
  680. package/queries/catalog/lineage-query/lineage-query-format.d.ts +0 -22
  681. package/queries/catalog/lineage-query/lineage-query-format.js +0 -31
package/util/files.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { PathLike } from 'fs';
1
+ import { type PathLike } from 'fs';
2
2
  import type { RParseRequestFromFile } from '../r-bridge/retriever';
3
3
  import type { FlowrFileProvider } from '../project/context/flowr-file';
4
4
  /**
@@ -13,45 +13,43 @@ export interface Table {
13
13
  * @param dir - Directory path to start the search from
14
14
  * @param suffix - Suffix of the files to be retrieved
15
15
  * Based on {@link https://stackoverflow.com/a/45130990}
16
- *
17
16
  * @see {@link getAllFilesSync} for a synchronous version.
18
17
  */
19
18
  export declare function getAllFiles(dir: string, suffix?: RegExp): AsyncGenerator<string>;
20
19
  /**
21
20
  * Retrieves all files in the given directory recursively (synchronously)
22
- *
23
21
  * @see {@link getAllFiles} - for an asynchronous version.
24
22
  */
25
23
  export declare function getAllFilesSync(dir: string, suffix?: RegExp): Generator<string>;
26
24
  /**
27
25
  * Retrieves all R files in a given directory (asynchronously)
28
- *
29
- *
30
26
  * @param input - directory-path to start the search from, can be a file as well. Will just return the file then.
31
27
  * @param limit - limit the number of files to be retrieved
32
- *
33
28
  * @returns Number of files processed (normally &le; `limit`, is &ge; `limit` if limit was reached).
34
29
  * Will be `1`, if `input` is an R file (and `0` if it isn't).
35
- *
36
30
  * @see getAllFiles
37
31
  */
38
32
  export declare function allRFiles(input: string, limit?: number): AsyncGenerator<RParseRequestFromFile, number>;
39
33
  /**
40
34
  * Retrieves all R files in a given set of directories and files (asynchronously)
41
- *
42
35
  * @param inputs - Files or directories to validate for R-files
43
36
  * @param limit - Limit the number of files to be retrieved
44
37
  * @returns Number of files processed (&le; limit)
45
- *
46
38
  * @see allRFiles
47
39
  */
48
40
  export declare function allRFilesFrom(inputs: string[], limit?: number): AsyncGenerator<RParseRequestFromFile, number>;
41
+ /**
42
+ * Writes the given table as a CSV file.
43
+ * @param table - The table to write
44
+ * @param file - The file path to write the CSV to
45
+ * @param sep - The separator to use (default: `,`)
46
+ * @param newline - The newline character to use (default: `\n`)
47
+ */
49
48
  export declare function writeTableAsCsv(table: Table, file: string, sep?: string, newline?: string): void;
50
49
  /**
51
50
  * Reads a file line by line and calls the given function for each line.
52
51
  * The `lineNumber` starts at `0`.
53
52
  * The `maxLines` option limits the maximum number of read lines and is `Infinity` by default.
54
- *
55
53
  * @returns Whether all lines have been successfully read (`false` if `maxLines` was reached)
56
54
  *
57
55
  * See {@link readLineByLineSync} for a synchronous version.
@@ -61,7 +59,6 @@ export declare function readLineByLine(filePath: string, onLine: (line: Buffer,
61
59
  * Reads a file line by line and calls the given function for each line.
62
60
  * The `lineNumber` starts at `0`.
63
61
  * The `maxLines` option limits the maximum number of read lines and is `Infinity` by default.
64
- *
65
62
  * @returns Whether the file exists and all lines have been successfully read (`false` if `maxLines` was reached)
66
63
  *
67
64
  * See {@link readLineByLine} for an asynchronous version.
@@ -79,4 +76,7 @@ export declare function getParentDirectory(directory: string): string;
79
76
  * @returns Map containing the keys and values of the provided file.
80
77
  */
81
78
  export declare function parseDCF(file: FlowrFileProvider<string>): Map<string, string[]>;
79
+ /**
80
+ * Checks whether the given path-like object is a file that exists on the local filesystem.
81
+ */
82
82
  export declare function isFilePath(p: PathLike): boolean;
package/util/files.js CHANGED
@@ -55,7 +55,6 @@ const n_readlines_1 = __importDefault(require("n-readlines"));
55
55
  * @param dir - Directory path to start the search from
56
56
  * @param suffix - Suffix of the files to be retrieved
57
57
  * Based on {@link https://stackoverflow.com/a/45130990}
58
- *
59
58
  * @see {@link getAllFilesSync} for a synchronous version.
60
59
  */
61
60
  async function* getAllFiles(dir, suffix = /.*/) {
@@ -72,7 +71,6 @@ async function* getAllFiles(dir, suffix = /.*/) {
72
71
  }
73
72
  /**
74
73
  * Retrieves all files in the given directory recursively (synchronously)
75
- *
76
74
  * @see {@link getAllFiles} - for an asynchronous version.
77
75
  */
78
76
  function* getAllFilesSync(dir, suffix = /.*/) {
@@ -90,14 +88,10 @@ function* getAllFilesSync(dir, suffix = /.*/) {
90
88
  const rFileRegex = /\.[rR]$/;
91
89
  /**
92
90
  * Retrieves all R files in a given directory (asynchronously)
93
- *
94
- *
95
91
  * @param input - directory-path to start the search from, can be a file as well. Will just return the file then.
96
92
  * @param limit - limit the number of files to be retrieved
97
- *
98
93
  * @returns Number of files processed (normally &le; `limit`, is &ge; `limit` if limit was reached).
99
94
  * Will be `1`, if `input` is an R file (and `0` if it isn't).
100
- *
101
95
  * @see getAllFiles
102
96
  */
103
97
  async function* allRFiles(input, limit = Number.MAX_VALUE) {
@@ -120,11 +114,9 @@ async function* allRFiles(input, limit = Number.MAX_VALUE) {
120
114
  }
121
115
  /**
122
116
  * Retrieves all R files in a given set of directories and files (asynchronously)
123
- *
124
117
  * @param inputs - Files or directories to validate for R-files
125
118
  * @param limit - Limit the number of files to be retrieved
126
119
  * @returns Number of files processed (&le; limit)
127
- *
128
120
  * @see allRFiles
129
121
  */
130
122
  async function* allRFilesFrom(inputs, limit) {
@@ -139,6 +131,13 @@ async function* allRFilesFrom(inputs, limit) {
139
131
  }
140
132
  return count;
141
133
  }
134
+ /**
135
+ * Writes the given table as a CSV file.
136
+ * @param table - The table to write
137
+ * @param file - The file path to write the CSV to
138
+ * @param sep - The separator to use (default: `,`)
139
+ * @param newline - The newline character to use (default: `\n`)
140
+ */
142
141
  function writeTableAsCsv(table, file, sep = ',', newline = '\n') {
143
142
  const csv = [table.header.join(sep), ...table.rows.map(row => row.join(sep))].join(newline);
144
143
  fs_1.default.writeFileSync(file, csv);
@@ -147,7 +146,6 @@ function writeTableAsCsv(table, file, sep = ',', newline = '\n') {
147
146
  * Reads a file line by line and calls the given function for each line.
148
147
  * The `lineNumber` starts at `0`.
149
148
  * The `maxLines` option limits the maximum number of read lines and is `Infinity` by default.
150
- *
151
149
  * @returns Whether all lines have been successfully read (`false` if `maxLines` was reached)
152
150
  *
153
151
  * See {@link readLineByLineSync} for a synchronous version.
@@ -173,7 +171,6 @@ async function readLineByLine(filePath, onLine, maxLines = Infinity) {
173
171
  * Reads a file line by line and calls the given function for each line.
174
172
  * The `lineNumber` starts at `0`.
175
173
  * The `maxLines` option limits the maximum number of read lines and is `Infinity` by default.
176
- *
177
174
  * @returns Whether the file exists and all lines have been successfully read (`false` if `maxLines` was reached)
178
175
  *
179
176
  * See {@link readLineByLine} for an asynchronous version.
@@ -244,6 +241,9 @@ function cleanValues(values) {
244
241
  .map(s => s.trim().replace(cleanQuotesRegex, ''))
245
242
  .filter(s => s.length > 0);
246
243
  }
244
+ /**
245
+ * Checks whether the given path-like object is a file that exists on the local filesystem.
246
+ */
247
247
  function isFilePath(p) {
248
248
  return fs_1.default.existsSync(p) && fs_1.default.statSync(p).isFile();
249
249
  }
@@ -13,6 +13,15 @@ export declare const DocumentTypeToFormat: {
13
13
  readonly '.rmd': "Rmd";
14
14
  };
15
15
  export type AdapterReturnTypes = ReturnType<typeof FileAdapters[keyof typeof FileAdapters]['convertRequest']>;
16
+ /**
17
+ * Produce a parse request from a file path
18
+ */
16
19
  export declare function requestFromFile(path: string): AdapterReturnTypes;
20
+ /**
21
+ * Produce a parse request from a text input
22
+ */
17
23
  export declare function requestFromText(text: string, typeHint?: SupportedFormats): AdapterReturnTypes;
24
+ /**
25
+ * Infer the file type from a parse request, using file extension or info hints
26
+ */
18
27
  export declare function inferFileType(request: RParseRequest): keyof typeof FileAdapters;
@@ -18,6 +18,9 @@ exports.DocumentTypeToFormat = {
18
18
  '.r': 'R',
19
19
  '.rmd': 'Rmd'
20
20
  };
21
+ /**
22
+ * Produce a parse request from a file path
23
+ */
21
24
  function requestFromFile(path) {
22
25
  const baseRequest = {
23
26
  request: 'file',
@@ -26,6 +29,9 @@ function requestFromFile(path) {
26
29
  const type = inferFileType(baseRequest);
27
30
  return exports.FileAdapters[type].convertRequest(baseRequest);
28
31
  }
32
+ /**
33
+ * Produce a parse request from a text input
34
+ */
29
35
  function requestFromText(text, typeHint) {
30
36
  const baseRequest = {
31
37
  request: 'text',
@@ -35,6 +41,9 @@ function requestFromText(text, typeHint) {
35
41
  const type = inferFileType(baseRequest);
36
42
  return exports.FileAdapters[type].convertRequest(baseRequest);
37
43
  }
44
+ /**
45
+ * Infer the file type from a parse request, using file extension or info hints
46
+ */
38
47
  function inferFileType(request) {
39
48
  if (request.request === 'text') {
40
49
  return request.info ? request.info.type : 'R';
@@ -1,4 +1,4 @@
1
- import type { Node } from 'commonmark';
1
+ import { type Node } from 'commonmark';
2
2
  import type { RParseRequest, RParseRequestFromText } from '../../../r-bridge/retriever';
3
3
  export interface CodeBlock {
4
4
  options: string;
@@ -18,9 +18,18 @@ export interface RmdInfo {
18
18
  export declare const RmdAdapter: {
19
19
  convertRequest: (request: RParseRequest) => RParseRequestFromText<RmdInfo>;
20
20
  };
21
+ /**
22
+ * Checks whether a CommonMark node is an R code block
23
+ */
21
24
  export declare function isRCodeBlock(node: Node): node is Node & {
22
25
  literal: string;
23
26
  info: string;
24
27
  };
28
+ /**
29
+ * Restores an Rmd file from code blocks, filling non-code lines with empty lines
30
+ */
25
31
  export declare function restoreBlocksWithoutMd(blocks: CodeBlockEx[], totalLines: number): string;
32
+ /**
33
+ * Parses the options of an R code block from its header and content
34
+ */
26
35
  export declare function parseCodeBlockOptions(header: string, content: string): string;
@@ -49,6 +49,9 @@ exports.RmdAdapter = {
49
49
  }
50
50
  };
51
51
  const RTagRegex = /{[rR](?:[\s,][^}]*)?}/;
52
+ /**
53
+ * Checks whether a CommonMark node is an R code block
54
+ */
52
55
  function isRCodeBlock(node) {
53
56
  return node.type === 'code_block' && node.literal !== null && node.info !== null && RTagRegex.test(node.info);
54
57
  }
@@ -56,6 +59,9 @@ const LineRegex = /\r\n|\r|\n/;
56
59
  function countNewlines(str) {
57
60
  return str.split(LineRegex).length - 1;
58
61
  }
62
+ /**
63
+ * Restores an Rmd file from code blocks, filling non-code lines with empty lines
64
+ */
59
65
  function restoreBlocksWithoutMd(blocks, totalLines) {
60
66
  let line = 1;
61
67
  let output = '';
@@ -70,10 +76,13 @@ function restoreBlocksWithoutMd(blocks, totalLines) {
70
76
  output += block.code;
71
77
  line += countNewlines(block.code);
72
78
  }
73
- // Add remainder of file
79
+ // Add remainder of file
74
80
  goToLine(totalLines + 1);
75
81
  return output;
76
82
  }
83
+ /**
84
+ * Parses the options of an R code block from its header and content
85
+ */
77
86
  function parseCodeBlockOptions(header, content) {
78
87
  let opts = header.length === 3 // '{r}' => header.length=3 (no options in header)
79
88
  ? ''
@@ -1 +1,6 @@
1
+ /**
2
+ * Wraps the given text in a span with a tooltip if the tooltip is provided.
3
+ * @param text - The text to wrap
4
+ * @param tooltip - The tooltip to add
5
+ */
1
6
  export declare function textWithTooltip(text: string, tooltip?: string): string;
@@ -1,6 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.textWithTooltip = textWithTooltip;
4
+ /**
5
+ * Wraps the given text in a span with a tooltip if the tooltip is provided.
6
+ * @param text - The text to wrap
7
+ * @param tooltip - The tooltip to add
8
+ */
4
9
  function textWithTooltip(text, tooltip) {
5
10
  return tooltip ? `<span title=${JSON.stringify(tooltip)}>${text}</span>` : text;
6
11
  }
package/util/json.d.ts CHANGED
@@ -1,3 +1,16 @@
1
+ /**
2
+ * This is flowR's custom JSON replacer, used to stringify flowR-internal structures.
3
+ * @see {@link jsonBigIntRetriever}
4
+ * @see {@link superBigJsonStringify}
5
+ */
1
6
  export declare function jsonReplacer(key: unknown, value: unknown): unknown;
7
+ /**
8
+ * This is flowR's custom JSON retriever, used to parse flowR-internal structures.
9
+ * @see {@link jsonReplacer}
10
+ * @see {@link superBigJsonStringify}
11
+ */
2
12
  export declare function jsonBigIntRetriever(key: string, value: unknown): unknown;
13
+ /**
14
+ * Stringifies potentially very large objects to JSON, sending chunks to the provided send function.
15
+ */
3
16
  export declare function superBigJsonStringify(obj: unknown, end: string, send: (s: string) => void): void;
package/util/json.js CHANGED
@@ -5,6 +5,11 @@ exports.jsonReplacer = jsonReplacer;
5
5
  exports.jsonBigIntRetriever = jsonBigIntRetriever;
6
6
  exports.superBigJsonStringify = superBigJsonStringify;
7
7
  const environment_1 = require("../dataflow/environments/environment");
8
+ /**
9
+ * This is flowR's custom JSON replacer, used to stringify flowR-internal structures.
10
+ * @see {@link jsonBigIntRetriever}
11
+ * @see {@link superBigJsonStringify}
12
+ */
8
13
  function jsonReplacer(key, value) {
9
14
  if (key === 'fullLexeme') {
10
15
  return undefined;
@@ -19,6 +24,11 @@ function jsonReplacer(key, value) {
19
24
  return value;
20
25
  }
21
26
  }
27
+ /**
28
+ * This is flowR's custom JSON retriever, used to parse flowR-internal structures.
29
+ * @see {@link jsonReplacer}
30
+ * @see {@link superBigJsonStringify}
31
+ */
22
32
  function jsonBigIntRetriever(key, value) {
23
33
  if (typeof value === 'string' && value.endsWith('n')) {
24
34
  return BigInt(value.slice(0, -1));
@@ -27,6 +37,9 @@ function jsonBigIntRetriever(key, value) {
27
37
  return value;
28
38
  }
29
39
  }
40
+ /**
41
+ * Stringifies potentially very large objects to JSON, sending chunks to the provided send function.
42
+ */
30
43
  function superBigJsonStringify(obj, end, send) {
31
44
  try {
32
45
  const tryOut = JSON.stringify(obj, jsonReplacer) + end;
package/util/log.d.ts CHANGED
@@ -7,8 +7,8 @@ export declare class FlowrLogger extends Logger<ILogObj> {
7
7
  getSubLogger(settings?: ISettingsParam<ILogObj>, logObj?: ILogObj): Logger<ILogObj>;
8
8
  updateSettings(updater: (logger: Logger<ILogObj>) => void): void;
9
9
  /**
10
- * make the logger log to a file as well
11
- */
10
+ * make the logger log to a file as well
11
+ */
12
12
  logToFile(filename?: string, options?: Options): void;
13
13
  }
14
14
  export declare const enum LogLevel {
package/util/log.js CHANGED
@@ -24,8 +24,8 @@ class FlowrLogger extends tslog_1.Logger {
24
24
  });
25
25
  }
26
26
  /**
27
- * make the logger log to a file as well
28
- */
27
+ * make the logger log to a file as well
28
+ */
29
29
  logToFile(filename = 'flowr.log', options = {
30
30
  size: '10M',
31
31
  interval: '1d',
@@ -1,4 +1,7 @@
1
1
  import type { RNodeWithParent } from '../../r-bridge/lang-4.x/ast/model/processing/decorate';
2
+ /**
3
+ * Serialize the normalized AST to mermaid format
4
+ */
2
5
  export declare function normalizedAstToMermaid(ast: RNodeWithParent, prefix?: string): string;
3
6
  /**
4
7
  * Use mermaid to visualize the normalized AST.
@@ -6,6 +6,9 @@ const mermaid_1 = require("./mermaid");
6
6
  const visitor_1 = require("../../r-bridge/lang-4.x/ast/model/processing/visitor");
7
7
  const type_1 = require("../../r-bridge/lang-4.x/ast/model/type");
8
8
  const r_function_call_1 = require("../../r-bridge/lang-4.x/ast/model/nodes/r-function-call");
9
+ /**
10
+ * Serialize the normalized AST to mermaid format
11
+ */
9
12
  function normalizedAstToMermaid(ast, prefix = 'flowchart TD\n') {
10
13
  let output = prefix;
11
14
  function showNode(n) {
@@ -1,5 +1,5 @@
1
1
  import type { NormalizedAst } from '../../r-bridge/lang-4.x/ast/model/processing/decorate';
2
- import type { ControlFlowInformation } from '../../control-flow/control-flow-graph';
2
+ import { type ControlFlowInformation } from '../../control-flow/control-flow-graph';
3
3
  /**
4
4
  * Convert the control flow graph to a mermaid string.
5
5
  * @param cfg - The control flow graph to convert.
@@ -1,7 +1,7 @@
1
1
  import type { SourceRange } from '../range';
2
- import type { DataflowGraph } from '../../dataflow/graph/graph';
3
- import type { NodeId } from '../../r-bridge/lang-4.x/ast/model/processing/node-id';
4
- import type { IdentifierDefinition } from '../../dataflow/environments/identifier';
2
+ import { type DataflowGraph } from '../../dataflow/graph/graph';
3
+ import { type NodeId } from '../../r-bridge/lang-4.x/ast/model/processing/node-id';
4
+ import { type IdentifierDefinition } from '../../dataflow/environments/identifier';
5
5
  type MarkVertex = NodeId;
6
6
  type MarkEdge = `${string}->${string}`;
7
7
  export type MermaidMarkdownMark = MarkVertex | MarkEdge;
@@ -26,6 +26,9 @@ interface MermaidGraph {
26
26
  * Prints a {@link SourceRange|range} as a human-readable string.
27
27
  */
28
28
  export declare function formatRange(range: SourceRange | undefined): string;
29
+ /**
30
+ * Prints an identifier definition in a human-readable format.
31
+ */
29
32
  export declare function printIdentifier(id: IdentifierDefinition): string;
30
33
  interface MermaidGraphConfiguration {
31
34
  graph: DataflowGraph;
@@ -38,13 +41,15 @@ interface MermaidGraphConfiguration {
38
41
  presentEdges?: Set<string>;
39
42
  simplified?: boolean;
40
43
  }
44
+ /**
45
+ * Converts a dataflow graph to mermaid graph code that visualizes the graph.
46
+ */
41
47
  export declare function graphToMermaid(config: MermaidGraphConfiguration): {
42
48
  string: string;
43
49
  mermaid: MermaidGraph;
44
50
  };
45
51
  /**
46
52
  * Converts a dataflow graph to a mermaid url that visualizes the graph.
47
- *
48
53
  * @param graph - The graph to convert
49
54
  * @param includeEnvironments - Whether to include the environments in the mermaid graph code
50
55
  * @param mark - Special nodes to mark (e.g., those included in the slice)
@@ -58,5 +63,8 @@ export interface LabeledDiffGraph {
58
63
  }
59
64
  /** uses same id map but ensures, it is different from the rhs so that mermaid can work with that */
60
65
  export declare function diffGraphsToMermaid(left: LabeledDiffGraph, right: LabeledDiffGraph, prefix: string): string;
66
+ /**
67
+ * Converts two dataflow graphs to a mermaid url that visualizes their differences.
68
+ */
61
69
  export declare function diffGraphsToMermaidUrl(left: LabeledDiffGraph, right: LabeledDiffGraph, prefix: string): string;
62
70
  export {};
@@ -126,6 +126,9 @@ function mermaidNodeBrackets(tag) {
126
126
  }
127
127
  return { open, close };
128
128
  }
129
+ /**
130
+ * Prints an identifier definition in a human-readable format.
131
+ */
129
132
  function printIdentifier(id) {
130
133
  return `**${id.name}** (id: ${id.nodeId}, type: ${identifier_1.ReferenceTypeReverseMapping.get(id.type)},${id.controlDependencies ? ' cds: {' + id.controlDependencies.map(c => c.id + (c.when ? '+' : '-')).join(',') + '},' : ''} def. @${id.definedAt})`;
131
134
  }
@@ -220,13 +223,15 @@ function graphToMermaidGraph(rootIds, { simplified, graph, prefix = 'flowchart B
220
223
  }
221
224
  return mermaid;
222
225
  }
226
+ /**
227
+ * Converts a dataflow graph to mermaid graph code that visualizes the graph.
228
+ */
223
229
  function graphToMermaid(config) {
224
230
  const mermaid = graphToMermaidGraph(config.graph.rootIds(), config);
225
231
  return { string: `${mermaid.nodeLines.join('\n')}\n${mermaid.edgeLines.join('\n')}`, mermaid };
226
232
  }
227
233
  /**
228
234
  * Converts a dataflow graph to a mermaid url that visualizes the graph.
229
- *
230
235
  * @param graph - The graph to convert
231
236
  * @param includeEnvironments - Whether to include the environments in the mermaid graph code
232
237
  * @param mark - Special nodes to mark (e.g., those included in the slice)
@@ -242,6 +247,9 @@ function diffGraphsToMermaid(left, right, prefix) {
242
247
  const { string: rightGraph } = graphToMermaid({ graph: right.graph, prefix: '', idPrefix: `r-${right.label}`, includeEnvironments: true, mark: right.mark, presentEdges: mermaid.presentEdges });
243
248
  return `${prefix}flowchart BT\nsubgraph "${left.label}"\n${leftGraph}\nend\nsubgraph "${right.label}"\n${rightGraph}\nend`;
244
249
  }
250
+ /**
251
+ * Converts two dataflow graphs to a mermaid url that visualizes their differences.
252
+ */
245
253
  function diffGraphsToMermaidUrl(left, right, prefix) {
246
254
  return (0, mermaid_1.mermaidCodeToUrl)(diffGraphsToMermaid(left, right, prefix));
247
255
  }
@@ -1,8 +1,13 @@
1
+ /**
2
+ * Escapes markdown special characters in a string.
3
+ */
1
4
  export declare function escapeMarkdown(text: string): string;
5
+ /**
6
+ * Escapes a string or number to be used as a mermaid node id.
7
+ */
2
8
  export declare function escapeId(text: string | number): string;
3
9
  /**
4
10
  * Converts mermaid code (potentially produced by {@link graphToMermaid}) to an url that presents the graph in the mermaid editor.
5
- *
6
11
  * @param code - code to convert
7
12
  * @param edit - if true, the url will point to the editor, otherwise it will point to the viewer
8
13
  */
@@ -40,19 +40,24 @@ const replacements = {
40
40
  '∫': '#8747;',
41
41
  '⊕': '#8853;',
42
42
  };
43
+ /**
44
+ * Escapes markdown special characters in a string.
45
+ */
43
46
  function escapeMarkdown(text) {
44
47
  for (const [key, value] of Object.entries(replacements)) {
45
48
  text = text.replaceAll(key, value);
46
49
  }
47
50
  return text;
48
51
  }
52
+ /**
53
+ * Escapes a string or number to be used as a mermaid node id.
54
+ */
49
55
  function escapeId(text) {
50
56
  text = String(text).replace(/[^a-zA-Z0-9:-]/g, '_');
51
57
  return text;
52
58
  }
53
59
  /**
54
60
  * Converts mermaid code (potentially produced by {@link graphToMermaid}) to an url that presents the graph in the mermaid editor.
55
- *
56
61
  * @param code - code to convert
57
62
  * @param edit - if true, the url will point to the editor, otherwise it will point to the viewer
58
63
  */
package/util/numbers.d.ts CHANGED
@@ -1,2 +1,9 @@
1
+ /**
2
+ * Converts a bigint (or string representation of a bigint) to a number by removing the trailing `n`.
3
+ * Please note that this can lead to loss of precision for very large bigints.
4
+ */
1
5
  export declare function bigint2number(a: bigint | string): number;
6
+ /**
7
+ * Rounds a number to the specified number of decimal places.
8
+ */
2
9
  export declare function roundToDecimals(value: number, decimals: number): number;
package/util/numbers.js CHANGED
@@ -2,10 +2,17 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.bigint2number = bigint2number;
4
4
  exports.roundToDecimals = roundToDecimals;
5
+ /**
6
+ * Converts a bigint (or string representation of a bigint) to a number by removing the trailing `n`.
7
+ * Please note that this can lead to loss of precision for very large bigints.
8
+ */
5
9
  function bigint2number(a) {
6
10
  // we have to remove the trailing `n`
7
11
  return Number(String(a).slice(0, -1));
8
12
  }
13
+ /**
14
+ * Rounds a number to the specified number of decimal places.
15
+ */
9
16
  function roundToDecimals(value, decimals) {
10
17
  const factor = 10 ** decimals;
11
18
  return Math.round(value * factor) / factor;
package/util/objects.d.ts CHANGED
@@ -10,7 +10,6 @@ type OrReadonly<T> = T | Readonly<T> | DeepReadonly<T>;
10
10
  /**
11
11
  * Given two objects deeply merges them, if an object is an array it will merge the array values!
12
12
  * Guarantees some type safety by requiring objects to merge to be from the same type (allows undefined)
13
- *
14
13
  * @see {@link deepMergeObjectInPlace} to merge into an existing object
15
14
  */
16
15
  export declare function deepMergeObject<T extends Mergeable>(base: Required<OrReadonly<T>>, addon?: T | DeepPartial<T> | Partial<T>): Required<T>;
@@ -22,7 +21,6 @@ export declare function deepMergeObject(base?: Mergeable, addon?: Mergeable): Me
22
21
  * Given two objects deeply merges them, if an object is an array it will merge the array values!
23
22
  * Modifies the `base` object in place and also returns it.
24
23
  * Guarantees some type safety by requiring objects to merge to be from the same type (allows undefined)
25
- *
26
24
  * @see {@link deepMergeObject} to create a new merged object
27
25
  */
28
26
  export declare function deepMergeObjectInPlace<T extends Mergeable>(base: T, addon?: DeepPartial<T> | Partial<T>): T;
package/util/os.d.ts CHANGED
@@ -1,2 +1,5 @@
1
1
  export type Os = 'mac-os' | 'linux' | 'windows' | 'unknown';
2
+ /**
3
+ * Returns the current operating system platform.
4
+ */
2
5
  export declare function getPlatform(): Os;
package/util/os.js CHANGED
@@ -2,6 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getPlatform = getPlatform;
4
4
  let platformCache = null;
5
+ /**
6
+ * Returns the current operating system platform.
7
+ */
5
8
  function getPlatform() {
6
9
  if (platformCache !== null) {
7
10
  return platformCache;
@@ -15,10 +15,10 @@ export declare class LimitedThreadPool {
15
15
  private reportingInterval;
16
16
  private readonly timeLimitInMs;
17
17
  /**
18
- * Create a new parallel helper that runs the given `module` once for each list of {@link Arguments} in the `queue`.
19
- * The `limit` stops the execution if `<limit>` number of runs exited successfully.
20
- * The `parallel` parameter limits the number of parallel executions.
21
- */
18
+ * Create a new parallel helper that runs the given `module` once for each list of {@link Arguments} in the `queue`.
19
+ * The `limit` stops the execution if `<limit>` number of runs exited successfully.
20
+ * The `parallel` parameter limits the number of parallel executions.
21
+ */
22
22
  constructor(module: string, queue: WorkingQueue, limit: number, parallel: number, timeLimitInMs?: number);
23
23
  run(): Promise<void>;
24
24
  getStats(): {
package/util/parallel.js CHANGED
@@ -58,10 +58,10 @@ class LimitedThreadPool {
58
58
  reportingInterval = undefined;
59
59
  timeLimitInMs;
60
60
  /**
61
- * Create a new parallel helper that runs the given `module` once for each list of {@link Arguments} in the `queue`.
62
- * The `limit` stops the execution if `<limit>` number of runs exited successfully.
63
- * The `parallel` parameter limits the number of parallel executions.
64
- */
61
+ * Create a new parallel helper that runs the given `module` once for each list of {@link Arguments} in the `queue`.
62
+ * The `limit` stops the execution if `<limit>` number of runs exited successfully.
63
+ * The `parallel` parameter limits the number of parallel executions.
64
+ */
65
65
  constructor(module, queue, limit, parallel, timeLimitInMs) {
66
66
  this.workingQueue = queue;
67
67
  this.limit = limit;
package/util/prefix.d.ts CHANGED
@@ -1,7 +1,6 @@
1
1
  /**
2
2
  * given a potentially partial prefix like `hell`, this finds the matching name in the map, but only
3
3
  * if it is unique!
4
- *
5
4
  * @example
6
5
  * ```typescript
7
6
  * findByPrefixIfUnique('hell', { 'hello', 'bar' }) // => 'hello'
package/util/prefix.js CHANGED
@@ -4,7 +4,6 @@ exports.findByPrefixIfUnique = findByPrefixIfUnique;
4
4
  /**
5
5
  * given a potentially partial prefix like `hell`, this finds the matching name in the map, but only
6
6
  * if it is unique!
7
- *
8
7
  * @example
9
8
  * ```typescript
10
9
  * findByPrefixIfUnique('hell', { 'hello', 'bar' }) // => 'hello'