description

# castFrom<K, V, K2, V2> static method

Map<K2, V2> castFrom<K, V, K2, V2>(

1. Map<K, V> source

)

Adapts `source` to be a `Map<K2, V2>`.

Any time the set would produce a key or value that is not a `K2` or `V2`, the access will throw.

Any time `K2` key or `V2` value is attempted added into the adapted map, the store will throw unless the key is also an instance of `K` and the value is also an instance of `V`.

If all accessed entries of `source` have `K2` keys and `V2` values, and if all entries added to the returned map have `K` keys and `V` values, then the returned map can be used as a `Map<K2, V2>`.

Methods which accept `Object?` as argument, like containsKey, remove and operator [], will pass the argument directly to the this map's method without any checks.

## Implementation

    static Map<K2, V2> castFrom<K, V, K2, V2>(Map<K, V> source) =>
        CastMap<K, V, K2, V2>(source);