@eagleoutice/flowr 2.6.0 → 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 (703) hide show
  1. package/README.md +142 -45
  2. package/abstract-interpretation/data-frame/absint-info.d.ts +1 -1
  3. package/abstract-interpretation/data-frame/absint-visitor.d.ts +3 -4
  4. package/abstract-interpretation/data-frame/absint-visitor.js +16 -11
  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/flowr.js +8 -4
  73. package/cli/repl/commands/repl-cfg.js +4 -4
  74. package/cli/repl/commands/repl-commands.d.ts +13 -0
  75. package/cli/repl/commands/repl-commands.js +15 -4
  76. package/cli/repl/commands/repl-dataflow.js +4 -4
  77. package/cli/repl/commands/repl-execute.d.ts +5 -1
  78. package/cli/repl/commands/repl-execute.js +12 -8
  79. package/cli/repl/commands/repl-main.d.ts +17 -14
  80. package/cli/repl/commands/repl-normalize.js +2 -2
  81. package/cli/repl/commands/repl-parse.js +4 -3
  82. package/cli/repl/commands/repl-query.js +18 -7
  83. package/cli/repl/commands/repl-quit.js +1 -1
  84. package/cli/repl/commands/repl-version.d.ts +1 -16
  85. package/cli/repl/commands/repl-version.js +2 -19
  86. package/cli/repl/core.d.ts +32 -14
  87. package/cli/repl/core.js +38 -35
  88. package/cli/repl/execute.d.ts +0 -2
  89. package/cli/repl/execute.js +0 -2
  90. package/cli/repl/parser/slice-query-parser.d.ts +14 -0
  91. package/cli/repl/parser/slice-query-parser.js +34 -0
  92. package/cli/repl/print-version.d.ts +6 -0
  93. package/cli/repl/print-version.js +8 -2
  94. package/cli/repl/server/compact.d.ts +8 -0
  95. package/cli/repl/server/compact.js +8 -0
  96. package/cli/repl/server/connection.d.ts +4 -3
  97. package/cli/repl/server/connection.js +9 -33
  98. package/cli/repl/server/messages/all-messages.d.ts +1 -3
  99. package/cli/repl/server/messages/all-messages.js +0 -1
  100. package/cli/repl/server/messages/message-analysis.d.ts +0 -2
  101. package/cli/repl/server/messages/message-hello.d.ts +1 -1
  102. package/cli/repl/server/messages/message-query.d.ts +1 -1
  103. package/cli/repl/server/messages/message-repl.d.ts +0 -1
  104. package/cli/repl/server/send.d.ts +6 -0
  105. package/cli/repl/server/send.js +6 -0
  106. package/cli/repl/server/server.d.ts +1 -1
  107. package/cli/repl/server/server.js +2 -2
  108. package/cli/repl/server/validate.d.ts +10 -1
  109. package/cli/repl/server/validate.js +9 -0
  110. package/cli/run-script.d.ts +1 -2
  111. package/cli/run-script.js +0 -1
  112. package/cli/script-core/statistics-core.d.ts +3 -0
  113. package/cli/script-core/statistics-core.js +3 -0
  114. package/cli/script-core/statistics-helper-core.d.ts +4 -1
  115. package/cli/script-core/statistics-helper-core.js +3 -0
  116. package/cli/script-core/summarizer-core.d.ts +3 -0
  117. package/cli/script-core/summarizer-core.js +3 -0
  118. package/cli/summarizer-app.d.ts +2 -3
  119. package/cli/summarizer-app.js +2 -3
  120. package/config.d.ts +17 -3
  121. package/config.js +15 -0
  122. package/control-flow/basic-cfg-guided-visitor.d.ts +1 -2
  123. package/control-flow/basic-cfg-guided-visitor.js +0 -1
  124. package/control-flow/cfg-to-basic-blocks.d.ts +1 -1
  125. package/control-flow/control-flow-graph.d.ts +20 -12
  126. package/control-flow/control-flow-graph.js +16 -4
  127. package/control-flow/dfg-cfg-guided-visitor.d.ts +2 -3
  128. package/control-flow/diff-cfg.d.ts +3 -5
  129. package/control-flow/diff-cfg.js +0 -1
  130. package/control-flow/extract-cfg.d.ts +3 -6
  131. package/control-flow/extract-cfg.js +0 -3
  132. package/control-flow/happens-before.d.ts +1 -1
  133. package/control-flow/semantic-cfg-guided-visitor.d.ts +2 -31
  134. package/control-flow/semantic-cfg-guided-visitor.js +0 -28
  135. package/control-flow/simple-visitor.d.ts +1 -3
  136. package/control-flow/simple-visitor.js +0 -2
  137. package/control-flow/syntax-cfg-guided-visitor.d.ts +1 -2
  138. package/control-flow/useless-loop.d.ts +0 -3
  139. package/control-flow/useless-loop.js +2 -5
  140. package/core/pipeline-executor.d.ts +8 -16
  141. package/core/pipeline-executor.js +9 -18
  142. package/core/print/dataflow-printer.d.ts +19 -0
  143. package/core/print/dataflow-printer.js +19 -0
  144. package/core/print/normalize-printer.d.ts +21 -1
  145. package/core/print/normalize-printer.js +20 -0
  146. package/core/print/parse-printer.d.ts +6 -1
  147. package/core/print/parse-printer.js +5 -0
  148. package/core/print/print.d.ts +0 -1
  149. package/core/print/print.js +0 -1
  150. package/core/print/slice-diff-ansi.d.ts +3 -0
  151. package/core/print/slice-diff-ansi.js +3 -0
  152. package/core/steps/all/core/00-parse.d.ts +1 -1
  153. package/core/steps/all/core/01-parse-tree-sitter.d.ts +1 -11
  154. package/core/steps/all/core/10-normalize.d.ts +3 -0
  155. package/core/steps/all/core/10-normalize.js +3 -0
  156. package/core/steps/all/core/11-normalize-tree-sitter.d.ts +4 -3
  157. package/core/steps/all/core/20-dataflow.d.ts +3 -1
  158. package/core/steps/pipeline/create-pipeline.d.ts +1 -1
  159. package/core/steps/pipeline/default-pipelines.d.ts +29 -13
  160. package/core/steps/pipeline/default-pipelines.js +0 -4
  161. package/core/steps/pipeline/pipeline.d.ts +1 -8
  162. package/core/steps/pipeline/pipeline.js +1 -3
  163. package/core/steps/pipeline-step.d.ts +0 -1
  164. package/core/steps/pipeline-step.js +0 -1
  165. package/dataflow/cluster.d.ts +3 -0
  166. package/dataflow/cluster.js +3 -0
  167. package/dataflow/environments/append.d.ts +1 -1
  168. package/dataflow/environments/built-in-config.d.ts +1 -5
  169. package/dataflow/environments/built-in-config.js +0 -1
  170. package/dataflow/environments/built-in.d.ts +10 -5
  171. package/dataflow/environments/built-in.js +6 -1
  172. package/dataflow/environments/clone.d.ts +1 -1
  173. package/dataflow/environments/default-builtin-config.d.ts +3 -0
  174. package/dataflow/environments/default-builtin-config.js +12 -1
  175. package/dataflow/environments/diff.d.ts +11 -2
  176. package/dataflow/environments/diff.js +9 -0
  177. package/dataflow/environments/environment.d.ts +3 -3
  178. package/dataflow/environments/environment.js +8 -6
  179. package/dataflow/environments/identifier.d.ts +0 -4
  180. package/dataflow/environments/identifier.js +0 -1
  181. package/dataflow/environments/overwrite.d.ts +4 -1
  182. package/dataflow/environments/overwrite.js +3 -0
  183. package/dataflow/environments/resolve-by-name.d.ts +4 -4
  184. package/dataflow/environments/resolve-by-name.js +3 -2
  185. package/dataflow/environments/scoping.d.ts +4 -1
  186. package/dataflow/environments/scoping.js +3 -0
  187. package/dataflow/eval/resolve/alias-tracking.d.ts +4 -10
  188. package/dataflow/eval/resolve/alias-tracking.js +13 -14
  189. package/dataflow/eval/resolve/resolve-argument.d.ts +1 -1
  190. package/dataflow/eval/resolve/resolve.d.ts +1 -7
  191. package/dataflow/eval/resolve/resolve.js +3 -5
  192. package/dataflow/eval/values/general.d.ts +1 -3
  193. package/dataflow/eval/values/general.js +0 -1
  194. package/dataflow/eval/values/intervals/interval-constants.d.ts +7 -1
  195. package/dataflow/eval/values/intervals/interval-constants.js +6 -0
  196. package/dataflow/eval/values/logical/logical-constants.d.ts +4 -1
  197. package/dataflow/eval/values/logical/logical-constants.js +3 -0
  198. package/dataflow/eval/values/r-value.d.ts +16 -1
  199. package/dataflow/eval/values/r-value.js +14 -0
  200. package/dataflow/eval/values/scalar/scalar-consatnts.d.ts +7 -1
  201. package/dataflow/eval/values/scalar/scalar-consatnts.js +6 -0
  202. package/dataflow/eval/values/sets/set-constants.d.ts +7 -2
  203. package/dataflow/eval/values/sets/set-constants.js +6 -0
  204. package/dataflow/eval/values/string/string-constants.d.ts +10 -1
  205. package/dataflow/eval/values/string/string-constants.js +9 -0
  206. package/dataflow/eval/values/vectors/vector-constants.d.ts +1 -1
  207. package/dataflow/extractor.d.ts +5 -2
  208. package/dataflow/extractor.js +7 -5
  209. package/dataflow/fn/higher-order-function.d.ts +9 -0
  210. package/dataflow/fn/higher-order-function.js +75 -0
  211. package/dataflow/graph/dataflowgraph-builder.d.ts +20 -38
  212. package/dataflow/graph/dataflowgraph-builder.js +6 -23
  213. package/dataflow/graph/diff-dataflow-graph.d.ts +16 -6
  214. package/dataflow/graph/diff-dataflow-graph.js +12 -1
  215. package/dataflow/graph/edge.d.ts +9 -0
  216. package/dataflow/graph/edge.js +9 -0
  217. package/dataflow/graph/graph.d.ts +6 -19
  218. package/dataflow/graph/graph.js +4 -15
  219. package/dataflow/graph/invert-dfg.d.ts +3 -0
  220. package/dataflow/graph/invert-dfg.js +3 -0
  221. package/dataflow/graph/quads.d.ts +1 -1
  222. package/dataflow/graph/unknown-replacement.d.ts +6 -0
  223. package/dataflow/graph/unknown-replacement.js +6 -0
  224. package/dataflow/graph/unknown-side-effect.d.ts +8 -0
  225. package/dataflow/graph/unknown-side-effect.js +8 -0
  226. package/dataflow/graph/vertex.d.ts +9 -9
  227. package/dataflow/graph/vertex.js +9 -1
  228. package/dataflow/info.d.ts +9 -10
  229. package/dataflow/info.js +6 -1
  230. package/dataflow/internal/linker.d.ts +25 -9
  231. package/dataflow/internal/linker.js +23 -7
  232. package/dataflow/internal/process/functions/call/argument/make-argument.d.ts +6 -0
  233. package/dataflow/internal/process/functions/call/argument/make-argument.js +6 -0
  234. package/dataflow/internal/process/functions/call/argument/unpack-argument.d.ts +1 -1
  235. package/dataflow/internal/process/functions/call/built-in/built-in-access.d.ts +4 -1
  236. package/dataflow/internal/process/functions/call/built-in/built-in-access.js +3 -1
  237. package/dataflow/internal/process/functions/call/built-in/built-in-apply.d.ts +4 -1
  238. package/dataflow/internal/process/functions/call/built-in/built-in-apply.js +3 -0
  239. package/dataflow/internal/process/functions/call/built-in/built-in-assignment.d.ts +2 -2
  240. package/dataflow/internal/process/functions/call/built-in/built-in-eval.d.ts +6 -3
  241. package/dataflow/internal/process/functions/call/built-in/built-in-eval.js +3 -0
  242. package/dataflow/internal/process/functions/call/built-in/built-in-expression-list.d.ts +4 -1
  243. package/dataflow/internal/process/functions/call/built-in/built-in-expression-list.js +3 -0
  244. package/dataflow/internal/process/functions/call/built-in/built-in-for-loop.d.ts +5 -2
  245. package/dataflow/internal/process/functions/call/built-in/built-in-for-loop.js +3 -0
  246. package/dataflow/internal/process/functions/call/built-in/built-in-function-definition.d.ts +10 -4
  247. package/dataflow/internal/process/functions/call/built-in/built-in-function-definition.js +6 -0
  248. package/dataflow/internal/process/functions/call/built-in/built-in-get.d.ts +3 -0
  249. package/dataflow/internal/process/functions/call/built-in/built-in-get.js +3 -0
  250. package/dataflow/internal/process/functions/call/built-in/built-in-if-then-else.d.ts +5 -2
  251. package/dataflow/internal/process/functions/call/built-in/built-in-if-then-else.js +4 -0
  252. package/dataflow/internal/process/functions/call/built-in/built-in-library.d.ts +3 -0
  253. package/dataflow/internal/process/functions/call/built-in/built-in-library.js +3 -0
  254. package/dataflow/internal/process/functions/call/built-in/built-in-list.d.ts +1 -1
  255. package/dataflow/internal/process/functions/call/built-in/built-in-pipe.d.ts +3 -0
  256. package/dataflow/internal/process/functions/call/built-in/built-in-pipe.js +3 -0
  257. package/dataflow/internal/process/functions/call/built-in/built-in-quote.d.ts +3 -0
  258. package/dataflow/internal/process/functions/call/built-in/built-in-quote.js +3 -0
  259. package/dataflow/internal/process/functions/call/built-in/built-in-repeat-loop.d.ts +5 -2
  260. package/dataflow/internal/process/functions/call/built-in/built-in-repeat-loop.js +3 -0
  261. package/dataflow/internal/process/functions/call/built-in/built-in-replacement.d.ts +6 -3
  262. package/dataflow/internal/process/functions/call/built-in/built-in-replacement.js +3 -1
  263. package/dataflow/internal/process/functions/call/built-in/built-in-rm.d.ts +4 -1
  264. package/dataflow/internal/process/functions/call/built-in/built-in-rm.js +3 -0
  265. package/dataflow/internal/process/functions/call/built-in/built-in-source.d.ts +23 -6
  266. package/dataflow/internal/process/functions/call/built-in/built-in-source.js +20 -1
  267. package/dataflow/internal/process/functions/call/built-in/built-in-special-bin-op.d.ts +3 -0
  268. package/dataflow/internal/process/functions/call/built-in/built-in-special-bin-op.js +3 -0
  269. package/dataflow/internal/process/functions/call/built-in/built-in-vector.d.ts +1 -1
  270. package/dataflow/internal/process/functions/call/built-in/built-in-while-loop.d.ts +5 -2
  271. package/dataflow/internal/process/functions/call/built-in/built-in-while-loop.js +3 -0
  272. package/dataflow/internal/process/functions/call/common.d.ts +11 -5
  273. package/dataflow/internal/process/functions/call/common.js +6 -0
  274. package/dataflow/internal/process/functions/call/default-call-handling.d.ts +3 -0
  275. package/dataflow/internal/process/functions/call/default-call-handling.js +3 -0
  276. package/dataflow/internal/process/functions/call/known-call-handling.d.ts +12 -5
  277. package/dataflow/internal/process/functions/call/known-call-handling.js +7 -0
  278. package/dataflow/internal/process/functions/call/named-call-handling.d.ts +7 -1
  279. package/dataflow/internal/process/functions/call/named-call-handling.js +6 -0
  280. package/dataflow/internal/process/functions/call/unnamed-call-handling.d.ts +4 -1
  281. package/dataflow/internal/process/functions/call/unnamed-call-handling.js +3 -0
  282. package/dataflow/internal/process/functions/process-argument.d.ts +8 -2
  283. package/dataflow/internal/process/functions/process-argument.js +6 -0
  284. package/dataflow/internal/process/functions/process-parameter.d.ts +5 -2
  285. package/dataflow/internal/process/functions/process-parameter.js +3 -0
  286. package/dataflow/internal/process/process-symbol.d.ts +3 -0
  287. package/dataflow/internal/process/process-symbol.js +3 -0
  288. package/dataflow/internal/process/process-uninteresting-leaf.d.ts +3 -0
  289. package/dataflow/internal/process/process-uninteresting-leaf.js +3 -0
  290. package/dataflow/internal/process/process-value.d.ts +3 -0
  291. package/dataflow/internal/process/process-value.js +3 -0
  292. package/dataflow/origin/dfg-get-origin.d.ts +0 -2
  293. package/dataflow/origin/dfg-get-symbol-refs.d.ts +5 -7
  294. package/dataflow/origin/dfg-get-symbol-refs.js +6 -8
  295. package/dataflow/processor.d.ts +0 -1
  296. package/dataflow/processor.js +0 -1
  297. package/documentation/data/dfg/doc-data-dfg-util.d.ts +6 -0
  298. package/documentation/data/dfg/doc-data-dfg-util.js +6 -0
  299. package/documentation/data/faq/faqs.d.ts +5 -0
  300. package/documentation/data/faq/faqs.js +78 -0
  301. package/documentation/data/faq/wiki-faq-store.d.ts +18 -0
  302. package/documentation/data/faq/wiki-faq-store.js +75 -0
  303. package/documentation/data/server/doc-data-server-messages.d.ts +3 -0
  304. package/documentation/data/server/doc-data-server-messages.js +4 -63
  305. package/documentation/doc-util/doc-auto-gen.d.ts +6 -0
  306. package/documentation/doc-util/doc-auto-gen.js +6 -0
  307. package/documentation/doc-util/doc-benchmarks.d.ts +12 -0
  308. package/documentation/doc-util/doc-benchmarks.js +12 -0
  309. package/documentation/doc-util/doc-cfg.d.ts +7 -1
  310. package/documentation/doc-util/doc-cfg.js +9 -0
  311. package/documentation/doc-util/doc-cli-option.d.ts +9 -0
  312. package/documentation/doc-util/doc-cli-option.js +9 -0
  313. package/documentation/doc-util/doc-code.d.ts +24 -0
  314. package/documentation/doc-util/doc-code.js +24 -0
  315. package/documentation/doc-util/doc-dfg.d.ts +7 -1
  316. package/documentation/doc-util/doc-dfg.js +9 -0
  317. package/documentation/doc-util/doc-env.d.ts +3 -0
  318. package/documentation/doc-util/doc-env.js +3 -0
  319. package/documentation/doc-util/doc-escape.d.ts +0 -1
  320. package/documentation/doc-util/doc-escape.js +0 -1
  321. package/documentation/doc-util/doc-files.d.ts +11 -0
  322. package/documentation/doc-util/doc-files.js +15 -4
  323. package/documentation/doc-util/doc-general.d.ts +6 -0
  324. package/documentation/doc-util/doc-general.js +6 -0
  325. package/documentation/doc-util/doc-normalized-ast.d.ts +7 -1
  326. package/documentation/doc-util/doc-normalized-ast.js +6 -0
  327. package/documentation/doc-util/doc-query.d.ts +15 -0
  328. package/documentation/doc-util/doc-query.js +17 -2
  329. package/documentation/doc-util/doc-repl.d.ts +6 -0
  330. package/documentation/doc-util/doc-repl.js +11 -2
  331. package/documentation/doc-util/doc-search.d.ts +15 -0
  332. package/documentation/doc-util/doc-search.js +17 -2
  333. package/documentation/doc-util/doc-server-message.d.ts +13 -1
  334. package/documentation/doc-util/doc-server-message.js +13 -1
  335. package/documentation/doc-util/doc-structure.d.ts +9 -0
  336. package/documentation/doc-util/doc-structure.js +10 -1
  337. package/documentation/doc-util/doc-types.d.ts +42 -0
  338. package/documentation/doc-util/doc-types.js +42 -0
  339. package/documentation/print-analyzer-wiki.js +4 -0
  340. package/documentation/print-core-wiki.d.ts +3 -0
  341. package/documentation/print-core-wiki.js +5 -2
  342. package/documentation/print-dataflow-graph-wiki.js +7 -7
  343. package/documentation/print-faq-wiki.js +3 -75
  344. package/documentation/print-interface-wiki.js +1 -1
  345. package/documentation/print-onboarding-wiki.js +1 -1
  346. package/documentation/print-query-wiki.js +24 -34
  347. package/documentation/print-readme.js +106 -1
  348. package/engines.d.ts +1 -1
  349. package/linter/linter-executor.d.ts +6 -3
  350. package/linter/linter-executor.js +3 -0
  351. package/linter/linter-format.d.ts +8 -0
  352. package/linter/linter-format.js +8 -0
  353. package/linter/rules/absolute-path.d.ts +3 -4
  354. package/linter/rules/dataframe-access-validation.d.ts +3 -4
  355. package/linter/rules/dataframe-access-validation.js +9 -11
  356. package/linter/rules/dead-code.d.ts +1 -1
  357. package/linter/rules/deprecated-functions.d.ts +1 -1
  358. package/linter/rules/file-path-validity.d.ts +1 -2
  359. package/linter/rules/function-finder-util.d.ts +1 -2
  360. package/linter/rules/naming-convention.d.ts +13 -2
  361. package/linter/rules/naming-convention.js +13 -1
  362. package/linter/rules/network-functions.d.ts +1 -1
  363. package/linter/rules/seeded-randomness.d.ts +1 -2
  364. package/linter/rules/unused-definition.d.ts +2 -3
  365. package/linter/rules/useless-loop.d.ts +1 -2
  366. package/package.json +2 -2
  367. package/project/cache/flowr-analyzer-cache.d.ts +8 -14
  368. package/project/cache/flowr-analyzer-cache.js +21 -19
  369. package/project/cfg-kind.d.ts +17 -0
  370. package/project/cfg-kind.js +22 -0
  371. package/project/context/abstract-flowr-analyzer-context.d.ts +4 -0
  372. package/project/context/flowr-analyzer-context.d.ts +9 -6
  373. package/project/context/flowr-analyzer-context.js +11 -0
  374. package/project/context/flowr-analyzer-dependencies-context.d.ts +1 -1
  375. package/project/context/flowr-analyzer-dependencies-context.js +4 -0
  376. package/project/context/flowr-analyzer-files-context.d.ts +3 -4
  377. package/project/context/flowr-analyzer-files-context.js +4 -0
  378. package/project/context/flowr-analyzer-loading-order-context.d.ts +1 -0
  379. package/project/context/flowr-analyzer-loading-order-context.js +6 -0
  380. package/project/context/flowr-file.d.ts +0 -1
  381. package/project/flowr-analyzer-builder.d.ts +1 -3
  382. package/project/flowr-analyzer-builder.js +5 -6
  383. package/project/flowr-analyzer.d.ts +42 -32
  384. package/project/flowr-analyzer.js +14 -8
  385. package/project/plugins/file-plugins/flowr-analyzer-description-file-plugin.d.ts +1 -1
  386. package/project/plugins/file-plugins/flowr-description-file.d.ts +1 -3
  387. package/project/plugins/file-plugins/flowr-description-file.js +0 -1
  388. package/project/plugins/project-discovery/flowr-analyzer-project-discovery-plugin.d.ts +1 -1
  389. package/queries/base-query-format.d.ts +2 -2
  390. package/queries/catalog/call-context-query/call-context-query-executor.d.ts +3 -0
  391. package/queries/catalog/call-context-query/call-context-query-executor.js +5 -1
  392. package/queries/catalog/call-context-query/call-context-query-format.d.ts +3 -3
  393. package/queries/catalog/call-context-query/identify-link-to-last-call-relation.d.ts +11 -2
  394. package/queries/catalog/call-context-query/identify-link-to-last-call-relation.js +9 -0
  395. package/queries/catalog/cluster-query/cluster-query-executor.d.ts +3 -0
  396. package/queries/catalog/cluster-query/cluster-query-executor.js +3 -0
  397. package/queries/catalog/cluster-query/cluster-query-format.d.ts +1 -1
  398. package/queries/catalog/config-query/config-query-executor.d.ts +3 -0
  399. package/queries/catalog/config-query/config-query-executor.js +3 -0
  400. package/queries/catalog/config-query/config-query-format.d.ts +6 -3
  401. package/queries/catalog/config-query/config-query-format.js +13 -16
  402. package/queries/catalog/control-flow-query/control-flow-query-executor.d.ts +3 -0
  403. package/queries/catalog/control-flow-query/control-flow-query-executor.js +5 -1
  404. package/queries/catalog/control-flow-query/control-flow-query-format.d.ts +3 -3
  405. package/queries/catalog/dataflow-lens-query/dataflow-lens-query-executor.d.ts +3 -0
  406. package/queries/catalog/dataflow-lens-query/dataflow-lens-query-executor.js +3 -0
  407. package/queries/catalog/dataflow-lens-query/dataflow-lens-query-format.d.ts +1 -1
  408. package/queries/catalog/dataflow-query/dataflow-query-executor.d.ts +3 -0
  409. package/queries/catalog/dataflow-query/dataflow-query-executor.js +3 -0
  410. package/queries/catalog/dataflow-query/dataflow-query-format.d.ts +1 -1
  411. package/queries/catalog/dependencies-query/dependencies-query-executor.d.ts +4 -1
  412. package/queries/catalog/dependencies-query/dependencies-query-executor.js +7 -4
  413. package/queries/catalog/dependencies-query/dependencies-query-format.d.ts +4 -1
  414. package/queries/catalog/dependencies-query/dependencies-query-format.js +4 -1
  415. package/queries/catalog/df-shape-query/df-shape-query-executor.d.ts +4 -1
  416. package/queries/catalog/df-shape-query/df-shape-query-executor.js +8 -4
  417. package/queries/catalog/df-shape-query/df-shape-query-format.d.ts +10 -3
  418. package/queries/catalog/df-shape-query/df-shape-query-format.js +24 -5
  419. package/queries/catalog/happens-before-query/happens-before-query-executor.d.ts +3 -0
  420. package/queries/catalog/happens-before-query/happens-before-query-executor.js +3 -0
  421. package/queries/catalog/happens-before-query/happens-before-query-format.d.ts +1 -1
  422. package/queries/catalog/id-map-query/id-map-query-executor.d.ts +3 -0
  423. package/queries/catalog/id-map-query/id-map-query-executor.js +3 -0
  424. package/queries/catalog/id-map-query/id-map-query-format.d.ts +1 -1
  425. package/queries/catalog/inspect-higher-order-query/inspect-higher-order-query-executor.d.ts +6 -0
  426. package/queries/catalog/inspect-higher-order-query/inspect-higher-order-query-executor.js +48 -0
  427. package/queries/catalog/inspect-higher-order-query/inspect-higher-order-query-format.d.ts +22 -0
  428. package/queries/catalog/inspect-higher-order-query/inspect-higher-order-query-format.js +32 -0
  429. package/queries/catalog/linter-query/linter-query-executor.d.ts +4 -0
  430. package/queries/catalog/linter-query/linter-query-executor.js +4 -0
  431. package/queries/catalog/linter-query/linter-query-format.d.ts +12 -3
  432. package/queries/catalog/linter-query/linter-query-format.js +67 -0
  433. package/queries/catalog/location-map-query/location-map-query-executor.d.ts +4 -0
  434. package/queries/catalog/location-map-query/location-map-query-executor.js +5 -1
  435. package/queries/catalog/location-map-query/location-map-query-format.d.ts +7 -1
  436. package/queries/catalog/location-map-query/location-map-query-format.js +12 -0
  437. package/queries/catalog/normalized-ast-query/normalized-ast-query-executor.d.ts +3 -0
  438. package/queries/catalog/normalized-ast-query/normalized-ast-query-executor.js +3 -0
  439. package/queries/catalog/normalized-ast-query/normalized-ast-query-format.d.ts +1 -1
  440. package/queries/catalog/origin-query/origin-query-executor.d.ts +7 -1
  441. package/queries/catalog/origin-query/origin-query-executor.js +6 -0
  442. package/queries/catalog/origin-query/origin-query-format.d.ts +7 -1
  443. package/queries/catalog/origin-query/origin-query-format.js +17 -1
  444. package/queries/catalog/project-query/project-query-executor.d.ts +3 -0
  445. package/queries/catalog/project-query/project-query-executor.js +3 -0
  446. package/queries/catalog/project-query/project-query-format.d.ts +1 -1
  447. package/queries/catalog/resolve-value-query/resolve-value-query-executor.d.ts +6 -0
  448. package/queries/catalog/resolve-value-query/resolve-value-query-executor.js +6 -0
  449. package/queries/catalog/resolve-value-query/resolve-value-query-format.d.ts +7 -1
  450. package/queries/catalog/resolve-value-query/resolve-value-query-format.js +19 -1
  451. package/queries/catalog/search-query/search-query-executor.d.ts +3 -0
  452. package/queries/catalog/search-query/search-query-executor.js +3 -0
  453. package/queries/catalog/search-query/search-query-format.d.ts +1 -1
  454. package/queries/catalog/static-slice-query/static-slice-query-executor.d.ts +9 -0
  455. package/queries/catalog/static-slice-query/static-slice-query-executor.js +9 -0
  456. package/queries/catalog/static-slice-query/static-slice-query-format.d.ts +7 -1
  457. package/queries/catalog/static-slice-query/static-slice-query-format.js +17 -0
  458. package/queries/query-print.d.ts +20 -4
  459. package/queries/query-print.js +18 -2
  460. package/queries/query.d.ts +91 -53
  461. package/queries/query.js +37 -23
  462. package/queries/virtual-query/virtual-queries.d.ts +1 -2
  463. package/r-bridge/data/get.d.ts +6 -0
  464. package/r-bridge/data/get.js +6 -0
  465. package/r-bridge/lang-4.x/ast/model/collect.d.ts +0 -1
  466. package/r-bridge/lang-4.x/ast/model/collect.js +0 -1
  467. package/r-bridge/lang-4.x/ast/model/model.d.ts +8 -11
  468. package/r-bridge/lang-4.x/ast/model/nodes/r-function-call.d.ts +0 -2
  469. package/r-bridge/lang-4.x/ast/model/nodes/r-number.d.ts +3 -0
  470. package/r-bridge/lang-4.x/ast/model/nodes/r-number.js +3 -0
  471. package/r-bridge/lang-4.x/ast/model/nodes/r-string.d.ts +3 -0
  472. package/r-bridge/lang-4.x/ast/model/nodes/r-string.js +3 -0
  473. package/r-bridge/lang-4.x/ast/model/nodes/r-symbol.d.ts +3 -0
  474. package/r-bridge/lang-4.x/ast/model/nodes/r-symbol.js +3 -0
  475. package/r-bridge/lang-4.x/ast/model/operators.d.ts +0 -1
  476. package/r-bridge/lang-4.x/ast/model/processing/decorate.d.ts +6 -7
  477. package/r-bridge/lang-4.x/ast/model/processing/decorate.js +6 -6
  478. package/r-bridge/lang-4.x/ast/model/processing/fold.d.ts +1 -1
  479. package/r-bridge/lang-4.x/ast/model/processing/node-id.d.ts +0 -1
  480. package/r-bridge/lang-4.x/ast/model/processing/node-id.js +0 -1
  481. package/r-bridge/lang-4.x/ast/model/processing/role.d.ts +0 -1
  482. package/r-bridge/lang-4.x/ast/model/processing/stateful-fold.d.ts +1 -2
  483. package/r-bridge/lang-4.x/ast/model/processing/visitor.d.ts +0 -1
  484. package/r-bridge/lang-4.x/ast/model/processing/visitor.js +0 -1
  485. package/r-bridge/lang-4.x/ast/model/type.d.ts +4 -5
  486. package/r-bridge/lang-4.x/ast/model/type.js +4 -5
  487. package/r-bridge/lang-4.x/ast/model/versions.d.ts +0 -1
  488. package/r-bridge/lang-4.x/ast/model/versions.js +0 -1
  489. package/r-bridge/lang-4.x/ast/parser/json/parser.d.ts +4 -5
  490. package/r-bridge/lang-4.x/ast/parser/json/parser.js +0 -1
  491. package/r-bridge/lang-4.x/ast/parser/main/internal/control/normalize-if-then.d.ts +1 -1
  492. package/r-bridge/lang-4.x/ast/parser/main/internal/expression/normalize-expression.d.ts +0 -1
  493. package/r-bridge/lang-4.x/ast/parser/main/internal/expression/normalize-expression.js +0 -1
  494. package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-argument.d.ts +0 -2
  495. package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-argument.js +0 -2
  496. package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-call.d.ts +1 -3
  497. package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-call.js +0 -2
  498. package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-definition.d.ts +0 -2
  499. package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-definition.js +0 -2
  500. package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-parameter.d.ts +0 -2
  501. package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-parameter.js +0 -2
  502. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-break.d.ts +3 -0
  503. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-break.js +3 -0
  504. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-for.d.ts +4 -1
  505. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-for.js +3 -0
  506. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-next.d.ts +3 -0
  507. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-next.js +3 -0
  508. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-repeat.d.ts +0 -2
  509. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-repeat.js +0 -2
  510. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-while.d.ts +4 -1
  511. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-while.js +3 -0
  512. package/r-bridge/lang-4.x/ast/parser/main/internal/normalize-access.d.ts +0 -2
  513. package/r-bridge/lang-4.x/ast/parser/main/internal/normalize-access.js +0 -2
  514. package/r-bridge/lang-4.x/ast/parser/main/internal/operators/normalize-binary.d.ts +1 -1
  515. package/r-bridge/lang-4.x/ast/parser/main/internal/operators/normalize-unary.d.ts +0 -2
  516. package/r-bridge/lang-4.x/ast/parser/main/internal/operators/normalize-unary.js +0 -2
  517. package/r-bridge/lang-4.x/ast/parser/main/internal/other/normalize-comment.d.ts +0 -1
  518. package/r-bridge/lang-4.x/ast/parser/main/internal/other/normalize-comment.js +0 -1
  519. package/r-bridge/lang-4.x/ast/parser/main/internal/other/normalize-line-directive.d.ts +0 -1
  520. package/r-bridge/lang-4.x/ast/parser/main/internal/other/normalize-line-directive.js +0 -1
  521. package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-delimiter.d.ts +3 -0
  522. package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-delimiter.js +3 -0
  523. package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-expressions.d.ts +9 -0
  524. package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-expressions.js +9 -0
  525. package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-single-node.d.ts +1 -3
  526. package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-single-node.js +0 -2
  527. package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-number.d.ts +1 -2
  528. package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-number.js +0 -1
  529. package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-string.d.ts +0 -1
  530. package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-string.js +0 -1
  531. package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-symbol.d.ts +0 -2
  532. package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-symbol.js +0 -2
  533. package/r-bridge/lang-4.x/ast/parser/main/normalize-meta.d.ts +14 -5
  534. package/r-bridge/lang-4.x/ast/parser/main/normalize-meta.js +13 -6
  535. package/r-bridge/lang-4.x/convert-values.d.ts +12 -1
  536. package/r-bridge/lang-4.x/convert-values.js +12 -1
  537. package/r-bridge/lang-4.x/tree-sitter/tree-sitter-executor.d.ts +7 -2
  538. package/r-bridge/lang-4.x/tree-sitter/tree-sitter-executor.js +17 -0
  539. package/r-bridge/lang-4.x/tree-sitter/tree-sitter-normalize.d.ts +13 -1
  540. package/r-bridge/lang-4.x/tree-sitter/tree-sitter-normalize.js +48 -19
  541. package/r-bridge/parser.d.ts +30 -2
  542. package/r-bridge/retriever.d.ts +16 -1
  543. package/r-bridge/retriever.js +15 -0
  544. package/r-bridge/shell-executor.d.ts +3 -3
  545. package/r-bridge/shell-executor.js +6 -1
  546. package/r-bridge/shell.d.ts +24 -23
  547. package/r-bridge/shell.js +37 -31
  548. package/reconstruct/auto-select/auto-select-defaults.d.ts +0 -1
  549. package/reconstruct/auto-select/magic-comments.d.ts +1 -2
  550. package/reconstruct/auto-select/magic-comments.js +1 -2
  551. package/reconstruct/reconstruct.d.ts +1 -3
  552. package/reconstruct/reconstruct.js +0 -2
  553. package/search/flowr-search-builder.d.ts +12 -5
  554. package/search/flowr-search-builder.js +7 -2
  555. package/search/flowr-search-executor.d.ts +3 -3
  556. package/search/flowr-search-filters.d.ts +14 -1
  557. package/search/flowr-search-filters.js +13 -0
  558. package/search/flowr-search-printer.d.ts +6 -0
  559. package/search/flowr-search-printer.js +6 -0
  560. package/search/flowr-search-traverse.d.ts +1 -1
  561. package/search/flowr-search.d.ts +3 -3
  562. package/search/search-executor/search-enrichers.d.ts +9 -6
  563. package/search/search-executor/search-enrichers.js +5 -1
  564. package/search/search-executor/search-generators.d.ts +19 -10
  565. package/search/search-executor/search-generators.js +49 -2
  566. package/search/search-executor/search-mappers.d.ts +8 -5
  567. package/search/search-executor/search-mappers.js +3 -0
  568. package/search/search-executor/search-transformer.d.ts +19 -16
  569. package/search/search-executor/search-transformer.js +3 -0
  570. package/slicing/criterion/collect-all.d.ts +10 -10
  571. package/slicing/criterion/parse.d.ts +4 -2
  572. package/slicing/criterion/parse.js +4 -2
  573. package/slicing/static/fingerprint.d.ts +9 -1
  574. package/slicing/static/fingerprint.js +8 -0
  575. package/slicing/static/slice-call.d.ts +2 -2
  576. package/slicing/static/static-slicer.d.ts +8 -4
  577. package/slicing/static/static-slicer.js +5 -1
  578. package/slicing/static/visiting-queue.d.ts +1 -1
  579. package/statistics/features/common-syntax-probability.d.ts +10 -1
  580. package/statistics/features/common-syntax-probability.js +9 -0
  581. package/statistics/features/feature.d.ts +0 -4
  582. package/statistics/features/feature.js +0 -1
  583. package/statistics/features/post-processing.d.ts +6 -0
  584. package/statistics/features/post-processing.js +6 -0
  585. package/statistics/features/supported/assignments/post-process.d.ts +3 -0
  586. package/statistics/features/supported/assignments/post-process.js +3 -0
  587. package/statistics/features/supported/comments/post-process.d.ts +3 -0
  588. package/statistics/features/supported/comments/post-process.js +3 -0
  589. package/statistics/features/supported/control-flow/post-process.d.ts +3 -0
  590. package/statistics/features/supported/control-flow/post-process.js +3 -0
  591. package/statistics/features/supported/data-access/data-access.d.ts +1 -1
  592. package/statistics/features/supported/data-access/post-process.d.ts +3 -0
  593. package/statistics/features/supported/data-access/post-process.js +3 -0
  594. package/statistics/features/supported/defined-functions/defined-functions.d.ts +1 -1
  595. package/statistics/features/supported/expression-list/post-process.d.ts +3 -0
  596. package/statistics/features/supported/expression-list/post-process.js +3 -0
  597. package/statistics/features/supported/loops/post-process.d.ts +3 -0
  598. package/statistics/features/supported/loops/post-process.js +3 -0
  599. package/statistics/features/supported/used-functions/used-functions.d.ts +1 -1
  600. package/statistics/features/supported/used-packages/post-process.d.ts +3 -0
  601. package/statistics/features/supported/used-packages/post-process.js +3 -0
  602. package/statistics/features/supported/values/post-process.d.ts +3 -0
  603. package/statistics/features/supported/values/post-process.js +3 -0
  604. package/statistics/features/supported/variables/post-process.d.ts +7 -1
  605. package/statistics/features/supported/variables/post-process.js +6 -0
  606. package/statistics/meta-statistics.d.ts +8 -9
  607. package/statistics/output/file-provider.d.ts +5 -6
  608. package/statistics/output/file-provider.js +5 -6
  609. package/statistics/output/print-stats.d.ts +13 -1
  610. package/statistics/output/print-stats.js +12 -0
  611. package/statistics/output/statistics-file.d.ts +1 -2
  612. package/statistics/output/statistics-file.js +0 -1
  613. package/statistics/statistics.d.ts +3 -4
  614. package/statistics/statistics.js +1 -2
  615. package/statistics/summarizer/auto-detect.d.ts +3 -0
  616. package/statistics/summarizer/auto-detect.js +3 -0
  617. package/statistics/summarizer/post-process/clusterer.d.ts +3 -4
  618. package/statistics/summarizer/post-process/clusterer.js +0 -2
  619. package/statistics/summarizer/post-process/file-based-count.d.ts +0 -1
  620. package/statistics/summarizer/post-process/file-based-count.js +0 -1
  621. package/statistics/summarizer/post-process/histogram.d.ts +0 -2
  622. package/statistics/summarizer/post-process/histogram.js +0 -2
  623. package/statistics/summarizer/post-process/post-process-output.d.ts +2 -4
  624. package/statistics/summarizer/post-process/post-process-output.js +0 -3
  625. package/statistics/summarizer/second-phase/process.d.ts +5 -3
  626. package/statistics/summarizer/second-phase/process.js +3 -1
  627. package/statistics/summarizer/summarizer.d.ts +1 -2
  628. package/util/assert.d.ts +52 -2
  629. package/util/assert.js +52 -2
  630. package/util/collections/arrays.d.ts +10 -5
  631. package/util/collections/arrays.js +10 -5
  632. package/util/collections/defaultmap.d.ts +11 -11
  633. package/util/collections/defaultmap.js +11 -11
  634. package/util/containers.d.ts +2 -7
  635. package/util/containers.js +0 -5
  636. package/util/diff-graph.d.ts +0 -1
  637. package/util/diff-graph.js +0 -1
  638. package/util/diff.d.ts +3 -1
  639. package/util/diff.js +3 -1
  640. package/util/files.d.ts +11 -11
  641. package/util/files.js +10 -10
  642. package/util/formats/adapter.d.ts +9 -0
  643. package/util/formats/adapter.js +9 -0
  644. package/util/formats/adapters/rmd-adapter.d.ts +10 -1
  645. package/util/formats/adapters/rmd-adapter.js +10 -1
  646. package/util/html-hover-over.d.ts +5 -0
  647. package/util/html-hover-over.js +5 -0
  648. package/util/json.d.ts +13 -0
  649. package/util/json.js +13 -0
  650. package/util/log.d.ts +2 -2
  651. package/util/log.js +2 -2
  652. package/util/mermaid/ast.d.ts +3 -0
  653. package/util/mermaid/ast.js +3 -0
  654. package/util/mermaid/cfg.d.ts +1 -1
  655. package/util/mermaid/dfg.d.ts +12 -4
  656. package/util/mermaid/dfg.js +9 -1
  657. package/util/mermaid/mermaid.d.ts +6 -1
  658. package/util/mermaid/mermaid.js +6 -1
  659. package/util/numbers.d.ts +7 -0
  660. package/util/numbers.js +7 -0
  661. package/util/objects.d.ts +0 -2
  662. package/util/os.d.ts +3 -0
  663. package/util/os.js +3 -0
  664. package/util/parallel.d.ts +4 -4
  665. package/util/parallel.js +4 -4
  666. package/util/prefix.d.ts +0 -1
  667. package/util/prefix.js +0 -1
  668. package/util/quads.d.ts +14 -17
  669. package/util/quads.js +3 -5
  670. package/util/r-value.d.ts +11 -2
  671. package/util/r-value.js +23 -0
  672. package/util/random.d.ts +3 -0
  673. package/util/random.js +3 -0
  674. package/util/range.d.ts +9 -3
  675. package/util/range.js +15 -2
  676. package/util/schema.d.ts +14 -1
  677. package/util/schema.js +15 -2
  678. package/util/simple-df/dfg-view.d.ts +4 -1
  679. package/util/simple-df/dfg-view.js +4 -1
  680. package/util/summarizer.d.ts +9 -1
  681. package/util/summarizer.js +9 -0
  682. package/util/text/ansi.d.ts +3 -0
  683. package/util/text/ansi.js +3 -0
  684. package/util/text/args.d.ts +2 -4
  685. package/util/text/args.js +7 -5
  686. package/util/text/text.d.ts +4 -0
  687. package/util/text/text.js +4 -0
  688. package/util/text/time.d.ts +0 -1
  689. package/util/text/time.js +0 -1
  690. package/util/version.d.ts +26 -0
  691. package/util/version.js +37 -1
  692. package/abstract-interpretation/data-frame/domain.d.ts +0 -107
  693. package/abstract-interpretation/data-frame/domain.js +0 -315
  694. package/abstract-interpretation/domains/set-bounded-set-domain.d.ts +0 -43
  695. package/abstract-interpretation/domains/set-bounded-set-domain.js +0 -164
  696. package/cli/repl/commands/repl-lineage.d.ts +0 -15
  697. package/cli/repl/commands/repl-lineage.js +0 -67
  698. package/cli/repl/server/messages/message-lineage.d.ts +0 -17
  699. package/cli/repl/server/messages/message-lineage.js +0 -25
  700. package/queries/catalog/lineage-query/lineage-query-executor.d.ts +0 -3
  701. package/queries/catalog/lineage-query/lineage-query-executor.js +0 -22
  702. package/queries/catalog/lineage-query/lineage-query-format.d.ts +0 -22
  703. package/queries/catalog/lineage-query/lineage-query-format.js +0 -31
