0.3.2 • Published 7 years ago
koa2-useragent v0.3.2
koa2-useragent
Fast User Agent parser middleware
Install
npm install koa2-useragentEasy usage
const userAgent = require('koa2-useragent');
app.use(userAgent());
app.use(async (ctx, next) => {
console.log(ctx.userAgent.isWebkit);
console.log(ctx.userAgent.isChromeOS);
await next();
});The module will display similar information
{
browser: 'Chrome',
version: '51.0.2704.106',
engine: 'Webkit',
arch: 'amd64',
os: 'Linux 64',
platform: 'Linux',
geoIp: {},
source: 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36'
isMobile: false,
isTablet: false,
isiPad: false,
isiPod: false,
isiPhone: false,
isAndroid: false,
isBlackberry: false,
isOpera: false,
isIE: false,
isEdge: false,
isIECompatibilityMode: false,
isSafari: false,
isFirefox: false,
isWebkit: false,
isChrome: true,
isKonqueror: false,
isOmniWeb: false,
isSeaMonkey: false,
isFlock: false,
isAmaya: false,
isEpiphany: false,
isDesktop: true,
isWindows: false,
isLinux: true,
isLinux64: true,
isMac: false,
isChromeOS: false,
isBada: false,
isSamsung: false,
isRaspberry: false,
isBot: false,
isCurl: false,
isAndroidTablet: false,
isWinJs: false,
isKindleFire: false,
isSilk: false,
isCaptive: false,
isSmartTV: false,
isWechat: false,
silkAccelerated: false,
}You can easily filter the objects to the desired criteria
let userAgentStorage = [];
let filtered = [];
uas.push(ctx.userAgent); // Desktop user agent object
uas.push(ctx.userAgent); // Mobile user agent object
/**
* You will fetch only mobile and Android useragent
*/
filtered = userAgentStorage.filter((userAgent) => {
if (userAgent.isMobile === true && userAgent.isAndroid === true) {
return userAgent;
}
});
/**
* You'll get desktop users on Mac using Chrome
*/
filtered = userAgentStorage.filter((userAgent) => {
if (userAgent.isDesktop === true && userAgent.isMac === true && userAgent.isChrome) {
return userAgent;
}
});Author
Ivanov Nikita (robotomize@gmail.com). Based on express-useragent by Aleksej Gordejev (aleksej@gordejev.lv). express-useragent
0.3.2
7 years ago
0.3.1
7 years ago
0.2.8
8 years ago
0.2.6
9 years ago
0.2.4
9 years ago
0.2.3
9 years ago
0.2.2
9 years ago
0.2.1
9 years ago
0.2.0
9 years ago
0.1.8
9 years ago
0.1.6
10 years ago
0.1.4
10 years ago
0.1.3
10 years ago
0.1.2
10 years ago
0.1.1
10 years ago
0.1.0
10 years ago
0.0.3
10 years ago
0.0.2
10 years ago
0.0.1
10 years ago
0.0.0
10 years ago
