Update version to 2.0.0-beta.1

This commit is contained in:
Faisal Salman 2023-10-02 15:11:31 +07:00
parent 5a0d9cc3d0
commit ac282df13e
12 changed files with 1028 additions and 699 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

1654
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
Package.describe({ Package.describe({
name: 'faisalman:ua-parser-js', name: 'faisalman:ua-parser-js',
version: '2.0.0-alpha.3', version: '2.0.0-beta.1',
summary: 'Lightweight JavaScript-based user-agent string parser', summary: 'Lightweight JavaScript-based user-agent string parser',
git: 'https://github.com/faisalman/ua-parser-js.git', git: 'https://github.com/faisalman/ua-parser-js.git',
documentation: 'readme.md' documentation: 'readme.md'

View File

@ -1,7 +1,7 @@
{ {
"title": "UAParser.js", "title": "UAParser.js",
"name": "ua-parser-js", "name": "ua-parser-js",
"version": "2.0.0-alpha.3", "version": "2.0.0-beta.1",
"author": "Faisal Salman <f@faisalman.com> (http://faisalman.com)", "author": "Faisal Salman <f@faisalman.com> (http://faisalman.com)",
"description": "Detect Browser, Engine, OS, CPU, and Device type/model from User-Agent & Client Hints data. Supports browser & node.js environment", "description": "Detect Browser, Engine, OS, CPU, and Device type/model from User-Agent & Client Hints data. Supports browser & node.js environment",
"keywords": [ "keywords": [
@ -228,8 +228,8 @@
"test": "test" "test": "test"
}, },
"bugs": "https://github.com/faisalman/ua-parser-js/issues", "bugs": "https://github.com/faisalman/ua-parser-js/issues",
"demo": "https://faisalman.github.io/ua-parser-js", "demo": "https://uaparser.js.org",
"download": "https://raw.github.com/faisalman/ua-parser-js/master/dist/ua-parser.min.js", "download": "https://raw.github.com/faisalman/ua-parser-js/master/dist/ua-parser.pack.js",
"funding": [ "funding": [
{ {
"type": "opencollective", "type": "opencollective",

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////// ///////////////////////////////////////////////
/* Enums for UAParser.js v2.0.0-beta /* Enums for UAParser.js v2.0.0-beta.1
https://github.com/faisalman/ua-parser-js https://github.com/faisalman/ua-parser-js
Author: Faisal Salman <f@faisalman.com> Author: Faisal Salman <f@faisalman.com>
AGPLv3 License */ AGPLv3 License */

View File

@ -3,7 +3,7 @@
// Source: /src/enums/ua-parser-enums.js // Source: /src/enums/ua-parser-enums.js
/////////////////////////////////////////////// ///////////////////////////////////////////////
/* Enums for UAParser.js v2.0.0-beta /* Enums for UAParser.js v2.0.0-beta.1
https://github.com/faisalman/ua-parser-js https://github.com/faisalman/ua-parser-js
Author: Faisal Salman <f@faisalman.com> Author: Faisal Salman <f@faisalman.com>
AGPLv3 License */ AGPLv3 License */

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////// ///////////////////////////////////////////////
/* Extensions for UAParser.js v2.0.0-beta /* Extensions for UAParser.js v2.0.0-beta.1
https://github.com/faisalman/ua-parser-js https://github.com/faisalman/ua-parser-js
Author: Faisal Salman <f@faisalman.com> Author: Faisal Salman <f@faisalman.com>
AGPLv3 License */ AGPLv3 License */

View File

@ -3,7 +3,7 @@
// Source: /src/extensions/ua-parser-extensions.js // Source: /src/extensions/ua-parser-extensions.js
/////////////////////////////////////////////// ///////////////////////////////////////////////
/* Extensions for UAParser.js v2.0.0-beta /* Extensions for UAParser.js v2.0.0-beta.1
https://github.com/faisalman/ua-parser-js https://github.com/faisalman/ua-parser-js
Author: Faisal Salman <f@faisalman.com> Author: Faisal Salman <f@faisalman.com>
AGPLv3 License */ AGPLv3 License */

View File

@ -1,4 +1,4 @@
// Type definitions for UAParser.js v2.0.0-beta // Type definitions for UAParser.js v2.0.0-beta.1
// Project: https://github.com/faisalman/ua-parser-js // Project: https://github.com/faisalman/ua-parser-js
// Definitions by: Faisal Salman <https://github.com/faisalman> // Definitions by: Faisal Salman <https://github.com/faisalman>

View File

@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////
/* UAParser.js v2.0.0-beta /* UAParser.js v2.0.0-beta.1
Copyright © 2012-2023 Faisal Salman <f@faisalman.com> Copyright © 2012-2023 Faisal Salman <f@faisalman.com>
AGPLv3 License *//* AGPLv3 License *//*
Detect Browser, Engine, OS, CPU, and Device type/model from User-Agent data. Detect Browser, Engine, OS, CPU, and Device type/model from User-Agent data.
@ -20,7 +20,7 @@
///////////// /////////////
var LIBVERSION = '2.0.0-beta', var LIBVERSION = '2.0.0-beta.1',
EMPTY = '', EMPTY = '',
UNKNOWN = '?', UNKNOWN = '?',
FUNC_TYPE = 'function', FUNC_TYPE = 'function',

View File

@ -3,7 +3,7 @@
// Source: /src/main/ua-parser.js // Source: /src/main/ua-parser.js
///////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////
/* UAParser.js v2.0.0-beta /* UAParser.js v2.0.0-beta.1
Copyright © 2012-2023 Faisal Salman <f@faisalman.com> Copyright © 2012-2023 Faisal Salman <f@faisalman.com>
AGPLv3 License *//* AGPLv3 License *//*
Detect Browser, Engine, OS, CPU, and Device type/model from User-Agent data. Detect Browser, Engine, OS, CPU, and Device type/model from User-Agent data.
@ -22,7 +22,7 @@
///////////// /////////////
var LIBVERSION = '2.0.0-beta', var LIBVERSION = '2.0.0-beta.1',
EMPTY = '', EMPTY = '',
UNKNOWN = '?', UNKNOWN = '?',
FUNC_TYPE = 'function', FUNC_TYPE = 'function',
@ -133,8 +133,12 @@
var arr = []; var arr = [];
var tokens = strip(/\\?\"/g, header).split(','); var tokens = strip(/\\?\"/g, header).split(',');
for (var i = 0; i < tokens.length; i++) { for (var i = 0; i < tokens.length; i++) {
var token = tokens[i].split(';v='); if (tokens[i].indexOf(';') > -1) {
var token = trim(tokens[i]).split(';v=');
arr[i] = { brand : token[0], version : token[1] }; arr[i] = { brand : token[0], version : token[1] };
} else {
arr[i] = tokens[i];
}
} }
return arr; return arr;
}, },
@ -159,7 +163,7 @@
return str.replace(pattern, EMPTY); return str.replace(pattern, EMPTY);
}, },
stripQuotes = function (val) { stripQuotes = function (val) {
return typeof val === STR_TYPE ? strip(/\"/g, val) : val; return typeof val === STR_TYPE ? strip(/\\?\"/g, val) : val;
}, },
trim = function (str, len) { trim = function (str, len) {
if (typeof(str) === STR_TYPE) { if (typeof(str) === STR_TYPE) {
@ -241,7 +245,7 @@
return (i === UNKNOWN) ? undefined : i; return (i === UNKNOWN) ? undefined : i;
} }
} }
return str; return map.hasOwnProperty('*') ? map['*'] : str;
}; };
/////////////// ///////////////
@ -265,10 +269,11 @@
formFactorMap = { formFactorMap = {
'embedded' : 'Automotive', 'embedded' : 'Automotive',
'mobile' : 'Mobile', 'mobile' : 'Mobile',
'tablet' : 'Tablet', 'tablet' : ['Tablet', 'EInk'],
'smarttv' : 'TV', 'smarttv' : 'TV',
'wearable' : ['VR', 'XR'], 'wearable' : ['VR', 'XR', 'Watch'],
'?' : 'Unknown' '?' : ['Desktop', 'Unknown'],
'*' : undefined
}; };
////////////// //////////////
@ -949,7 +954,7 @@
[PLATFORM, stripQuotes(uach[CH_HEADER_PLATFORM])], [PLATFORM, stripQuotes(uach[CH_HEADER_PLATFORM])],
[PLATFORMVER, stripQuotes(uach[CH_HEADER_PLATFORM_VER])], [PLATFORMVER, stripQuotes(uach[CH_HEADER_PLATFORM_VER])],
[ARCHITECTURE, stripQuotes(uach[CH_HEADER_ARCH])], [ARCHITECTURE, stripQuotes(uach[CH_HEADER_ARCH])],
[FORMFACTOR, stripQuotes(uach[CH_HEADER_FORM_FACTOR])], [FORMFACTOR, itemListToArray(uach[CH_HEADER_FORM_FACTOR])],
[BITNESS, stripQuotes(uach[CH_HEADER_BITNESS])] [BITNESS, stripQuotes(uach[CH_HEADER_BITNESS])]
]); ]);
} else { } else {
@ -1031,8 +1036,7 @@
}; };
this.parseCH = function () { this.parseCH = function () {
var ua = this.ua, var uaCH = this.uaCH,
uaCH = this.uaCH,
rgxMap = this.rgxMap; rgxMap = this.rgxMap;
switch (this.itemType) { switch (this.itemType) {
@ -1065,7 +1069,16 @@
this.set(MODEL, uaCH[MODEL]); this.set(MODEL, uaCH[MODEL]);
} }
if (uaCH[FORMFACTOR]) { if (uaCH[FORMFACTOR]) {
this.set(TYPE, strMapper(uaCH[FORMFACTOR], formFactorMap)); var ff;
if (typeof uaCH[FORMFACTOR] !== 'string') {
var idx = 0;
while (!ff && idx < uaCH[FORMFACTOR].length) {
ff = strMapper(uaCH[FORMFACTOR][idx++], formFactorMap);
}
} else {
ff = strMapper(uaCH[FORMFACTOR], formFactorMap);
}
this.set(TYPE, ff);
} }
break; break;
case UA_OS: case UA_OS: