diff --git a/Libraries/ReactNative/I18nManager.js b/Libraries/ReactNative/I18nManager.js index e5fd02e7c13..f5616c807ae 100644 --- a/Libraries/ReactNative/I18nManager.js +++ b/Libraries/ReactNative/I18nManager.js @@ -11,24 +11,42 @@ import NativeI18nManager from './NativeI18nManager'; +const i18nConstants = NativeI18nManager + ? NativeI18nManager.getConstants() + : { + isRTL: false, + doLeftAndRightSwapInRTL: true, + }; + module.exports = { getConstants: () => { - return NativeI18nManager.getConstants(); + return i18nConstants; }, allowRTL: (shouldAllow: boolean) => { + if (!NativeI18nManager) { + return; + } + NativeI18nManager.allowRTL(shouldAllow); }, forceRTL: (shouldForce: boolean) => { + if (!NativeI18nManager) { + return; + } + NativeI18nManager.forceRTL(shouldForce); }, swapLeftAndRightInRTL: (flipStyles: boolean) => { + if (!NativeI18nManager) { + return; + } + NativeI18nManager.swapLeftAndRightInRTL(flipStyles); }, - isRTL: NativeI18nManager.getConstants().isRTL, - doLeftAndRightSwapInRTL: NativeI18nManager.getConstants() - .doLeftAndRightSwapInRTL, + isRTL: i18nConstants.isRTL, + doLeftAndRightSwapInRTL: i18nConstants.doLeftAndRightSwapInRTL, }; diff --git a/Libraries/ReactNative/NativeI18nManager.js b/Libraries/ReactNative/NativeI18nManager.js index 0220b2471ba..9da9a6ade2b 100644 --- a/Libraries/ReactNative/NativeI18nManager.js +++ b/Libraries/ReactNative/NativeI18nManager.js @@ -23,4 +23,4 @@ export interface Spec extends TurboModule { swapLeftAndRightInRTL: (flipStyles: boolean) => void; } -export default TurboModuleRegistry.getEnforcing('I18nManager'); +export default TurboModuleRegistry.get('I18nManager');