diff --git a/index.d.ts b/index.d.ts index 4489af8..439f0db 100644 --- a/index.d.ts +++ b/index.d.ts @@ -75,10 +75,10 @@ declare namespace Bowser { /** * Check if the version is equals the browser version * @param version The string to compare with the browser version - * @returns {boolean} + * @returns {boolean | undefined} Undefined if no browser version is available. */ - compareVersion(version: string): boolean; + compareVersion(version: string): boolean | undefined; /** * Get parsed browser object diff --git a/test/types/fixtures/consumer-cjs.ts b/test/types/fixtures/consumer-cjs.ts index 2414e48..23d66ab 100644 --- a/test/types/fixtures/consumer-cjs.ts +++ b/test/types/fixtures/consumer-cjs.ts @@ -9,6 +9,9 @@ const result: Bowser.Parser.ParsedResult = Bowser.parse(UA); const parser: Bowser.Parser.Parser = Bowser.getParser(UA); const name: string | undefined = result.browser.name; const satisfies: boolean | undefined = parser.satisfies({ chrome: '>100' }); +const comparison: boolean | undefined = parser.compareVersion('>100'); +// @ts-expect-error A browser without a detected version returns undefined. +const definiteComparison: boolean = parser.compareVersion('>100'); const hints: Bowser.ClientHints = { mobile: false }; const maps: Record = Bowser.BROWSER_MAP; diff --git a/test/types/fixtures/consumer-esm.ts b/test/types/fixtures/consumer-esm.ts index 924bf53..09e3323 100644 --- a/test/types/fixtures/consumer-esm.ts +++ b/test/types/fixtures/consumer-esm.ts @@ -12,6 +12,9 @@ const result: ParsedResult = parse(UA); const parser: Parser = getParser(UA); const tree: checkTree = { chrome: '>100' }; const satisfies: boolean | undefined = parser.satisfies(tree); +const comparison: boolean | undefined = parser.compareVersion('>100'); +// @ts-expect-error A browser without a detected version returns undefined. +const definiteComparison: boolean = parser.compareVersion('>100'); const hints: ClientHints = { mobile: false }; const maps: Array> = [ Bowser.BROWSER_MAP, BROWSER_MAP, ENGINE_MAP, OS_MAP, PLATFORMS_MAP,