Skip to content

Commit 32c477a

Browse files
committed
Test case for metadata type of class from a module
1 parent 4cbb50a commit 32c477a

File tree

4 files changed

+102
-0
lines changed

4 files changed

+102
-0
lines changed
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
//// [metadataOfClassFromModule.ts]
2+
module MyModule {
3+
4+
export function inject(target: any, key: string): void { }
5+
6+
export class Leg { }
7+
8+
export class Person {
9+
@inject leftLeg: Leg;
10+
}
11+
12+
}
13+
14+
//// [metadataOfClassFromModule.js]
15+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
16+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
17+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
18+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
19+
return c > 3 && r && Object.defineProperty(target, key, r), r;
20+
};
21+
var __metadata = (this && this.__metadata) || function (k, v) {
22+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
23+
};
24+
var MyModule;
25+
(function (MyModule) {
26+
function inject(target, key) { }
27+
MyModule.inject = inject;
28+
var Leg = (function () {
29+
function Leg() {
30+
}
31+
return Leg;
32+
}());
33+
MyModule.Leg = Leg;
34+
var Person = (function () {
35+
function Person() {
36+
}
37+
return Person;
38+
}());
39+
__decorate([
40+
inject,
41+
__metadata("design:type", Object)
42+
], Person.prototype, "leftLeg", void 0);
43+
MyModule.Person = Person;
44+
})(MyModule || (MyModule = {}));
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
=== tests/cases/compiler/metadataOfClassFromModule.ts ===
2+
module MyModule {
3+
>MyModule : Symbol(MyModule, Decl(metadataOfClassFromModule.ts, 0, 0))
4+
5+
export function inject(target: any, key: string): void { }
6+
>inject : Symbol(inject, Decl(metadataOfClassFromModule.ts, 0, 17))
7+
>target : Symbol(target, Decl(metadataOfClassFromModule.ts, 2, 27))
8+
>key : Symbol(key, Decl(metadataOfClassFromModule.ts, 2, 39))
9+
10+
export class Leg { }
11+
>Leg : Symbol(Leg, Decl(metadataOfClassFromModule.ts, 2, 62))
12+
13+
export class Person {
14+
>Person : Symbol(Person, Decl(metadataOfClassFromModule.ts, 4, 24))
15+
16+
@inject leftLeg: Leg;
17+
>inject : Symbol(inject, Decl(metadataOfClassFromModule.ts, 0, 17))
18+
>leftLeg : Symbol(Person.leftLeg, Decl(metadataOfClassFromModule.ts, 6, 25))
19+
>Leg : Symbol(Leg, Decl(metadataOfClassFromModule.ts, 2, 62))
20+
}
21+
22+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
=== tests/cases/compiler/metadataOfClassFromModule.ts ===
2+
module MyModule {
3+
>MyModule : typeof MyModule
4+
5+
export function inject(target: any, key: string): void { }
6+
>inject : (target: any, key: string) => void
7+
>target : any
8+
>key : string
9+
10+
export class Leg { }
11+
>Leg : Leg
12+
13+
export class Person {
14+
>Person : Person
15+
16+
@inject leftLeg: Leg;
17+
>inject : (target: any, key: string) => void
18+
>leftLeg : Leg
19+
>Leg : Leg
20+
}
21+
22+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
// @experimentalDecorators: true
2+
// @emitDecoratorMetadata: true
3+
// @target: es5
4+
module MyModule {
5+
6+
export function inject(target: any, key: string): void { }
7+
8+
export class Leg { }
9+
10+
export class Person {
11+
@inject leftLeg: Leg;
12+
}
13+
14+
}

0 commit comments

Comments
 (0)