From d9e47130b53c9f2af93d06ea62164d512ebfaf20 Mon Sep 17 00:00:00 2001 From: Tomasz Pluskiewicz Date: Fri, 28 Aug 2020 02:05:07 +0200 Subject: [PATCH] typings for absolute-url (#47031) --- types/absolute-url/absolute-url-tests.ts | 12 ++++++++++++ types/absolute-url/index.d.ts | 21 +++++++++++++++++++++ types/absolute-url/tsconfig.json | 23 +++++++++++++++++++++++ types/absolute-url/tslint.json | 1 + 4 files changed, 57 insertions(+) create mode 100644 types/absolute-url/absolute-url-tests.ts create mode 100644 types/absolute-url/index.d.ts create mode 100644 types/absolute-url/tsconfig.json create mode 100644 types/absolute-url/tslint.json diff --git a/types/absolute-url/absolute-url-tests.ts b/types/absolute-url/absolute-url-tests.ts new file mode 100644 index 0000000000..84af5c3e27 --- /dev/null +++ b/types/absolute-url/absolute-url-tests.ts @@ -0,0 +1,12 @@ +import express = require('express'); +import absoluteUrl = require('absolute-url'); + +const app = express(); + +app.use(absoluteUrl()); + +app.get('/', (req) => { + absoluteUrl.attach(req); + + const url: string = req.absoluteUrl(); +}); diff --git a/types/absolute-url/index.d.ts b/types/absolute-url/index.d.ts new file mode 100644 index 0000000000..e9e143f484 --- /dev/null +++ b/types/absolute-url/index.d.ts @@ -0,0 +1,21 @@ +// Type definitions for absolute-url 1.2 +// Project: https://github.com/zazukoians/absolute-url +// Definitions by: tpluscode +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +import { RequestHandler, Request } from "express"; + +declare module 'express-serve-static-core' { + interface Request { + absoluteUrl(): string; + } +} + +interface AbsoluteUrl { + (): RequestHandler; + attach(req: Request): void; +} + +declare const middleware: AbsoluteUrl; + +export = middleware; diff --git a/types/absolute-url/tsconfig.json b/types/absolute-url/tsconfig.json new file mode 100644 index 0000000000..b0fd81feca --- /dev/null +++ b/types/absolute-url/tsconfig.json @@ -0,0 +1,23 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictFunctionTypes": true, + "strictNullChecks": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "absolute-url-tests.ts" + ] +} diff --git a/types/absolute-url/tslint.json b/types/absolute-url/tslint.json new file mode 100644 index 0000000000..3db14f85ea --- /dev/null +++ b/types/absolute-url/tslint.json @@ -0,0 +1 @@ +{ "extends": "dtslint/dt.json" }