Allow passing ReadableNativeMap/Array to push/put methods (#32910)

Summary:
This allow adding ReadableNativeArray/Map to a WritableNativeArray/Map. There is no reason why this can't be allowed, the types were actually updated in https://github.com/facebook/react-native/commit/1a2937151b8d36e8741ef9d4fbe7d2ebf65cb775#diff-d1dc45892b3ba242aed9a1bf7219d2838fae8c7a654c402ba70bc4b100149624, but the assertion remains.

## Changelog

<!-- Help reviewers and the release process by writing your own changelog entry. For an example, see:
https://github.com/facebook/react-native/wiki/Changelog
-->

[Internal] [Added] - Allow passing ReadableNativeMap/Array to push/put methods

Pull Request resolved: https://github.com/facebook/react-native/pull/32910

Test Plan: Tested that RN tester builds and run correctly on android.

Reviewed By: christophpurrer

Differential Revision: D33646510

Pulled By: yungsters

fbshipit-source-id: 878f1994b73ed1cf830966ab296b9c0325630da1
This commit is contained in:
Janic Duplessis
2022-01-19 11:17:00 -08:00
committed by Facebook GitHub Bot
parent c279a186fa
commit 3a07dcf81e
6 changed files with 23 additions and 23 deletions
@@ -45,21 +45,21 @@ public class WritableNativeArray extends ReadableNativeArray implements Writable
@Override
public void pushArray(@Nullable ReadableArray array) {
Assertions.assertCondition(
array == null || array instanceof WritableNativeArray, "Illegal type provided");
pushNativeArray((WritableNativeArray) array);
array == null || array instanceof ReadableNativeArray, "Illegal type provided");
pushNativeArray((ReadableNativeArray) array);
}
// Note: this consumes the map so do not reuse it.
@Override
public void pushMap(@Nullable ReadableMap map) {
Assertions.assertCondition(
map == null || map instanceof WritableNativeMap, "Illegal type provided");
pushNativeMap((WritableNativeMap) map);
map == null || map instanceof ReadableNativeMap, "Illegal type provided");
pushNativeMap((ReadableNativeMap) map);
}
private static native HybridData initHybrid();
private native void pushNativeArray(WritableNativeArray array);
private native void pushNativeArray(ReadableNativeArray array);
private native void pushNativeMap(WritableNativeMap map);
private native void pushNativeMap(ReadableNativeMap map);
}