mirror of
https://github.com/faisalman/ua-parser-js.git
synced 2025-09-27 07:58:45 +03:00
124 lines
5.4 KiB
JavaScript
124 lines
5.4 KiB
JavaScript
// Generated ESM version of UAParser.js extensions
|
|
// DO NOT EDIT THIS FILE!
|
|
// Source: /src/extension/ua-parser-extension.js
|
|
|
|
///////////////////////////////////////////////
|
|
/* Extensions for UAParser.js v2.0.0-alpha.2
|
|
https://github.com/faisalman/ua-parser-js
|
|
Author: Faisal Salman <f@faisalman.com>
|
|
MIT License */
|
|
//////////////////////////////////////////////
|
|
|
|
const MODEL = 'model';
|
|
const NAME = 'name';
|
|
const TYPE = 'type';
|
|
const VENDOR = 'vendor';
|
|
const VERSION = 'version';
|
|
const MOBILE = 'mobile';
|
|
const TABLET = 'tablet';
|
|
|
|
const Bots = Object.freeze({
|
|
browser : [
|
|
// Googlebot / BingBot / MSNBot / FacebookBot
|
|
[/((?:google|bing|msn|facebook)bot(?:\-[imagevdo]{5})?|bingpreview)\/([\w\.]+)/i], [NAME, VERSION, [TYPE, 'bot']]
|
|
]
|
|
});
|
|
|
|
const ExtraDevices = Object.freeze({
|
|
device : [
|
|
[
|
|
/(nook)[\w ]+build\/(\w+)/i, // Nook
|
|
/(dell) (strea[kpr\d ]*[\dko])/i, // Dell Streak
|
|
/(le[- ]+pan)[- ]+(\w{1,9}) bui/i, // Le Pan Tablets
|
|
/(trinity)[- ]*(t\d{3}) bui/i, // Trinity Tablets
|
|
/(gigaset)[- ]+(q\w{1,9}) bui/i, // Gigaset Tablets
|
|
/(vodafone) ([\w ]+)(?:\)| bui)/i // Vodafone
|
|
], [VENDOR, MODEL, [TYPE, TABLET]], [
|
|
|
|
/(u304aa)/i // AT&T
|
|
], [MODEL, [VENDOR, 'AT&T'], [TYPE, MOBILE]], [
|
|
|
|
/\bsie-(\w*)/i // Siemens
|
|
], [MODEL, [VENDOR, 'Siemens'], [TYPE, MOBILE]], [
|
|
|
|
/\b(rct\w+) b/i // RCA Tablets
|
|
], [MODEL, [VENDOR, 'RCA'], [TYPE, TABLET]], [
|
|
|
|
/\b(venue[\d ]{2,7}) b/i // Dell Venue Tablets
|
|
], [MODEL, [VENDOR, 'Dell'], [TYPE, TABLET]], [
|
|
|
|
/\b(q(?:mv|ta)\w+) b/i // Verizon Tablet
|
|
], [MODEL, [VENDOR, 'Verizon'], [TYPE, TABLET]], [
|
|
|
|
/\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i // Barnes & Noble Tablet
|
|
], [MODEL, [VENDOR, 'Barnes & Noble'], [TYPE, TABLET]], [
|
|
|
|
/\b(tm\d{3}\w+) b/i
|
|
], [MODEL, [VENDOR, 'NuVision'], [TYPE, TABLET]], [
|
|
|
|
/\b(k88) b/i // ZTE K Series Tablet
|
|
], [MODEL, [VENDOR, 'ZTE'], [TYPE, TABLET]], [
|
|
|
|
/\b(nx\d{3}j) b/i // ZTE Nubia
|
|
], [MODEL, [VENDOR, 'ZTE'], [TYPE, MOBILE]], [
|
|
|
|
/\b(gen\d{3}) b.+49h/i // Swiss GEN Mobile
|
|
], [MODEL, [VENDOR, 'Swiss'], [TYPE, MOBILE]], [
|
|
|
|
/\b(zur\d{3}) b/i // Swiss ZUR Tablet
|
|
], [MODEL, [VENDOR, 'Swiss'], [TYPE, TABLET]], [
|
|
|
|
/\b((zeki)?tb.*\b) b/i // Zeki Tablets
|
|
], [MODEL, [VENDOR, 'Zeki'], [TYPE, TABLET]], [
|
|
|
|
/\b([yr]\d{2}) b/i,
|
|
/\b(?:dragon[- ]+touch |dt)(\w{5}) b/i // Dragon Touch Tablet
|
|
], [MODEL, [VENDOR, 'Dragon Touch'], [TYPE, TABLET]], [
|
|
|
|
/\b(ns-?\w{0,9}) b/i // Insignia Tablets
|
|
], [MODEL, [VENDOR, 'Insignia'], [TYPE, TABLET]], [
|
|
|
|
/\b((nxa|next)-?\w{0,9}) b/i // NextBook Tablets
|
|
], [MODEL, [VENDOR, 'NextBook'], [TYPE, TABLET]], [
|
|
|
|
/\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i // Voice Xtreme Phones
|
|
], [[VENDOR, 'Voice'], MODEL, [TYPE, MOBILE]], [
|
|
|
|
/\b(lvtel\-)?(v1[12]) b/i // LvTel Phones
|
|
], [[VENDOR, 'LvTel'], MODEL, [TYPE, MOBILE]], [
|
|
|
|
/\b(ph-1) /i // Essential PH-1
|
|
], [MODEL, [VENDOR, 'Essential'], [TYPE, MOBILE]], [
|
|
|
|
/\b(v(100md|700na|7011|917g).*\b) b/i // Envizen Tablets
|
|
], [MODEL, [VENDOR, 'Envizen'], [TYPE, TABLET]], [
|
|
|
|
/\b(trio[-\w\. ]+) b/i // MachSpeed Tablets
|
|
], [MODEL, [VENDOR, 'MachSpeed'], [TYPE, TABLET]], [
|
|
|
|
/\btu_(1491) b/i // Rotor Tablets
|
|
], [MODEL, [VENDOR, 'Rotor'], [TYPE, TABLET]
|
|
]
|
|
]
|
|
});
|
|
|
|
const Emails = Object.freeze({
|
|
browser : [
|
|
// Microsoft Outlook / Thunderbird
|
|
[/(microsoft outlook|thunderbird)[\s\/]([\w\.]+)/i], [NAME, VERSION, [TYPE, 'email']]
|
|
]
|
|
});
|
|
|
|
const Tools = Object.freeze({
|
|
browser : [
|
|
// wget / curl / lynx
|
|
[/(wget|curl|lynx)\/([\w\.]+)/i], [NAME, VERSION, [TYPE, 'tool']]
|
|
]
|
|
});
|
|
|
|
export {
|
|
Bots,
|
|
ExtraDevices,
|
|
Emails,
|
|
Tools
|
|
} |