ua-parser-js
Advanced tools
Comparing version 0.7.1 to 0.7.3
{ | ||
"name": "ua-parser-js", | ||
"version": "0.7.1", | ||
"version": "0.7.3", | ||
"authors": [ | ||
@@ -5,0 +5,0 @@ "Faisal Salman <fyzlman@gmail.com>" |
{ | ||
"name": "ua-parser-js", | ||
"version": "0.7.1", | ||
"version": "0.7.3", | ||
"description": "Lightweight JavaScript-based user-agent string parser", | ||
@@ -5,0 +5,0 @@ "keywords": ["user-agent", "parser", "browser", "engine", "os", "device", "cpu"], |
{ | ||
"title": "UAParser.js", | ||
"name": "ua-parser-js", | ||
"version": "0.7.1", | ||
"version": "0.7.3", | ||
"author": "Faisal Salman <fyzlman@gmail.com> (http://faisalman.com)", | ||
@@ -49,3 +49,3 @@ "description": "Lightweight JavaScript-based user-agent string parser", | ||
"jshint": "~1.1.0", | ||
"mocha": "~1.7.1", | ||
"mocha": "~1.8.0", | ||
"uglify-js": "~1.3.4" | ||
@@ -71,5 +71,6 @@ }, | ||
"directories": { | ||
"lib": "src", | ||
"dist": "dist", | ||
"src": "src", | ||
"test": "test" | ||
} | ||
} |
@@ -5,3 +5,3 @@ # UAParser.js | ||
[![Build Status](https://travis-ci.org/faisalman/ua-parser-js.png?branch=master)](https://travis-ci.org/faisalman/ua-parser-js) | ||
[![Build Status](https://travis-ci.org/faisalman/ua-parser-js.svg?branch=master)](https://travis-ci.org/faisalman/ua-parser-js) | ||
@@ -42,8 +42,9 @@ * Author : Faisal Salman <<fyzlman@gmail.com>> | ||
# Possible 'device.type': | ||
console, mobile, tablet, smarttv | ||
console, mobile, tablet, smarttv, wearable, embedded | ||
# Possible 'device.vendor': | ||
Acer, Alcatel, Amazon, Apple, Asus, BenQ, BlackBerry, Dell, GeeksPhone, | ||
HP, HTC, Huawei, Jolla, Lenovo, LG, Meizu, Motorola, Nexian, Nintendo, Nokia, | ||
Palm, Panasonic, Polytron, RIM, Samsung, Siemens, Sony-Ericsson, Sprint, ZTE | ||
Acer, Alcatel, Amazon, Apple, Archos, Asus, BenQ, BlackBerry, Dell, GeeksPhone, | ||
Google, HP, HTC, Huawei, Jolla, Lenovo, LG, Meizu, Microsoft, Motorola, Nexian, | ||
Nintendo, Nokia, Nvidia, Ouya, Palm, Panasonic, Polytron, RIM, Samsung, Sharp, | ||
Siemens, Sony-Ericsson, Sprint, Xbox, ZTE | ||
@@ -69,8 +70,8 @@ # 'device.model' determined dynamically | ||
# Possible 'os.name' | ||
AIX, Amiga OS, Android, Arch, Bada, BeOS, BlackBerry, CentOS, Chromium OS, | ||
AIX, Amiga OS, Android, Arch, Bada, BeOS, BlackBerry, CentOS, Chromium OS, Contiki, | ||
Fedora, Firefox OS, FreeBSD, Debian, DragonFly, Gentoo, GNU, Haiku, Hurd, iOS, | ||
Joli, Linux, Mac OS, Mandriva, MeeGo, Minix, Mint, Morph OS, NetBSD, Nintendo, | ||
OpenBSD, OS/2, Palm, PCLinuxOS, Plan9, Playstation, QNX, RedHat, RIM Tablet OS, | ||
RISC OS, Sailfish, Series40, Slackware, Solaris, SUSE, Symbian, Tizen, Ubuntu, | ||
UNIX, WebOS, Windows [Phone/Mobile], Zenwalk | ||
Joli, Linpus, Linux, Mac OS, Mageia, Mandriva, MeeGo, Minix, Mint, Morph OS, NetBSD, | ||
Nintendo, OpenBSD, OpenVMS, OS/2, Palm, PCLinuxOS, Plan9, Playstation, QNX, RedHat, | ||
RIM Tablet OS, RISC OS, Sailfish, Series40, Slackware, Solaris, SUSE, Symbian, Tizen, | ||
Ubuntu, UNIX, VectorLinux, WebOS, Windows [Phone/Mobile], Zenwalk | ||
@@ -85,3 +86,4 @@ # 'os.version' determined dynamically | ||
# Possible 'cpu.architecture' | ||
68k, amd64, arm, ia32, ia64, irix, irix64, mips, mips64, pa-risc, ppc, sparc, sparc64 | ||
68k, amd64, arm, arm64, avr, ia32, ia64, irix, irix64, mips, mips64, pa-risc, | ||
ppc, sparc, sparc64 | ||
``` | ||
@@ -88,0 +90,0 @@ |
@@ -1,7 +0,9 @@ | ||
// UAParser.js v0.7.1 | ||
// Lightweight JavaScript-based User-Agent string parser | ||
// https://github.com/faisalman/ua-parser-js | ||
// | ||
// Copyright © 2012-2014 Faisal Salman <fyzlman@gmail.com> | ||
// Dual licensed under GPLv2 & MIT | ||
/** | ||
* UAParser.js v0.7.3 | ||
* Lightweight JavaScript-based User-Agent string parser | ||
* https://github.com/faisalman/ua-parser-js | ||
* | ||
* Copyright © 2012-2014 Faisal Salman <fyzlman@gmail.com> | ||
* Dual licensed under GPLv2 & MIT | ||
*/ | ||
@@ -17,3 +19,3 @@ (function (window, undefined) { | ||
var LIBVERSION = '0.7.1', | ||
var LIBVERSION = '0.7.3', | ||
EMPTY = '', | ||
@@ -34,3 +36,5 @@ UNKNOWN = '?', | ||
TABLET = 'tablet', | ||
SMARTTV = 'smarttv'; | ||
SMARTTV = 'smarttv', | ||
WEARABLE = 'wearable', | ||
EMBEDDED = 'embedded'; | ||
@@ -72,4 +76,6 @@ | ||
var result, i = 0, j, k, p, q, matches, match, args = arguments; | ||
// loop through all regexes maps | ||
for (var result, i = 0, j, k, p, q, matches, match, args = arguments; i < args.length; i += 2) { | ||
while (i < args.length && !matches) { | ||
@@ -93,4 +99,5 @@ var regex = args[i], // even sequence (0,2,4,..) | ||
// try matching uastring with regexes | ||
for (j = k = 0; j < regex.length; j++) { | ||
matches = regex[j].exec(this.getUA()); | ||
j = k = 0; | ||
while (j < regex.length && !matches) { | ||
matches = regex[j++].exec(this.getUA()); | ||
if (!!matches) { | ||
@@ -126,7 +133,5 @@ for (p = 0; p < props.length; p++) { | ||
} | ||
break; | ||
} | ||
} | ||
if(!!matches) break; // break the loop immediately if match found | ||
i += 2; | ||
} | ||
@@ -211,2 +216,3 @@ return result; | ||
'8.1' : 'NT 6.3', | ||
'10' : 'NT 6.4', | ||
'RT' : 'ARM' | ||
@@ -441,4 +447,4 @@ } | ||
/(ia64(?=;)|68k(?=\))|arm(?=v\d+;)|(?:irix|mips|sparc)(?:64)?(?=;)|pa-risc)/i | ||
// IA64, 68K, ARM, IRIX, MIPS, SPARC, PA-RISC | ||
/((?:avr32|ia64(?=;))|68k(?=\))|arm(?:64|(?=v\d+;))|(?=atmel\s)avr|(?:irix|mips|sparc)(?:64)?(?=;)|pa-risc)/i | ||
// IA64, 68K, ARM/64, AVR/32, IRIX/64, MIPS/64, SPARC/64, PA-RISC | ||
], [[ARCHITECTURE, util.lowerize]] | ||
@@ -458,2 +464,3 @@ ], | ||
/(archos)\s(gamepad2?)/i, // Archos | ||
/(hp).+(touchpad)/i, // HP TouchPad | ||
@@ -481,7 +488,7 @@ /(kindle)\/([\w\.]+)/i, // Kindle | ||
], [VENDOR, MODEL, [TYPE, MOBILE]], [ | ||
/\((bb10);\s(\w+)/i // BlackBerry 10 | ||
], [[VENDOR, 'BlackBerry'], MODEL, [TYPE, MOBILE]], [ | ||
/\(bb10;\s(\w+)/i // BlackBerry 10 | ||
], [MODEL, [VENDOR, 'BlackBerry'], [TYPE, MOBILE]], [ | ||
// Asus Tablets | ||
/android.+((transfo[prime\s]{4,10}\s\w+|eeepc|slider\s\w+|nexus 7))/i | ||
], [[VENDOR, 'Asus'], MODEL, [TYPE, TABLET]], [ | ||
/android.+(transfo[prime\s]{4,10}\s\w+|eeepc|slider\s\w+|nexus 7)/i | ||
], [MODEL, [VENDOR, 'Asus'], [TYPE, TABLET]], [ | ||
@@ -491,13 +498,17 @@ /(sony)\s(tablet\s[ps])/i // Sony Tablets | ||
/\s(ouya)\s/i, // Ouya | ||
/(nintendo)\s([wids3u]+)/i // Nintendo | ||
], [VENDOR, MODEL, [TYPE, CONSOLE]], [ | ||
/((playstation)\s[3portablevi]+)/i // Playstation | ||
], [[VENDOR, 'Sony'], MODEL, [TYPE, CONSOLE]], [ | ||
/android.+;\s(shield)\sbuild/i // Nvidia | ||
], [MODEL, [VENDOR, 'Nvidia'], [TYPE, CONSOLE]], [ | ||
/(playstation\s[3portablevi]+)/i // Playstation | ||
], [MODEL, [VENDOR, 'Sony'], [TYPE, CONSOLE]], [ | ||
/(sprint\s(\w+))/i // Sprint Phones | ||
], [[VENDOR, mapper.str, maps.device.sprint.vendor], [MODEL, mapper.str, maps.device.sprint.model], [TYPE, MOBILE]], [ | ||
/(Lenovo)\s?(S(?:5000|6000)+(?:[-][\w+]))/i // Lenovo tablets | ||
], [[VENDOR, 'Lenovo'], MODEL, [TYPE, TABLET]], [ | ||
/(lenovo)\s?(S(?:5000|6000)+(?:[-][\w+]))/i // Lenovo tablets | ||
], [VENDOR, MODEL, [TYPE, TABLET]], [ | ||
@@ -510,2 +521,7 @@ /(htc)[;_\s-]+([\w\s]+(?=\))|\w+)*/i, // HTC | ||
/[\s\(;](xbox(?:\sone)?)[\s\);]/i // Microsoft Xbox | ||
], [MODEL, [VENDOR, 'Microsoft'], [TYPE, CONSOLE]], [ | ||
/(kin\.[onetw]{3})/i // Microsoft Kin | ||
], [[MODEL, /\./g, ' '], [VENDOR, 'Microsoft'], [TYPE, MOBILE]], [ | ||
// Motorola | ||
@@ -515,4 +531,4 @@ /\s((milestone|droid(?:[2-4x]|\s(?:bionic|x2|pro|razr))?(:?\s4g)?))[\w\s]+build\//i, | ||
], [[VENDOR, 'Motorola'], MODEL, [TYPE, MOBILE]], [ | ||
/android.+\s((mz60\d|xoom[\s2]{0,2}))\sbuild\//i | ||
], [[VENDOR, 'Motorola'], MODEL, [TYPE, TABLET]], [ | ||
/android.+\s(mz60\d|xoom[\s2]{0,2})\sbuild\//i | ||
], [MODEL, [VENDOR, 'Motorola'], [TYPE, TABLET]], [ | ||
@@ -526,4 +542,8 @@ /android.+((sch-i[89]0\d|shw-m380s|gt-p\d{4}|gt-n8000|sgh-t8[56]9|nexus 10))/i, | ||
], [[VENDOR, 'Samsung'], MODEL, [TYPE, MOBILE]], [ | ||
/(sie)-(\w+)*/i // Siemens | ||
], [[VENDOR, 'Siemens'], MODEL, [TYPE, MOBILE]], [ | ||
/(samsung);smarttv/i | ||
], [VENDOR, MODEL, [TYPE, SMARTTV]], [ | ||
/\(dtv[\);].+(aquos)/i // Sharp | ||
], [MODEL, [VENDOR, 'Sharp'], [TYPE, SMARTTV]], [ | ||
/sie-(\w+)*/i // Siemens | ||
], [MODEL, [VENDOR, 'Siemens'], [TYPE, MOBILE]], [ | ||
@@ -534,4 +554,4 @@ /(maemo|nokia).*(n900|lumia\s\d+)/i, // Nokia | ||
/android\s3\.[\s\w-;]{10}((a\d{3}))/i // Acer | ||
], [[VENDOR, 'Acer'], MODEL, [TYPE, TABLET]], [ | ||
/android\s3\.[\s\w-;]{10}(a\d{3})/i // Acer | ||
], [MODEL, [VENDOR, 'Acer'], [TYPE, TABLET]], [ | ||
@@ -541,12 +561,18 @@ /android\s3\.[\s\w-;]{10}(lg?)-([06cv9]{3,4})/i // LG Tablet | ||
/(lg) netcast\.tv/i // LG SmartTV | ||
], [VENDOR, [TYPE, SMARTTV]], [ | ||
/((nexus\s[45]))/i, // LG | ||
/(lg)[e;\s\/-]+(\w+)*/i | ||
], [[VENDOR, 'LG'], MODEL, [TYPE, MOBILE]], [ | ||
], [VENDOR, MODEL, [TYPE, SMARTTV]], [ | ||
/(nexus\s[45])/i, // LG | ||
/lg[e;\s\/-]+(\w+)*/i | ||
], [MODEL, [VENDOR, 'LG'], [TYPE, MOBILE]], [ | ||
/android.+((ideatab[a-z0-9\-\s]+))/i // Lenovo | ||
], [[VENDOR, 'Lenovo'], MODEL, [TYPE, TABLET]], [ | ||
/android.+(ideatab[a-z0-9\-\s]+)/i // Lenovo | ||
], [MODEL, [VENDOR, 'Lenovo'], [TYPE, TABLET]], [ | ||
/linux;.+((jolla));/i // Jolla | ||
], [VENDOR, MODEL, [TYPE, MOBILE]], [ | ||
/((pebble))app\/[\d\.]+\s/i // Pebble | ||
], [VENDOR, MODEL, [TYPE, WEARABLE]], [ | ||
/android.+;\s(glass)\s\d/i // Google Glass | ||
], [MODEL, [VENDOR, 'Google'], [TYPE, WEARABLE]], [ | ||
@@ -584,5 +610,5 @@ /(mobile|tablet);.+rv\:.+gecko\//i // Unidentifiable | ||
/(blackberry)\w*\/?([\w\.]+)*/i, // Blackberry | ||
/(tizen)\/([\w\.]+)/i, // Tizen | ||
/(android|webos|palm\os|qnx|bada|rim\stablet\sos|meego)[\/\s-]?([\w\.]+)*/i, | ||
// Android/WebOS/Palm/QNX/Bada/RIM/MeeGo | ||
/(tizen)[\/\s]([\w\.]+)/i, // Tizen | ||
/(android|webos|palm\os|qnx|bada|rim\stablet\sos|meego|contiki)[\/\s-]?([\w\.]+)*/i, | ||
// Android/WebOS/Palm/QNX/Bada/RIM/MeeGo/Contiki | ||
/linux;.+(sailfish);/i // Sailfish OS | ||
@@ -602,5 +628,6 @@ ], [NAME, VERSION], [ | ||
/(mint)[\/\s\(]?(\w+)*/i, // Mint | ||
/(joli|[kxln]?ubuntu|debian|[open]*suse|gentoo|arch|slackware|fedora|mandriva|centos|pclinuxos|redhat|zenwalk)[\/\s-]?([\w\.-]+)*/i, | ||
/(mageia|vectorlinux)[;\s]/i, // Mageia/VectorLinux | ||
/(joli|[kxln]?ubuntu|debian|[open]*suse|gentoo|arch|slackware|fedora|mandriva|centos|pclinuxos|redhat|zenwalk|linpus)[\/\s-]?([\w\.-]+)*/i, | ||
// Joli/Ubuntu/Debian/SUSE/Gentoo/Arch/Slackware | ||
// Fedora/Mandriva/CentOS/PCLinuxOS/RedHat/Zenwalk | ||
// Fedora/Mandriva/CentOS/PCLinuxOS/RedHat/Zenwalk/Linpus | ||
/(hurd|linux)\s?([\w\.]+)*/i, // Hurd/Linux | ||
@@ -624,10 +651,12 @@ /(gnu)\s?([\w\.]+)*/i // GNU | ||
/(mac\sos\sx)\s?([\w\s\.]+\w)*/i // Mac OS | ||
], [NAME, [VERSION, /_/g, '.']], [ | ||
/(mac\sos\sx)\s?([\w\s\.]+\w)*/i, | ||
/(macintosh|mac(?=_powerpc)\s)/i // Mac OS | ||
], [[NAME, 'Mac OS'], [VERSION, /_/g, '.']], [ | ||
// Other | ||
/((?:open)?solaris)[\/\s-]?([\w\.]+)*/i, // Solaris | ||
/(haiku)\s(\w+)/i, // Haiku | ||
/(aix)\s((\d)(?=\.|\)|\s)[\w\.]*)*/i, // AIX | ||
/(macintosh|mac(?=_powerpc)|plan\s9|minix|beos|os\/2|amigaos|morphos|risc\sos)/i, | ||
// Plan9/Minix/BeOS/OS2/AmigaOS/MorphOS/RISCOS | ||
/(plan\s9|minix|beos|os\/2|amigaos|morphos|risc\sos|openvms)/i, | ||
// Plan9/Minix/BeOS/OS2/AmigaOS/MorphOS/RISCOS/OpenVMS | ||
/(unix)\s?([\w\.]+)*/i // UNIX | ||
@@ -704,3 +733,5 @@ ], [NAME, VERSION] | ||
SMARTTV : SMARTTV, | ||
TABLET : TABLET | ||
TABLET : TABLET, | ||
WEARABLE: WEARABLE, | ||
EMBEDDED: EMBEDDED | ||
}; | ||
@@ -707,0 +738,0 @@ UAParser.ENGINE = { |
@@ -475,3 +475,3 @@ [ | ||
{ | ||
"name" : "Mac OS X", | ||
"name" : "Mac OS", | ||
"version" : "10.6.8" | ||
@@ -478,0 +478,0 @@ } |
{ | ||
"title": "UAParser.js", | ||
"name": "ua-parser-js", | ||
"version": "0.7.1", | ||
"version": "0.7.3", | ||
"description": "Lightweight JavaScript-based user-agent string parser", | ||
@@ -31,3 +31,3 @@ "keywords": [ | ||
"docs": "https://github.com/faisalman/ua-parser-js", | ||
"download": "https://raw.github.com/faisalman/ua-parser-js/master/src/ua-parser.min.js" | ||
"download": "https://raw.github.com/faisalman/ua-parser-js/master/dist/ua-parser.min.js" | ||
} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
139782
3559
273