From b3f19247d5e3a95c9af554df00facf9735d9ef82 Mon Sep 17 00:00:00 2001 From: Jaco Date: Tue, 15 Mar 2022 18:20:44 +0100 Subject: [PATCH] Cater for Expo v41+ in getRandomValues (#1431) --- packages/x-randomvalues/src/react-native.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/x-randomvalues/src/react-native.ts b/packages/x-randomvalues/src/react-native.ts index e4ebe35fd..a783a0841 100644 --- a/packages/x-randomvalues/src/react-native.ts +++ b/packages/x-randomvalues/src/react-native.ts @@ -16,6 +16,9 @@ import { insecureRandomValues } from './fallback'; export { packageInfo } from './packageInfo'; interface RNExt { + ExpoRandom: { + getRandomBase64String: (length: number) => string; + }; RNGetRandomValues: { getRandomBase64: (length: number) => string; } @@ -27,7 +30,9 @@ interface GlobalExt extends Window { function getRandomValuesNative (output: T): T { const bytes = base64Decode( - (NativeModules as RNExt).RNGetRandomValues.getRandomBase64(output.length) + (NativeModules as RNExt).RNGetRandomValues + ? (NativeModules as RNExt).RNGetRandomValues.getRandomBase64(output.length) + : (NativeModules as RNExt).ExpoRandom.getRandomBase64String(output.length) ); for (let i = 0; i < bytes.length; i++) {