VirtualTimeGenServer.Packages (GenServerVirtualTime v1.1.1)

Copy Markdown View Source

Which package of this library family owns a module, and what a project has to add when the module is missing.

The library is published as several packages that share one version. A module keeps its name when it changes package, so a project that misses one of them only has to add a dependency — this table is what lets mix virtual_time.doctor say which one, instead of leaving a bare module ActorSimulation is not available in the build output.

Summary

Functions

The dependency line a project adds for package.

The package that owns module, or nil when the module belongs to this package or to nothing we know.

Every package that is published next to this one.

What to write instead of a call that no longer exists, or nil when the call is fine.

Types

package()

@type package() :: :actor_simulation | :actor_simulation_codegen

Functions

dependency(package)

@spec dependency(package()) :: String.t()

The dependency line a project adds for package.

owner(module)

@spec owner(String.t()) :: package() | nil

The package that owns module, or nil when the module belongs to this package or to nothing we know.

A module matches a family entry when it is that entry's module or a module under it. The most specific entry wins, so ActorSimulation.Codegen.CAF is the codegen package's even though ActorSimulation is the simulation's.

packages()

@spec packages() :: [package()]

Every package that is published next to this one.

removed_api(module, function)

@spec removed_api(String.t(), String.t() | nil) :: String.t() | nil

What to write instead of a call that no longer exists, or nil when the call is fine.