From 74d10a82603519385202254a856964865247c8e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pablo=20Rodr=C3=ADguez?= Date: Tue, 15 Aug 2017 14:12:05 +0200 Subject: [PATCH] Add 'undefined' to ua-parser-js return values The type definitions for ua-parser-js are missing undefined on its return values. UAParser will return undefined if given an invalid user agent string, and will also return undefined on values that can't be figured out based on a valid string. For instance: const UAParser = require("ua-parser-js") const ua = new UAParser("Fake ua") console.log(ua.getBrowser().name) // undefined --- types/ua-parser-js/index.d.ts | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/types/ua-parser-js/index.d.ts b/types/ua-parser-js/index.d.ts index f11eac1ba8..3dbb344dd3 100644 --- a/types/ua-parser-js/index.d.ts +++ b/types/ua-parser-js/index.d.ts @@ -1,6 +1,6 @@ // Type definitions for ua-parser-js v0.7.10 // Project: https://github.com/faisalman/ua-parser-js -// Definitions by: Viktor Miroshnikov , Lucas Woo +// Definitions by: Viktor Miroshnikov , Lucas Woo , Pablo Rodríguez // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped declare namespace IUAParser { @@ -18,31 +18,31 @@ declare namespace IUAParser { * Tizen, UCBrowser, Vivaldi, w3m, Yandex * */ - name: string; + name: string | undefined; /** * Determined dynamically */ - version: string; + version: string | undefined; /** * Determined dynamically * @deprecated */ - major: string; + major: string | undefined; } export interface IDevice { /** * Determined dynamically */ - model: string; + model: string | undefined; /** * Possible type: * console, mobile, tablet, smarttv, wearable, embedded */ - type: string; + type: string | undefined; /** * Possible vendor: @@ -51,7 +51,7 @@ declare namespace IUAParser { * Nintendo, Nokia, Nvidia, Ouya, Palm, Panasonic, Polytron, RIM, Samsung, Sharp, * Siemens, Sony-Ericsson, Sprint, Xbox, ZTE */ - vendor: string; + vendor: string | undefined; } export interface IEngine { @@ -60,11 +60,11 @@ declare namespace IUAParser { * Amaya, EdgeHTML, Gecko, iCab, KHTML, Links, Lynx, NetFront, NetSurf, Presto, * Tasman, Trident, w3m, WebKit */ - name: string; + name: string | undefined; /** * Determined dynamically */ - version: string; + version: string | undefined; } export interface IOS { @@ -77,11 +77,11 @@ declare namespace IUAParser { * RIM Tablet OS, RISC OS, Sailfish, Series40, Slackware, Solaris, SUSE, Symbian, Tizen, * Ubuntu, UNIX, VectorLinux, WebOS, Windows [Phone/Mobile], Zenwalk */ - name: string; + name: string | undefined; /** * Determined dynamically */ - version: string; + version: string | undefined; } export interface ICPU { @@ -90,7 +90,7 @@ declare namespace IUAParser { * 68k, amd64, arm, arm64, avr, ia32, ia64, irix, irix64, mips, mips64, pa-risc, * ppc, sparc, sparc64 */ - architecture: string; + architecture: string | undefined; } export interface IResult {