@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.
- package/README.md +131 -30
- package/abstract-interpretation/data-frame/absint-info.d.ts +1 -1
- package/abstract-interpretation/data-frame/absint-visitor.d.ts +2 -3
- package/abstract-interpretation/data-frame/absint-visitor.js +15 -10
- package/abstract-interpretation/data-frame/dataframe-domain.d.ts +18 -12
- package/abstract-interpretation/data-frame/dataframe-domain.js +25 -13
- package/abstract-interpretation/data-frame/mappers/access-mapper.d.ts +0 -1
- package/abstract-interpretation/data-frame/mappers/access-mapper.js +0 -1
- package/abstract-interpretation/data-frame/mappers/arguments.d.ts +1 -10
- package/abstract-interpretation/data-frame/mappers/arguments.js +0 -7
- package/abstract-interpretation/data-frame/mappers/assignment-mapper.d.ts +0 -1
- package/abstract-interpretation/data-frame/mappers/assignment-mapper.js +0 -1
- package/abstract-interpretation/data-frame/mappers/function-mapper.d.ts +4 -5
- package/abstract-interpretation/data-frame/mappers/function-mapper.js +3 -4
- package/abstract-interpretation/data-frame/mappers/replacement-mapper.d.ts +0 -1
- package/abstract-interpretation/data-frame/mappers/replacement-mapper.js +0 -1
- package/abstract-interpretation/data-frame/resolve-args.d.ts +1 -1
- package/abstract-interpretation/data-frame/semantics.d.ts +3 -4
- package/abstract-interpretation/data-frame/semantics.js +171 -162
- package/abstract-interpretation/data-frame/shape-inference.d.ts +1 -4
- package/abstract-interpretation/data-frame/shape-inference.js +7 -9
- package/abstract-interpretation/domains/abstract-domain.d.ts +59 -18
- package/abstract-interpretation/domains/abstract-domain.js +74 -1
- package/abstract-interpretation/domains/bounded-set-domain.d.ts +37 -24
- package/abstract-interpretation/domains/bounded-set-domain.js +70 -47
- package/abstract-interpretation/domains/interval-domain.d.ts +33 -25
- package/abstract-interpretation/domains/interval-domain.js +109 -50
- package/abstract-interpretation/domains/lattice.d.ts +19 -11
- package/abstract-interpretation/domains/mapped-abstract-domain.d.ts +34 -0
- package/abstract-interpretation/domains/mapped-abstract-domain.js +189 -0
- package/abstract-interpretation/domains/positive-interval-domain.d.ts +16 -12
- package/abstract-interpretation/domains/positive-interval-domain.js +20 -11
- package/abstract-interpretation/domains/product-domain.d.ts +18 -23
- package/abstract-interpretation/domains/product-domain.js +11 -19
- package/abstract-interpretation/domains/satisfiable-domain.d.ts +29 -0
- package/abstract-interpretation/domains/satisfiable-domain.js +24 -0
- package/abstract-interpretation/domains/set-upper-bound-domain.d.ts +54 -0
- package/abstract-interpretation/domains/set-upper-bound-domain.js +197 -0
- package/abstract-interpretation/domains/singleton-domain.d.ts +24 -19
- package/abstract-interpretation/domains/singleton-domain.js +52 -37
- package/abstract-interpretation/domains/state-abstract-domain.d.ts +8 -24
- package/abstract-interpretation/domains/state-abstract-domain.js +2 -167
- package/abstract-interpretation/normalized-ast-fold.d.ts +1 -7
- package/abstract-interpretation/normalized-ast-fold.js +0 -5
- package/benchmark/slicer.d.ts +3 -7
- package/benchmark/slicer.js +14 -19
- package/benchmark/stats/print.d.ts +6 -0
- package/benchmark/stats/print.js +6 -0
- package/benchmark/stats/size-of.d.ts +0 -1
- package/benchmark/stats/size-of.js +0 -1
- package/benchmark/stats/stats.d.ts +2 -2
- package/benchmark/stopwatch.d.ts +11 -13
- package/benchmark/stopwatch.js +11 -13
- package/benchmark/summarizer/first-phase/input.d.ts +6 -0
- package/benchmark/summarizer/first-phase/input.js +6 -0
- package/benchmark/summarizer/first-phase/process.d.ts +13 -1
- package/benchmark/summarizer/first-phase/process.js +12 -0
- package/benchmark/summarizer/second-phase/graph.d.ts +3 -0
- package/benchmark/summarizer/second-phase/graph.js +3 -0
- package/benchmark/summarizer/second-phase/process.d.ts +12 -0
- package/benchmark/summarizer/second-phase/process.js +12 -0
- package/benchmark/summarizer/summarizer.d.ts +1 -2
- package/cli/benchmark-app.js +0 -2
- package/cli/common/features.d.ts +7 -1
- package/cli/common/features.js +6 -0
- package/cli/common/script.d.ts +3 -1
- package/cli/common/script.js +3 -1
- package/cli/common/scripts-info.d.ts +3 -1
- package/cli/common/scripts-info.js +3 -0
- package/cli/flowr-main-options.d.ts +3 -0
- package/cli/flowr-main-options.js +3 -0
- package/cli/repl/commands/repl-commands.d.ts +13 -0
- package/cli/repl/commands/repl-commands.js +13 -2
- package/cli/repl/commands/repl-execute.d.ts +4 -0
- package/cli/repl/commands/repl-execute.js +6 -2
- package/cli/repl/commands/repl-main.d.ts +15 -9
- package/cli/repl/commands/repl-parse.js +2 -2
- package/cli/repl/commands/repl-query.js +16 -5
- package/cli/repl/core.d.ts +24 -6
- package/cli/repl/core.js +28 -19
- package/cli/repl/execute.d.ts +0 -2
- package/cli/repl/execute.js +0 -2
- package/cli/repl/parser/slice-query-parser.d.ts +14 -0
- package/cli/repl/parser/slice-query-parser.js +34 -0
- package/cli/repl/print-version.d.ts +6 -0
- package/cli/repl/print-version.js +6 -0
- package/cli/repl/server/compact.d.ts +8 -0
- package/cli/repl/server/compact.js +8 -0
- package/cli/repl/server/connection.d.ts +4 -3
- package/cli/repl/server/connection.js +3 -31
- package/cli/repl/server/messages/all-messages.d.ts +1 -3
- package/cli/repl/server/messages/all-messages.js +0 -1
- package/cli/repl/server/messages/message-analysis.d.ts +0 -2
- package/cli/repl/server/messages/message-query.d.ts +1 -1
- package/cli/repl/server/messages/message-repl.d.ts +0 -1
- package/cli/repl/server/send.d.ts +6 -0
- package/cli/repl/server/send.js +6 -0
- package/cli/repl/server/server.d.ts +1 -1
- package/cli/repl/server/validate.d.ts +10 -1
- package/cli/repl/server/validate.js +9 -0
- package/cli/run-script.d.ts +1 -2
- package/cli/run-script.js +0 -1
- package/cli/script-core/statistics-core.d.ts +3 -0
- package/cli/script-core/statistics-core.js +3 -0
- package/cli/script-core/statistics-helper-core.d.ts +4 -1
- package/cli/script-core/statistics-helper-core.js +3 -0
- package/cli/script-core/summarizer-core.d.ts +3 -0
- package/cli/script-core/summarizer-core.js +3 -0
- package/cli/summarizer-app.d.ts +2 -3
- package/cli/summarizer-app.js +2 -3
- package/config.d.ts +17 -3
- package/config.js +15 -0
- package/control-flow/basic-cfg-guided-visitor.d.ts +1 -2
- package/control-flow/basic-cfg-guided-visitor.js +0 -1
- package/control-flow/cfg-to-basic-blocks.d.ts +1 -1
- package/control-flow/control-flow-graph.d.ts +20 -12
- package/control-flow/control-flow-graph.js +16 -4
- package/control-flow/dfg-cfg-guided-visitor.d.ts +2 -3
- package/control-flow/diff-cfg.d.ts +3 -5
- package/control-flow/diff-cfg.js +0 -1
- package/control-flow/extract-cfg.d.ts +3 -6
- package/control-flow/extract-cfg.js +0 -3
- package/control-flow/happens-before.d.ts +1 -1
- package/control-flow/semantic-cfg-guided-visitor.d.ts +2 -31
- package/control-flow/semantic-cfg-guided-visitor.js +0 -28
- package/control-flow/simple-visitor.d.ts +1 -3
- package/control-flow/simple-visitor.js +0 -2
- package/control-flow/syntax-cfg-guided-visitor.d.ts +1 -2
- package/control-flow/useless-loop.d.ts +0 -3
- package/control-flow/useless-loop.js +2 -5
- package/core/pipeline-executor.d.ts +8 -16
- package/core/pipeline-executor.js +9 -18
- package/core/print/dataflow-printer.d.ts +19 -0
- package/core/print/dataflow-printer.js +19 -0
- package/core/print/normalize-printer.d.ts +21 -1
- package/core/print/normalize-printer.js +20 -0
- package/core/print/parse-printer.d.ts +6 -1
- package/core/print/parse-printer.js +5 -0
- package/core/print/print.d.ts +0 -1
- package/core/print/print.js +0 -1
- package/core/print/slice-diff-ansi.d.ts +3 -0
- package/core/print/slice-diff-ansi.js +3 -0
- package/core/steps/all/core/00-parse.d.ts +1 -1
- package/core/steps/all/core/01-parse-tree-sitter.d.ts +1 -11
- package/core/steps/all/core/10-normalize.d.ts +3 -0
- package/core/steps/all/core/10-normalize.js +3 -0
- package/core/steps/all/core/11-normalize-tree-sitter.d.ts +4 -3
- package/core/steps/pipeline/create-pipeline.d.ts +1 -1
- package/core/steps/pipeline/default-pipelines.d.ts +47 -47
- package/core/steps/pipeline/default-pipelines.js +0 -4
- package/core/steps/pipeline/pipeline.d.ts +1 -8
- package/core/steps/pipeline/pipeline.js +1 -3
- package/core/steps/pipeline-step.d.ts +0 -1
- package/core/steps/pipeline-step.js +0 -1
- package/dataflow/cluster.d.ts +3 -0
- package/dataflow/cluster.js +3 -0
- package/dataflow/environments/append.d.ts +1 -1
- package/dataflow/environments/built-in-config.d.ts +1 -5
- package/dataflow/environments/built-in-config.js +0 -1
- package/dataflow/environments/built-in.d.ts +10 -5
- package/dataflow/environments/built-in.js +6 -1
- package/dataflow/environments/clone.d.ts +1 -1
- package/dataflow/environments/default-builtin-config.d.ts +3 -0
- package/dataflow/environments/default-builtin-config.js +4 -1
- package/dataflow/environments/diff.d.ts +11 -2
- package/dataflow/environments/diff.js +9 -0
- package/dataflow/environments/environment.d.ts +3 -3
- package/dataflow/environments/environment.js +8 -6
- package/dataflow/environments/identifier.d.ts +0 -4
- package/dataflow/environments/identifier.js +0 -1
- package/dataflow/environments/overwrite.d.ts +4 -1
- package/dataflow/environments/overwrite.js +3 -0
- package/dataflow/environments/resolve-by-name.d.ts +4 -4
- package/dataflow/environments/resolve-by-name.js +3 -2
- package/dataflow/environments/scoping.d.ts +4 -1
- package/dataflow/environments/scoping.js +3 -0
- package/dataflow/eval/resolve/alias-tracking.d.ts +4 -10
- package/dataflow/eval/resolve/alias-tracking.js +11 -14
- package/dataflow/eval/resolve/resolve-argument.d.ts +1 -1
- package/dataflow/eval/resolve/resolve.d.ts +1 -7
- package/dataflow/eval/resolve/resolve.js +0 -5
- package/dataflow/eval/values/general.d.ts +1 -3
- package/dataflow/eval/values/general.js +0 -1
- package/dataflow/eval/values/intervals/interval-constants.d.ts +7 -1
- package/dataflow/eval/values/intervals/interval-constants.js +6 -0
- package/dataflow/eval/values/logical/logical-constants.d.ts +4 -1
- package/dataflow/eval/values/logical/logical-constants.js +3 -0
- package/dataflow/eval/values/r-value.d.ts +12 -0
- package/dataflow/eval/values/r-value.js +12 -0
- package/dataflow/eval/values/scalar/scalar-consatnts.d.ts +7 -1
- package/dataflow/eval/values/scalar/scalar-consatnts.js +6 -0
- package/dataflow/eval/values/sets/set-constants.d.ts +7 -2
- package/dataflow/eval/values/sets/set-constants.js +6 -0
- package/dataflow/eval/values/string/string-constants.d.ts +10 -1
- package/dataflow/eval/values/string/string-constants.js +9 -0
- package/dataflow/eval/values/vectors/vector-constants.d.ts +1 -1
- package/dataflow/extractor.d.ts +1 -1
- package/dataflow/graph/dataflowgraph-builder.d.ts +20 -38
- package/dataflow/graph/dataflowgraph-builder.js +6 -23
- package/dataflow/graph/diff-dataflow-graph.d.ts +16 -6
- package/dataflow/graph/diff-dataflow-graph.js +12 -1
- package/dataflow/graph/edge.d.ts +9 -0
- package/dataflow/graph/edge.js +9 -0
- package/dataflow/graph/graph.d.ts +6 -19
- package/dataflow/graph/graph.js +4 -15
- package/dataflow/graph/invert-dfg.d.ts +3 -0
- package/dataflow/graph/invert-dfg.js +3 -0
- package/dataflow/graph/quads.d.ts +1 -1
- package/dataflow/graph/unknown-replacement.d.ts +6 -0
- package/dataflow/graph/unknown-replacement.js +6 -0
- package/dataflow/graph/unknown-side-effect.d.ts +8 -0
- package/dataflow/graph/unknown-side-effect.js +8 -0
- package/dataflow/graph/vertex.d.ts +9 -9
- package/dataflow/graph/vertex.js +9 -1
- package/dataflow/info.d.ts +9 -10
- package/dataflow/info.js +6 -1
- package/dataflow/internal/linker.d.ts +25 -9
- package/dataflow/internal/linker.js +23 -7
- package/dataflow/internal/process/functions/call/argument/make-argument.d.ts +6 -0
- package/dataflow/internal/process/functions/call/argument/make-argument.js +6 -0
- package/dataflow/internal/process/functions/call/argument/unpack-argument.d.ts +1 -1
- package/dataflow/internal/process/functions/call/built-in/built-in-access.d.ts +4 -1
- package/dataflow/internal/process/functions/call/built-in/built-in-access.js +3 -1
- package/dataflow/internal/process/functions/call/built-in/built-in-apply.d.ts +4 -1
- package/dataflow/internal/process/functions/call/built-in/built-in-apply.js +3 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-assignment.d.ts +2 -2
- package/dataflow/internal/process/functions/call/built-in/built-in-eval.d.ts +6 -3
- package/dataflow/internal/process/functions/call/built-in/built-in-eval.js +3 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-expression-list.d.ts +4 -1
- package/dataflow/internal/process/functions/call/built-in/built-in-expression-list.js +3 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-for-loop.d.ts +5 -2
- package/dataflow/internal/process/functions/call/built-in/built-in-for-loop.js +3 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-function-definition.d.ts +10 -4
- package/dataflow/internal/process/functions/call/built-in/built-in-function-definition.js +6 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-get.d.ts +3 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-get.js +3 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-if-then-else.d.ts +5 -2
- package/dataflow/internal/process/functions/call/built-in/built-in-if-then-else.js +4 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-library.d.ts +3 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-library.js +3 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-list.d.ts +1 -1
- package/dataflow/internal/process/functions/call/built-in/built-in-pipe.d.ts +3 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-pipe.js +3 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-quote.d.ts +3 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-quote.js +3 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-repeat-loop.d.ts +5 -2
- package/dataflow/internal/process/functions/call/built-in/built-in-repeat-loop.js +3 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-replacement.d.ts +6 -3
- package/dataflow/internal/process/functions/call/built-in/built-in-replacement.js +3 -1
- package/dataflow/internal/process/functions/call/built-in/built-in-rm.d.ts +4 -1
- package/dataflow/internal/process/functions/call/built-in/built-in-rm.js +3 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-source.d.ts +23 -6
- package/dataflow/internal/process/functions/call/built-in/built-in-source.js +20 -1
- package/dataflow/internal/process/functions/call/built-in/built-in-special-bin-op.d.ts +3 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-special-bin-op.js +3 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-vector.d.ts +1 -1
- package/dataflow/internal/process/functions/call/built-in/built-in-while-loop.d.ts +5 -2
- package/dataflow/internal/process/functions/call/built-in/built-in-while-loop.js +3 -0
- package/dataflow/internal/process/functions/call/common.d.ts +11 -5
- package/dataflow/internal/process/functions/call/common.js +6 -0
- package/dataflow/internal/process/functions/call/default-call-handling.d.ts +3 -0
- package/dataflow/internal/process/functions/call/default-call-handling.js +3 -0
- package/dataflow/internal/process/functions/call/known-call-handling.d.ts +12 -5
- package/dataflow/internal/process/functions/call/known-call-handling.js +7 -0
- package/dataflow/internal/process/functions/call/named-call-handling.d.ts +7 -1
- package/dataflow/internal/process/functions/call/named-call-handling.js +6 -0
- package/dataflow/internal/process/functions/call/unnamed-call-handling.d.ts +4 -1
- package/dataflow/internal/process/functions/call/unnamed-call-handling.js +3 -0
- package/dataflow/internal/process/functions/process-argument.d.ts +8 -2
- package/dataflow/internal/process/functions/process-argument.js +6 -0
- package/dataflow/internal/process/functions/process-parameter.d.ts +5 -2
- package/dataflow/internal/process/functions/process-parameter.js +3 -0
- package/dataflow/internal/process/process-symbol.d.ts +3 -0
- package/dataflow/internal/process/process-symbol.js +3 -0
- package/dataflow/internal/process/process-uninteresting-leaf.d.ts +3 -0
- package/dataflow/internal/process/process-uninteresting-leaf.js +3 -0
- package/dataflow/internal/process/process-value.d.ts +3 -0
- package/dataflow/internal/process/process-value.js +3 -0
- package/dataflow/origin/dfg-get-origin.d.ts +0 -2
- package/dataflow/origin/dfg-get-symbol-refs.d.ts +5 -7
- package/dataflow/origin/dfg-get-symbol-refs.js +6 -8
- package/dataflow/processor.d.ts +0 -1
- package/dataflow/processor.js +0 -1
- package/documentation/data/dfg/doc-data-dfg-util.d.ts +6 -0
- package/documentation/data/dfg/doc-data-dfg-util.js +6 -0
- package/documentation/data/faq/faqs.d.ts +5 -0
- package/documentation/data/faq/faqs.js +78 -0
- package/documentation/data/faq/wiki-faq-store.d.ts +18 -0
- package/documentation/data/faq/wiki-faq-store.js +75 -0
- package/documentation/data/server/doc-data-server-messages.d.ts +3 -0
- package/documentation/data/server/doc-data-server-messages.js +4 -63
- package/documentation/doc-util/doc-auto-gen.d.ts +6 -0
- package/documentation/doc-util/doc-auto-gen.js +6 -0
- package/documentation/doc-util/doc-benchmarks.d.ts +12 -0
- package/documentation/doc-util/doc-benchmarks.js +12 -0
- package/documentation/doc-util/doc-cfg.d.ts +7 -1
- package/documentation/doc-util/doc-cfg.js +9 -0
- package/documentation/doc-util/doc-cli-option.d.ts +9 -0
- package/documentation/doc-util/doc-cli-option.js +9 -0
- package/documentation/doc-util/doc-code.d.ts +24 -0
- package/documentation/doc-util/doc-code.js +24 -0
- package/documentation/doc-util/doc-dfg.d.ts +7 -1
- package/documentation/doc-util/doc-dfg.js +9 -0
- package/documentation/doc-util/doc-env.d.ts +3 -0
- package/documentation/doc-util/doc-env.js +3 -0
- package/documentation/doc-util/doc-escape.d.ts +0 -1
- package/documentation/doc-util/doc-escape.js +0 -1
- package/documentation/doc-util/doc-files.d.ts +11 -0
- package/documentation/doc-util/doc-files.js +15 -4
- package/documentation/doc-util/doc-general.d.ts +6 -0
- package/documentation/doc-util/doc-general.js +6 -0
- package/documentation/doc-util/doc-normalized-ast.d.ts +7 -1
- package/documentation/doc-util/doc-normalized-ast.js +6 -0
- package/documentation/doc-util/doc-query.d.ts +15 -0
- package/documentation/doc-util/doc-query.js +17 -2
- package/documentation/doc-util/doc-repl.d.ts +6 -0
- package/documentation/doc-util/doc-repl.js +6 -0
- package/documentation/doc-util/doc-search.d.ts +15 -0
- package/documentation/doc-util/doc-search.js +17 -2
- package/documentation/doc-util/doc-server-message.d.ts +13 -1
- package/documentation/doc-util/doc-server-message.js +13 -1
- package/documentation/doc-util/doc-structure.d.ts +9 -0
- package/documentation/doc-util/doc-structure.js +10 -1
- package/documentation/doc-util/doc-types.d.ts +42 -0
- package/documentation/doc-util/doc-types.js +42 -0
- package/documentation/print-analyzer-wiki.js +4 -0
- package/documentation/print-core-wiki.d.ts +3 -0
- package/documentation/print-core-wiki.js +5 -2
- package/documentation/print-dataflow-graph-wiki.js +5 -5
- package/documentation/print-faq-wiki.js +3 -75
- package/documentation/print-interface-wiki.js +1 -1
- package/documentation/print-onboarding-wiki.js +1 -1
- package/documentation/print-query-wiki.js +4 -34
- package/documentation/print-readme.js +105 -0
- package/engines.d.ts +1 -1
- package/linter/linter-executor.d.ts +6 -3
- package/linter/linter-executor.js +3 -0
- package/linter/linter-format.d.ts +8 -0
- package/linter/linter-format.js +8 -0
- package/linter/rules/absolute-path.d.ts +3 -4
- package/linter/rules/dataframe-access-validation.d.ts +3 -4
- package/linter/rules/dataframe-access-validation.js +9 -11
- package/linter/rules/dead-code.d.ts +1 -1
- package/linter/rules/deprecated-functions.d.ts +1 -1
- package/linter/rules/file-path-validity.d.ts +1 -2
- package/linter/rules/function-finder-util.d.ts +1 -2
- package/linter/rules/naming-convention.d.ts +13 -2
- package/linter/rules/naming-convention.js +13 -1
- package/linter/rules/network-functions.d.ts +1 -1
- package/linter/rules/seeded-randomness.d.ts +1 -2
- package/linter/rules/unused-definition.d.ts +2 -3
- package/linter/rules/useless-loop.d.ts +1 -2
- package/package.json +2 -2
- package/project/cache/flowr-analyzer-cache.d.ts +2 -9
- package/project/cache/flowr-analyzer-cache.js +0 -6
- package/project/context/flowr-analyzer-context.d.ts +3 -6
- package/project/context/flowr-analyzer-dependencies-context.d.ts +0 -1
- package/project/context/flowr-analyzer-files-context.d.ts +2 -4
- package/project/context/flowr-file.d.ts +0 -1
- package/project/flowr-analyzer-builder.d.ts +1 -3
- package/project/flowr-analyzer-builder.js +5 -6
- package/project/flowr-analyzer.d.ts +34 -25
- package/project/flowr-analyzer.js +10 -11
- package/project/plugins/file-plugins/flowr-analyzer-description-file-plugin.d.ts +1 -1
- package/project/plugins/file-plugins/flowr-description-file.d.ts +1 -3
- package/project/plugins/file-plugins/flowr-description-file.js +0 -1
- package/project/plugins/project-discovery/flowr-analyzer-project-discovery-plugin.d.ts +1 -1
- package/queries/base-query-format.d.ts +2 -2
- package/queries/catalog/call-context-query/call-context-query-executor.d.ts +3 -0
- package/queries/catalog/call-context-query/call-context-query-executor.js +3 -0
- package/queries/catalog/call-context-query/call-context-query-format.d.ts +3 -3
- package/queries/catalog/call-context-query/identify-link-to-last-call-relation.d.ts +11 -2
- package/queries/catalog/call-context-query/identify-link-to-last-call-relation.js +9 -0
- package/queries/catalog/cluster-query/cluster-query-executor.d.ts +3 -0
- package/queries/catalog/cluster-query/cluster-query-executor.js +3 -0
- package/queries/catalog/cluster-query/cluster-query-format.d.ts +1 -1
- package/queries/catalog/config-query/config-query-executor.d.ts +3 -0
- package/queries/catalog/config-query/config-query-executor.js +3 -0
- package/queries/catalog/config-query/config-query-format.d.ts +5 -2
- package/queries/catalog/config-query/config-query-format.js +13 -16
- package/queries/catalog/control-flow-query/control-flow-query-executor.d.ts +3 -0
- package/queries/catalog/control-flow-query/control-flow-query-executor.js +3 -0
- package/queries/catalog/control-flow-query/control-flow-query-format.d.ts +3 -3
- package/queries/catalog/dataflow-lens-query/dataflow-lens-query-executor.d.ts +3 -0
- package/queries/catalog/dataflow-lens-query/dataflow-lens-query-executor.js +3 -0
- package/queries/catalog/dataflow-lens-query/dataflow-lens-query-format.d.ts +1 -1
- package/queries/catalog/dataflow-query/dataflow-query-executor.d.ts +3 -0
- package/queries/catalog/dataflow-query/dataflow-query-executor.js +3 -0
- package/queries/catalog/dataflow-query/dataflow-query-format.d.ts +1 -1
- package/queries/catalog/dependencies-query/dependencies-query-executor.d.ts +4 -1
- package/queries/catalog/dependencies-query/dependencies-query-executor.js +7 -4
- package/queries/catalog/dependencies-query/dependencies-query-format.d.ts +4 -1
- package/queries/catalog/dependencies-query/dependencies-query-format.js +4 -1
- package/queries/catalog/df-shape-query/df-shape-query-executor.d.ts +4 -1
- package/queries/catalog/df-shape-query/df-shape-query-executor.js +8 -4
- package/queries/catalog/df-shape-query/df-shape-query-format.d.ts +10 -3
- package/queries/catalog/df-shape-query/df-shape-query-format.js +24 -5
- package/queries/catalog/happens-before-query/happens-before-query-executor.d.ts +3 -0
- package/queries/catalog/happens-before-query/happens-before-query-executor.js +3 -0
- package/queries/catalog/happens-before-query/happens-before-query-format.d.ts +1 -1
- package/queries/catalog/id-map-query/id-map-query-executor.d.ts +3 -0
- package/queries/catalog/id-map-query/id-map-query-executor.js +3 -0
- package/queries/catalog/id-map-query/id-map-query-format.d.ts +1 -1
- package/queries/catalog/inspect-higher-order-query/inspect-higher-order-query-executor.d.ts +3 -0
- package/queries/catalog/inspect-higher-order-query/inspect-higher-order-query-executor.js +3 -0
- package/queries/catalog/inspect-higher-order-query/inspect-higher-order-query-format.d.ts +2 -2
- package/queries/catalog/linter-query/linter-query-executor.d.ts +4 -0
- package/queries/catalog/linter-query/linter-query-executor.js +4 -0
- package/queries/catalog/linter-query/linter-query-format.d.ts +12 -3
- package/queries/catalog/linter-query/linter-query-format.js +67 -0
- package/queries/catalog/location-map-query/location-map-query-executor.d.ts +4 -0
- package/queries/catalog/location-map-query/location-map-query-executor.js +5 -1
- package/queries/catalog/location-map-query/location-map-query-format.d.ts +7 -1
- package/queries/catalog/location-map-query/location-map-query-format.js +12 -0
- package/queries/catalog/normalized-ast-query/normalized-ast-query-executor.d.ts +3 -0
- package/queries/catalog/normalized-ast-query/normalized-ast-query-executor.js +3 -0
- package/queries/catalog/normalized-ast-query/normalized-ast-query-format.d.ts +1 -1
- package/queries/catalog/origin-query/origin-query-executor.d.ts +7 -1
- package/queries/catalog/origin-query/origin-query-executor.js +6 -0
- package/queries/catalog/origin-query/origin-query-format.d.ts +7 -1
- package/queries/catalog/origin-query/origin-query-format.js +17 -1
- package/queries/catalog/project-query/project-query-executor.d.ts +3 -0
- package/queries/catalog/project-query/project-query-executor.js +3 -0
- package/queries/catalog/project-query/project-query-format.d.ts +1 -1
- package/queries/catalog/resolve-value-query/resolve-value-query-executor.d.ts +6 -0
- package/queries/catalog/resolve-value-query/resolve-value-query-executor.js +6 -0
- package/queries/catalog/resolve-value-query/resolve-value-query-format.d.ts +7 -1
- package/queries/catalog/resolve-value-query/resolve-value-query-format.js +19 -1
- package/queries/catalog/search-query/search-query-executor.d.ts +3 -0
- package/queries/catalog/search-query/search-query-executor.js +3 -0
- package/queries/catalog/search-query/search-query-format.d.ts +1 -1
- package/queries/catalog/static-slice-query/static-slice-query-executor.d.ts +9 -0
- package/queries/catalog/static-slice-query/static-slice-query-executor.js +9 -0
- package/queries/catalog/static-slice-query/static-slice-query-format.d.ts +7 -1
- package/queries/catalog/static-slice-query/static-slice-query-format.js +17 -0
- package/queries/query-print.d.ts +20 -4
- package/queries/query-print.js +18 -2
- package/queries/query.d.ts +85 -55
- package/queries/query.js +35 -23
- package/queries/virtual-query/virtual-queries.d.ts +1 -2
- package/r-bridge/data/get.d.ts +6 -0
- package/r-bridge/data/get.js +6 -0
- package/r-bridge/lang-4.x/ast/model/collect.d.ts +0 -1
- package/r-bridge/lang-4.x/ast/model/collect.js +0 -1
- package/r-bridge/lang-4.x/ast/model/model.d.ts +8 -11
- package/r-bridge/lang-4.x/ast/model/nodes/r-function-call.d.ts +0 -2
- package/r-bridge/lang-4.x/ast/model/nodes/r-number.d.ts +3 -0
- package/r-bridge/lang-4.x/ast/model/nodes/r-number.js +3 -0
- package/r-bridge/lang-4.x/ast/model/nodes/r-string.d.ts +3 -0
- package/r-bridge/lang-4.x/ast/model/nodes/r-string.js +3 -0
- package/r-bridge/lang-4.x/ast/model/nodes/r-symbol.d.ts +3 -0
- package/r-bridge/lang-4.x/ast/model/nodes/r-symbol.js +3 -0
- package/r-bridge/lang-4.x/ast/model/operators.d.ts +0 -1
- package/r-bridge/lang-4.x/ast/model/processing/decorate.d.ts +6 -7
- package/r-bridge/lang-4.x/ast/model/processing/decorate.js +6 -6
- package/r-bridge/lang-4.x/ast/model/processing/fold.d.ts +1 -1
- package/r-bridge/lang-4.x/ast/model/processing/node-id.d.ts +0 -1
- package/r-bridge/lang-4.x/ast/model/processing/node-id.js +0 -1
- package/r-bridge/lang-4.x/ast/model/processing/role.d.ts +0 -1
- package/r-bridge/lang-4.x/ast/model/processing/stateful-fold.d.ts +1 -2
- package/r-bridge/lang-4.x/ast/model/processing/visitor.d.ts +0 -1
- package/r-bridge/lang-4.x/ast/model/processing/visitor.js +0 -1
- package/r-bridge/lang-4.x/ast/model/type.d.ts +4 -5
- package/r-bridge/lang-4.x/ast/model/type.js +4 -5
- package/r-bridge/lang-4.x/ast/model/versions.d.ts +0 -1
- package/r-bridge/lang-4.x/ast/model/versions.js +0 -1
- package/r-bridge/lang-4.x/ast/parser/json/parser.d.ts +4 -5
- package/r-bridge/lang-4.x/ast/parser/json/parser.js +0 -1
- package/r-bridge/lang-4.x/ast/parser/main/internal/control/normalize-if-then.d.ts +1 -1
- package/r-bridge/lang-4.x/ast/parser/main/internal/expression/normalize-expression.d.ts +0 -1
- package/r-bridge/lang-4.x/ast/parser/main/internal/expression/normalize-expression.js +0 -1
- package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-argument.d.ts +0 -2
- package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-argument.js +0 -2
- package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-call.d.ts +1 -3
- package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-call.js +0 -2
- package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-definition.d.ts +0 -2
- package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-definition.js +0 -2
- package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-parameter.d.ts +0 -2
- package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-parameter.js +0 -2
- package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-break.d.ts +3 -0
- package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-break.js +3 -0
- package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-for.d.ts +4 -1
- package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-for.js +3 -0
- package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-next.d.ts +3 -0
- package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-next.js +3 -0
- package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-repeat.d.ts +0 -2
- package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-repeat.js +0 -2
- package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-while.d.ts +4 -1
- package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-while.js +3 -0
- package/r-bridge/lang-4.x/ast/parser/main/internal/normalize-access.d.ts +0 -2
- package/r-bridge/lang-4.x/ast/parser/main/internal/normalize-access.js +0 -2
- package/r-bridge/lang-4.x/ast/parser/main/internal/operators/normalize-binary.d.ts +1 -1
- package/r-bridge/lang-4.x/ast/parser/main/internal/operators/normalize-unary.d.ts +0 -2
- package/r-bridge/lang-4.x/ast/parser/main/internal/operators/normalize-unary.js +0 -2
- package/r-bridge/lang-4.x/ast/parser/main/internal/other/normalize-comment.d.ts +0 -1
- package/r-bridge/lang-4.x/ast/parser/main/internal/other/normalize-comment.js +0 -1
- package/r-bridge/lang-4.x/ast/parser/main/internal/other/normalize-line-directive.d.ts +0 -1
- package/r-bridge/lang-4.x/ast/parser/main/internal/other/normalize-line-directive.js +0 -1
- package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-delimiter.d.ts +3 -0
- package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-delimiter.js +3 -0
- package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-expressions.d.ts +9 -0
- package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-expressions.js +9 -0
- package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-single-node.d.ts +1 -3
- package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-single-node.js +0 -2
- package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-number.d.ts +1 -2
- package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-number.js +0 -1
- package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-string.d.ts +0 -1
- package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-string.js +0 -1
- package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-symbol.d.ts +0 -2
- package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-symbol.js +0 -2
- package/r-bridge/lang-4.x/ast/parser/main/normalize-meta.d.ts +14 -5
- package/r-bridge/lang-4.x/ast/parser/main/normalize-meta.js +13 -6
- package/r-bridge/lang-4.x/convert-values.d.ts +12 -1
- package/r-bridge/lang-4.x/convert-values.js +12 -1
- package/r-bridge/lang-4.x/tree-sitter/tree-sitter-executor.d.ts +7 -2
- package/r-bridge/lang-4.x/tree-sitter/tree-sitter-executor.js +17 -0
- package/r-bridge/lang-4.x/tree-sitter/tree-sitter-normalize.d.ts +13 -1
- package/r-bridge/lang-4.x/tree-sitter/tree-sitter-normalize.js +48 -19
- package/r-bridge/parser.d.ts +28 -7
- package/r-bridge/retriever.d.ts +16 -1
- package/r-bridge/retriever.js +15 -0
- package/r-bridge/shell-executor.d.ts +3 -3
- package/r-bridge/shell-executor.js +6 -1
- package/r-bridge/shell.d.ts +24 -23
- package/r-bridge/shell.js +37 -31
- package/reconstruct/auto-select/auto-select-defaults.d.ts +0 -1
- package/reconstruct/auto-select/magic-comments.d.ts +1 -2
- package/reconstruct/auto-select/magic-comments.js +1 -2
- package/reconstruct/reconstruct.d.ts +1 -3
- package/reconstruct/reconstruct.js +0 -2
- package/search/flowr-search-builder.d.ts +12 -5
- package/search/flowr-search-builder.js +7 -2
- package/search/flowr-search-executor.d.ts +3 -3
- package/search/flowr-search-filters.d.ts +14 -1
- package/search/flowr-search-filters.js +13 -0
- package/search/flowr-search-printer.d.ts +6 -0
- package/search/flowr-search-printer.js +6 -0
- package/search/flowr-search-traverse.d.ts +1 -1
- package/search/flowr-search.d.ts +3 -3
- package/search/search-executor/search-enrichers.d.ts +9 -6
- package/search/search-executor/search-enrichers.js +3 -0
- package/search/search-executor/search-generators.d.ts +19 -10
- package/search/search-executor/search-generators.js +49 -2
- package/search/search-executor/search-mappers.d.ts +8 -5
- package/search/search-executor/search-mappers.js +3 -0
- package/search/search-executor/search-transformer.d.ts +19 -16
- package/search/search-executor/search-transformer.js +3 -0
- package/slicing/criterion/collect-all.d.ts +10 -10
- package/slicing/criterion/parse.d.ts +4 -2
- package/slicing/criterion/parse.js +4 -2
- package/slicing/static/fingerprint.d.ts +9 -1
- package/slicing/static/fingerprint.js +8 -0
- package/slicing/static/slice-call.d.ts +2 -2
- package/slicing/static/static-slicer.d.ts +8 -4
- package/slicing/static/static-slicer.js +5 -1
- package/slicing/static/visiting-queue.d.ts +1 -1
- package/statistics/features/common-syntax-probability.d.ts +10 -1
- package/statistics/features/common-syntax-probability.js +9 -0
- package/statistics/features/feature.d.ts +0 -4
- package/statistics/features/feature.js +0 -1
- package/statistics/features/post-processing.d.ts +6 -0
- package/statistics/features/post-processing.js +6 -0
- package/statistics/features/supported/assignments/post-process.d.ts +3 -0
- package/statistics/features/supported/assignments/post-process.js +3 -0
- package/statistics/features/supported/comments/post-process.d.ts +3 -0
- package/statistics/features/supported/comments/post-process.js +3 -0
- package/statistics/features/supported/control-flow/post-process.d.ts +3 -0
- package/statistics/features/supported/control-flow/post-process.js +3 -0
- package/statistics/features/supported/data-access/data-access.d.ts +1 -1
- package/statistics/features/supported/data-access/post-process.d.ts +3 -0
- package/statistics/features/supported/data-access/post-process.js +3 -0
- package/statistics/features/supported/defined-functions/defined-functions.d.ts +1 -1
- package/statistics/features/supported/expression-list/post-process.d.ts +3 -0
- package/statistics/features/supported/expression-list/post-process.js +3 -0
- package/statistics/features/supported/loops/post-process.d.ts +3 -0
- package/statistics/features/supported/loops/post-process.js +3 -0
- package/statistics/features/supported/used-functions/used-functions.d.ts +1 -1
- package/statistics/features/supported/used-packages/post-process.d.ts +3 -0
- package/statistics/features/supported/used-packages/post-process.js +3 -0
- package/statistics/features/supported/values/post-process.d.ts +3 -0
- package/statistics/features/supported/values/post-process.js +3 -0
- package/statistics/features/supported/variables/post-process.d.ts +7 -1
- package/statistics/features/supported/variables/post-process.js +6 -0
- package/statistics/meta-statistics.d.ts +8 -9
- package/statistics/output/file-provider.d.ts +5 -6
- package/statistics/output/file-provider.js +5 -6
- package/statistics/output/print-stats.d.ts +13 -1
- package/statistics/output/print-stats.js +12 -0
- package/statistics/output/statistics-file.d.ts +1 -2
- package/statistics/output/statistics-file.js +0 -1
- package/statistics/statistics.d.ts +3 -4
- package/statistics/statistics.js +1 -2
- package/statistics/summarizer/auto-detect.d.ts +3 -0
- package/statistics/summarizer/auto-detect.js +3 -0
- package/statistics/summarizer/post-process/clusterer.d.ts +3 -4
- package/statistics/summarizer/post-process/clusterer.js +0 -2
- package/statistics/summarizer/post-process/file-based-count.d.ts +0 -1
- package/statistics/summarizer/post-process/file-based-count.js +0 -1
- package/statistics/summarizer/post-process/histogram.d.ts +0 -2
- package/statistics/summarizer/post-process/histogram.js +0 -2
- package/statistics/summarizer/post-process/post-process-output.d.ts +2 -4
- package/statistics/summarizer/post-process/post-process-output.js +0 -3
- package/statistics/summarizer/second-phase/process.d.ts +5 -3
- package/statistics/summarizer/second-phase/process.js +3 -1
- package/statistics/summarizer/summarizer.d.ts +1 -2
- package/util/assert.d.ts +52 -2
- package/util/assert.js +52 -2
- package/util/collections/arrays.d.ts +10 -5
- package/util/collections/arrays.js +10 -5
- package/util/collections/defaultmap.d.ts +11 -11
- package/util/collections/defaultmap.js +11 -11
- package/util/containers.d.ts +2 -7
- package/util/containers.js +0 -5
- package/util/diff-graph.d.ts +0 -1
- package/util/diff-graph.js +0 -1
- package/util/diff.d.ts +3 -1
- package/util/diff.js +3 -1
- package/util/files.d.ts +11 -11
- package/util/files.js +10 -10
- package/util/formats/adapter.d.ts +9 -0
- package/util/formats/adapter.js +9 -0
- package/util/formats/adapters/rmd-adapter.d.ts +10 -1
- package/util/formats/adapters/rmd-adapter.js +10 -1
- package/util/html-hover-over.d.ts +5 -0
- package/util/html-hover-over.js +5 -0
- package/util/json.d.ts +13 -0
- package/util/json.js +13 -0
- package/util/log.d.ts +2 -2
- package/util/log.js +2 -2
- package/util/mermaid/ast.d.ts +3 -0
- package/util/mermaid/ast.js +3 -0
- package/util/mermaid/cfg.d.ts +1 -1
- package/util/mermaid/dfg.d.ts +12 -4
- package/util/mermaid/dfg.js +9 -1
- package/util/mermaid/mermaid.d.ts +6 -1
- package/util/mermaid/mermaid.js +6 -1
- package/util/numbers.d.ts +7 -0
- package/util/numbers.js +7 -0
- package/util/objects.d.ts +0 -2
- package/util/os.d.ts +3 -0
- package/util/os.js +3 -0
- package/util/parallel.d.ts +4 -4
- package/util/parallel.js +4 -4
- package/util/prefix.d.ts +0 -1
- package/util/prefix.js +0 -1
- package/util/quads.d.ts +14 -17
- package/util/quads.js +3 -5
- package/util/r-value.d.ts +10 -1
- package/util/r-value.js +21 -0
- package/util/random.d.ts +3 -0
- package/util/random.js +3 -0
- package/util/range.d.ts +9 -3
- package/util/range.js +15 -2
- package/util/schema.d.ts +14 -1
- package/util/schema.js +15 -2
- package/util/simple-df/dfg-view.d.ts +4 -1
- package/util/simple-df/dfg-view.js +4 -1
- package/util/summarizer.d.ts +9 -1
- package/util/summarizer.js +9 -0
- package/util/text/ansi.d.ts +3 -0
- package/util/text/ansi.js +3 -0
- package/util/text/args.d.ts +2 -4
- package/util/text/args.js +7 -5
- package/util/text/text.d.ts +4 -0
- package/util/text/text.js +4 -0
- package/util/text/time.d.ts +0 -1
- package/util/text/time.js +0 -1
- package/util/version.d.ts +12 -3
- package/util/version.js +12 -3
- package/abstract-interpretation/data-frame/domain.d.ts +0 -107
- package/abstract-interpretation/data-frame/domain.js +0 -315
- package/abstract-interpretation/domains/set-bounded-set-domain.d.ts +0 -43
- package/abstract-interpretation/domains/set-bounded-set-domain.js +0 -164
- package/cli/repl/commands/repl-lineage.d.ts +0 -15
- package/cli/repl/commands/repl-lineage.js +0 -66
- package/cli/repl/server/messages/message-lineage.d.ts +0 -17
- package/cli/repl/server/messages/message-lineage.js +0 -25
- package/queries/catalog/lineage-query/lineage-query-executor.d.ts +0 -3
- package/queries/catalog/lineage-query/lineage-query-executor.js +0 -22
- package/queries/catalog/lineage-query/lineage-query-format.d.ts +0 -22
- package/queries/catalog/lineage-query/lineage-query-format.js +0 -31
package/util/files.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
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 ≤ `limit`, is ≥ `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 (≤ 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 ≤ `limit`, is ≥ `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 (≤ 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;
|
package/util/formats/adapter.js
CHANGED
|
@@ -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
|
|
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
|
? ''
|
package/util/html-hover-over.js
CHANGED
|
@@ -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
|
-
|
|
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
package/util/mermaid/ast.d.ts
CHANGED
|
@@ -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.
|
package/util/mermaid/ast.js
CHANGED
|
@@ -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) {
|
package/util/mermaid/cfg.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { NormalizedAst } from '../../r-bridge/lang-4.x/ast/model/processing/decorate';
|
|
2
|
-
import type
|
|
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.
|
package/util/mermaid/dfg.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { SourceRange } from '../range';
|
|
2
|
-
import type
|
|
3
|
-
import type
|
|
4
|
-
import type
|
|
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 {};
|
package/util/mermaid/dfg.js
CHANGED
|
@@ -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
|
*/
|
package/util/mermaid/mermaid.js
CHANGED
|
@@ -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
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;
|
package/util/parallel.d.ts
CHANGED
|
@@ -15,10 +15,10 @@ export declare class LimitedThreadPool {
|
|
|
15
15
|
private reportingInterval;
|
|
16
16
|
private readonly timeLimitInMs;
|
|
17
17
|
/**
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
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
|
-
|
|
62
|
-
|
|
63
|
-
|
|
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
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'
|