mirror of
https://github.com/wassname/DefinitelyTyped.git
synced 2026-09-09 11:13:57 +08:00
Merge pull request #8637 from isman-usoh/express-useragent-patch-1
add express-useragent typedefinition
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
|
||||
/// <reference path="../express/express.d.ts" />
|
||||
/// <reference path="./express-useragent.d.ts" />
|
||||
|
||||
import express = require("express");
|
||||
import useragent = require("express-useragent");
|
||||
|
||||
var app = express();
|
||||
app.use(useragent.express());
|
||||
app.get("/", function(req, res) {
|
||||
var userAgentString =
|
||||
"isMobile:" + req.useragent.isMobile + "," +
|
||||
"isDesktop:" + req.useragent.isDesktop + "," +
|
||||
"isBot:" + req.useragent.isDesktop + "," +
|
||||
"browser:" + req.useragent.isDesktop + "," +
|
||||
"version:" + req.useragent.isDesktop + "," +
|
||||
"os:" + req.useragent.isDesktop + "," +
|
||||
"platform:" + req.useragent.isDesktop + "," +
|
||||
"source :" + req.useragent.isDesktop;
|
||||
|
||||
res.end(userAgentString);
|
||||
});
|
||||
|
||||
app.get("/parse", function(req, res) {
|
||||
var source = req.headers['user-agent'],
|
||||
ua = useragent.parse(source);
|
||||
res.writeHead(200, {'Content-Type': 'text/plain'});
|
||||
res.end(JSON.stringify(ua));
|
||||
});
|
||||
+68
@@ -0,0 +1,68 @@
|
||||
// Type definitions for express-useragent 0.2.4
|
||||
// Project: https://www.npmjs.org/package/express-useragent
|
||||
// Definitions by: Isman Usoh <https://github.com/isman-usoh/>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
|
||||
/// <reference path="../express/express.d.ts" />
|
||||
|
||||
declare namespace Express {
|
||||
interface ExpressUserAgent {
|
||||
isMobile: boolean;
|
||||
isTablet: boolean;
|
||||
isiPad: boolean;
|
||||
isiPod: boolean;
|
||||
isiPhone: boolean;
|
||||
isAndroid: boolean;
|
||||
isBlackberry: boolean;
|
||||
isOpera: boolean;
|
||||
isIE: boolean;
|
||||
isEdge: boolean;
|
||||
isIECompatibilityMode: boolean;
|
||||
isSafari: boolean;
|
||||
isFirefox: boolean;
|
||||
isWebkit: boolean;
|
||||
isChrome: boolean;
|
||||
isKonqueror: boolean;
|
||||
isOmniWeb: boolean;
|
||||
isSeaMonkey: boolean;
|
||||
isFlock: boolean;
|
||||
isAmaya: boolean;
|
||||
isEpiphany: boolean;
|
||||
isDesktop: boolean;
|
||||
isWindows: boolean;
|
||||
isWindowsPhone: boolean;
|
||||
isLinux: boolean;
|
||||
isLinux64: boolean;
|
||||
isMac: boolean;
|
||||
isChromeOS: boolean;
|
||||
isBada: boolean;
|
||||
isSamsung: boolean;
|
||||
isRaspberry: boolean;
|
||||
isBot: boolean;
|
||||
isCurl: boolean;
|
||||
isAndroidTablet: boolean;
|
||||
isWinJs: boolean;
|
||||
isKindleFire: boolean;
|
||||
isSilk: boolean;
|
||||
isCaptive: boolean;
|
||||
isSmartTV: boolean;
|
||||
silkAccelerated: boolean;
|
||||
browser: string;
|
||||
version: string;
|
||||
os: string;
|
||||
platform: string;
|
||||
geoIp: any;
|
||||
source: string;
|
||||
}
|
||||
|
||||
interface Request {
|
||||
useragent?: ExpressUserAgent;
|
||||
}
|
||||
}
|
||||
|
||||
declare module "express-useragent" {
|
||||
import express = require("express");
|
||||
|
||||
export function parse(source: string): Express.ExpressUserAgent;
|
||||
export function express(): (req: express.Request, res: express.Response, next?: Function) => void;
|
||||
}
|
||||
Reference in New Issue
Block a user