@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,315 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DataFrameTop = exports.DataFrameBottom = exports.ColNamesTop = exports.ColNamesBottom = exports.IntervalTop = exports.IntervalBottom = void 0;
|
|
4
|
-
exports.equalColNames = equalColNames;
|
|
5
|
-
exports.leqColNames = leqColNames;
|
|
6
|
-
exports.joinColNames = joinColNames;
|
|
7
|
-
exports.meetColNames = meetColNames;
|
|
8
|
-
exports.subtractColNames = subtractColNames;
|
|
9
|
-
exports.wideningColNames = wideningColNames;
|
|
10
|
-
exports.satisfiesColsNames = satisfiesColsNames;
|
|
11
|
-
exports.equalInterval = equalInterval;
|
|
12
|
-
exports.leqInterval = leqInterval;
|
|
13
|
-
exports.joinInterval = joinInterval;
|
|
14
|
-
exports.meetInterval = meetInterval;
|
|
15
|
-
exports.addInterval = addInterval;
|
|
16
|
-
exports.subtractInterval = subtractInterval;
|
|
17
|
-
exports.minInterval = minInterval;
|
|
18
|
-
exports.maxInterval = maxInterval;
|
|
19
|
-
exports.extendIntervalToZero = extendIntervalToZero;
|
|
20
|
-
exports.extendIntervalToInfinity = extendIntervalToInfinity;
|
|
21
|
-
exports.wideningInterval = wideningInterval;
|
|
22
|
-
exports.satisfiesInterval = satisfiesInterval;
|
|
23
|
-
exports.satisfiesLeqInterval = satisfiesLeqInterval;
|
|
24
|
-
exports.equalDataFrameDomain = equalDataFrameDomain;
|
|
25
|
-
exports.joinDataFrames = joinDataFrames;
|
|
26
|
-
exports.meetDataFrames = meetDataFrames;
|
|
27
|
-
exports.wideningDataFrames = wideningDataFrames;
|
|
28
|
-
exports.equalDataFrameState = equalDataFrameState;
|
|
29
|
-
exports.joinDataFrameStates = joinDataFrameStates;
|
|
30
|
-
exports.meetDataFrameStates = meetDataFrameStates;
|
|
31
|
-
exports.wideningDataFrameStates = wideningDataFrameStates;
|
|
32
|
-
const config_1 = require("../../config");
|
|
33
|
-
const set_1 = require("../../util/collections/set");
|
|
34
|
-
const MaxColNames = config_1.defaultConfigOptions.abstractInterpretation.dataFrame.maxColNames;
|
|
35
|
-
/** The bottom element (least element) of the positive interval domain representing no possible values, explicitly given as "bottom". */
|
|
36
|
-
exports.IntervalBottom = 'bottom';
|
|
37
|
-
/** The top element (greatest element) of the positive interval domain representing all possible values, defined as the interval from 0 to infinity. */
|
|
38
|
-
exports.IntervalTop = [0, Infinity];
|
|
39
|
-
/** The bottom element (least element) of the column names domain representing no possible column name, defined as the empty list []. */
|
|
40
|
-
exports.ColNamesBottom = [];
|
|
41
|
-
/** The top element (greatest element) of the column names domain representing all possible values, explicitly given as "top". */
|
|
42
|
-
exports.ColNamesTop = 'top';
|
|
43
|
-
/**
|
|
44
|
-
* The bottom element (least element) of the data frame shape domain representing no possible value, mapping the columns names to {@link ColNamesBottom}
|
|
45
|
-
* and the number of columns and rows to {@link IntervalBottom}.
|
|
46
|
-
*/
|
|
47
|
-
exports.DataFrameBottom = {
|
|
48
|
-
colnames: exports.ColNamesBottom,
|
|
49
|
-
cols: exports.IntervalBottom,
|
|
50
|
-
rows: exports.IntervalBottom
|
|
51
|
-
};
|
|
52
|
-
/**
|
|
53
|
-
* The top element (greatest element) of the data frame shape domain representing all possible value, mapping the columns names to {@link ColNamesTop}
|
|
54
|
-
* and the number of columns and rows to {@link IntervalTop}.
|
|
55
|
-
*/
|
|
56
|
-
exports.DataFrameTop = {
|
|
57
|
-
colnames: exports.ColNamesTop,
|
|
58
|
-
cols: exports.IntervalTop,
|
|
59
|
-
rows: exports.IntervalTop
|
|
60
|
-
};
|
|
61
|
-
/** Checks if two abstract values of the column names domain are equal. */
|
|
62
|
-
function equalColNames(set1, set2) {
|
|
63
|
-
return set1 === set2 || (set1 !== exports.ColNamesTop && set2 !== exports.ColNamesTop && (0, set_1.setEquals)(new Set(set1), new Set(set2)));
|
|
64
|
-
}
|
|
65
|
-
/** Checks if two abstract values of the column names domain are ordered according to the partial ordering of the column names lattice. */
|
|
66
|
-
function leqColNames(set1, set2) {
|
|
67
|
-
return set2 === exports.ColNamesTop || (set1 !== exports.ColNamesTop && new Set(set1).isSubsetOf(new Set(set2)));
|
|
68
|
-
}
|
|
69
|
-
/** Joins two abstract values of the columns names domain according to the column names lattice by creating the least upper bound (LUB). */
|
|
70
|
-
function joinColNames(set1, set2, maxColNames = MaxColNames) {
|
|
71
|
-
if (set1 === exports.ColNamesTop || set2 === exports.ColNamesTop) {
|
|
72
|
-
return exports.ColNamesTop;
|
|
73
|
-
}
|
|
74
|
-
const join = Array.from(new Set(set1).union(new Set(set2)));
|
|
75
|
-
return join.length > maxColNames ? exports.ColNamesTop : join;
|
|
76
|
-
}
|
|
77
|
-
/** Meets two abstract values of the columns names domain according to the column names lattice by creating the greatest lower bound (GLB). */
|
|
78
|
-
function meetColNames(set1, set2) {
|
|
79
|
-
if (set1 === exports.ColNamesTop) {
|
|
80
|
-
return set2;
|
|
81
|
-
}
|
|
82
|
-
else if (set2 === exports.ColNamesTop) {
|
|
83
|
-
return set1;
|
|
84
|
-
}
|
|
85
|
-
else {
|
|
86
|
-
return Array.from(new Set(set1).intersection(new Set(set2)));
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
/** Subtracts an abstract value from another abstract value of the column names domain by performing a set minus. */
|
|
90
|
-
function subtractColNames(set1, set2) {
|
|
91
|
-
if (set1 === exports.ColNamesTop) {
|
|
92
|
-
return exports.ColNamesTop;
|
|
93
|
-
}
|
|
94
|
-
else if (set2 === exports.ColNamesTop) {
|
|
95
|
-
return set1;
|
|
96
|
-
}
|
|
97
|
-
else {
|
|
98
|
-
return Array.from(new Set(set1).difference(new Set(set2)));
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* Widens two abstract values of the column names domain via naive widening to soundly over-approximate the join in (possibly infinite) fixpoint iterations.
|
|
103
|
-
*
|
|
104
|
-
* This is technically not necessary, as the join is limited by the maximum number of inferred column names.
|
|
105
|
-
* However, this speeds up the iteration in larger loops significantly, as we are over-approximating the column names much earlier.
|
|
106
|
-
*/
|
|
107
|
-
function wideningColNames(set1, set2) {
|
|
108
|
-
return leqColNames(set2, set1) ? set1 : exports.ColNamesTop;
|
|
109
|
-
}
|
|
110
|
-
/** Checks whether an abstract value of the column names domain satisfies a column name */
|
|
111
|
-
function satisfiesColsNames(set, value) {
|
|
112
|
-
return set === exports.ColNamesTop || set.includes(value);
|
|
113
|
-
}
|
|
114
|
-
/** Checks if two abstract values of the positive interval domain are equal. */
|
|
115
|
-
function equalInterval(interval1, interval2) {
|
|
116
|
-
return interval1 === interval2 || (interval1 !== exports.IntervalBottom && interval2 !== exports.IntervalBottom && interval1[0] === interval2[0] && interval1[1] === interval2[1]);
|
|
117
|
-
}
|
|
118
|
-
/** Checks if two abstract values of the positive interval domain are ordered according to the partial ordering of the positive interval lattice. */
|
|
119
|
-
function leqInterval(interval1, interval2) {
|
|
120
|
-
return interval1 === exports.IntervalBottom || (interval2 !== exports.IntervalBottom && interval2[0] <= interval1[0] && interval1[1] <= interval2[1]);
|
|
121
|
-
}
|
|
122
|
-
/** Joins two abstract values of the positive interval domain according to the positive interval lattice by creating the least upper bound (LUB). */
|
|
123
|
-
function joinInterval(interval1, interval2) {
|
|
124
|
-
if (interval1 === exports.IntervalBottom) {
|
|
125
|
-
return interval2;
|
|
126
|
-
}
|
|
127
|
-
else if (interval2 === exports.IntervalBottom) {
|
|
128
|
-
return interval1;
|
|
129
|
-
}
|
|
130
|
-
else {
|
|
131
|
-
return [Math.min(interval1[0], interval2[0]), Math.max(interval1[1], interval2[1])];
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
/** Meets two abstract values of the positive interval domain according to the positive interval lattice by creating the greatest lower bound (GLB). */
|
|
135
|
-
function meetInterval(interval1, interval2) {
|
|
136
|
-
if (interval1 === exports.IntervalBottom || interval2 === exports.IntervalBottom) {
|
|
137
|
-
return exports.IntervalBottom;
|
|
138
|
-
}
|
|
139
|
-
else if (Math.max(interval1[0], interval2[0]) > Math.min(interval1[1], interval2[1])) {
|
|
140
|
-
return exports.IntervalBottom;
|
|
141
|
-
}
|
|
142
|
-
else {
|
|
143
|
-
return [Math.max(interval1[0], interval2[0]), Math.min(interval1[1], interval2[1])];
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
/** Adds two abstract values of the positive interval domain, by adding the lower bounds and upper bounds. */
|
|
147
|
-
function addInterval(interval1, interval2) {
|
|
148
|
-
if (interval1 === exports.IntervalBottom || interval2 === exports.IntervalBottom) {
|
|
149
|
-
return exports.IntervalBottom;
|
|
150
|
-
}
|
|
151
|
-
else {
|
|
152
|
-
return [interval1[0] + interval2[0], interval1[1] + interval2[1]];
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
/** Subtracts an abstract value from another abstract values of the positive interval domain, by subtracting the lower bounds and upper bounds. */
|
|
156
|
-
function subtractInterval(interval1, interval2) {
|
|
157
|
-
if (interval1 === exports.IntervalBottom || interval2 === exports.IntervalBottom) {
|
|
158
|
-
return exports.IntervalBottom;
|
|
159
|
-
}
|
|
160
|
-
else {
|
|
161
|
-
return [Math.max(interval1[0] - interval2[0], 0), Math.max(interval1[1] - interval2[1], 0)];
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
/** Creates the minium of two abstract values of the positive interval domain, by creating the minimum of the lower bounds and upper bounds. */
|
|
165
|
-
function minInterval(interval1, interval2) {
|
|
166
|
-
if (interval1 === exports.IntervalBottom || interval2 === exports.IntervalBottom) {
|
|
167
|
-
return exports.IntervalBottom;
|
|
168
|
-
}
|
|
169
|
-
else {
|
|
170
|
-
return [Math.min(interval1[0], interval2[0]), Math.min(interval1[1], interval2[1])];
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
/** Creates the maximum of two abstract values of the positive interval domain, by creating the maximum of the lower bounds and upper bounds. */
|
|
174
|
-
function maxInterval(interval1, interval2) {
|
|
175
|
-
if (interval1 === exports.IntervalBottom || interval2 === exports.IntervalBottom) {
|
|
176
|
-
return exports.IntervalBottom;
|
|
177
|
-
}
|
|
178
|
-
else {
|
|
179
|
-
return [Math.max(interval1[0], interval2[0]), Math.max(interval1[1], interval2[1])];
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
/** Extrends the lower bound of an abstract value of the positive interval domain to 0. */
|
|
183
|
-
function extendIntervalToZero(interval) {
|
|
184
|
-
if (interval === exports.IntervalBottom) {
|
|
185
|
-
return exports.IntervalBottom;
|
|
186
|
-
}
|
|
187
|
-
else {
|
|
188
|
-
return [0, interval[1]];
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
/** Extrends the upper bound of an abstract value of the positive interval domain to infinity. */
|
|
192
|
-
function extendIntervalToInfinity(interval) {
|
|
193
|
-
if (interval === exports.IntervalBottom) {
|
|
194
|
-
return exports.IntervalBottom;
|
|
195
|
-
}
|
|
196
|
-
else {
|
|
197
|
-
return [interval[0], Infinity];
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
/** Widens two abstract values of the positive interval domain via naive widening to soundly over-approximate the join in (possibly infinite) fixpoint iterations. */
|
|
201
|
-
function wideningInterval(interval1, interval2) {
|
|
202
|
-
if (interval1 === exports.IntervalBottom) {
|
|
203
|
-
return interval2;
|
|
204
|
-
}
|
|
205
|
-
else if (interval2 === exports.IntervalBottom) {
|
|
206
|
-
return interval1;
|
|
207
|
-
}
|
|
208
|
-
else {
|
|
209
|
-
return [interval1[0] <= interval2[0] ? interval1[0] : 0, interval1[1] >= interval2[1] ? interval1[1] : Infinity];
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
/** Checks whether an abstract value of the positive interval domain satisfies a numeric value. */
|
|
213
|
-
function satisfiesInterval(interval, value) {
|
|
214
|
-
return interval !== exports.IntervalBottom && interval[0] <= value && value <= interval[1];
|
|
215
|
-
}
|
|
216
|
-
/** Checks whether a numeric value satisfies the less-than relation with an abstract value of the positive interval domain. */
|
|
217
|
-
function satisfiesLeqInterval(interval, value) {
|
|
218
|
-
return interval !== exports.IntervalBottom && value <= interval[1];
|
|
219
|
-
}
|
|
220
|
-
/** Checks if two abstract values of the data frame shape domain are equal. */
|
|
221
|
-
function equalDataFrameDomain(value1, value2) {
|
|
222
|
-
return value1 === value2 || (equalColNames(value1.colnames, value2.colnames) && equalInterval(value1.cols, value2.cols) && equalInterval(value1.rows, value2.rows));
|
|
223
|
-
}
|
|
224
|
-
/** Joins multiple abstract values of the data frame shape domain by creating the least upper bound (LUB). */
|
|
225
|
-
function joinDataFrames(...values) {
|
|
226
|
-
let result = values[0] ?? exports.DataFrameTop;
|
|
227
|
-
for (let i = 1; i < values.length; i++) {
|
|
228
|
-
result = {
|
|
229
|
-
colnames: joinColNames(result.colnames, values[i].colnames),
|
|
230
|
-
cols: joinInterval(result.cols, values[i].cols),
|
|
231
|
-
rows: joinInterval(result.rows, values[i].rows)
|
|
232
|
-
};
|
|
233
|
-
}
|
|
234
|
-
return result;
|
|
235
|
-
}
|
|
236
|
-
/** Meets multiple abstract values of the data frame shape domain by creating the greatest lower bound (GLB). */
|
|
237
|
-
function meetDataFrames(...values) {
|
|
238
|
-
let result = values[0] ?? exports.DataFrameTop;
|
|
239
|
-
for (let i = 1; i < values.length; i++) {
|
|
240
|
-
result = {
|
|
241
|
-
colnames: meetColNames(result.colnames, values[i].colnames),
|
|
242
|
-
cols: meetInterval(result.cols, values[i].cols),
|
|
243
|
-
rows: meetInterval(result.rows, values[i].rows)
|
|
244
|
-
};
|
|
245
|
-
}
|
|
246
|
-
return result;
|
|
247
|
-
}
|
|
248
|
-
/** Widens two abstract values of the data frame shape domain by widening the column names and number of columns and rows. */
|
|
249
|
-
function wideningDataFrames(value1, value2) {
|
|
250
|
-
return {
|
|
251
|
-
colnames: wideningColNames(value1.colnames, value2.colnames),
|
|
252
|
-
cols: wideningInterval(value1.cols, value2.cols),
|
|
253
|
-
rows: wideningInterval(value1.rows, value2.rows)
|
|
254
|
-
};
|
|
255
|
-
}
|
|
256
|
-
/** Checks if two abstract states of the data frame shape state domain are equal. */
|
|
257
|
-
function equalDataFrameState(state1, state2) {
|
|
258
|
-
if (state1 === state2) {
|
|
259
|
-
return true;
|
|
260
|
-
}
|
|
261
|
-
else if (state1.size !== state2.size) {
|
|
262
|
-
return false;
|
|
263
|
-
}
|
|
264
|
-
for (const [nodeId, value] of state1) {
|
|
265
|
-
const other = state2.get(nodeId);
|
|
266
|
-
if (other === undefined || !equalDataFrameDomain(value, other)) {
|
|
267
|
-
return false;
|
|
268
|
-
}
|
|
269
|
-
}
|
|
270
|
-
return true;
|
|
271
|
-
}
|
|
272
|
-
/** Joins multiple abstract states of the data frame shape state domain by joining each data frame shape of the states. */
|
|
273
|
-
function joinDataFrameStates(...states) {
|
|
274
|
-
const result = new Map(states[0]);
|
|
275
|
-
for (let i = 1; i < states.length; i++) {
|
|
276
|
-
for (const [nodeId, value] of states[i]) {
|
|
277
|
-
if (result.has(nodeId)) {
|
|
278
|
-
result.set(nodeId, joinDataFrames(result.get(nodeId) ?? exports.DataFrameTop, value));
|
|
279
|
-
}
|
|
280
|
-
else {
|
|
281
|
-
result.set(nodeId, value);
|
|
282
|
-
}
|
|
283
|
-
}
|
|
284
|
-
}
|
|
285
|
-
return result;
|
|
286
|
-
}
|
|
287
|
-
/** Meets multiple abstract states of the data frame shape state domain by meeting each data frame shape of the states. */
|
|
288
|
-
function meetDataFrameStates(...states) {
|
|
289
|
-
const result = new Map(states[0]);
|
|
290
|
-
for (let i = 1; i < states.length; i++) {
|
|
291
|
-
for (const [nodeId, value] of states[i]) {
|
|
292
|
-
if (result.has(nodeId)) {
|
|
293
|
-
result.set(nodeId, meetDataFrames(result.get(nodeId) ?? exports.DataFrameTop, value));
|
|
294
|
-
}
|
|
295
|
-
else {
|
|
296
|
-
result.set(nodeId, value);
|
|
297
|
-
}
|
|
298
|
-
}
|
|
299
|
-
}
|
|
300
|
-
return result;
|
|
301
|
-
}
|
|
302
|
-
/** Widens two abstract states of the data frame shape state domain by widening each data frame shape of the states. */
|
|
303
|
-
function wideningDataFrameStates(state1, state2) {
|
|
304
|
-
const result = new Map(state1);
|
|
305
|
-
for (const [nodeId, value] of state2) {
|
|
306
|
-
if (result.has(nodeId)) {
|
|
307
|
-
result.set(nodeId, wideningDataFrames(result.get(nodeId) ?? exports.DataFrameTop, value));
|
|
308
|
-
}
|
|
309
|
-
else {
|
|
310
|
-
result.set(nodeId, value);
|
|
311
|
-
}
|
|
312
|
-
}
|
|
313
|
-
return result;
|
|
314
|
-
}
|
|
315
|
-
//# sourceMappingURL=domain.js.map
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { type AbstractDomain } from './abstract-domain';
|
|
2
|
-
import { Bottom, Top } from './lattice';
|
|
3
|
-
/** The type of the actual values of the set bounded set domain as set */
|
|
4
|
-
export type SetBoundedSetValue<T> = ReadonlySet<T>;
|
|
5
|
-
/** The type of the Top element of the set bounded set domain as {@link Top} symbol */
|
|
6
|
-
export type SetBoundedSetTop = typeof Top;
|
|
7
|
-
/** The type of the Bottom element of the set bounded set domain as {@link Bottom} */
|
|
8
|
-
export type SetBoundedSetBottom = typeof Bottom;
|
|
9
|
-
/** The type of the abstract values of the set bounded set domain that are Top, Bottom, or actual values */
|
|
10
|
-
export type SetBoundedSetLift<T> = SetBoundedSetValue<T> | SetBoundedSetTop | SetBoundedSetBottom;
|
|
11
|
-
/**
|
|
12
|
-
* The set bounded set abstract domain as sets capturing possible values of the concrete set bounded by a `limit` for the maximum number of inferred values.
|
|
13
|
-
* The Bottom element is defined as the{@link Bottom} and the Top element is defined as {@link Top} symbol.
|
|
14
|
-
* @template T - Type of the values in the abstract domain
|
|
15
|
-
* @template Value - Type of the constraint in the abstract domain (Top, Bottom, or an actual value)
|
|
16
|
-
*/
|
|
17
|
-
export declare class SetBoundedSetDomain<T, Value extends SetBoundedSetLift<T> = SetBoundedSetLift<T>> implements AbstractDomain<ReadonlySet<T>, SetBoundedSetValue<T>, SetBoundedSetTop, SetBoundedSetBottom, Value> {
|
|
18
|
-
private readonly limit;
|
|
19
|
-
private _value;
|
|
20
|
-
constructor(value: Value, limit?: number);
|
|
21
|
-
get value(): Value;
|
|
22
|
-
static top<T>(limit?: number): SetBoundedSetDomain<T, SetBoundedSetTop>;
|
|
23
|
-
static bottom<T>(limit?: number): SetBoundedSetDomain<T, SetBoundedSetBottom>;
|
|
24
|
-
static abstract<T>(concrete: ReadonlySet<ReadonlySet<T>> | typeof Top, limit?: number): SetBoundedSetDomain<T>;
|
|
25
|
-
top(): SetBoundedSetDomain<T, SetBoundedSetTop>;
|
|
26
|
-
bottom(): SetBoundedSetDomain<T, SetBoundedSetBottom>;
|
|
27
|
-
equals(other: SetBoundedSetDomain<T>): boolean;
|
|
28
|
-
leq(other: SetBoundedSetDomain<T>): boolean;
|
|
29
|
-
join(...values: SetBoundedSetDomain<T>[]): SetBoundedSetDomain<T>;
|
|
30
|
-
meet(...values: SetBoundedSetDomain<T>[]): SetBoundedSetDomain<T>;
|
|
31
|
-
/**
|
|
32
|
-
* Subtracts another abstract value from the current abstract value by removing all elements of the other abstract value from the current abstract value.
|
|
33
|
-
*/
|
|
34
|
-
subtract(other: SetBoundedSetDomain<T>): SetBoundedSetDomain<T>;
|
|
35
|
-
widen(other: SetBoundedSetDomain<T>): SetBoundedSetDomain<T>;
|
|
36
|
-
narrow(other: SetBoundedSetDomain<T>): SetBoundedSetDomain<T>;
|
|
37
|
-
concretize(limit?: number): ReadonlySet<ReadonlySet<T>> | typeof Top;
|
|
38
|
-
abstract(concrete: ReadonlySet<ReadonlySet<T>> | typeof Top): SetBoundedSetDomain<T>;
|
|
39
|
-
toString(): string;
|
|
40
|
-
isTop(): this is SetBoundedSetDomain<T, SetBoundedSetTop>;
|
|
41
|
-
isBottom(): this is SetBoundedSetDomain<T, SetBoundedSetBottom>;
|
|
42
|
-
isValue(): this is SetBoundedSetDomain<T, SetBoundedSetValue<T>>;
|
|
43
|
-
}
|
|
@@ -1,164 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SetBoundedSetDomain = void 0;
|
|
4
|
-
const set_1 = require("../../util/collections/set");
|
|
5
|
-
const abstract_domain_1 = require("./abstract-domain");
|
|
6
|
-
const lattice_1 = require("./lattice");
|
|
7
|
-
/**
|
|
8
|
-
* The set bounded set abstract domain as sets capturing possible values of the concrete set bounded by a `limit` for the maximum number of inferred values.
|
|
9
|
-
* The Bottom element is defined as the{@link Bottom} and the Top element is defined as {@link Top} symbol.
|
|
10
|
-
* @template T - Type of the values in the abstract domain
|
|
11
|
-
* @template Value - Type of the constraint in the abstract domain (Top, Bottom, or an actual value)
|
|
12
|
-
*/
|
|
13
|
-
class SetBoundedSetDomain {
|
|
14
|
-
limit;
|
|
15
|
-
_value;
|
|
16
|
-
constructor(value, limit = abstract_domain_1.DEFAULT_INFERENCE_LIMIT) {
|
|
17
|
-
if (value !== lattice_1.Top && value !== lattice_1.Bottom) {
|
|
18
|
-
this._value = (value.size > limit ? lattice_1.Top : new Set(value));
|
|
19
|
-
}
|
|
20
|
-
else {
|
|
21
|
-
this._value = value;
|
|
22
|
-
}
|
|
23
|
-
this.limit = limit;
|
|
24
|
-
}
|
|
25
|
-
get value() {
|
|
26
|
-
return this._value;
|
|
27
|
-
}
|
|
28
|
-
static top(limit) {
|
|
29
|
-
return new SetBoundedSetDomain(lattice_1.Top, limit);
|
|
30
|
-
}
|
|
31
|
-
static bottom(limit) {
|
|
32
|
-
return new SetBoundedSetDomain(lattice_1.Bottom, limit);
|
|
33
|
-
}
|
|
34
|
-
static abstract(concrete, limit) {
|
|
35
|
-
if (concrete === lattice_1.Top) {
|
|
36
|
-
return SetBoundedSetDomain.top(limit);
|
|
37
|
-
}
|
|
38
|
-
else if (concrete.size === 0) {
|
|
39
|
-
return SetBoundedSetDomain.bottom(limit);
|
|
40
|
-
}
|
|
41
|
-
return new SetBoundedSetDomain(concrete.values().reduce((result, set) => result.union(set)), limit);
|
|
42
|
-
}
|
|
43
|
-
top() {
|
|
44
|
-
return SetBoundedSetDomain.top(this.limit);
|
|
45
|
-
}
|
|
46
|
-
bottom() {
|
|
47
|
-
return SetBoundedSetDomain.bottom(this.limit);
|
|
48
|
-
}
|
|
49
|
-
equals(other) {
|
|
50
|
-
return this.value === other.value || (this.isValue() && other.isValue() && (0, set_1.setEquals)(this.value, other.value));
|
|
51
|
-
}
|
|
52
|
-
leq(other) {
|
|
53
|
-
return this.value === lattice_1.Bottom || other.value === lattice_1.Top || (this.isValue() && other.isValue() && this.value.isSubsetOf(other.value));
|
|
54
|
-
}
|
|
55
|
-
join(...values) {
|
|
56
|
-
const result = new SetBoundedSetDomain(this.value, this.limit);
|
|
57
|
-
for (const other of values) {
|
|
58
|
-
if (result.value === lattice_1.Top || other.value === lattice_1.Top) {
|
|
59
|
-
result._value = lattice_1.Top;
|
|
60
|
-
}
|
|
61
|
-
else if (result.value === lattice_1.Bottom) {
|
|
62
|
-
result._value = other.value;
|
|
63
|
-
}
|
|
64
|
-
else if (other.value === lattice_1.Bottom) {
|
|
65
|
-
result._value = result.value;
|
|
66
|
-
}
|
|
67
|
-
else {
|
|
68
|
-
const join = result.value.union(other.value);
|
|
69
|
-
result._value = join.size > this.limit ? lattice_1.Top : join;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
return result;
|
|
73
|
-
}
|
|
74
|
-
meet(...values) {
|
|
75
|
-
const result = new SetBoundedSetDomain(this.value, this.limit);
|
|
76
|
-
for (const other of values) {
|
|
77
|
-
if (result.value === lattice_1.Bottom || other.value === lattice_1.Bottom) {
|
|
78
|
-
result._value = lattice_1.Bottom;
|
|
79
|
-
}
|
|
80
|
-
else if (result.value === lattice_1.Top) {
|
|
81
|
-
result._value = other.value;
|
|
82
|
-
}
|
|
83
|
-
else if (other.value === lattice_1.Top) {
|
|
84
|
-
result._value = result.value;
|
|
85
|
-
}
|
|
86
|
-
else {
|
|
87
|
-
result._value = result.value.intersection(other.value);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
return result;
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* Subtracts another abstract value from the current abstract value by removing all elements of the other abstract value from the current abstract value.
|
|
94
|
-
*/
|
|
95
|
-
subtract(other) {
|
|
96
|
-
if (this.value === lattice_1.Top) {
|
|
97
|
-
return this.top();
|
|
98
|
-
}
|
|
99
|
-
else if (this.value === lattice_1.Bottom) {
|
|
100
|
-
return this.bottom();
|
|
101
|
-
}
|
|
102
|
-
else if (other.value === lattice_1.Top || other.value === lattice_1.Bottom) {
|
|
103
|
-
return new SetBoundedSetDomain(this.value, this.limit);
|
|
104
|
-
}
|
|
105
|
-
else {
|
|
106
|
-
return new SetBoundedSetDomain(this.value.difference(other.value), this.limit);
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
widen(other) {
|
|
110
|
-
if (this.value === lattice_1.Bottom) {
|
|
111
|
-
return new SetBoundedSetDomain(other.value, this.limit);
|
|
112
|
-
}
|
|
113
|
-
else if (other.value === lattice_1.Bottom) {
|
|
114
|
-
return new SetBoundedSetDomain(this.value, this.limit);
|
|
115
|
-
}
|
|
116
|
-
return other.leq(this) ? new SetBoundedSetDomain(this.value, this.limit) : this.top();
|
|
117
|
-
}
|
|
118
|
-
narrow(other) {
|
|
119
|
-
if (this.value === lattice_1.Bottom || other.value === lattice_1.Bottom) {
|
|
120
|
-
return this.bottom();
|
|
121
|
-
}
|
|
122
|
-
return this.isTop() ? other : this;
|
|
123
|
-
}
|
|
124
|
-
concretize(limit = abstract_domain_1.DEFAULT_INFERENCE_LIMIT) {
|
|
125
|
-
if (this.value === lattice_1.Bottom) {
|
|
126
|
-
return new Set();
|
|
127
|
-
}
|
|
128
|
-
else if (this.value === lattice_1.Top || 2 ** (this.value.size) > limit) {
|
|
129
|
-
return lattice_1.Top;
|
|
130
|
-
}
|
|
131
|
-
const subsets = [new Set()];
|
|
132
|
-
for (const element of this.value.values()) {
|
|
133
|
-
const newSubsets = subsets.map(subset => new Set([...subset, element]));
|
|
134
|
-
for (const subset of newSubsets) {
|
|
135
|
-
subsets.push(subset);
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
return new Set(subsets);
|
|
139
|
-
}
|
|
140
|
-
abstract(concrete) {
|
|
141
|
-
return SetBoundedSetDomain.abstract(concrete, this.limit);
|
|
142
|
-
}
|
|
143
|
-
toString() {
|
|
144
|
-
if (this.value === lattice_1.Top) {
|
|
145
|
-
return '⊤';
|
|
146
|
-
}
|
|
147
|
-
else if (this.value === lattice_1.Bottom) {
|
|
148
|
-
return '⊥';
|
|
149
|
-
}
|
|
150
|
-
const string = this.value.values().map(abstract_domain_1.domainElementToString).toArray().join(', ');
|
|
151
|
-
return `{${string}}`;
|
|
152
|
-
}
|
|
153
|
-
isTop() {
|
|
154
|
-
return this.value === lattice_1.Top;
|
|
155
|
-
}
|
|
156
|
-
isBottom() {
|
|
157
|
-
return this.value == lattice_1.Bottom;
|
|
158
|
-
}
|
|
159
|
-
isValue() {
|
|
160
|
-
return this.value !== lattice_1.Top && this.value !== lattice_1.Bottom;
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
exports.SetBoundedSetDomain = SetBoundedSetDomain;
|
|
164
|
-
//# sourceMappingURL=set-bounded-set-domain.js.map
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import type { ReplCodeCommand } from './repl-main';
|
|
2
|
-
import type { SingleSlicingCriterion } from '../../../slicing/criterion/parse';
|
|
3
|
-
import type { NodeId } from '../../../r-bridge/lang-4.x/ast/model/processing/node-id';
|
|
4
|
-
import type { DataflowGraph } from '../../../dataflow/graph/graph';
|
|
5
|
-
import type { AstIdMap } from '../../../r-bridge/lang-4.x/ast/model/processing/decorate';
|
|
6
|
-
/**
|
|
7
|
-
* Get the lineage of a node in the dataflow graph
|
|
8
|
-
*
|
|
9
|
-
* @param criterion - The criterion to get the lineage of
|
|
10
|
-
* @param graph - The dataflow graph to search in
|
|
11
|
-
* @param idMap - The ID map to use for resolving the criterion (will default to that shipped with the dfgraph)
|
|
12
|
-
* @returns The lineage of the node represented as a set of node ids
|
|
13
|
-
*/
|
|
14
|
-
export declare function getLineage(criterion: SingleSlicingCriterion, graph: DataflowGraph, idMap?: AstIdMap): Set<NodeId>;
|
|
15
|
-
export declare const lineageCommand: ReplCodeCommand;
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.lineageCommand = void 0;
|
|
4
|
-
exports.getLineage = getLineage;
|
|
5
|
-
const parse_1 = require("../../../slicing/criterion/parse");
|
|
6
|
-
const edge_1 = require("../../../dataflow/graph/edge");
|
|
7
|
-
const assert_1 = require("../../../util/assert");
|
|
8
|
-
function splitAt(str, idx) {
|
|
9
|
-
return [str.slice(0, idx), str.slice(idx)];
|
|
10
|
-
}
|
|
11
|
-
function filterRelevantEdges(edge) {
|
|
12
|
-
return (0, edge_1.edgeIncludesType)(edge_1.EdgeType.DefinedBy | edge_1.EdgeType.DefinedByOnCall | edge_1.EdgeType.Returns | edge_1.EdgeType.Reads, edge.types);
|
|
13
|
-
}
|
|
14
|
-
function pushRelevantEdges(queue, outgoingEdges) {
|
|
15
|
-
queue.push(...[...outgoingEdges].filter(([_, edge]) => filterRelevantEdges(edge)));
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Get the lineage of a node in the dataflow graph
|
|
19
|
-
*
|
|
20
|
-
* @param criterion - The criterion to get the lineage of
|
|
21
|
-
* @param graph - The dataflow graph to search in
|
|
22
|
-
* @param idMap - The ID map to use for resolving the criterion (will default to that shipped with the dfgraph)
|
|
23
|
-
* @returns The lineage of the node represented as a set of node ids
|
|
24
|
-
*/
|
|
25
|
-
function getLineage(criterion, graph, idMap) {
|
|
26
|
-
idMap ??= graph.idMap;
|
|
27
|
-
(0, assert_1.guard)(idMap !== undefined, 'The ID map is required to get the lineage of a node');
|
|
28
|
-
const src = graph.get((0, parse_1.slicingCriterionToId)(criterion, idMap));
|
|
29
|
-
(0, assert_1.guard)(src !== undefined, 'The ID pointed to by the criterion does not exist in the dataflow graph');
|
|
30
|
-
const [vertex, outgoingEdges] = src;
|
|
31
|
-
const result = new Set([vertex.id]);
|
|
32
|
-
const edgeQueue = [];
|
|
33
|
-
pushRelevantEdges(edgeQueue, outgoingEdges);
|
|
34
|
-
while (edgeQueue.length > 0) {
|
|
35
|
-
const [target] = edgeQueue.shift();
|
|
36
|
-
if (result.has(target)) {
|
|
37
|
-
continue;
|
|
38
|
-
}
|
|
39
|
-
result.add(target);
|
|
40
|
-
const outgoingEdges = graph.outgoingEdges(target);
|
|
41
|
-
if (outgoingEdges !== undefined) {
|
|
42
|
-
pushRelevantEdges(edgeQueue, outgoingEdges);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
return result;
|
|
46
|
-
}
|
|
47
|
-
exports.lineageCommand = {
|
|
48
|
-
description: 'Get the lineage of an R object',
|
|
49
|
-
isCodeCommand: true,
|
|
50
|
-
usageExample: ':lineage',
|
|
51
|
-
aliases: ['lin'],
|
|
52
|
-
script: false,
|
|
53
|
-
argsParser: (args) => {
|
|
54
|
-
const [criterion, rest] = splitAt(args, args.indexOf(' '));
|
|
55
|
-
const code = rest.trim();
|
|
56
|
-
return {
|
|
57
|
-
input: code.startsWith('"') ? JSON.parse(code) : code,
|
|
58
|
-
remaining: [criterion]
|
|
59
|
-
};
|
|
60
|
-
},
|
|
61
|
-
fn: async ({ output, analyzer, remainingArgs }) => {
|
|
62
|
-
const lineageIds = getLineage(remainingArgs[0], (await analyzer.dataflow()).graph);
|
|
63
|
-
output.stdout([...lineageIds].join('\n'));
|
|
64
|
-
}
|
|
65
|
-
};
|
|
66
|
-
//# sourceMappingURL=repl-lineage.js.map
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { SingleSlicingCriterion } from '../../../../slicing/criterion/parse';
|
|
2
|
-
import type { IdMessageBase, MessageDefinition } from './all-messages';
|
|
3
|
-
import type { NodeId } from '../../../../r-bridge/lang-4.x/ast/model/processing/node-id';
|
|
4
|
-
export interface LineageRequestMessage extends IdMessageBase {
|
|
5
|
-
type: 'request-lineage';
|
|
6
|
-
/** The {@link FileAnalysisRequestMessage#filetoken} of the file/data */
|
|
7
|
-
filetoken: string;
|
|
8
|
-
/** The criterion to start the lineage from */
|
|
9
|
-
criterion: SingleSlicingCriterion;
|
|
10
|
-
}
|
|
11
|
-
export declare const requestLineageMessage: MessageDefinition<LineageRequestMessage>;
|
|
12
|
-
export interface LineageResponseMessage extends IdMessageBase {
|
|
13
|
-
type: 'response-lineage';
|
|
14
|
-
/** The lineage of the given criterion. With this being the representation of a set, there is no guarantee about order. */
|
|
15
|
-
lineage: NodeId[];
|
|
16
|
-
}
|
|
17
|
-
export declare const responseLineageMessage: MessageDefinition<LineageResponseMessage>;
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.responseLineageMessage = exports.requestLineageMessage = void 0;
|
|
7
|
-
const joi_1 = __importDefault(require("joi"));
|
|
8
|
-
exports.requestLineageMessage = {
|
|
9
|
-
type: 'request-lineage',
|
|
10
|
-
schema: joi_1.default.object({
|
|
11
|
-
type: joi_1.default.string().valid('request-lineage').required().description('The type of the message.'),
|
|
12
|
-
id: joi_1.default.string().optional().description('If you give the id, the response will be sent to the client with the same id.'),
|
|
13
|
-
filetoken: joi_1.default.string().required().description('The filetoken of the file/data retrieved from the analysis request.'),
|
|
14
|
-
criterion: joi_1.default.string().required().description('The criterion to start the lineage from.')
|
|
15
|
-
})
|
|
16
|
-
};
|
|
17
|
-
exports.responseLineageMessage = {
|
|
18
|
-
type: 'response-lineage',
|
|
19
|
-
schema: joi_1.default.object({
|
|
20
|
-
type: joi_1.default.string().valid('response-lineage').required(),
|
|
21
|
-
id: joi_1.default.string().optional().description('The id of the message, will be the same for the request.'),
|
|
22
|
-
lineage: joi_1.default.array().items(joi_1.default.string()).required().description('The lineage of the given criterion.')
|
|
23
|
-
})
|
|
24
|
-
};
|
|
25
|
-
//# sourceMappingURL=message-lineage.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|