UNPKG

dmclc

Version:

Dolphin Minecraft Launcher Core

63 lines (62 loc) 2.17 kB
import { Version } from "./Version.js"; /** * Represents a <a href="https://semver.org/">Sematic Version</a>. * * <p>Compared to a regular {@link Version}, this type of version receives better support * for version comparisons in dependency notations, and is preferred.</p> * * @see Version */ export declare abstract class SemanticVersion extends Version { /** * The value of {@linkplain #getVersionComponent(int) version component} that indicates * a {@linkplain #hasWildcard() wildcard}. */ static COMPONENT_WILDCARD: number; /** * Returns the number of components in this version. * * <p>For example, {@code 1.3.x} has 3 components.</p> * * @return the number of components */ abstract getVersionComponentCount(): number; /** * Returns the version component at {@code pos}. * * <p>May return {@link #COMPONENT_WILDCARD} to indicate a wildcard component.</p> * * <p>If the pos exceeds the number of components, returns {@link #COMPONENT_WILDCARD} * if the version {@linkplain #hasWildcard() has wildcard}; otherwise returns {@code 0}.</p> * * @param pos - the position to check * @return the version component */ abstract getVersionComponent(pos: number): number; /** * Returns the prerelease key in the version notation. * * <p>The prerelease key is indicated by a {@code -} before a {@code +} in * the version notation.</p> * * @return the optional prerelease key */ abstract getPrereleaseKey(): string | null; /** * Returns the build key in the version notation. * * <p>The build key is indicated by a {@code +} in the version notation.</p> * * @return the optional build key */ abstract getBuildKey(): string | null; /** * Returns if a wildcard notation is present in this version. * * <p>A wildcard notation is a {@code x}, {@code X}, or {@code *} in the version string, * such as {@code 2.5.*}.</p> * * @return whether this version has a wildcard notation */ abstract hasWildcard(): boolean | undefined; }