• Creates a new flowr config that has the updated values.

    Parameters

    • config: FlowrConfigOptions
    • amendmentFunc: (
          config: {
              abstractInterpretation: {
                  dataFrame: {
                      maxColNames: number;
                      readLoadedData: { maxReadLines: number; readExternalFiles: boolean };
                  };
                  wideningThreshold: number;
              };
              defaultEngine?: "r-shell"
              | "tree-sitter";
              engines: (
                  | { rPath?: string; type: "r-shell"; [key: string]: unknown }
                  | {
                      lax?: boolean;
                      treeSitterWasmPath?: string;
                      type: "tree-sitter";
                      wasmPath?: string;
                      [key: string]: unknown;
                  }
              )[];
              ignoreSourceCalls: boolean;
              project: { resolveUnknownPathsOnDisk: boolean };
              repl: { dfProcessorHeat: boolean; quickStats: boolean };
              semantics: {
                  environment: {
                      overwriteBuiltIns: {
                          definitions: (
                              | {
                                  assumePrimitive?: boolean;
                                  names: Identifier[];
                                  type: "constant";
                                  value: unknown;
                              }
                              | {
                                  assumePrimitive?: boolean;
                                  config: { readIndices: boolean };
                                  names: Identifier[];
                                  suffixes: ("<-" | "<<-")[];
                                  type: "replacement";
                              }
                              | {
                                  assumePrimitive?: boolean;
                                  config?: | {
                                      forceArgs?: (...)
                                      | (...)
                                      | (...);
                                      libFn?: (...) | (...) | (...);
                                      treatIndicesAsString: boolean;
                                  }
                                  | {
                                      indexOfFunction?: (...)
                                      | (...);
                                      libFn?: (...) | (...) | (...);
                                      nameOfFunctionArgument?: (...) | (...);
                                      resolveInEnvironment?: (...) | (...) | (...);
                                      resolveValue?: (...) | (...) | (...);
                                      unquoteFunction?: (...) | (...) | (...);
                                      [key: string]: unknown;
                                  }
                                  | {
                                      canBeReplacement?: (...)
                                      | (...)
                                      | (...);
                                      forceArgs?: (...) | (...) | (...);
                                      indicesCollection?: (...) | (...);
                                      libFn?: (...) | (...) | (...);
                                      makeMaybe?: (...) | (...) | (...);
                                      mayHaveMoreArgs?: (...) | (...) | (...);
                                      quoteSource?: (...) | (...) | (...);
                                      superAssignment?: (...) | (...) | (...);
                                      swapSourceAndTarget?: (...) | (...) | (...);
                                      targetVariable?: (...) | (...) | (...);
                                  }
                                  | {
                                      canBeReplacement?: (...)
                                      | (...)
                                      | (...);
                                      forceArgs?: (...) | (...) | (...);
                                      indicesCollection?: (...) | (...);
                                      libFn?: (...) | (...) | (...);
                                      makeMaybe?: (...) | (...) | (...);
                                      mayHaveMoreArgs?: (...) | (...) | (...);
                                      quoteSource?: (...) | (...) | (...);
                                      source: { idx?: ...; name: ... };
                                      superAssignment?: (...) | (...) | (...);
                                      swapSourceAndTarget?: (...) | (...) | (...);
                                      target: { idx?: ...; name: ... };
                                      targetVariable?: (...) | (...) | (...);
                                  }
                                  | {
                                      cfg?: (...)
                                      | (...);
                                      forceArgs?: (...) | (...) | (...);
                                      hasUnknownSideEffects?: (...) | (...) | (...) | (...);
                                      libFn?: (...) | (...) | (...);
                                      readAllArguments?: (...) | (...) | (...);
                                      returnsNthArgument?: (...) | (...) | (...);
                                      treatAsFnCall?: (...) | (...);
                                      useAsProcessor?: (...) | (...);
                                  }
                                  | {
                                      includeFunctionCall?: (...)
                                      | (...)
                                      | (...);
                                      libFn?: (...) | (...) | (...);
                                  }
                                  | {
                                      forceArgs?: (...)
                                      | (...)
                                      | (...);
                                      libFn?: (...) | (...) | (...);
                                      quoteArgumentsWithIndex?: (...) | (...);
                                  }
                                  | {
                                      args: { add?: ...; after?: ...; expr: ... };
                                      hook: OnFnExit;
                                      libFn?: (...) | (...) | (...);
                                  }
                                  | {
                                      activeIndices?: (...)
                                      | (...);
                                      assignmentOperator?: (...) | (...) | (...);
                                      assignRootId?: (...) | (...);
                                      forceArgs?: (...) | (...) | (...);
                                      libFn?: (...) | (...) | (...);
                                      makeMaybe?: (...) | (...) | (...);
                                      readIndices?: (...) | (...) | (...);
                                  }
                                  | {
                                      forceFollow?: (...)
                                      | (...)
                                      | (...);
                                      includeFunctionCall?: (...) | (...) | (...);
                                      libFn?: (...) | (...) | (...);
                                  }
                                  | {
                                      evalRhsWhen: boolean;
                                      forceArgs?: (...)
                                      | (...)
                                      | (...);
                                      lazy: boolean;
                                      libFn?: (...) | (...) | (...);
                                  }
                                  | {
                                      block: string;
                                      handlers: { error?: ...; finally?: ... };
                                      libFn?: (...) | (...) | (...);
                                  };
                                  evalHandler?: string;
                                  names: Identifier[];
                                  processor: | "builtin:access"
                                  | "builtin:apply"
                                  | "builtin:assignment"
                                  | "builtin:assignment-like"
                                  | "builtin:default"
                                  | "builtin:eval"
                                  | "builtin:expression-list"
                                  | "builtin:for-loop"
                                  | "builtin:function-definition"
                                  | "builtin:get"
                                  | "builtin:if-then-else"
                                  | "builtin:library"
                                  | "builtin:list"
                                  | "builtin:pipe"
                                  | "builtin:quote"
                                  | "builtin:register-hook"
                                  | "builtin:repeat-loop"
                                  | "builtin:replacement"
                                  | "builtin:rm"
                                  | "builtin:source"
                                  | "builtin:special-bin-op"
                                  | "builtin:stopifnot"
                                  | "builtin:try"
                                  | "builtin:vector"
                                  | "builtin:while-loop";
                                  type: "function";
                              }
                          )[];
                          loadDefaults?: boolean;
                      };
                  };
              };
              solver: {
                  evalStrings: boolean;
                  instrument: {
                      dataflowExtractors?: (
                          extractor: DataflowProcessors<ParentInformation>,
                          ctx: FlowrAnalyzerContext,
                      ) => DataflowProcessors<ParentInformation>;
                  };
                  pointerTracking: boolean
                  | { maxIndexCount: number };
                  resolveSource?: {
                      applyReplacements?: { [key: string]: string }[];
                      dropPaths: DropPathsOption;
                      ignoreCapitalization: boolean;
                      inferWorkingDirectory: InferWorkingDirectory;
                      repeatedSourceLimit?: number;
                      searchPath: string[];
                      [key: string]: unknown;
                  };
                  slicer?: { threshold?: number };
                  variables: VariableResolve;
              };
              [key: string]: unknown;
          },
      ) => void
      | FlowrConfigOptions

    Returns FlowrConfigOptions