@@ -11,6 +11,8 @@ describe("inversify-binding-decorators", () => {
11
11
let provide = makeProvideDecorator ( container ) ;
12
12
13
13
interface Warrior {
14
+ katana : Weapon ;
15
+ shuriken : ThrowableWeapon ;
14
16
fight ( ) : string ;
15
17
sneak ( ) : string ;
16
18
}
@@ -46,23 +48,27 @@ describe("inversify-binding-decorators", () => {
46
48
@provide ( TYPE . Warrior )
47
49
class Ninja implements Warrior {
48
50
49
- private _katana : Weapon ;
50
- private _shuriken : ThrowableWeapon ;
51
+ public katana : Weapon ;
52
+ public shuriken : ThrowableWeapon ;
51
53
52
54
public constructor (
53
55
@inject ( TYPE . Weapon ) katana : Weapon ,
54
56
@inject ( TYPE . ThrowableWeapon ) shuriken : ThrowableWeapon
55
57
) {
56
- this . _katana = katana ;
57
- this . _shuriken = shuriken ;
58
+ this . katana = katana ;
59
+ this . shuriken = shuriken ;
58
60
}
59
61
60
- public fight ( ) { return this . _katana . hit ( ) ; } ;
61
- public sneak ( ) { return this . _shuriken . throw ( ) ; } ;
62
+ public fight ( ) { return this . katana . hit ( ) ; } ;
63
+ public sneak ( ) { return this . shuriken . throw ( ) ; } ;
62
64
63
65
}
64
66
65
67
let ninja = container . get < Warrior > ( TYPE . Warrior ) ;
68
+
69
+ expect ( ninja instanceof Ninja ) . eql ( true ) ;
70
+ expect ( ninja . katana instanceof Katana ) . eql ( true ) ;
71
+ expect ( ninja . shuriken instanceof Shuriken ) . eql ( true ) ;
66
72
expect ( ninja . fight ( ) ) . eql ( "cut!" ) ;
67
73
expect ( ninja . sneak ( ) ) . eql ( "hit!" ) ;
68
74
@@ -90,23 +96,27 @@ describe("inversify-binding-decorators", () => {
90
96
@provide ( Ninja )
91
97
class Ninja {
92
98
93
- private _katana : Katana ;
94
- private _shuriken : Shuriken ;
99
+ public katana : Katana ;
100
+ public shuriken : Shuriken ;
95
101
96
102
public constructor (
97
103
katana : Katana ,
98
104
shuriken : Shuriken
99
105
) {
100
- this . _katana = katana ;
101
- this . _shuriken = shuriken ;
106
+ this . katana = katana ;
107
+ this . shuriken = shuriken ;
102
108
}
103
109
104
- public fight ( ) { return this . _katana . hit ( ) ; } ;
105
- public sneak ( ) { return this . _shuriken . throw ( ) ; } ;
110
+ public fight ( ) { return this . katana . hit ( ) ; } ;
111
+ public sneak ( ) { return this . shuriken . throw ( ) ; } ;
106
112
107
113
}
108
114
109
115
let ninja = container . get < Ninja > ( Ninja ) ;
116
+
117
+ expect ( ninja instanceof Ninja ) . eql ( true ) ;
118
+ expect ( ninja . katana instanceof Katana ) . eql ( true ) ;
119
+ expect ( ninja . shuriken instanceof Shuriken ) . eql ( true ) ;
110
120
expect ( ninja . fight ( ) ) . eql ( "cut!" ) ;
111
121
expect ( ninja . sneak ( ) ) . eql ( "hit!" ) ;
112
122
@@ -118,6 +128,8 @@ describe("inversify-binding-decorators", () => {
118
128
let provide = makeProvideDecorator ( container ) ;
119
129
120
130
interface Warrior {
131
+ katana : Katana ;
132
+ shuriken : Shuriken ;
121
133
fight ( ) : string ;
122
134
sneak ( ) : string ;
123
135
}
@@ -153,23 +165,27 @@ describe("inversify-binding-decorators", () => {
153
165
@provide ( TYPE . Warrior )
154
166
class Ninja implements Warrior {
155
167
156
- private _katana : Weapon ;
157
- private _shuriken : ThrowableWeapon ;
168
+ public katana : Weapon ;
169
+ public shuriken : ThrowableWeapon ;
158
170
159
171
public constructor (
160
172
@inject ( TYPE . Weapon ) katana : Weapon ,
161
173
@inject ( TYPE . ThrowableWeapon ) shuriken : ThrowableWeapon
162
174
) {
163
- this . _katana = katana ;
164
- this . _shuriken = shuriken ;
175
+ this . katana = katana ;
176
+ this . shuriken = shuriken ;
165
177
}
166
178
167
- public fight ( ) { return this . _katana . hit ( ) ; } ;
168
- public sneak ( ) { return this . _shuriken . throw ( ) ; } ;
179
+ public fight ( ) { return this . katana . hit ( ) ; } ;
180
+ public sneak ( ) { return this . shuriken . throw ( ) ; } ;
169
181
170
182
}
171
183
172
184
let ninja = container . get < Warrior > ( TYPE . Warrior ) ;
185
+
186
+ expect ( ninja instanceof Ninja ) . eql ( true ) ;
187
+ expect ( ninja . katana instanceof Katana ) . eql ( true ) ;
188
+ expect ( ninja . shuriken instanceof Shuriken ) . eql ( true ) ;
173
189
expect ( ninja . fight ( ) ) . eql ( "cut!" ) ;
174
190
expect ( ninja . sneak ( ) ) . eql ( "hit!" ) ;
175
191
@@ -189,6 +205,8 @@ describe("inversify-binding-decorators", () => {
189
205
} ;
190
206
191
207
interface Warrior {
208
+ katana : Weapon ;
209
+ shuriken : ThrowableWeapon ;
192
210
fight ( ) : string ;
193
211
sneak ( ) : string ;
194
212
}
@@ -232,23 +250,27 @@ describe("inversify-binding-decorators", () => {
232
250
@provideTransient ( TYPE . Warrior )
233
251
class Ninja implements Warrior {
234
252
235
- private _katana : Weapon ;
236
- private _shuriken : ThrowableWeapon ;
253
+ public katana : Weapon ;
254
+ public shuriken : ThrowableWeapon ;
237
255
238
256
public constructor (
239
257
@inject ( TYPE . Weapon ) katana : Weapon ,
240
258
@inject ( TYPE . ThrowableWeapon ) shuriken : ThrowableWeapon
241
259
) {
242
- this . _katana = katana ;
243
- this . _shuriken = shuriken ;
260
+ this . katana = katana ;
261
+ this . shuriken = shuriken ;
244
262
}
245
263
246
- public fight ( ) { return this . _katana . hit ( ) ; } ;
247
- public sneak ( ) { return this . _shuriken . throw ( ) ; } ;
264
+ public fight ( ) { return this . katana . hit ( ) ; } ;
265
+ public sneak ( ) { return this . shuriken . throw ( ) ; } ;
248
266
249
267
}
250
268
251
269
let ninja = container . get < Warrior > ( TYPE . Warrior ) ;
270
+ expect ( ninja instanceof Ninja ) . eql ( true ) ;
271
+ expect ( ninja . katana instanceof Katana ) . eql ( true ) ;
272
+ expect ( ninja . shuriken instanceof Shuriken ) . eql ( true ) ;
273
+
252
274
expect ( ninja . fight ( ) . indexOf ( "cut!" ) ) . eql ( 0 ) ;
253
275
expect ( ninja . sneak ( ) . indexOf ( "hit!" ) ) . eql ( 0 ) ;
254
276
@@ -268,6 +290,8 @@ describe("inversify-binding-decorators", () => {
268
290
} ;
269
291
270
292
interface Warrior {
293
+ primary : Weapon ;
294
+ secondary : Weapon ;
271
295
fight ( ) : string ;
272
296
sneak ( ) : string ;
273
297
}
@@ -298,23 +322,27 @@ describe("inversify-binding-decorators", () => {
298
322
@provide ( TYPE . Warrior ) . done ( )
299
323
class Ninja implements Warrior {
300
324
301
- private _primary : Weapon ;
302
- private _secondary : Weapon ;
325
+ public primary : Weapon ;
326
+ public secondary : Weapon ;
303
327
304
328
public constructor (
305
329
@inject ( TYPE . Weapon ) @tagged ( "throwable" , false ) primary : Weapon ,
306
330
@inject ( TYPE . Weapon ) @tagged ( "throwable" , true ) secondary : Weapon
307
331
) {
308
- this . _primary = primary ;
309
- this . _secondary = secondary ;
332
+ this . primary = primary ;
333
+ this . secondary = secondary ;
310
334
}
311
335
312
- public fight ( ) { return this . _primary . hit ( ) ; } ;
313
- public sneak ( ) { return this . _secondary . hit ( ) ; } ;
336
+ public fight ( ) { return this . primary . hit ( ) ; } ;
337
+ public sneak ( ) { return this . secondary . hit ( ) ; } ;
314
338
315
339
}
316
340
317
341
let ninja = container . get < Warrior > ( TYPE . Warrior ) ;
342
+
343
+ expect ( ninja instanceof Ninja ) . eql ( true ) ;
344
+ expect ( ninja . primary instanceof Katana ) . eql ( true ) ;
345
+ expect ( ninja . secondary instanceof Shuriken ) . eql ( true ) ;
318
346
expect ( ninja . fight ( ) ) . eql ( "Hit by Katana!" ) ;
319
347
expect ( ninja . sneak ( ) ) . eql ( "Hit by Shuriken!" ) ;
320
348
0 commit comments