vsavkin
2074cc1ca9
fix(bootstrap): change bootstrap not to create a separate injector for the provided bindings
...
Currently, we create a separate injector for the passed-in / root bindings. This injectors sits below the one creating the application component. This means that the applicaiton component cannot access the passed-in bindings.
2015-01-08 19:53:18 -08:00
vsavkin
6e8175a816
feat(Reflection): extract reflection capabilities into a separate module
2014-11-24 16:53:12 -08:00
Misko Hevery
044625a098
chore: Make field declarations explicit
...
This used to be valid code:
```
class Foo {
constructor() {
this.bar = ‘string’;
}
}
```
This will now fail since ‘bar’ is not explicitly
defined as a field. We now have to write:
```
class Foo {
bar:string; // << REQUIRED
constructor() {
this.bar = ‘string’;
}
}
```
2014-11-24 16:35:39 -08:00
vsavkin
a1c6f1bbe9
refactor(Key): extract KeyRegistry to remove the need in `Key.clear`
2014-11-06 10:56:45 -08:00
vsavkin
e3548b497f
feat(ElementInjector): implement ElementInjector
2014-10-27 10:16:50 -04:00
vsavkin
ea0df352be
feat(di): add metadata to Key
2014-10-27 10:04:12 -04:00
vsavkin
1a7d5160f2
use Promise instead of Future
2014-10-12 17:47:52 -04:00
vsavkin
f524a89cb6
feat(injector): add support for default bindings
2014-10-12 17:29:02 -04:00
vsavkin
c3d9b5c91e
refactor(di): simplify Injector API
2014-10-12 17:06:41 -04:00
vsavkin
f0870791f6
refactor(di): cleanup to make dartanalyzer happy
2014-10-12 17:06:41 -04:00
vsavkin
97667e2591
refactor(di): make use of optional parameters
2014-10-12 17:06:41 -04:00
vsavkin
3f3fb7017e
refactor(injector): implement support for nested bindings
2014-10-12 17:06:41 -04:00
vsavkin
d313cac42f
refactor(injector): change toFactory to use reflector to construct dependencies
2014-10-12 17:06:40 -04:00
vsavkin
9b411372df
feat(injector): change injector to recover from errors
...
So it can instantiate an object after a failed attempt.
2014-10-12 17:06:40 -04:00
vsavkin
5162b3c0ca
refactor(reflector): cleanup
2014-10-07 10:42:27 -04:00
vsavkin
7d566adea0
style(reflector): formatting
2014-10-07 10:34:07 -04:00
vsavkin
ab4f86a0cb
refactor(injector): cleanup
2014-10-07 10:03:06 -04:00
vsavkin
62004e22e0
feat(injector): change injector to show the full path when error happens in a constructor (async)
2014-10-07 09:04:11 -04:00
vsavkin
e7666d0612
feat(injector): handle async cyclic dependencies
2014-10-06 16:24:12 -04:00
vsavkin
a0176273c5
feat(injector): implement InjectLazy
2014-10-06 15:03:05 -04:00
vsavkin
e02cdfe733
feat(injector): handle in-progress async construction
2014-10-06 15:03:05 -04:00
vsavkin
4d6c7481ad
feat(injector): handle construction errors
...
- Detect cyclic deps
- Handle initialization errors
2014-10-06 15:03:05 -04:00
vsavkin
14af5a0a42
feat(injector): implement async dependencies
2014-10-06 15:02:41 -04:00
vsavkin
f63a5dd158
refactor(injector): change reflector to collect the resolving path only when an error occurs
2014-10-03 19:54:53 -04:00
vsavkin
b2199632c7
feat(injector): initial implementaion of dynamic injector
2014-10-03 15:35:33 -04:00