@equixswap/token-lists
Version:
📚 The Token Lists specification
37 lines (34 loc) • 835 B
text/typescript
/**
* Enum describing types of version differences
*/
import { Version } from './types';
export enum VersionUpgrade {
NONE,
PATCH,
MINOR,
MAJOR,
}
/**
* Return the upgrade type from the base version to the update version.
* Note that downgrades and equivalent versions are both treated as `NONE`.
* @param base base list
* @param update update to the list
*/
export function getVersionUpgrade(
base: Version,
update: Version
): VersionUpgrade {
if (update.major > base.major) {
return VersionUpgrade.MAJOR;
}
if (update.major < base.major) {
return VersionUpgrade.NONE;
}
if (update.minor > base.minor) {
return VersionUpgrade.MINOR;
}
if (update.minor < base.minor) {
return VersionUpgrade.NONE;
}
return update.patch > base.patch ? VersionUpgrade.PATCH : VersionUpgrade.NONE;
}