File: augmentExportEquals5.js

package info (click to toggle)
node-typescript 3.3.3333-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 324,548 kB
  • sloc: makefile: 6; sh: 3
file content (94 lines) | stat: -rw-r--r-- 2,275 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
//// [tests/cases/compiler/augmentExportEquals5.ts] ////

//// [express.d.ts]
declare module Express {
    export interface Request { }
    export interface Response { }
    export interface Application { }
}

declare module "express" {
    function e(): e.Express;
    namespace e {
        interface IRoute {
            all(...handler: RequestHandler[]): IRoute;
        }

        interface IRouterMatcher<T> {
            (name: string|RegExp, ...handlers: RequestHandler[]): T;
        }

        interface IRouter<T> extends RequestHandler {
            route(path: string): IRoute;
        }

        export function Router(options?: any): Router;

        export interface Router extends IRouter<Router> {}

        interface Errback { (err: Error): void; }

        interface Request extends Express.Request {

            get (name: string): string;
        }

        interface Response extends Express.Response {
            charset: string;
        }

        interface ErrorRequestHandler {
            (err: any, req: Request, res: Response, next: Function): any;
        }

        interface RequestHandler {
            (req: Request, res: Response, next: Function): any;
        }

        interface Handler extends RequestHandler {}

        interface RequestParamHandler {
            (req: Request, res: Response, next: Function, param: any): any;
        }

        interface Application extends IRouter<Application>, Express.Application {
            routes: any;
        }

        interface Express extends Application {
            createApplication(): Application;
        }

        var static: any;
    }

    export = e;
}

//// [augmentation.ts]
/// <reference path="express.d.ts"/>
import * as e from "express";
declare module "express" {
    interface Request {
        id: number;
    }
}

//// [consumer.ts]
import { Request } from "express";
import "./augmentation";
let x: Request;
const y = x.id;

//// [augmentation.js]
define(["require", "exports"], function (require, exports) {
    "use strict";
    exports.__esModule = true;
});
//// [consumer.js]
define(["require", "exports", "./augmentation"], function (require, exports) {
    "use strict";
    exports.__esModule = true;
    var x;
    var y = x.id;
});