refactor(ivy): create Injector interface; remove dependency on Ivy (#28066)

This change is a prerequasity for a later change which will turn the
'di' into its own bazel package. In order to do that we have to:
- have `Injector` type be importable by Ivy. This means that we need
  to create `Injector` as a pure type in `interface` folder which is
  already a bazel package which Ivy can depend on.
- Remove the dependency of `class Injector` on Ivy so that it can be
  compiled in isolation. We do that by using `-1` as special value for
  `__NG_ELEMENT_ID__` which tells the Ivy `NodeInjector` than
  `Injector` is being requested.

PR Close #28066
This commit is contained in:
Misko Hevery
2019-01-10 23:45:02 -08:00
committed by Andrew Kushnir
parent e082fc24b2
commit fca185e191
26 changed files with 151 additions and 97 deletions

View File

@ -6,7 +6,7 @@
"name": "CIRCULAR$1"
},
{
"name": "EMPTY_ARRAY$1"
"name": "EMPTY_ARRAY$2"
},
{
"name": "EmptyErrorImpl"
@ -33,7 +33,7 @@
"name": "NOT_YET"
},
{
"name": "NULL_INJECTOR$2"
"name": "NULL_INJECTOR$1"
},
{
"name": "NullInjector"
@ -63,7 +63,7 @@
"name": "THROW_IF_NOT_FOUND"
},
{
"name": "USE_VALUE"
"name": "USE_VALUE$2"
},
{
"name": "UnsubscriptionErrorImpl"