WinRT APIs that take IIterable as a parameter often expect the IIterable objects directly. This means if we pass objects like IVector and IMap to these APIs, we would get an Exception.
This PR, cast objects to appropriate IIterable interfaces on IIterable parameters to fix this. Ideally, we should expose IIterable parameters as List or Map depending on the type argument. However, in order to do that, we have to implement collection interfaces first.
Related Issue
Type of Change
[ ] โจ New feature (non-breaking change which adds functionality)
[x] ๐ ๏ธ Bug fix (non-breaking change which fixes an issue)
[ ] โ Breaking change (fix or feature that would cause existing functionality to change)
Description
WinRT APIs that take
IIterable
as a parameter often expect theIIterable
objects directly. This means if we pass objects likeIVector
andIMap
to these APIs, we would get an Exception.This PR, cast objects to appropriate
IIterable
interfaces onIIterable
parameters to fix this. Ideally, we should exposeIIterable
parameters asList
orMap
depending on the type argument. However, in order to do that, we have to implement collection interfaces first.Related Issue
Type of Change