From b9a710978e88ff1d5480886c2552efaccdad78ae Mon Sep 17 00:00:00 2001 From: Faisal Salman Date: Fri, 2 May 2025 10:19:19 +0700 Subject: [PATCH] Fix #791 - Add new device vendor: Vizio --- src/enums/ua-parser-enums.d.ts | 1 + src/enums/ua-parser-enums.js | 1 + src/main/ua-parser.js | 1 + test/data/ua/device/vizio.json | 20 ++++++++++++++++++++ 4 files changed, 23 insertions(+) create mode 100644 test/data/ua/device/vizio.json diff --git a/src/enums/ua-parser-enums.d.ts b/src/enums/ua-parser-enums.d.ts index dc9d4b8..e5bec20 100644 --- a/src/enums/ua-parser-enums.d.ts +++ b/src/enums/ua-parser-enums.d.ts @@ -255,6 +255,7 @@ export const Vendor: Readonly<{ TESLA: "Tesla"; ULEFONE: "Ulefone"; VIVO: "Vivo"; + VIZIO: "Vizio"; VODAFONE: "Vodafone"; XBOX: "Xbox"; XIAOMI: "Xiaomi"; diff --git a/src/enums/ua-parser-enums.js b/src/enums/ua-parser-enums.js index ee46d8b..84615b6 100644 --- a/src/enums/ua-parser-enums.js +++ b/src/enums/ua-parser-enums.js @@ -266,6 +266,7 @@ const Vendor = Object.freeze({ TESLA: 'Tesla', ULEFONE: 'Ulefone', VIVO: 'Vivo', + VIZIO: 'Vizio', VODAFONE: 'Vodafone', XBOX: 'Xbox', XIAOMI: 'Xiaomi', diff --git a/src/main/ua-parser.js b/src/main/ua-parser.js index 88864b7..51c8812 100755 --- a/src/main/ua-parser.js +++ b/src/main/ua-parser.js @@ -766,6 +766,7 @@ ], [VENDOR, [TYPE, SMARTTV]], [ /hbbtv.+maple;(\d+)/i ], [[MODEL, /^/, 'SmartTV'], [VENDOR, SAMSUNG], [TYPE, SMARTTV]], [ + /(vizio)(?: |.+model\/)(\w+-\w+)/i, // Vizio /tcast.+(lg)e?. ([-\w]+)/i // LG SmartTV ], [VENDOR, MODEL, [TYPE, SMARTTV]], [ /(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i diff --git a/test/data/ua/device/vizio.json b/test/data/ua/device/vizio.json new file mode 100644 index 0000000..d36ae4d --- /dev/null +++ b/test/data/ua/device/vizio.json @@ -0,0 +1,20 @@ +[ + { + "desc": "VIZIO", + "ua": "Mozilla/5.0 (X11; Linux armv7l) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36 CrKey/1.0.999999 VIZIO SmartCast(Conjure/SX7B-4.6.419.12 FW/7.0.23.2-4 Model/M557-G0)", + "expect": { + "vendor": "VIZIO", + "model": "M557-G0", + "type": "smarttv" + } + }, + { + "desc": "VIZIO", + "ua": "VIZIO V506-J09 ViziOS/1.4.512.847.1 WatchFree/24.06.13.2 FancyPlayer/1.1.30-qa ", + "expect": { + "vendor": "VIZIO", + "model": "V506-J09", + "type": "smarttv" + } + } +] \ No newline at end of file