Crate proto_core
source ·Re-exports§
pub use warpgate;
Modules§
Structs§
- Container for a calendar version.
- An identifier for plugins.
- Container for a semantic version.
- SemVer version as defined by https://semver.org.
- SemVer version requirement describing the intersection of some version comparators, such as
>=1.2.3, <1.8
.
Enums§
- Strategies and protocols for locating plugins.
- Represents an unresolved version or alias that must be resolved to a fully-qualified version.
- Represents a resolved version or alias.
Constants§
Statics§
Functions§
- Cleans a version requirement string by removing * version parts, and correcting AND operators.
- Cleans a potential version string by removing a leading
v
orV
. - Get a regex pattern that matches calendar versions (calver). For example: 2024-02-26, 2024-12, 2024-01-alpha, etc.
- Get a regex pattern that matches semantic versions (semver). For example: 1.2.3, 6.5.4, 7.8.9-alpha, etc.
- Returns true if the provided value is an alias. An alias is a word that maps to version, for example, “latest” -> “1.2.3”.
- Returns true if the provided value is a calendar version string.
- Returns true if the provided value is a semantic version string.
- Parse the provided string and determine the output format. Since an unresolved version can be many things, such as an alias, version requirement, semver, or calver, we need to parse this manually to determine the correct output.
- Parse the provided string as a list of version requirements, as separated by
||
. Each requirement will be parsed individually withparse
.