mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2026-08-13 05:20:25 +00:00
Add koa-useragent type definitions (#30563)
* Add koa-useragent type definitions * fix export interface
This commit is contained in:
committed by
Pranav Senthilnathan
parent
4557b7b925
commit
c723eb35e4
Vendored
+74
@@ -0,0 +1,74 @@
|
||||
// Type definitions for koa-useragent 1.2
|
||||
// Project: https://github.com/rvboris/koa-useragent
|
||||
// Definitions by: Boris Ryabov <https://github.com/rvboris>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
// TypeScript Version: 2.3
|
||||
|
||||
import Koa = require("koa");
|
||||
|
||||
declare namespace UserAgent {
|
||||
interface UserAgent {
|
||||
isAuthoritative: boolean;
|
||||
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;
|
||||
isPhantomJS: boolean;
|
||||
isEpiphany: boolean;
|
||||
isDesktop: boolean;
|
||||
isWindows: 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;
|
||||
isUC: boolean;
|
||||
isElectron: boolean;
|
||||
isFacebook: boolean;
|
||||
isAlamoFire: boolean;
|
||||
silkAccelerated: boolean;
|
||||
browser: string;
|
||||
version: string;
|
||||
os: string;
|
||||
platform: string;
|
||||
geoIp: object;
|
||||
electronVersion: string;
|
||||
source: string;
|
||||
}
|
||||
|
||||
const UserAgent: Koa.Middleware;
|
||||
}
|
||||
|
||||
declare module "koa" {
|
||||
interface Context {
|
||||
userAgent: UserAgent.UserAgent;
|
||||
}
|
||||
}
|
||||
|
||||
export = UserAgent.UserAgent;
|
||||
@@ -0,0 +1,65 @@
|
||||
import Koa = require('koa');
|
||||
import userAgent = require('koa-useragent');
|
||||
|
||||
const app = new Koa();
|
||||
|
||||
app.use(userAgent);
|
||||
|
||||
app.use((ctx, next) => {
|
||||
ctx.userAgent.isAuthoritative; // $ExpectType boolean
|
||||
ctx.userAgent.isMobile; // $ExpectType boolean
|
||||
ctx.userAgent.isTablet; // $ExpectType boolean
|
||||
ctx.userAgent.isiPad; // $ExpectType boolean
|
||||
ctx.userAgent.isiPod; // $ExpectType boolean
|
||||
ctx.userAgent.isiPhone; // $ExpectType boolean
|
||||
ctx.userAgent.isAndroid; // $ExpectType boolean
|
||||
ctx.userAgent.isBlackberry; // $ExpectType boolean
|
||||
ctx.userAgent.isOpera; // $ExpectType boolean
|
||||
ctx.userAgent.isIE; // $ExpectType boolean
|
||||
ctx.userAgent.isEdge; // $ExpectType boolean
|
||||
ctx.userAgent.isIECompatibilityMode; // $ExpectType boolean
|
||||
ctx.userAgent.isSafari; // $ExpectType boolean
|
||||
ctx.userAgent.isFirefox; // $ExpectType boolean
|
||||
ctx.userAgent.isWebkit; // $ExpectType boolean
|
||||
ctx.userAgent.isChrome; // $ExpectType boolean
|
||||
ctx.userAgent.isKonqueror; // $ExpectType boolean
|
||||
ctx.userAgent.isOmniWeb; // $ExpectType boolean
|
||||
ctx.userAgent.isSeaMonkey; // $ExpectType boolean
|
||||
ctx.userAgent.isFlock; // $ExpectType boolean
|
||||
ctx.userAgent.isAmaya; // $ExpectType boolean
|
||||
ctx.userAgent.isPhantomJS; // $ExpectType boolean
|
||||
ctx.userAgent.isEpiphany; // $ExpectType boolean
|
||||
ctx.userAgent.isDesktop; // $ExpectType boolean
|
||||
ctx.userAgent.isWindows; // $ExpectType boolean
|
||||
ctx.userAgent.isLinux; // $ExpectType boolean
|
||||
ctx.userAgent.isLinux64; // $ExpectType boolean
|
||||
ctx.userAgent.isMac; // $ExpectType boolean
|
||||
ctx.userAgent.isChromeOS; // $ExpectType boolean
|
||||
ctx.userAgent.isBada; // $ExpectType boolean
|
||||
ctx.userAgent.isSamsung; // $ExpectType boolean
|
||||
ctx.userAgent.isRaspberry; // $ExpectType boolean
|
||||
ctx.userAgent.isBot; // $ExpectType boolean
|
||||
ctx.userAgent.isCurl; // $ExpectType boolean
|
||||
ctx.userAgent.isAndroidTablet; // $ExpectType boolean
|
||||
ctx.userAgent.isWinJs; // $ExpectType boolean
|
||||
ctx.userAgent.isKindleFire; // $ExpectType boolean
|
||||
ctx.userAgent.isSilk; // $ExpectType boolean
|
||||
ctx.userAgent.isCaptive; // $ExpectType boolean
|
||||
ctx.userAgent.isSmartTV; // $ExpectType boolean
|
||||
ctx.userAgent.isUC; // $ExpectType boolean
|
||||
ctx.userAgent.isElectron; // $ExpectType boolean
|
||||
ctx.userAgent.isFacebook; // $ExpectType boolean
|
||||
ctx.userAgent.isAlamoFire; // $ExpectType boolean
|
||||
ctx.userAgent.silkAccelerated; // $ExpectType boolean
|
||||
ctx.userAgent.browser; // $ExpectType string
|
||||
ctx.userAgent.version; // $ExpectType string
|
||||
ctx.userAgent.os; // $ExpectType string
|
||||
ctx.userAgent.platform; // $ExpectType string
|
||||
ctx.userAgent.geoIp; // $ExpectType object
|
||||
ctx.userAgent.electronVersion; // $ExpectType string
|
||||
ctx.userAgent.source; // $ExpectType string
|
||||
|
||||
return next();
|
||||
});
|
||||
|
||||
app.listen(3000);
|
||||
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"lib": [
|
||||
"es6"
|
||||
],
|
||||
"noImplicitAny": true,
|
||||
"noImplicitThis": true,
|
||||
"strictNullChecks": true,
|
||||
"strictFunctionTypes": true,
|
||||
"baseUrl": "../",
|
||||
"typeRoots": [
|
||||
"../"
|
||||
],
|
||||
"types": [],
|
||||
"noEmit": true,
|
||||
"forceConsistentCasingInFileNames": true
|
||||
},
|
||||
"files": [
|
||||
"index.d.ts",
|
||||
"koa-useragent-tests.ts"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"extends": "dtslint/dt.json"
|
||||
}
|
||||
Reference in New Issue
Block a user