Constructs a new dependency specification that matches a specific path.
Constructs a new dependency specification that matches a specific Git reference.
Constructs a new dependency specification from a string
Constructs a new dependency specification that matches a specific version.
Construct a version from a range of possible values
Returns a modified dependency that gets mapped to a given path.
Tests if the specification matches a specific version.
Determines if this dependency specification matches arbitrary versions.
Merges two dependency specifications.
Compares dependency specifications.
Compares dependency specifications.
Returns a JSON representation of the dependency specification.
Returns a human-readable string representation of the dependency specification.
Determines if this dependency specification is valid.
Determines if an optional dependency should be chosen by default.
Returns true iff the version range only matches a specific version.
Determines if the dependency is required or optional.
If set, overrides any version based dependency selection.
If set, overrides any version based dependency selection.
Sets/gets the matching version range as a specification string.
Returns the exact version matched by the version range.
Constructs a new Dependency from its JSON representation.
Represents a dependency specification.
A dependency specification either represents a specific version or version range, or a path to a package. In addition to that it has optional and default_ flags to control how non-mandatory dependencies are handled. The package name is notably not part of the dependency specification.