Skip to content

Filter resolution candidates by both interface and concrete type. - #109

Merged
alexanderlarsen merged 1 commit into
mainfrom
dev
Jun 30, 2026
Merged

Filter resolution candidates by both interface and concrete type.#109
alexanderlarsen merged 1 commit into
mainfrom
dev

Conversation

@alexanderlarsen

Copy link
Copy Markdown
Owner
  • Filter candidates by concrete type in addition to interface type in Locator, so a binding specifying both an interface and a concrete type resolves the concrete type instead of the first interface match
  • Extract type and dependency filtering into a shared GetTypeAndDependencyFilteredCandidates method used by both component and asset resolution
  • Rename ApplyTypeAndDependencyFilters and ApplyContextFilters to GetTypeAndDependencyFilteredCandidates and GetContextFilteredCandidates
  • Add SecondComponentDependency fixture (a second IDependency implementer) to support multi-implementer resolution tests
  • Add InterfaceConcreteResolutionTests regression test covering interface plus concrete component bindings when multiple interface implementers exist
  • Bump package version to 1.2.1 and add changelog notes

- Filter candidates by concrete type in addition to interface type in `Locator`, so a binding specifying both an interface and a concrete type resolves the concrete type instead of the first interface match
- Extract type and dependency filtering into a shared `GetTypeAndDependencyFilteredCandidates` method used by both component and asset resolution
- Rename `ApplyTypeAndDependencyFilters` and `ApplyContextFilters` to `GetTypeAndDependencyFilteredCandidates` and `GetContextFilteredCandidates`
- Add `SecondComponentDependency` fixture (a second `IDependency` implementer) to support multi-implementer resolution tests
- Add `InterfaceConcreteResolutionTests` regression test covering interface plus concrete component bindings when multiple interface implementers exist
- Bump package version to 1.2.1 and add changelog notes
@alexanderlarsen
alexanderlarsen merged commit 2e562e6 into main Jun 30, 2026
22 checks passed
@alexanderlarsen
alexanderlarsen deleted the dev branch June 30, 2026 07:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant