UNPKG

8.83 kBSource Map (JSON)View Raw
1{"version":3,"file":"Localization.js","sourceRoot":"","sources":["../src/Localization.ts"],"names":[],"mappings":"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","sourcesContent":["import { NativeModulesProxy, Platform } from 'expo-core';\nconst { ExpoLocalization } = NativeModulesProxy;\n\nconst isObject = obj => obj && obj.constructor && obj.constructor === Object;\n\nclass LocaleStore {\n constructor(locales) {\n if (isObject(locales) === false || Object.keys(locales).length <= 1) {\n throw new Error('Locales input must be an object and non-empty');\n }\n const copy = { ...locales };\n const allGivenLocales = new Set(Object.keys(copy));\n let currentLocaleName = [...allGivenLocales][0];\n const defaultLocale = copy[currentLocaleName];\n const defaultLocaleName = currentLocaleName;\n const defaultLocalePhrases = new Set(Object.keys(defaultLocale));\n let currentLocale = defaultLocale;\n\n const setLocaleHelper = (newLocaleName, cb) => {\n if (allGivenLocales.has(newLocaleName) === false) {\n if (__DEV__) {\n const s = `${newLocaleName} is not a valid locale, known locales are ${[\n ...allGivenLocales,\n ]}`;\n console.error(s);\n }\n }\n if (newLocaleName === currentLocaleName) {\n if (__DEV__) {\n console.warn('New Locale is the same as last, locale not changed');\n }\n return;\n }\n currentLocale = copy[newLocaleName];\n currentLocaleName = newLocaleName;\n cb && cb();\n };\n const localizationValueHelper = name => {\n if (defaultLocalePhrases.has(name)) {\n const result = currentLocale[name];\n if (result !== undefined) {\n return result !== undefined ? result : defaultLocale[name];\n } else {\n const fallback = defaultLocale[name];\n if (fallback === undefined) {\n if (__DEV__) {\n let s = `Fallback locale ${defaultLocaleName} is missing a string value for ${name}`;\n console.error(s);\n }\n return '';\n }\n return fallback;\n }\n }\n };\n\n if (Platform.OS === 'android') {\n let localizedValues = new Set<string>();\n for (const values of Object.values(copy)) {\n Object.keys(values).forEach(s => localizedValues.add(s));\n }\n const proxy = {};\n Object.defineProperty(proxy, 'setLocale', {\n get() {\n return setLocaleHelper;\n },\n });\n\n const methods = new Set(['setLocale']);\n for (const name of localizedValues.keys()) {\n if (methods.has(name)) {\n throw new Error(`Cannot use ${name} as a locale name`);\n }\n Object.defineProperty(proxy, name, {\n get() {\n return localizationValueHelper(name);\n },\n });\n }\n return proxy;\n } else if (Platform.OS === 'ios') {\n const handlers = { setLocale: setLocaleHelper };\n const methods = new Set(Object.keys(handlers));\n return new Proxy(this, {\n set() {\n if (__DEV__) {\n console.warn('Setting anything directly on the localization store is a no op');\n }\n return false;\n },\n get(target, name) {\n if (typeof name !== 'string') {\n return target[name];\n } else {\n if (defaultLocalePhrases.has(name)) {\n return localizationValueHelper(name);\n } else if (methods.has(name)) {\n return handlers[name];\n } else {\n return target[name];\n }\n }\n },\n });\n } else {\n throw new Error(`Unsupported platform at moment for localization: ${Platform.OS}`);\n }\n }\n}\n\nfunction warnDeprecated(deprecated, replacement) {\n console.warn(\n `Expo.DangerZone.Localization.${deprecated} is deprecated. Use \\`Expo.Localization.${replacement}\\` instead.`\n );\n}\n\nexport default {\n ...ExpoLocalization,\n getCurrentDeviceCountryAsync() {\n warnDeprecated('getCurrentDeviceCountryAsync()', 'country');\n return ExpoLocalization.country;\n },\n getCurrentLocaleAsync() {\n warnDeprecated('getCurrentLocaleAsync()', 'locale');\n return ExpoLocalization.locale.replace('-', '_');\n },\n getCurrentTimeZoneAsync() {\n warnDeprecated('getCurrentTimeZoneAsync()', 'timezone');\n return ExpoLocalization.timezone;\n },\n getPreferredLocalesAsync() {\n warnDeprecated('getPreferredLocalesAsync()', 'locales');\n return ExpoLocalization.locales;\n },\n getISOCurrencyCodesAsync() {\n warnDeprecated('getISOCurrencyCodesAsync()', 'isoCurrencyCodes');\n return ExpoLocalization.isoCurrencyCodes;\n },\n LocaleStore,\n};\n"]}
\No newline at end of file