UNPKG

appium-chromium-driver

Version:

Appium driver for Chromium-based browsers that work with Chromedriver

42 lines (38 loc) 1.28 kB
/** * A version parser for Microsoft Edge browser and MSEdgeDriver. */ export class Version { // The version format is expected to be like "147.0.3179.73" or "147.0.3179.98". private static readonly VERSION_PATTERN = /^(\d+)\.\d+\.\d+\.\d+$/; constructor( private readonly rawVersion: string, /** * The major version number extracted from the raw version string. * Most of cases the major version is sufficient to determine * the compatible MSEdgeDriver version, so we extract it for convenience. */ readonly major: string, ) {} /** * Parse a version string into a Version instance. * @param version The version string (e.g., "147.0.3179.73" or "147.0.3179.98"). * @returns A Version instance. * @throws Error if the version string is invalid. */ static from(version: string): Version { const match = this.VERSION_PATTERN.exec(version); if (!match) { throw new Error( `Invalid version format: '${version}'. Please report it to the Appium team as it might be a new version format.`, ); } return new Version(version, match[1]); } /** * Return the original version string. * @returns The original version string. */ toString(): string { return this.rawVersion; } }