@eagleoutice/flowr - v2.17.4
    Preparing search index...

    Read-only interface to the FlowrAnalyzerDependenciesContext for inspecting dependencies without modifying them.

    interface ReadOnlyFlowrAnalyzerDependenciesContext {
        availableSignatureDatabases(): readonly string[];
        declaredPackageNames(): readonly BrandedNamespace[];
        functionsContext: ReadOnlyFlowrAnalyzerFunctionsContext;
        getDependencies(): readonly Readonly<Package>[];
        getDependency(
            name: BrandedNamespace,
            version?: string | Range,
        ): Readonly<Package> | undefined;
        hasSignatureDatabase(): boolean;
        inferredRange(name: BrandedNamespace): Range | undefined;
        loadedSignatureDatabases(): SigDbLoadedInfo[];
        name: BrandedNamespace;
        packagesExporting(name: BrandedIdentifier): readonly BrandedNamespace[];
        signatureOf(id: Identifier, version?: string): DecodedFunction | undefined;
        signatures(): SignatureDb;
        signatureSources(): readonly PackageSignatureSource[];
    }

    Implemented by

    Index

    The functions context associated with this dependencies-context.

    The name of this context.

    • The identifying names (scopes, e.g. base/current/history) of the signature databases currently available, deduplicated. A simple view over loadedSignatureDatabases for checking what a project can resolve against; empty when the signature database is disabled or none is loaded.

      Returns readonly string[]

    • Get the dependency with the given name, if it exists.

      If the static dependencies have not yet been loaded, this may trigger a resolution step. Pass version to pin the resolution to a constraint (an exact version string, or a Range; uncached; versionOverrides config still wins, base-R stays tied to the assumed R version); otherwise the version comes from the declared constraints.

      Parameters

      • name: BrandedNamespace

        The name of the dependency to get.

      • Optionalversion: string | Range

        Optional version constraint to pin the resolution to (exact version string or a Range).

      Returns Readonly<Package> | undefined

      The dependency with the given name, or undefined if it does not exist.

    • The way to reach the signature database programmatically.

      Everything the database can answer is on the returned SignatureDb, and it answers for the version this project assumes for each package, which is the one solver.sigdb.versionOverrides, solver.sigdb.versionSelection and solver.sigdb.assumedRVersion produced. A bare PackageSignatureSource would instead answer for whatever it happens to hold as newest.

      Returns SignatureDb

      const db = analyzer.inspectContext().deps.signatures();
      db.versionOf('dplyr'); // the version the analysis assumes
      db.functionOf(Identifier.make('lead', 'dplyr')); // its database entry
      db.parametersOf(Identifier.make('lead', 'dplyr')); // its formals, ready for FunctionSemantics.call.match.toNames