dmclc
Version:
Dolphin Minecraft Launcher Core
25 lines (24 loc) • 921 B
TypeScript
import { Version } from "./Version.js";
import { VersionComparisonOperator } from "./VersionComparisonOperator.js";
import { VersionInterval } from "./VersionInterval.js";
export declare abstract class VersionPredicate {
/**
* Get all terms that have to be satisfied for this predicate to match.
*
* @return Required predicate terms, empty if anything matches
*/
abstract getTerms(): PredicateTerm[];
/**
* Get the version interval representing the matched versions.
*
* @return Covered version interval or null if nothing
*/
abstract getInterval(): VersionInterval;
abstract test(version: Version): boolean;
static parseStringOne(predicate: string): VersionPredicate;
static parseString(predicates: string[]): Set<VersionPredicate>;
}
export interface PredicateTerm {
getOperator(): VersionComparisonOperator;
getReferenceVersion(): Version;
}