package/util/quads.d.ts CHANGED
@@ -4,17 +4,15 @@
4
4
  * <p>
5
5
  * At the time of writing this module I am unaware of any sophisticated rdf library for typescript which allows to serialize objects
6
6
  * directly as rdf quads. Therefore, this module provides a simple serialization mechanism based on the popular n3.js library.
7
- *
8
7
  * @module
9
8
  */
10
- import type { MergeableRecord } from './objects';
9
+ import { type MergeableRecord } from './objects';
11
10
  import type { NodeId } from '../r-bridge/lang-4.x/ast/model/processing/node-id';
12
11
  type RecordForQuad = Record<string, unknown>;
13
12
  type DataForQuad = Record<string, unknown> | ArrayLike<unknown>;
14
13
  type ContextForQuad = string;
15
14
  /**
16
15
  * Predicate that allows you to ignore given elements based on their key/value
17
- *
18
16
  * @returns true if the given key/value should be ignored, false otherwise
19
17
  */
20
18
  export type QuadIgnoreIf = (key: string, value: unknown) => boolean;
@@ -32,39 +30,39 @@ export type QuadContextRetriever = ContextForQuad | ((obj: DataForQuad) => Conte
32
30
  * A deterministic counting id generator for quads.
33
31
  */
34
32
  export declare function defaultQuadIdGenerator(): QuadIdRetriever;
33
+ /**
34
+ * A default ignore function that ignores undefined values and some common keys.
35
+ */
35
36
  export declare function defaultQuadIgnoreIf(): QuadIgnoreIf;
36
37
  /**
37
38
  * See {@link DefaultQuadSerializationConfiguration} for defaults.
38
39
  */
39
40
  export interface QuadSerializationConfiguration extends MergeableRecord {
40
41
  /**
41
- * Ignore certain keys or values when serializing to quads.
42
- * @see defaultQuadIgnoreIf
43
- */
42
+ * Ignore certain keys or values when serializing to quads.
43
+ * @see defaultQuadIgnoreIf
44
+ */
44
45
  ignore?: QuadIgnoreIf;
45
46
  /**
46
- * Retrieve a unique id for a given object.
47
- * @see defaultQuadIdGenerator
48
- */
47
+ * Retrieve a unique id for a given object.
48
+ * @see defaultQuadIdGenerator
49
+ */
49
50
  getId?: QuadIdRetriever;
50
51
  /**
51
- * The context of the serialized quads, probably the file-name (constant) or whatever is desired.
52
- */
52
+ * The context of the serialized quads, probably the file-name (constant) or whatever is desired.
53
+ */
53
54
  context: QuadContextRetriever;
54
55
  /**
55
- * The basic domain name to use for the quads.
56
- */
56
+ * The basic domain name to use for the quads.
57
+ */
57
58
  domain?: string;
58
59
  }
59
60
  export declare const DefaultQuadSerializationConfiguration: Required<QuadSerializationConfiguration>;
60
61
  /**
61
62
  * Serializes the given object or array to rdf quads.
62
- *
63
63
  * @param obj - The object to serialize (must be a Record and no array etc.)
64
64
  * @param config - Further configuration options
65
- *
66
65
  * @returns the serialized quads
67
- *
68
66
  * @see graph2quads
69
67
  */
70
68
  export declare function serialize2quads(obj: RecordForQuad, config: QuadSerializationConfiguration): string;
@@ -85,7 +83,6 @@ export interface GraphInformationForQuad<AdditionalVertexInformation extends Mer
85
83
  /**
86
84
  * Serializes the given directed graph to rdf quads.
87
85
  * This is a mere (type-)convenience wrapper for {@link serialize2quads}.
88
- *
89
86
  * @see serialize2quads
90
87
  */
91
88
  export declare function graph2quads<AdditionalVertexInformation extends MergeableRecord, AdditionalEdgeInformation extends MergeableRecord>(graph: GraphInformationForQuad<AdditionalVertexInformation, AdditionalEdgeInformation>, config: QuadSerializationConfiguration): string;
package/util/quads.js CHANGED
@@ -5,7 +5,6 @@
5
5
  * <p>
6
6
  * At the time of writing this module I am unaware of any sophisticated rdf library for typescript which allows to serialize objects
7
7
  * directly as rdf quads. Therefore, this module provides a simple serialization mechanism based on the popular n3.js library.
8
- *
9
8
  * @module
10
9
  */
11
10
  Object.defineProperty(exports, "__esModule", { value: true });
@@ -32,6 +31,9 @@ function defaultQuadIdGenerator() {
32
31
  return (elem, context) => `${context}/${idMap.get(elem)}`;
33
32
  }
34
33
  const ignoredKeysArray = ['complexNumber', 'markedAsInt', 'info'];
34
+ /**
35
+ * A default ignore function that ignores undefined values and some common keys.
36
+ */
35
37
  function defaultQuadIgnoreIf() {
36
38
  return (key, value) => value === undefined || ignoredKeysArray.includes(key);
37
39
  }
@@ -47,12 +49,9 @@ function retrieveContext(context, obj) {
47
49
  const writer = new n3_1.Writer({ format: 'N-Quads' });
48
50
  /**
49
51
  * Serializes the given object or array to rdf quads.
50
- *
51
52
  * @param obj - The object to serialize (must be a Record and no array etc.)
52
53
  * @param config - Further configuration options
53
- *
54
54
  * @returns the serialized quads
55
- *
56
55
  * @see graph2quads
57
56
  */
58
57
  function serialize2quads(obj, config) {
@@ -67,7 +66,6 @@ function serialize2quads(obj, config) {
67
66
  /**
68
67
  * Serializes the given directed graph to rdf quads.
69
68
  * This is a mere (type-)convenience wrapper for {@link serialize2quads}.
70
- *
71
69
  * @see serialize2quads
72
70
  */
73
71
  function graph2quads(graph, config) {
package/util/r-value.d.ts CHANGED
@@ -1,8 +1,17 @@
1
- import type { Value, ValueInterval, ValueLogical, ValueNumber, ValueString, ValueVector } from '../dataflow/eval/values/r-value';
1
+ import { type Value, type ValueInterval, type ValueLogical, type ValueNumber, type ValueString, type ValueVector } from '../dataflow/eval/values/r-value';
2
2
  import type { RLogicalValue } from '../r-bridge/lang-4.x/ast/model/nodes/r-logical';
3
3
  import { type RNumberValue, type RStringValue } from '../r-bridge/lang-4.x/convert-values';
4
+ /**
5
+ * Checks whether the given value is an R string value.
6
+ */
4
7
  export declare function isRStringValue(value: unknown): value is RStringValue;
8
+ /**
9
+ * Checks whether the given value is an R number value.
10
+ */
5
11
  export declare function isRNumberValue(value: unknown): value is RNumberValue;
12
+ /**
13
+ * Checks whether the given value is an R logical value.
14
+ */
6
15
  export declare function isRLogicalValue(value: unknown): value is RLogicalValue;
7
16
  export declare function unwrapRValue(value: RStringValue | string): string;
8
17
  export declare function unwrapRValue(value: RNumberValue | number): number;
@@ -20,4 +29,4 @@ export declare function unliftRValue(value: ValueString): RStringValue | undefin
20
29
  export declare function unliftRValue(value: ValueNumber | ValueInterval): RNumberValue | undefined;
21
30
  export declare function unliftRValue(value: ValueLogical): RLogicalValue | undefined;
22
31
  export declare function unliftRValue(value: ValueVector): (RStringValue | RNumberValue | RLogicalValue)[] | undefined;
23
- export declare function unliftRValue(value: Value): RStringValue | RNumberValue | boolean | (RStringValue | RNumberValue | RLogicalValue)[] | undefined;
32
+ export declare function unliftRValue(value: Value): RStringValue | RNumberValue | 'fn-def' | boolean | ('fn-def' | RStringValue | RNumberValue | RLogicalValue)[] | undefined;
package/util/r-value.js CHANGED
@@ -13,15 +13,27 @@ const assert_1 = require("./assert");
13
13
  function isRValue(value) {
14
14
  return isRStringValue(value) || isRNumberValue(value) || isRLogicalValue(value) || typeof value === 'string' || typeof value === 'number';
15
15
  }
16
+ /**
17
+ * Checks whether the given value is an R string value.
18
+ */
16
19
  function isRStringValue(value) {
17
20
  return typeof value === 'object' && value !== null && 'str' in value && typeof value.str === 'string';
18
21
  }
22
+ /**
23
+ * Checks whether the given value is an R number value.
24
+ */
19
25
  function isRNumberValue(value) {
20
26
  return typeof value === 'object' && value !== null && 'num' in value && typeof value.num === 'number';
21
27
  }
28
+ /**
29
+ * Checks whether the given value is an R logical value.
30
+ */
22
31
  function isRLogicalValue(value) {
23
32
  return typeof value === 'boolean';
24
33
  }
34
+ /**
35
+ * Unwraps an R value to a (TS) native value.
36
+ */
25
37
  function unwrapRValue(value) {
26
38
  if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {
27
39
  return value;
@@ -36,6 +48,9 @@ function unwrapRValue(value) {
36
48
  return undefined;
37
49
  }
38
50
  }
51
+ /**
52
+ * Unwraps an R vector to a (TS) native array.
53
+ */
39
54
  function unwrapRVector(value) {
40
55
  if (!Array.isArray(value)) {
41
56
  return undefined;
@@ -56,6 +71,9 @@ function unwrapRVector(value) {
56
71
  return undefined;
57
72
  }
58
73
  }
74
+ /**
75
+ * Unwraps an R value to a string representation.
76
+ */
59
77
  function unwrapRValueToString(value) {
60
78
  if (typeof value === 'string') {
61
79
  return value;
@@ -76,6 +94,9 @@ function unwrapRValueToString(value) {
76
94
  return undefined;
77
95
  }
78
96
  }
97
+ /**
98
+ * Unlifts an R value to its core representation.
99
+ */
79
100
  function unliftRValue(value) {
80
101
  if (!(0, r_value_1.isValue)(value)) {
81
102
  return undefined;
@@ -106,6 +127,8 @@ function unliftRValue(value) {
106
127
  case 'missing': {
107
128
  return undefined;
108
129
  }
130
+ case 'function-definition':
131
+ return 'fn-def';
109
132
  default:
110
133
  (0, assert_1.assertUnreachable)(type);
111
134
  }
package/util/random.d.ts CHANGED
@@ -1,4 +1,7 @@
1
1
  export declare const ALPHABET_LOWERCASE: readonly string[];
2
2
  export declare const ALPHABET_UPPERCASE: readonly string[];
3
3
  export declare const ALPHABET: readonly string[];
4
+ /**
5
+ * Generates a random string of the given length using the provided symbols.
6
+ */
4
7
  export declare function randomString(length: number, symbols?: readonly string[]): string;
package/util/random.js CHANGED
@@ -10,6 +10,9 @@ exports.ALPHABET = [...exports.ALPHABET_LOWERCASE, ...exports.ALPHABET_UPPERCASE
10
10
  function isPositiveFiniteInteger(length) {
11
11
  return isFinite(length) && length >= 0 && length === Math.floor(length);
12
12
  }
13
+ /**
14
+ * Generates a random string of the given length using the provided symbols.
15
+ */
13
16
  function randomString(length, symbols = exports.ALPHABET) {
14
17
  (0, assert_1.guard)(isPositiveFiniteInteger(length), `length must be a positive, finite integer (${length} >= 0)`);
15
18
  (0, assert_1.guard)(symbols.length > 0, 'there must be at least one symbol to use');
package/util/range.d.ts CHANGED
@@ -12,7 +12,6 @@ export type SourcePosition = [
12
12
  ];
13
13
  /**
14
14
  * Describe the start and end {@link SourcePosition|source position} of an element.
15
- *
16
15
  * @see {@link rangeFrom} - to create a range
17
16
  * @see {@link mergeRanges} - to merge multiple ranges
18
17
  * @see {@link getRangeStart} - to get the start of a range
@@ -38,13 +37,17 @@ export declare function getRangeEnd(p: SourceRange): SourcePosition;
38
37
  export declare function getRangeEnd(p: SourceRange | undefined): SourcePosition | undefined;
39
38
  /**
40
39
  * This does not ensure ordering of start and end!
41
- *
42
40
  * @param sl - start line
43
41
  * @param sc - start column
44
42
  * @param el - end line
45
43
  * @param ec - end column
46
44
  */
47
45
  export declare function rangeFrom(sl: number | string, sc: number | string, el: number | string, ec: number | string): SourceRange;
46
+ /**
47
+ * Merges multiple source ranges into a single source range that spans from the earliest start to the latest end.
48
+ * If you are interested in combining overlapping ranges into a minimal set of ranges, see {@link combineRanges}.
49
+ * @throws if no ranges are provided
50
+ */
48
51
  export declare function mergeRanges(...rs: (SourceRange | undefined)[]): SourceRange;
49
52
  /**
50
53
  * @returns true iff `r1` starts and ends before `r2` starts (i.e., if `r1` and `r2` do not overlap and `r1` comes before `r2`
@@ -60,7 +63,6 @@ export declare function rangesOverlap([r1sl, r1sc, r1el, r1ec]: SourceRange, [r2
60
63
  export declare function addRanges([r1sl, r1sc, r1el, r1ec]: SourceRange, [r2sl, r2sc, r2el, r2ec]: SourceRange): SourceRange;
61
64
  /**
62
65
  * Provides a comparator for {@link SourceRange}s that sorts them in ascending order.
63
- *
64
66
  * @returns a positive number if `r1` comes after `r2`, a negative number if `r1` comes before `r2`, and `0` if they are equal
65
67
  */
66
68
  export declare function rangeCompare([r1sl, r1sc, ,]: SourceRange, [r2sl, r2sc, ,]: SourceRange): number;
@@ -68,4 +70,8 @@ export declare function rangeCompare([r1sl, r1sc, ,]: SourceRange, [r2sl, r2sc,
68
70
  * Checks if the first range is a subset of the second range.
69
71
  */
70
72
  export declare function rangeIsSubsetOf([r1sl, r1sc, r1el, r1ec]: SourceRange, [r2sl, r2sc, r2el, r2ec]: SourceRange): boolean;
73
+ /**
74
+ * Combines overlapping or subset ranges into a minimal set of ranges.
75
+ * If you are interested in merging overlapping ranges, see {@link mergeRanges}.
76
+ */
71
77
  export declare function combineRanges(...ranges: SourceRange[]): SourceRange[];
package/util/range.js CHANGED
@@ -11,15 +11,20 @@ exports.rangeCompare = rangeCompare;
11
11
  exports.rangeIsSubsetOf = rangeIsSubsetOf;
12
12
  exports.combineRanges = combineRanges;
13
13
  const assert_1 = require("./assert");
14
+ /**
15
+ * Returns the start position of a source range.
16
+ */
14
17
  function getRangeStart(p) {
15
18
  return p === undefined ? undefined : [p[0], p[1]];
16
19
  }
20
+ /**
21
+ * Returns the end position of a source range.
22
+ */
17
23
  function getRangeEnd(p) {
18
24
  return p === undefined ? undefined : [p[2], p[3]];
19
25
  }
20
26
  /**
21
27
  * This does not ensure ordering of start and end!
22
- *
23
28
  * @param sl - start line
24
29
  * @param sc - start column
25
30
  * @param el - end line
@@ -28,6 +33,11 @@ function getRangeEnd(p) {
28
33
  function rangeFrom(sl, sc, el, ec) {
29
34
  return [Number(sl), Number(sc), Number(el), Number(ec)];
30
35
  }
36
+ /**
37
+ * Merges multiple source ranges into a single source range that spans from the earliest start to the latest end.
38
+ * If you are interested in combining overlapping ranges into a minimal set of ranges, see {@link combineRanges}.
39
+ * @throws if no ranges are provided
40
+ */
31
41
  function mergeRanges(...rs) {
32
42
  const rsSafe = rs.filter(assert_1.isNotUndefined);
33
43
  (0, assert_1.guard)(rsSafe.length > 0, 'Cannot merge no ranges');
@@ -56,7 +66,6 @@ function addRanges([r1sl, r1sc, r1el, r1ec], [r2sl, r2sc, r2el, r2ec]) {
56
66
  }
57
67
  /**
58
68
  * Provides a comparator for {@link SourceRange}s that sorts them in ascending order.
59
- *
60
69
  * @returns a positive number if `r1` comes after `r2`, a negative number if `r1` comes before `r2`, and `0` if they are equal
61
70
  */
62
71
  function rangeCompare([r1sl, r1sc, ,], [r2sl, r2sc, ,]) {
@@ -73,6 +82,10 @@ function rangeCompare([r1sl, r1sc, ,], [r2sl, r2sc, ,]) {
73
82
  function rangeIsSubsetOf([r1sl, r1sc, r1el, r1ec], [r2sl, r2sc, r2el, r2ec]) {
74
83
  return (r1sl > r2sl || r1sl === r2sl && r1sc >= r2sc) && (r1el < r2el || r1sl === r2sl && r1ec <= r2ec);
75
84
  }
85
+ /**
86
+ * Combines overlapping or subset ranges into a minimal set of ranges.
87
+ * If you are interested in merging overlapping ranges, see {@link mergeRanges}.
88
+ */
76
89
  function combineRanges(...ranges) {
77
90
  return ranges.filter(range => !ranges.some(other => range !== other && rangeIsSubsetOf(range, other)));
78
91
  }
package/util/schema.d.ts CHANGED
@@ -1,11 +1,24 @@
1
1
  import type Joi from 'joi';
2
- import type { OutputFormatter } from './text/ansi';
2
+ import { type OutputFormatter } from './text/ansi';
3
3
  interface SchemaLine {
4
4
  level: number;
5
5
  text: string;
6
6
  }
7
+ /**
8
+ * Describes a Joi schema in a human-readable way.
9
+ */
7
10
  export declare function describeSchema(schema: Joi.Schema, f?: OutputFormatter): string;
11
+ /**
12
+ * Provides a generic description for any Joi schema.
13
+ * You probably want to use {@link describeSchema}.
14
+ */
8
15
  export declare function genericDescription(level: number, formatter: OutputFormatter, name: string, desc: Joi.Description | undefined): SchemaLine[];
16
+ /**
17
+ * Creates the header line(s) for a schema description.
18
+ */
9
19
  export declare function headerLine(level: number, formatter: OutputFormatter, name: string, type: string, flags: object | undefined): SchemaLine[];
20
+ /**
21
+ * Describes a Joi object schema.
22
+ */
10
23
  export declare function describeObject(level: number, formatter: OutputFormatter, desc: Joi.Description): SchemaLine[];
11
24
  export {};
package/util/schema.js CHANGED
@@ -5,12 +5,19 @@ exports.genericDescription = genericDescription;
5
5
  exports.headerLine = headerLine;
6
6
  exports.describeObject = describeObject;
7
7
  const ansi_1 = require("./text/ansi");
8
+ /**
9
+ * Describes a Joi schema in a human-readable way.
10
+ */
8
11
  function describeSchema(schema, f = ansi_1.formatter) {
9
12
  const description = schema.describe();
10
13
  const lines = genericDescription(1, f, f.format('.', { effect: ansi_1.ColorEffect.Foreground, color: 7 /* Colors.White */ }), description);
11
14
  const indent = ' '.repeat(4);
12
15
  return lines.map(line => `${indent.repeat(line.level - 1)}${line.text}`).join('\n');
13
16
  }
17
+ /**
18
+ * Provides a generic description for any Joi schema.
19
+ * You probably want to use {@link describeSchema}.
20
+ */
14
21
  function genericDescription(level, formatter, name, desc) {
15
22
  if (!desc) {
16
23
  return [];
@@ -52,6 +59,9 @@ function printFlags(flags) {
52
59
  }
53
60
  return flagText.trim().length > 0 ? '[' + flagText + ']' : '';
54
61
  }
62
+ /**
63
+ * Creates the header line(s) for a schema description.
64
+ */
55
65
  function headerLine(level, formatter, name, type, flags) {
56
66
  const text = `- ${(0, ansi_1.bold)(name, formatter)} ${formatter.format(type, { effect: ansi_1.ColorEffect.Foreground, color: 7 /* Colors.White */ })} ${printFlags(flags)}`;
57
67
  const baseLine = { level, text };
@@ -60,15 +70,18 @@ function headerLine(level, formatter, name, type, flags) {
60
70
  }
61
71
  return [baseLine];
62
72
  }
73
+ /**
74
+ * Describes a Joi object schema.
75
+ */
63
76
  function describeObject(level, formatter, desc) {
64
- const lines = [];
77
+ let lines = [];
65
78
  if (!('keys' in desc)) {
66
79
  return lines;
67
80
  }
68
81
  for (const key in desc.keys) {
69
82
  // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
70
83
  const keySchema = desc.keys[key];
71
- lines.push(...genericDescription(level + 1, formatter, key, keySchema));
84
+ lines = lines.concat(genericDescription(level + 1, formatter, key, keySchema));
72
85
  }
73
86
  return lines;
74
87
  }
@@ -1,6 +1,6 @@
1
1
  import { DataflowGraph } from '../../dataflow/graph/graph';
2
2
  import { VertexType } from '../../dataflow/graph/vertex';
3
- import type { MergeableRecord } from '../objects';
3
+ import { type MergeableRecord } from '../objects';
4
4
  import type { DeepPartial } from 'ts-essentials';
5
5
  export interface ReduceVertexOptions extends MergeableRecord {
6
6
  tags: VertexType[];
@@ -13,4 +13,7 @@ export interface ReduceVertexOptions extends MergeableRecord {
13
13
  export interface ReduceOptions extends MergeableRecord {
14
14
  vertices: ReduceVertexOptions;
15
15
  }
16
+ /**
17
+ * Produces a reduced version of the given dataflow graph according to the given options.
18
+ */
16
19
  export declare function reduceDfg(dfg: DataflowGraph, options: DeepPartial<ReduceOptions>): DataflowGraph;
@@ -7,7 +7,7 @@ const objects_1 = require("../objects");
7
7
  const assert_1 = require("../assert");
8
8
  const defaultReduceOptions = {
9
9
  vertices: {
10
- tags: [...Object.values(vertex_1.VertexType)],
10
+ tags: Object.values(vertex_1.VertexType),
11
11
  nameRegex: '.*',
12
12
  blacklistWithName: false,
13
13
  keepEnv: false,
@@ -33,6 +33,9 @@ function makeFilter(options, idMap) {
33
33
  };
34
34
  };
35
35
  }
36
+ /**
37
+ * Produces a reduced version of the given dataflow graph according to the given options.
38
+ */
36
39
  function reduceDfg(dfg, options) {
37
40
  const newDfg = new graph_1.DataflowGraph(dfg.idMap);
38
41
  const applyOptions = (0, objects_1.deepMergeObject)(defaultReduceOptions, options);
@@ -24,7 +24,6 @@ export declare abstract class Summarizer<Output, Configuration extends CommonSum
24
24
  /**
25
25
  * First phase of the summary, can be used to extract all data of interest from the individual
26
26
  * benchmark or statistic results. This can write temporary files based on the configuration.
27
- *
28
27
  * @param useTypeClassification - Whether to split the analysis based on the detected type (e.g. 'test', 'example', ...)
29
28
  */
30
29
  abstract preparationPhase(useTypeClassification: boolean): Promise<void>;
@@ -34,6 +33,15 @@ export declare abstract class Summarizer<Output, Configuration extends CommonSum
34
33
  */
35
34
  abstract summarizePhase(): Promise<Output>;
36
35
  }
36
+ /**
37
+ * Converts the summarized measurement to a CSV line.
38
+ */
37
39
  export declare function summarizedMeasurement2Csv(a: SummarizedMeasurement): string;
40
+ /**
41
+ * Generates the CSV header for summarized measurements.
42
+ */
38
43
  export declare function summarizedMeasurement2CsvHeader(prefix?: string): string;
44
+ /**
45
+ * Summarizes the given measurement data.
46
+ */
39
47
  export declare function summarizeMeasurement(data: number[], totalNumberOfDataPoints?: number): SummarizedMeasurement;
@@ -14,13 +14,22 @@ class Summarizer {
14
14
  }
15
15
  }
16
16
  exports.Summarizer = Summarizer;
17
+ /**
18
+ * Converts the summarized measurement to a CSV line.
19
+ */
17
20
  function summarizedMeasurement2Csv(a) {
18
21
  return `${a.min},${a.max},${a.median},${a.mean},${a.std},${a.total}`;
19
22
  }
20
23
  const summarizedKeys = ['min', 'max', 'median', 'mean', 'std', 'total'];
24
+ /**
25
+ * Generates the CSV header for summarized measurements.
26
+ */
21
27
  function summarizedMeasurement2CsvHeader(prefix) {
22
28
  return summarizedKeys.map(k => prefix ? `${prefix}-${k}` : k).join(',');
23
29
  }
30
+ /**
31
+ * Summarizes the given measurement data.
32
+ */
24
33
  function summarizeMeasurement(data, totalNumberOfDataPoints) {
25
34
  // just to avoid in-place modification
26
35
  const sorted = [...data].sort((a, b) => a - b);
@@ -48,4 +48,7 @@ export declare const ansiFormatter: {
48
48
  getFormatString(options?: FormatOptions): string;
49
49
  };
50
50
  export declare let formatter: OutputFormatter;
51
+ /**
52
+ * (Globally) sets the output formatter used by the utility functions in this module.
53
+ */
51
54
  export declare function setFormatter(setFormatter: OutputFormatter): void;
package/util/text/ansi.js CHANGED
@@ -82,6 +82,9 @@ exports.ansiFormatter = {
82
82
  }
83
83
  };
84
84
  exports.formatter = exports.ansiFormatter;
85
+ /**
86
+ * (Globally) sets the output formatter used by the utility functions in this module.
87
+ */
85
88
  function setFormatter(setFormatter) {
86
89
  exports.formatter = setFormatter;
87
90
  }
@@ -1,6 +1,5 @@
1
1
  /**
2
2
  * Just to avoid another library for splitting arguments, we use this module to provide what we need.
3
- *
4
3
  * @module
5
4
  */
6
5
  /**
@@ -10,9 +9,8 @@
10
9
  * this splits the arguments similar to common shell interpreters (i.e., `a`, `b c`, and `d`).
11
10
  *
12
11
  * When escapeQuote is set to false instead, we keep quotation marks in the result (i.e., `a`, `"b c"`, and `d`.).
13
- *
14
12
  * @param inputString - The string to split
15
13
  * @param escapeQuote - Keep quotes in args
16
- * @param split - The **single** character to split on (can not be backslash or quote)
14
+ * @param split - The character or character sequence to split on (can not be backslash or quote!)
17
15
  */
18
- export declare function splitAtEscapeSensitive(inputString: string, escapeQuote?: boolean, split?: string): string[];
16
+ export declare function splitAtEscapeSensitive(inputString: string, escapeQuote?: boolean, split?: RegExp | string): string[];
package/util/text/args.js CHANGED
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  /**
3
3
  * Just to avoid another library for splitting arguments, we use this module to provide what we need.
4
- *
5
4
  * @module
6
5
  */
7
6
  Object.defineProperty(exports, "__esModule", { value: true });
@@ -13,17 +12,18 @@ exports.splitAtEscapeSensitive = splitAtEscapeSensitive;
13
12
  * this splits the arguments similar to common shell interpreters (i.e., `a`, `b c`, and `d`).
14
13
  *
15
14
  * When escapeQuote is set to false instead, we keep quotation marks in the result (i.e., `a`, `"b c"`, and `d`.).
16
- *
17
15
  * @param inputString - The string to split
18
16
  * @param escapeQuote - Keep quotes in args
19
- * @param split - The **single** character to split on (can not be backslash or quote)
17
+ * @param split - The character or character sequence to split on (can not be backslash or quote!)
20
18
  */
21
19
  function splitAtEscapeSensitive(inputString, escapeQuote = true, split = ' ') {
22
20
  const args = [];
23
21
  let current = '';
24
22
  let inQuotes = false;
25
23
  let escaped = false;
26
- for (const c of inputString) {
24
+ for (let i = 0; i < inputString.length; i++) {
25
+ const c = inputString[i];
26
+ const sub = inputString.slice(i);
27
27
  if (escaped) {
28
28
  escaped = false;
29
29
  switch (c) {
@@ -48,7 +48,9 @@ function splitAtEscapeSensitive(inputString, escapeQuote = true, split = ' ') {
48
48
  default: current += c;
49
49
  }
50
50
  }
51
- else if (c === split && !inQuotes && current !== '') {
51
+ else if (!inQuotes
52
+ && current !== ''
53
+ && (split instanceof RegExp ? split.test(sub) : inputString.slice(i, i + split.length) === split)) {
52
54
  args.push(current);
53
55
  current = '';
54
56
  }
@@ -1 +1,5 @@
1
+ /**
2
+ * Returns the nth ordinal representation of the given number.
3
+ * @example `nth(1)` returns '1st'
4
+ */
1
5
  export declare function nth(n: number): string;
package/util/text/text.js CHANGED
@@ -2,6 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.nth = nth;
4
4
  const assert_1 = require("../assert");
5
+ /**
6
+ * Returns the nth ordinal representation of the given number.
7
+ * @example `nth(1)` returns '1st'
8
+ */
5
9
  function nth(n) {
6
10
  (0, assert_1.guard)(isFinite(n) && n >= 1, 'n must be a non-negative number');
7
11
  const num = String(n);
@@ -1,6 +1,5 @@
1
1
  /**
2
2
  * Retrieve a string in the form of "YYYY-MM-DD-HH-MM-SS-MS" from a Date object.
3
- *
4
3
  * @param date - The date to convert, defaults to the current date
5
4
  */
6
5
  export declare function date2string(date?: Date): string;
package/util/text/time.js CHANGED
@@ -4,7 +4,6 @@ exports.date2string = date2string;
4
4
  exports.printAsMs = printAsMs;
5
5
  /**
6
6
  * Retrieve a string in the form of "YYYY-MM-DD-HH-MM-SS-MS" from a Date object.
7
- *
8
7
  * @param date - The date to convert, defaults to the current date
9
8
  */
10
9
  function date2string(date = new Date()) {
package/util/version.d.ts CHANGED
@@ -1,2 +1,28 @@
1
1
  import { SemVer } from 'semver';
2
+ import type { KnownParser } from '../r-bridge/parser';
3
+ import type { ReplOutput } from '../cli/repl/commands/repl-main';
4
+ import type { ReadonlyFlowrAnalysisProvider } from '../project/flowr-analyzer';
5
+ /**
6
+ * Retrieves the current flowR version as a new {@link SemVer} object.
7
+ */
2
8
  export declare function flowrVersion(): SemVer;
9
+ type Version = `${number}.${number}.${number}`;
10
+ /**
11
+ * Describes the version of flowR and the used R interpreter.
12
+ */
13
+ export interface VersionInformation {
14
+ /** The version of flowR */
15
+ flowr: Version;
16
+ /** The version of R identified by the underlying {@link RShell} */
17
+ r: Version | 'unknown' | 'none';
18
+ engine: string;
19
+ }
20
+ /**
21
+ * Retrieves the version information for flowR and the given parser or analysis provider.
22
+ */
23
+ export declare function retrieveVersionInformation(input: KnownParser | ReadonlyFlowrAnalysisProvider): Promise<VersionInformation>;
24
+ /**
25
+ * Displays the version information to the given output.
26
+ */
27
+ export declare function printVersionInformation(output: ReplOutput, input: KnownParser | ReadonlyFlowrAnalysisProvider): Promise<void>;
28
+ export {};