@bscotch/yy
Version:
Stringify, parse, read, and write GameMaker yy and yyp files.
40 lines • 2.16 kB
TypeScript
export type GameMakerVersionParsed = [
year: number,
month: number,
major: number,
minor: number
];
/** Utility class for GameMaker version strings, allowing easy comparison etc */
export declare class GameMakerVersionString {
#private;
readonly version: string;
constructor(version: string);
/** Get an array of integer values making up the version (returns a cloned array) */
get parsed(): GameMakerVersionParsed;
compare(other: GameMakerVersionString | string): 0 | 1 | -1;
gt(other: GameMakerVersionString | string): boolean;
gte(other: GameMakerVersionString | string): boolean;
eq(other: GameMakerVersionString | string): boolean;
lt(other: GameMakerVersionString | string): boolean;
lte(other: GameMakerVersionString | string): boolean;
toString(): string;
toJSON(): string;
static from<T extends string[] | string>(versions: T): T extends string[] ? GameMakerVersionString[] : GameMakerVersionString;
/**
* A function that can be used for sorting GameMaker IDE/Runtime version
* strings, which are in the format "W.X.Y.Z" where W, X, Y, and Z
* are all integers.
* Note that comparisons across branches (lts, public, dev, beta)
* are messy, so mileage will vary for those.
* @returns -1 if a < b, 0 if a === b, 1 if a > b
*/
static compare(a: string | GameMakerVersionString, b: string | GameMakerVersionString): -1 | 0 | 1;
static gt(a: string | GameMakerVersionString, b: string | GameMakerVersionString): boolean;
static gte(a: string | GameMakerVersionString, b: string | GameMakerVersionString): boolean;
static eq(a: string | GameMakerVersionString, b: string | GameMakerVersionString): boolean;
static lt(a: string | GameMakerVersionString, b: string | GameMakerVersionString): boolean;
static lte(a: string | GameMakerVersionString, b: string | GameMakerVersionString): boolean;
static parse(version: string): [year: number, month: number, major: number, minor: number];
static sort<T extends (string | GameMakerVersionString)[]>(versions: T): T;
}
//# sourceMappingURL=GameMakerVersionString.d.ts.map