@eagleoutice/flowr 2.6.1 → 2.6.3
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 +142 -39
- 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 +17 -12
- 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 +9 -10
- package/abstract-interpretation/data-frame/mappers/function-mapper.js +21 -18
- 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 +179 -162
- package/abstract-interpretation/data-frame/shape-inference.d.ts +4 -7
- package/abstract-interpretation/data-frame/shape-inference.js +10 -12
- 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 +2 -8
- package/abstract-interpretation/normalized-ast-fold.js +0 -5
- package/benchmark/slicer.d.ts +4 -7
- package/benchmark/slicer.js +27 -31
- 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 +13 -1
- package/benchmark/summarizer/second-phase/graph.d.ts +5 -0
- package/benchmark/summarizer/second-phase/graph.js +5 -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/export-quads-app.js +1 -1
- 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-dataflow.js +2 -1
- 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 +18 -6
- package/cli/repl/commands/repl-query.js +16 -5
- package/cli/repl/core.d.ts +24 -6
- package/cli/repl/core.js +42 -30
- 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 +5 -32
- 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 +5 -1
- package/cli/script-core/summarizer-core.d.ts +3 -0
- package/cli/script-core/summarizer-core.js +3 -0
- package/cli/slicer-app.js +3 -4
- package/cli/summarizer-app.d.ts +2 -3
- package/cli/summarizer-app.js +2 -3
- package/cli/wiki.d.ts +4 -0
- package/cli/wiki.js +165 -0
- package/config.d.ts +21 -3
- package/config.js +21 -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-dead-code.js +13 -3
- package/control-flow/cfg-simplification.d.ts +5 -2
- package/control-flow/cfg-simplification.js +3 -0
- 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 +12 -9
- package/control-flow/extract-cfg.js +44 -7
- package/control-flow/happens-before.d.ts +1 -1
- package/control-flow/semantic-cfg-guided-visitor.d.ts +4 -33
- 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 +2 -4
- package/control-flow/syntax-cfg-guided-visitor.d.ts +1 -2
- package/control-flow/useless-loop.d.ts +3 -6
- package/control-flow/useless-loop.js +16 -10
- package/core/pipeline-executor.d.ts +11 -22
- package/core/pipeline-executor.js +13 -25
- 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 +21 -1
- 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 +2 -2
- package/core/steps/all/core/00-parse.js +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 -6
- package/core/steps/all/core/10-normalize.js +1 -13
- package/core/steps/all/core/11-normalize-tree-sitter.d.ts +5 -5
- package/core/steps/all/core/11-normalize-tree-sitter.js +2 -3
- package/core/steps/all/core/20-dataflow.d.ts +3 -4
- package/core/steps/all/core/20-dataflow.js +2 -2
- package/core/steps/all/static-slicing/00-slice.d.ts +1 -2
- package/core/steps/all/static-slicing/00-slice.js +1 -1
- package/core/steps/all/static-slicing/10-reconstruct.d.ts +8 -0
- package/core/steps/all/static-slicing/10-reconstruct.js +4 -1
- package/core/steps/pipeline/create-pipeline.d.ts +1 -1
- package/core/steps/pipeline/default-pipelines.d.ts +94 -95
- package/core/steps/pipeline/default-pipelines.js +8 -12
- 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 -2
- package/dataflow/environments/clone.js +12 -2
- 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 +11 -2
- 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 +1 -2
- package/dataflow/environments/overwrite.js +3 -16
- 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 +9 -2
- package/dataflow/environments/scoping.js +8 -1
- 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-argument.js +2 -2
- 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 +16 -1
- package/dataflow/eval/values/string/string-constants.js +15 -0
- package/dataflow/eval/values/vectors/vector-constants.d.ts +1 -1
- package/dataflow/extractor.d.ts +3 -4
- package/dataflow/extractor.js +25 -22
- 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 +9 -28
- package/dataflow/graph/graph.js +4 -28
- 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 +8 -0
- package/dataflow/graph/unknown-replacement.js +8 -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 +16 -10
- package/dataflow/info.js +27 -1
- package/dataflow/internal/linker.d.ts +25 -9
- package/dataflow/internal/linker.js +30 -11
- package/dataflow/internal/process/functions/call/argument/make-argument.d.ts +6 -0
- package/dataflow/internal/process/functions/call/argument/make-argument.js +6 -1
- 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 +6 -4
- 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 +4 -1
- 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-assignment.js +4 -4
- 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 +9 -6
- 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 +4 -1
- 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 +4 -1
- 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 +7 -1
- 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 +5 -1
- 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-list.js +2 -2
- 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 +6 -3
- 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 +10 -2
- package/dataflow/internal/process/functions/call/built-in/built-in-repeat-loop.js +8 -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 +5 -3
- 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 +34 -12
- package/dataflow/internal/process/functions/call/built-in/built-in-source.js +90 -68
- package/dataflow/internal/process/functions/call/built-in/built-in-special-bin-op.d.ts +5 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-special-bin-op.js +5 -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-vector.js +2 -2
- 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 +4 -1
- package/dataflow/internal/process/functions/call/common.d.ts +11 -5
- package/dataflow/internal/process/functions/call/common.js +9 -3
- package/dataflow/internal/process/functions/call/default-call-handling.d.ts +5 -0
- package/dataflow/internal/process/functions/call/default-call-handling.js +5 -0
- package/dataflow/internal/process/functions/call/known-call-handling.d.ts +12 -5
- package/dataflow/internal/process/functions/call/known-call-handling.js +10 -3
- package/dataflow/internal/process/functions/call/named-call-handling.d.ts +7 -1
- package/dataflow/internal/process/functions/call/named-call-handling.js +10 -4
- 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 +7 -4
- 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 +6 -8
- package/dataflow/origin/dfg-get-symbol-refs.js +7 -9
- package/dataflow/processor.d.ts +6 -12
- package/dataflow/processor.js +0 -1
- package/documentation/data/dfg/doc-data-dfg-util.d.ts +6 -2
- 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 +87 -0
- package/documentation/data/faq/recommended-configs.d.ts +36 -0
- package/documentation/data/faq/recommended-configs.js +40 -0
- package/documentation/data/faq/wiki-faq-store.d.ts +19 -0
- package/documentation/data/faq/wiki-faq-store.js +83 -0
- package/documentation/data/server/doc-data-server-messages.d.ts +3 -0
- package/documentation/data/server/doc-data-server-messages.js +5 -64
- package/documentation/doc-capabilities.d.ts +9 -0
- package/documentation/{print-capabilities-markdown.js → doc-capabilities.js} +18 -21
- package/documentation/doc-readme.d.ts +9 -0
- package/documentation/{print-readme.js → doc-readme.js} +136 -35
- 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 +14 -0
- package/documentation/doc-util/doc-benchmarks.js +14 -0
- package/documentation/doc-util/doc-cfg.d.ts +7 -1
- package/documentation/doc-util/doc-cfg.js +14 -8
- 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 +12 -6
- package/documentation/doc-util/doc-dfg.js +19 -10
- 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 +6 -1
- package/documentation/doc-util/doc-escape.js +11 -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 +26 -0
- package/documentation/doc-util/doc-general.js +26 -0
- package/documentation/doc-util/doc-normalized-ast.d.ts +14 -3
- package/documentation/doc-util/doc-normalized-ast.js +16 -7
- package/documentation/doc-util/doc-query.d.ts +26 -3
- package/documentation/doc-util/doc-query.js +34 -12
- 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 +3 -18
- package/documentation/doc-util/doc-search.js +6 -62
- package/documentation/doc-util/doc-server-message.d.ts +18 -6
- package/documentation/doc-util/doc-server-message.js +17 -5
- 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 +90 -11
- package/documentation/doc-util/doc-types.js +128 -39
- package/documentation/index.d.ts +9 -9
- package/documentation/index.js +9 -9
- package/documentation/issue-linting-rule.d.ts +9 -0
- package/documentation/{print-linter-issue.js → issue-linting-rule.js} +20 -23
- package/documentation/wiki-analyzer.d.ts +9 -0
- package/documentation/wiki-analyzer.js +412 -0
- package/documentation/wiki-cfg.d.ts +9 -0
- package/documentation/{print-cfg-wiki.js → wiki-cfg.js} +144 -160
- package/documentation/wiki-core.d.ts +14 -0
- package/documentation/{print-core-wiki.js → wiki-core.js} +167 -175
- package/documentation/wiki-dataflow-graph.d.ts +9 -0
- package/documentation/{print-dataflow-graph-wiki.js → wiki-dataflow-graph.js} +145 -175
- package/documentation/wiki-engine.d.ts +9 -0
- package/documentation/{print-engines-wiki.js → wiki-engine.js} +27 -42
- package/documentation/wiki-faq.d.ts +8 -0
- package/documentation/wiki-faq.js +22 -0
- package/documentation/wiki-interface.d.ts +9 -0
- package/documentation/{print-interface-wiki.js → wiki-interface.js} +60 -57
- package/documentation/wiki-linter.d.ts +9 -0
- package/documentation/{print-linter-wiki.js → wiki-linter.js} +52 -48
- package/documentation/wiki-linting-and-testing.d.ts +9 -0
- package/documentation/{print-linting-and-testing-wiki.js → wiki-linting-and-testing.js} +25 -32
- package/documentation/wiki-mk/doc-context.d.ts +186 -0
- package/documentation/wiki-mk/doc-context.js +84 -0
- package/documentation/wiki-mk/doc-maker.d.ts +95 -0
- package/documentation/wiki-mk/doc-maker.js +133 -0
- package/documentation/wiki-normalized-ast.d.ts +9 -0
- package/documentation/{print-normalized-ast-wiki.js → wiki-normalized-ast.js} +64 -47
- package/documentation/wiki-onboarding.d.ts +8 -0
- package/documentation/{print-onboarding-wiki.js → wiki-onboarding.js} +18 -15
- package/documentation/wiki-query.d.ts +9 -0
- package/documentation/{print-query-wiki.js → wiki-query.js} +65 -80
- package/documentation/wiki-search.d.ts +9 -0
- package/documentation/wiki-search.js +61 -0
- package/engines.d.ts +1 -1
- package/linter/linter-executor.d.ts +6 -3
- package/linter/linter-executor.js +6 -2
- package/linter/linter-format.d.ts +10 -2
- package/linter/linter-format.js +8 -0
- package/linter/linter-rules.d.ts +13 -17
- package/linter/rules/absolute-path.d.ts +4 -6
- package/linter/rules/absolute-path.js +2 -2
- package/linter/rules/dataframe-access-validation.d.ts +4 -5
- package/linter/rules/dataframe-access-validation.js +21 -19
- package/linter/rules/dead-code.d.ts +2 -2
- package/linter/rules/deprecated-functions.d.ts +2 -6
- package/linter/rules/file-path-validity.d.ts +2 -3
- package/linter/rules/file-path-validity.js +4 -4
- package/linter/rules/function-finder-util.d.ts +2 -7
- package/linter/rules/naming-convention.d.ts +15 -4
- package/linter/rules/naming-convention.js +14 -2
- package/linter/rules/network-functions.d.ts +2 -2
- package/linter/rules/network-functions.js +1 -1
- package/linter/rules/seeded-randomness.d.ts +4 -4
- package/linter/rules/seeded-randomness.js +33 -13
- package/linter/rules/unused-definition.d.ts +3 -4
- package/linter/rules/useless-loop.d.ts +3 -4
- package/linter/rules/useless-loop.js +2 -2
- package/package.json +7 -18
- package/project/cache/flowr-analyzer-cache.d.ts +9 -19
- package/project/cache/flowr-analyzer-cache.js +17 -44
- package/project/cache/flowr-analyzer-controlflow-cache.d.ts +34 -0
- package/project/cache/flowr-analyzer-controlflow-cache.js +79 -0
- package/project/context/flowr-analyzer-context.d.ts +31 -9
- package/project/context/flowr-analyzer-context.js +48 -4
- package/project/context/flowr-analyzer-dependencies-context.d.ts +0 -1
- package/project/context/flowr-analyzer-files-context.d.ts +63 -15
- package/project/context/flowr-analyzer-files-context.js +110 -39
- package/project/context/flowr-file.d.ts +32 -11
- package/project/context/flowr-file.js +30 -9
- package/project/flowr-analyzer-builder.d.ts +23 -31
- package/project/flowr-analyzer-builder.js +35 -74
- package/project/flowr-analyzer.d.ts +79 -29
- package/project/flowr-analyzer.js +59 -15
- package/project/plugins/file-plugins/flowr-analyzer-description-file-plugin.d.ts +8 -2
- package/project/plugins/file-plugins/flowr-analyzer-description-file-plugin.js +13 -5
- package/project/plugins/file-plugins/flowr-analyzer-file-plugin.d.ts +3 -3
- package/project/plugins/file-plugins/flowr-analyzer-file-plugin.js +11 -5
- package/project/plugins/file-plugins/flowr-description-file.d.ts +3 -5
- package/project/plugins/file-plugins/flowr-description-file.js +0 -1
- package/project/plugins/file-plugins/notebooks/flowr-analyzer-jupyter-file-plugin.d.ts +22 -0
- package/project/plugins/file-plugins/notebooks/flowr-analyzer-jupyter-file-plugin.js +33 -0
- package/project/plugins/file-plugins/notebooks/flowr-analyzer-qmd-file-plugin.d.ts +22 -0
- package/project/plugins/file-plugins/notebooks/flowr-analyzer-qmd-file-plugin.js +33 -0
- package/project/plugins/file-plugins/notebooks/flowr-analyzer-rmd-file-plugin.d.ts +22 -0
- package/project/plugins/file-plugins/notebooks/flowr-analyzer-rmd-file-plugin.js +33 -0
- package/project/plugins/file-plugins/notebooks/flowr-jupyter-file.d.ts +20 -0
- package/project/plugins/file-plugins/notebooks/flowr-jupyter-file.js +42 -0
- package/project/plugins/file-plugins/notebooks/flowr-rmarkdown-file.d.ts +59 -0
- package/project/plugins/file-plugins/notebooks/flowr-rmarkdown-file.js +132 -0
- package/project/plugins/file-plugins/notebooks/notebook.d.ts +0 -0
- package/project/plugins/file-plugins/notebooks/notebook.js +2 -0
- package/project/plugins/flowr-analyzer-plugin-defaults.d.ts +5 -0
- package/project/plugins/flowr-analyzer-plugin-defaults.js +23 -0
- package/project/plugins/flowr-analyzer-plugin.d.ts +2 -0
- package/project/plugins/flowr-analyzer-plugin.js +2 -0
- package/project/plugins/loading-order-plugins/flowr-analyzer-loading-order-description-file-plugin.js +1 -1
- package/project/plugins/package-version-plugins/flowr-analyzer-package-versions-description-file-plugin.js +1 -1
- package/project/plugins/plugin-registry.d.ts +34 -0
- package/project/plugins/plugin-registry.js +62 -0
- package/project/plugins/project-discovery/flowr-analyzer-project-discovery-plugin.d.ts +1 -1
- package/project/plugins/project-discovery/flowr-analyzer-project-discovery-plugin.js +7 -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 +7 -2
- 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 +16 -4
- package/queries/catalog/call-context-query/identify-link-to-last-call-relation.js +34 -18
- 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 +5 -2
- 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 +25 -5
- package/queries/catalog/happens-before-query/happens-before-query-executor.d.ts +4 -0
- package/queries/catalog/happens-before-query/happens-before-query-executor.js +4 -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 +80 -2
- 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 +7 -2
- 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 +6 -1
- 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 +10 -1
- 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 +30 -1
- package/queries/query-print.d.ts +20 -4
- package/queries/query-print.js +18 -2
- package/queries/query.d.ts +93 -55
- package/queries/query.js +55 -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 +2 -2
- package/r-bridge/lang-4.x/ast/model/collect.js +4 -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-project.d.ts +29 -0
- package/r-bridge/lang-4.x/ast/model/nodes/r-project.js +15 -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 +11 -14
- package/r-bridge/lang-4.x/ast/model/processing/decorate.js +30 -17
- 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 +6 -5
- package/r-bridge/lang-4.x/ast/model/type.js +6 -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/format.js +1 -1
- package/r-bridge/lang-4.x/ast/parser/json/parser.d.ts +12 -12
- package/r-bridge/lang-4.x/ast/parser/json/parser.js +11 -11
- 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-root.d.ts +4 -3
- package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-root.js +20 -11
- 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 +18 -0
- package/r-bridge/lang-4.x/tree-sitter/tree-sitter-normalize.d.ts +15 -2
- package/r-bridge/lang-4.x/tree-sitter/tree-sitter-normalize.js +62 -24
- package/r-bridge/parser.d.ts +43 -12
- package/r-bridge/parser.js +27 -13
- package/r-bridge/retriever.d.ts +25 -16
- package/r-bridge/retriever.js +29 -5
- 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 -2
- package/reconstruct/auto-select/magic-comments.d.ts +1 -2
- package/reconstruct/auto-select/magic-comments.js +2 -3
- package/reconstruct/reconstruct.d.ts +18 -12
- package/reconstruct/reconstruct.js +19 -10
- 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 +15 -3
- package/search/search-executor/search-enrichers.d.ts +16 -6
- package/search/search-executor/search-enrichers.js +4 -3
- package/search/search-executor/search-generators.d.ts +19 -10
- package/search/search-executor/search-generators.js +57 -5
- 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 +13 -12
- package/slicing/criterion/collect-all.js +1 -1
- package/slicing/criterion/parse.d.ts +4 -2
- package/slicing/criterion/parse.js +8 -6
- 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/assignments.js +1 -1
- 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/control-flow.js +1 -1
- 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/data-access.js +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/defined-functions/defined-functions.js +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/expression-list/statistics-expression-list.js +1 -1
- package/statistics/features/supported/loops/loops.js +1 -1
- 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-functions/used-functions.js +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/features/supported/variables/variables.js +1 -1
- 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 +4 -4
- 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 +56 -2
- package/util/assert.js +56 -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 +12 -12
- package/util/files.js +11 -11
- 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 +7 -3
- package/util/mermaid/ast.js +39 -8
- package/util/mermaid/cfg.d.ts +1 -1
- package/util/mermaid/cfg.js +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/documentation/print-analyzer-wiki.d.ts +0 -1
- package/documentation/print-analyzer-wiki.js +0 -137
- package/documentation/print-capabilities-markdown.d.ts +0 -1
- package/documentation/print-cfg-wiki.d.ts +0 -1
- package/documentation/print-core-wiki.d.ts +0 -2
- package/documentation/print-dataflow-graph-wiki.d.ts +0 -1
- package/documentation/print-engines-wiki.d.ts +0 -1
- package/documentation/print-faq-wiki.d.ts +0 -1
- package/documentation/print-faq-wiki.js +0 -90
- package/documentation/print-interface-wiki.d.ts +0 -1
- package/documentation/print-linter-issue.d.ts +0 -1
- package/documentation/print-linter-wiki.d.ts +0 -1
- package/documentation/print-linting-and-testing-wiki.d.ts +0 -1
- package/documentation/print-normalized-ast-wiki.d.ts +0 -1
- package/documentation/print-onboarding-wiki.d.ts +0 -1
- package/documentation/print-query-wiki.d.ts +0 -1
- package/documentation/print-readme.d.ts +0 -1
- package/documentation/print-search-wiki.d.ts +0 -1
- package/documentation/print-search-wiki.js +0 -74
- 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/formats/adapter-format.d.ts +0 -6
- package/util/formats/adapter-format.js +0 -3
- package/util/formats/adapter.d.ts +0 -18
- package/util/formats/adapter.js +0 -49
- package/util/formats/adapters/r-adapter.d.ts +0 -4
- package/util/formats/adapters/r-adapter.js +0 -7
- package/util/formats/adapters/rmd-adapter.d.ts +0 -26
- package/util/formats/adapters/rmd-adapter.js +0 -91
|
@@ -1,25 +1,10 @@
|
|
|
1
1
|
import type { RShell } from '../../r-bridge/shell';
|
|
2
|
-
import type { SupportedQueryTypes } from '../../queries/query';
|
|
3
|
-
import type { SupportedVirtualQueryTypes } from '../../queries/virtual-query/virtual-queries';
|
|
4
2
|
import type { FlowrSearchLike } from '../../search/flowr-search-builder';
|
|
5
3
|
export interface ShowSearchOptions {
|
|
6
4
|
readonly showCode?: boolean;
|
|
7
5
|
readonly collapseResult?: boolean;
|
|
8
6
|
}
|
|
7
|
+
/**
|
|
8
|
+
* Visualizes a search and its results in markdown format.
|
|
9
|
+
*/
|
|
9
10
|
export declare function showSearch(shell: RShell, code: string, search: FlowrSearchLike, { collapseResult }?: ShowSearchOptions): Promise<string>;
|
|
10
|
-
export interface QueryDocumentation {
|
|
11
|
-
readonly name: string;
|
|
12
|
-
readonly type: 'virtual' | 'active';
|
|
13
|
-
readonly shortDescription: string;
|
|
14
|
-
readonly functionName: string;
|
|
15
|
-
readonly functionFile: string;
|
|
16
|
-
readonly buildExplanation: (shell: RShell) => Promise<string>;
|
|
17
|
-
}
|
|
18
|
-
export declare const RegisteredQueries: {
|
|
19
|
-
active: Map<string, QueryDocumentation>;
|
|
20
|
-
virtual: Map<string, QueryDocumentation>;
|
|
21
|
-
};
|
|
22
|
-
export declare function registerQueryDocumentation(query: SupportedQueryTypes | SupportedVirtualQueryTypes, doc: QueryDocumentation): void;
|
|
23
|
-
export declare function linkToQueryOfName(id: SupportedQueryTypes | SupportedVirtualQueryTypes): string;
|
|
24
|
-
export declare function tocForQueryType(type: 'active' | 'virtual'): string;
|
|
25
|
-
export declare function explainQueries(shell: RShell, type: 'active' | 'virtual'): Promise<string>;
|
|
@@ -1,13 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.RegisteredQueries = void 0;
|
|
4
3
|
exports.showSearch = showSearch;
|
|
5
|
-
exports.registerQueryDocumentation = registerQueryDocumentation;
|
|
6
|
-
exports.linkToQueryOfName = linkToQueryOfName;
|
|
7
|
-
exports.tocForQueryType = tocForQueryType;
|
|
8
|
-
exports.explainQueries = explainQueries;
|
|
9
|
-
const retriever_1 = require("../../r-bridge/retriever");
|
|
10
|
-
const doc_files_1 = require("./doc-files");
|
|
11
4
|
const doc_dfg_1 = require("./doc-dfg");
|
|
12
5
|
const doc_code_1 = require("./doc-code");
|
|
13
6
|
const time_1 = require("../../util/text/time");
|
|
@@ -15,11 +8,15 @@ const flowr_search_printer_1 = require("../../search/flowr-search-printer");
|
|
|
15
8
|
const node_id_1 = require("../../r-bridge/lang-4.x/ast/model/processing/node-id");
|
|
16
9
|
const dfg_1 = require("../../util/mermaid/dfg");
|
|
17
10
|
const flowr_analyzer_builder_1 = require("../../project/flowr-analyzer-builder");
|
|
11
|
+
/**
|
|
12
|
+
* Visualizes a search and its results in markdown format.
|
|
13
|
+
*/
|
|
18
14
|
async function showSearch(shell, code, search, { collapseResult = true } = {}) {
|
|
19
15
|
const now = performance.now();
|
|
20
|
-
const analyzer = await new flowr_analyzer_builder_1.FlowrAnalyzerBuilder(
|
|
16
|
+
const analyzer = await new flowr_analyzer_builder_1.FlowrAnalyzerBuilder()
|
|
21
17
|
.setParser(shell)
|
|
22
18
|
.build();
|
|
19
|
+
analyzer.addRequest(code);
|
|
23
20
|
const result = await analyzer.runSearch(search);
|
|
24
21
|
const duration = performance.now() - now;
|
|
25
22
|
const metaInfo = `
|
|
@@ -52,7 +49,7 @@ ${collapseResult ? ' <details> <summary style="color:gray">Show Results</summary
|
|
|
52
49
|
The query returns the following vetices (all references to \`x\` in the code):
|
|
53
50
|
${result.getElements().map(({ node }) => `<b>${node.info.id} ('${(0, node_id_1.recoverContent)(node.info.id, dataflow.graph)}')</b> at L${(0, dfg_1.formatRange)(node.location)}`).join(', ')}
|
|
54
51
|
|
|
55
|
-
${metaInfo}
|
|
52
|
+
${metaInfo}
|
|
56
53
|
|
|
57
54
|
The returned results are highlighted thick and blue within the dataflow graph:
|
|
58
55
|
|
|
@@ -63,57 +60,4 @@ ${collapseResult ? '</details>' : ''}
|
|
|
63
60
|
|
|
64
61
|
`;
|
|
65
62
|
}
|
|
66
|
-
exports.RegisteredQueries = {
|
|
67
|
-
'active': new Map(),
|
|
68
|
-
'virtual': new Map()
|
|
69
|
-
};
|
|
70
|
-
function registerQueryDocumentation(query, doc) {
|
|
71
|
-
const map = exports.RegisteredQueries[doc.type];
|
|
72
|
-
if (map.has(query)) {
|
|
73
|
-
throw new Error(`Query ${query} already registered`);
|
|
74
|
-
}
|
|
75
|
-
map.set(query, doc);
|
|
76
|
-
}
|
|
77
|
-
function linkify(name) {
|
|
78
|
-
return name.toLowerCase().replace(/ /g, '-');
|
|
79
|
-
}
|
|
80
|
-
function linkToQueryOfName(id) {
|
|
81
|
-
const query = exports.RegisteredQueries.active.get(id) ?? exports.RegisteredQueries.virtual.get(id);
|
|
82
|
-
if (!query) {
|
|
83
|
-
throw new Error(`Query ${id} not found`);
|
|
84
|
-
}
|
|
85
|
-
return `[${query.name}](#${linkify(query.name)})`;
|
|
86
|
-
}
|
|
87
|
-
function tocForQueryType(type) {
|
|
88
|
-
const queries = [...exports.RegisteredQueries[type].entries()].sort(([, { name: a }], [, { name: b }]) => a.localeCompare(b));
|
|
89
|
-
const result = [];
|
|
90
|
-
for (const [id, { name, shortDescription }] of queries) {
|
|
91
|
-
result.push(`1. [${name}](#${linkify(name)}) (\`${id}\`):\\\n ${shortDescription}`);
|
|
92
|
-
}
|
|
93
|
-
return result.join('\n');
|
|
94
|
-
}
|
|
95
|
-
async function explainQuery(shell, { name, functionName, functionFile, buildExplanation }) {
|
|
96
|
-
return `
|
|
97
|
-
### ${name}
|
|
98
|
-
|
|
99
|
-
${await buildExplanation(shell)}
|
|
100
|
-
|
|
101
|
-
<details>
|
|
102
|
-
|
|
103
|
-
<summary style="color:gray">Implementation Details</summary>
|
|
104
|
-
|
|
105
|
-
Responsible for the execution of the ${name} query is \`${functionName}\` in ${(0, doc_files_1.getFilePathMd)(functionFile)}.
|
|
106
|
-
|
|
107
|
-
</details>
|
|
108
|
-
|
|
109
|
-
`;
|
|
110
|
-
}
|
|
111
|
-
async function explainQueries(shell, type) {
|
|
112
|
-
const queries = [...exports.RegisteredQueries[type].entries()].sort(([, { name: a }], [, { name: b }]) => a.localeCompare(b));
|
|
113
|
-
const result = [];
|
|
114
|
-
for (const [, doc] of queries) {
|
|
115
|
-
result.push(await explainQuery(shell, doc));
|
|
116
|
-
}
|
|
117
|
-
return result.join(`\n${'-'.repeat(5)}\n\n`);
|
|
118
|
-
}
|
|
119
63
|
//# sourceMappingURL=doc-search.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { RShell } from '../../r-bridge/shell';
|
|
2
1
|
import type { FlowrMessage, IdMessageBase, MessageDefinition } from '../../cli/repl/server/messages/all-messages';
|
|
3
|
-
import type
|
|
2
|
+
import { type FakeServer, type FakeSocket } from '../../../test/functionality/_helper/net';
|
|
3
|
+
import type { KnownParser } from '../../r-bridge/parser';
|
|
4
4
|
export interface ServerMessageDescription {
|
|
5
5
|
readonly title: string;
|
|
6
6
|
readonly type: 'request' | 'response';
|
|
@@ -10,11 +10,20 @@ export interface ServerMessageDescription {
|
|
|
10
10
|
readonly defRequest?: MessageDefinition<IdMessageBase>;
|
|
11
11
|
readonly defResponse?: MessageDefinition<IdMessageBase>;
|
|
12
12
|
readonly additionalDefs?: MessageDefinition<IdMessageBase>[];
|
|
13
|
-
readonly text: (shell:
|
|
13
|
+
readonly text: (shell: KnownParser) => Promise<string>;
|
|
14
14
|
}
|
|
15
|
+
/**
|
|
16
|
+
* Documents a server message for later printing.
|
|
17
|
+
*/
|
|
15
18
|
export declare function documentServerMessage(description: ServerMessageDescription): void;
|
|
16
|
-
|
|
17
|
-
|
|
19
|
+
/**
|
|
20
|
+
* Visualizes all documented server messages in markdown format.
|
|
21
|
+
*/
|
|
22
|
+
export declare function printServerMessages(treeSitter: KnownParser): Promise<string>;
|
|
23
|
+
/**
|
|
24
|
+
* Executes the given function within a server context.
|
|
25
|
+
*/
|
|
26
|
+
export declare function inServerContext<T>(shell: KnownParser, fn: (socket: FakeSocket, server: FakeServer) => Promise<T> | T): Promise<T>;
|
|
18
27
|
interface ResponseMessageInPingPong {
|
|
19
28
|
readonly type: 'response';
|
|
20
29
|
readonly expectedType: FlowrMessage['type'];
|
|
@@ -28,10 +37,13 @@ interface RequestMessageInPingPong {
|
|
|
28
37
|
readonly mark?: boolean;
|
|
29
38
|
}
|
|
30
39
|
export interface MessagePingPongDocumentationArguments {
|
|
31
|
-
readonly shell:
|
|
40
|
+
readonly shell: KnownParser;
|
|
32
41
|
readonly title?: string;
|
|
33
42
|
readonly messageType?: FlowrMessage['type'];
|
|
34
43
|
readonly messages: readonly (ResponseMessageInPingPong | RequestMessageInPingPong)[];
|
|
35
44
|
}
|
|
45
|
+
/**
|
|
46
|
+
* Documents a ping-pong message exchange with the server.
|
|
47
|
+
*/
|
|
36
48
|
export declare function documentServerMessageResponse({ shell, title, messageType, messages }: MessagePingPongDocumentationArguments): Promise<string>;
|
|
37
49
|
export {};
|
|
@@ -12,16 +12,25 @@ const doc_code_1 = require("./doc-code");
|
|
|
12
12
|
const assert_1 = require("../../util/assert");
|
|
13
13
|
const time_1 = require("../../util/text/time");
|
|
14
14
|
const messages = [];
|
|
15
|
+
/**
|
|
16
|
+
* Documents a server message for later printing.
|
|
17
|
+
*/
|
|
15
18
|
function documentServerMessage(description) {
|
|
16
19
|
messages.push(description);
|
|
17
20
|
}
|
|
18
|
-
|
|
21
|
+
/**
|
|
22
|
+
* Visualizes all documented server messages in markdown format.
|
|
23
|
+
*/
|
|
24
|
+
async function printServerMessages(treeSitter) {
|
|
19
25
|
let text = '<ul>';
|
|
20
26
|
for (const message of messages) {
|
|
21
|
-
text += '<li>' + await printServerMessage(message,
|
|
27
|
+
text += '<li>' + await printServerMessage(message, treeSitter) + '</li>\n\n';
|
|
22
28
|
}
|
|
23
29
|
return text + '</ul>';
|
|
24
30
|
}
|
|
31
|
+
/**
|
|
32
|
+
* Executes the given function within a server context.
|
|
33
|
+
*/
|
|
25
34
|
async function inServerContext(shell, fn) {
|
|
26
35
|
return (0, net_1.withSocket)(shell, async (socket, server) => {
|
|
27
36
|
return fn(socket, server);
|
|
@@ -69,6 +78,9 @@ function explainPingPong(description, received) {
|
|
|
69
78
|
}
|
|
70
79
|
return result + '</ol>';
|
|
71
80
|
}
|
|
81
|
+
/**
|
|
82
|
+
* Documents a ping-pong message exchange with the server.
|
|
83
|
+
*/
|
|
72
84
|
async function documentServerMessageResponse({ shell, title, messageType, messages }) {
|
|
73
85
|
const start = performance.now();
|
|
74
86
|
const response = await inServerContext(shell, async (socket) => {
|
|
@@ -116,7 +128,7 @@ ${(0, schema_1.describeSchema)(def.schema, ansi_1.markdownFormatter)}
|
|
|
116
128
|
</details>
|
|
117
129
|
` : '';
|
|
118
130
|
}
|
|
119
|
-
async function printServerMessage({ mermaidSequenceDiagram, text, title, shortDescription, definitionPath, defRequest, defResponse, additionalDefs },
|
|
131
|
+
async function printServerMessage({ mermaidSequenceDiagram, text, title, shortDescription, definitionPath, defRequest, defResponse, additionalDefs }, treeSitter) {
|
|
120
132
|
const base = defRequest ?? defResponse;
|
|
121
133
|
(0, assert_1.guard)(base !== undefined, 'At least one of the definitions must be given');
|
|
122
134
|
return `
|
|
@@ -135,7 +147,7 @@ sequenceDiagram
|
|
|
135
147
|
${mermaidSequenceDiagram}
|
|
136
148
|
\`\`\`
|
|
137
149
|
|
|
138
|
-
${await text(
|
|
150
|
+
${await text(treeSitter)}
|
|
139
151
|
|
|
140
152
|
<hr>
|
|
141
153
|
|
|
@@ -145,7 +157,7 @@ ${additionalDefs?.map(def => getSchema(definitionPath, def)).join('\n') ?? ''}
|
|
|
145
157
|
|
|
146
158
|
<hr>
|
|
147
159
|
|
|
148
|
-
</details>
|
|
160
|
+
</details>
|
|
149
161
|
`;
|
|
150
162
|
}
|
|
151
163
|
//# sourceMappingURL=doc-server-message.js.map
|
|
@@ -4,12 +4,21 @@ export interface DetailsOptions {
|
|
|
4
4
|
readonly hideIfEmpty?: boolean;
|
|
5
5
|
readonly prefixInit?: string;
|
|
6
6
|
}
|
|
7
|
+
/**
|
|
8
|
+
*
|
|
9
|
+
*/
|
|
7
10
|
export declare function details(title: string, content: string, { color, open, hideIfEmpty, prefixInit }?: DetailsOptions): string;
|
|
8
11
|
export interface BlockOptions {
|
|
9
12
|
readonly type: 'NOTE' | 'WARNING' | 'TIP' | 'IMPORTANT';
|
|
10
13
|
readonly content: string;
|
|
11
14
|
}
|
|
15
|
+
/**
|
|
16
|
+
*
|
|
17
|
+
*/
|
|
12
18
|
export declare function block({ type, content }: BlockOptions): string;
|
|
19
|
+
/**
|
|
20
|
+
*
|
|
21
|
+
*/
|
|
13
22
|
export declare function section(title: string, depth?: 1 | 2 | 3 | 4 | 5 | 6, anchor?: string): string;
|
|
14
23
|
/**
|
|
15
24
|
* Supported pattern: `Name@link`
|
|
@@ -7,21 +7,30 @@ exports.collapsibleToc = collapsibleToc;
|
|
|
7
7
|
const doc_general_1 = require("./doc-general");
|
|
8
8
|
const mermaid_1 = require("../../util/mermaid/mermaid");
|
|
9
9
|
const strings_1 = require("../../util/text/strings");
|
|
10
|
+
/**
|
|
11
|
+
*
|
|
12
|
+
*/
|
|
10
13
|
function details(title, content, { color, open = false, hideIfEmpty = true, prefixInit = '' } = {}) {
|
|
11
14
|
return hideIfEmpty && content.trim().length === 0 ? '' : `
|
|
12
|
-
${prefixInit}<details${open ? ' open' : ''}><summary
|
|
15
|
+
${prefixInit}<details${open ? ' open' : ''}><summary${color ? ' style="color:' + color + '"' : ''}>${title}</summary>
|
|
13
16
|
|
|
14
17
|
${content}
|
|
15
18
|
|
|
16
19
|
</details>
|
|
17
20
|
`;
|
|
18
21
|
}
|
|
22
|
+
/**
|
|
23
|
+
*
|
|
24
|
+
*/
|
|
19
25
|
function block({ type, content }) {
|
|
20
26
|
return `
|
|
21
27
|
> [!${type}]
|
|
22
28
|
${(0, doc_general_1.prefixLines)(content, '> ')}
|
|
23
29
|
`;
|
|
24
30
|
}
|
|
31
|
+
/**
|
|
32
|
+
*
|
|
33
|
+
*/
|
|
25
34
|
function section(title, depth = 2, anchor = (0, mermaid_1.escapeId)(title)) {
|
|
26
35
|
return `<h${depth} id="${anchor}">${title}</h${depth}>`;
|
|
27
36
|
}
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
import ts from 'typescript';
|
|
2
|
+
/**
|
|
3
|
+
* Kinds of TypeScript type elements we can encounter.
|
|
4
|
+
* Please note, that a `function` is also a `variable` here.
|
|
5
|
+
*/
|
|
2
6
|
export type TypeElementKind = 'interface' | 'type' | 'enum' | 'class' | 'variable';
|
|
7
|
+
/**
|
|
8
|
+
* The full underlying information about a TypeScript type element found in source code.
|
|
9
|
+
*/
|
|
3
10
|
export interface TypeElementInSource {
|
|
4
11
|
name: string;
|
|
5
12
|
node: ts.Node;
|
|
@@ -11,20 +18,57 @@ export interface TypeElementInSource {
|
|
|
11
18
|
comments?: string[];
|
|
12
19
|
readonly properties?: string[];
|
|
13
20
|
}
|
|
21
|
+
/**
|
|
22
|
+
* Retrieve TypeScript source files from the given file names.
|
|
23
|
+
*/
|
|
14
24
|
export declare function getTypeScriptSourceFiles(fileNames: readonly string[]): {
|
|
15
25
|
files: ts.SourceFile[];
|
|
16
26
|
program: ts.Program;
|
|
17
27
|
};
|
|
28
|
+
/**
|
|
29
|
+
* Drop generics from a TypeScript type name.
|
|
30
|
+
* @example
|
|
31
|
+
* ```ts
|
|
32
|
+
* const typeName = 'MyType<T, U>';
|
|
33
|
+
* const cleanName = dropGenericsFromTypeName(typeName);
|
|
34
|
+
* console.log(cleanName); // 'MyType'
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
18
37
|
export declare function dropGenericsFromTypeName(type: string): string;
|
|
38
|
+
/**
|
|
39
|
+
* Remove comment symbols from a TypeScript comment string.
|
|
40
|
+
* This also takes care of special JSDoc tags like `{@link ...}` and `{@see ...}`.
|
|
41
|
+
* @example
|
|
42
|
+
* ```ts
|
|
43
|
+
* const comment = '/**\n* This is a comment.\n* It has multiple lines.\n *\/'; // closing comment sadly escaped for ts doc
|
|
44
|
+
* const cleaned = removeCommentSymbolsFromTypeScriptComment(comment);
|
|
45
|
+
* console.log(cleaned);
|
|
46
|
+
* ```
|
|
47
|
+
* This will output:
|
|
48
|
+
* ```md
|
|
49
|
+
* This is a comment.
|
|
50
|
+
* It has multiple lines.
|
|
51
|
+
* ```
|
|
52
|
+
*/
|
|
19
53
|
export declare function removeCommentSymbolsFromTypeScriptComment(comment: string): string;
|
|
20
|
-
|
|
54
|
+
/**
|
|
55
|
+
*
|
|
56
|
+
*/
|
|
21
57
|
export declare function getStartLineOfTypeScriptNode(node: ts.Node, sourceFile: ts.SourceFile): number;
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
58
|
+
/**
|
|
59
|
+
* Return the link to the type in the source code.
|
|
60
|
+
* If you create a wiki, please refer to the functions provided by the {@link GeneralWikiContext}.
|
|
61
|
+
*/
|
|
25
62
|
export declare function getTypePathLink(elem: Pick<TypeElementInSource, 'filePath' | 'lineNumber'>, prefix?: string): string;
|
|
63
|
+
/**
|
|
64
|
+
* Visualize the type hierarchy as a mermaid class diagram.
|
|
65
|
+
*/
|
|
66
|
+
export declare function visualizeMermaidClassDiagram(hierarchyList: readonly TypeElementInSource[], options: {
|
|
67
|
+
typeNameForMermaid?: string;
|
|
68
|
+
inlineTypes?: readonly string[];
|
|
69
|
+
}): string | undefined;
|
|
26
70
|
export interface GetTypesAsMermaidOption {
|
|
27
|
-
readonly rootFolder?: string;
|
|
71
|
+
readonly rootFolder?: string | string[];
|
|
28
72
|
readonly files?: readonly string[];
|
|
29
73
|
/** if you request a type name, we will generate a mermaid diagram for that type */
|
|
30
74
|
readonly typeNameForMermaid?: string;
|
|
@@ -47,7 +91,6 @@ export declare function getTypesFromFolder(options: GetTypesAsMermaidOption & {
|
|
|
47
91
|
mermaid: undefined;
|
|
48
92
|
});
|
|
49
93
|
export declare function getTypesFromFolder(options: GetTypesAsMermaidOption): TypeReport;
|
|
50
|
-
export declare function implSnippet(node: TypeElementInSource | undefined, program: ts.Program, showName?: boolean, nesting?: number, open?: boolean): string;
|
|
51
94
|
export interface PrintHierarchyArguments {
|
|
52
95
|
readonly program: ts.Program;
|
|
53
96
|
readonly info: TypeElementInSource[];
|
|
@@ -56,20 +99,41 @@ export interface PrintHierarchyArguments {
|
|
|
56
99
|
readonly initialNesting?: number;
|
|
57
100
|
readonly maxDepth?: number;
|
|
58
101
|
readonly openTop?: boolean;
|
|
102
|
+
readonly showImplSnippet?: boolean;
|
|
59
103
|
}
|
|
60
104
|
export declare const mermaidHide: string[];
|
|
61
|
-
|
|
62
|
-
|
|
105
|
+
/**
|
|
106
|
+
* Print the hierarchy of types starting from the given root.
|
|
107
|
+
* If you create a wiki, please refer to the functions provided by the {@link GeneralWikiContext}.
|
|
108
|
+
*/
|
|
109
|
+
export declare function printHierarchy({ program, info, root, collapseFromNesting, initialNesting, maxDepth, openTop, showImplSnippet }: PrintHierarchyArguments): string;
|
|
110
|
+
/**
|
|
111
|
+
* Options to print code of an element
|
|
112
|
+
*/
|
|
113
|
+
export interface FnElementInfo {
|
|
114
|
+
/** The type information collected from the source code */
|
|
63
115
|
info: TypeElementInSource[];
|
|
116
|
+
/** The TypeScript program used to extract the info */
|
|
64
117
|
program: ts.Program;
|
|
118
|
+
/** Number of lines to drop from the start of the code block */
|
|
65
119
|
dropLinesStart?: number;
|
|
120
|
+
/** Number of lines to drop from the end of the code block */
|
|
66
121
|
dropLinesEnd?: number;
|
|
122
|
+
/** Whether to not automatically gobble leading spaces */
|
|
67
123
|
doNotAutoGobble?: boolean;
|
|
124
|
+
/** Whether to hide the "Defined at ..." line */
|
|
68
125
|
hideDefinedAt?: boolean;
|
|
69
126
|
}
|
|
70
|
-
export declare function printCodeOfElement({ program, info, dropLinesEnd, dropLinesStart, doNotAutoGobble, hideDefinedAt }: FnInfo, name: string): string;
|
|
71
127
|
/**
|
|
72
|
-
*
|
|
128
|
+
* Print an element from the info as code block.
|
|
129
|
+
* If you create a wiki, please refer to the functions provided by the {@link GeneralWikiContext}.
|
|
130
|
+
*
|
|
131
|
+
* This is great to show examples that are directly taken from the source code.
|
|
132
|
+
*/
|
|
133
|
+
export declare function printCodeOfElement({ program, info, dropLinesEnd, dropLinesStart, doNotAutoGobble, hideDefinedAt }: FnElementInfo, name: string): string;
|
|
134
|
+
/**
|
|
135
|
+
* Create a short link to a type in the documentation.
|
|
136
|
+
* If you create a wiki, please refer to the functions provided by the {@link GeneralWikiContext}.
|
|
73
137
|
* @param name - The name of the type, e.g. `MyType`, may include a container, e.g.,`MyContainer::MyType` (this works with function nestings too)
|
|
74
138
|
* Use `:::` if you want to access a scoped function, but the name should be displayed without the scope
|
|
75
139
|
* @param hierarchy - The hierarchy of types to search in
|
|
@@ -77,10 +141,25 @@ export declare function printCodeOfElement({ program, info, dropLinesEnd, dropLi
|
|
|
77
141
|
* @param realNameWrapper - How to highlight the function in name in the `x::y` format?
|
|
78
142
|
*/
|
|
79
143
|
export declare function shortLink(name: string, hierarchy: readonly TypeElementInSource[], codeStyle?: boolean, realNameWrapper?: string): string;
|
|
144
|
+
/**
|
|
145
|
+
* Create a short link to a type in the documentation.
|
|
146
|
+
* If you create a wiki, please refer to the functions provided by the {@link GeneralWikiContext}.
|
|
147
|
+
* @param name - The name of the type, e.g. `MyType`, may include a container, e.g.,`MyContainer::MyType` (this works with function nestings too)
|
|
148
|
+
* Use `:::` if you want to access a scoped function, but the name should be displayed without the scope
|
|
149
|
+
* @param hierarchy - The hierarchy of types to search in
|
|
150
|
+
*/
|
|
80
151
|
export declare function shortLinkFile(name: string, hierarchy: readonly TypeElementInSource[]): string;
|
|
81
152
|
export interface GetDocumentationForTypeFilters {
|
|
82
153
|
fuzzy?: boolean;
|
|
83
154
|
type?: TypeElementKind;
|
|
84
155
|
}
|
|
156
|
+
/**
|
|
157
|
+
* Retrieve documentation comments for a type.
|
|
158
|
+
* If you create a wiki, please refer to the functions provided by the {@link GeneralWikiContext}.
|
|
159
|
+
* @param name - The name of the type, e.g. `MyType`, may include a container, e.g.,`MyContainer::MyType` (this works with function nestings too)
|
|
160
|
+
* Use `:::` if you want to access a scoped function, but the name should be displayed without the scope
|
|
161
|
+
* @param hierarchy - The hierarchy of types to search in
|
|
162
|
+
* @param prefix - A prefix to add to each line of the documentation
|
|
163
|
+
* @param filter - Optional filters for retrieving the documentation
|
|
164
|
+
*/
|
|
85
165
|
export declare function getDocumentationForType(name: string, hierarchy: TypeElementInSource[], prefix?: string, filter?: GetDocumentationForTypeFilters): string;
|
|
86
|
-
export {};
|