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
e5dbc69f42
cleanup(di): change di.js to declare all exported symbols
2014-12-29 15:20:50 -08:00
Peter Bacon Darwin
983c00c495
docs(di/src/annotations): use triple backticks to code-fence code blocks
2014-12-04 14:16:52 +00:00
Victor Berchet
fc2181ec4e
fix(Dart1.8): Promise handling
2014-12-01 21:17:16 +01:00
vsavkin
6f889e3094
feat(di): add OpaqueToken to DI
...
Using `new Object()` as a token causes cryptic errors. OpaqueToken class should be used instead.
2014-11-26 12:52:16 -08:00
vsavkin
bfd3c2d5a9
fix(reflection): update pubspec.yaml to add a missing dependency on reflection
2014-11-24 18:03:26 -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
Sekib Omazic
398571e3e4
docs(di): simple typo
2014-11-10 17:07:57 -08:00
vsavkin
a1c6f1bbe9
refactor(Key): extract KeyRegistry to remove the need in Key.clear
2014-11-06 10:56:45 -08:00
vsavkin
acd7035347
feat(test_lib): change test_lib.dart to structurally compare objects
2014-10-29 18:25:32 -04:00
vsavkin
9bd65abb32
feat(ElementInjector): throw when encounter a cyclic dependency
2014-10-29 17:52:51 -04: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
2a4b63b614
refactor(collection): use Map instead of Object
2014-10-18 17:50:55 -04:00
vsavkin
1f4caa8773
feat(benchmark): add a simple benchmark for the di module
2014-10-18 17:06:23 -04:00
vsavkin
2f732c6b84
docs(di): add docs to di module
2014-10-14 08:11:44 -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
b71cd9f380
refactor(di): use boolean instead of bool
2014-10-12 17:15:58 -04:00
vsavkin
92b2559109
refactor(di): cleanup
2014-10-12 17:06:41 -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
0b60f8494d
style(di): add new lines
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
06a221671c
refactor(injector): cleanup
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
b9d03e6635
refactor(di): move Dependency from key.js to binding.js
2014-10-12 17:06:40 -04:00