Skip to content

Commit

Permalink
Define a coherent Owner type hierarchy
Browse files Browse the repository at this point in the history
An earlier commit moved the definitions for the `ContainerProxy` and
`RegistryProxy` types to `@ember/-internals/owner`, noting that further
refactors were needed. Introduce those further refactors:

- Define `ContainerProxy` and `RegistryProxy` as core parts of `Owner`.

- Introduce `BasicRegistry` type as the root on which both `Owner` and
  `RegistryProxy` build, so they can have a shared definition without
  either (incorrectly!) extending the other.

- Define the `ContainerProxyMixin` and `RegistryProxyMixin` types in
  terms of `ContainerProxy` and `RegistryProxy` respectively.
  Previously, these were named in terms of mixins, but the interfaces
  can (and hopefully at some point *will*) be implemented by non-mixin
  types (or else removed entirely).

- Migrate the documentation from the mixin definitions to the types.
  Expand on some of the documentation, especially with examples, since
  there was a great deal missing for making sense of these types and
  their relationships.
  • Loading branch information
chriskrycho committed Nov 17, 2022
1 parent 52b7330 commit 94276b5
Show file tree
Hide file tree
Showing 4 changed files with 306 additions and 292 deletions.
Loading

0 comments on commit 94276b5

Please sign in to comment.