Commit Graph
52 Commits
Author SHA1 Message Date
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