react-native-localize
Version:
A toolbox for your React Native app localization.
175 lines (163 loc) • 4.57 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _exportNames = {
addEventListener: true,
removeEventListener: true,
findBestAvailableLanguage: true,
getCalendar: true,
getCountry: true,
getCurrencies: true,
getLocales: true,
getNumberFormatSettings: true,
getTemperatureUnit: true,
getTimeZone: true,
uses24HourClock: true,
usesAutoDateAndTime: true,
usesAutoTimeZone: true,
usesMetricSystem: true
};
exports.addEventListener = addEventListener;
exports.default = void 0;
exports.findBestAvailableLanguage = findBestAvailableLanguage;
Object.defineProperty(exports, "getCalendar", {
enumerable: true,
get: function () {
return _module.getCalendar;
}
});
Object.defineProperty(exports, "getCountry", {
enumerable: true,
get: function () {
return _module.getCountry;
}
});
Object.defineProperty(exports, "getCurrencies", {
enumerable: true,
get: function () {
return _module.getCurrencies;
}
});
Object.defineProperty(exports, "getLocales", {
enumerable: true,
get: function () {
return _module.getLocales;
}
});
Object.defineProperty(exports, "getNumberFormatSettings", {
enumerable: true,
get: function () {
return _module.getNumberFormatSettings;
}
});
Object.defineProperty(exports, "getTemperatureUnit", {
enumerable: true,
get: function () {
return _module.getTemperatureUnit;
}
});
Object.defineProperty(exports, "getTimeZone", {
enumerable: true,
get: function () {
return _module.getTimeZone;
}
});
exports.removeEventListener = removeEventListener;
Object.defineProperty(exports, "uses24HourClock", {
enumerable: true,
get: function () {
return _module.uses24HourClock;
}
});
Object.defineProperty(exports, "usesAutoDateAndTime", {
enumerable: true,
get: function () {
return _module.usesAutoDateAndTime;
}
});
Object.defineProperty(exports, "usesAutoTimeZone", {
enumerable: true,
get: function () {
return _module.usesAutoTimeZone;
}
});
Object.defineProperty(exports, "usesMetricSystem", {
enumerable: true,
get: function () {
return _module.usesMetricSystem;
}
});
var _module = require("./module");
var _types = require("./types");
Object.keys(_types).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _types[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return _types[key];
}
});
});
function logUnknownEvent(type) {
console.error(`\`${type}\` is not a valid react-native-localize event`);
}
function addEventListener(type, handler) {
if (type !== "change") {
logUnknownEvent(type);
} else if (!_module.handlers.has(handler)) {
_module.handlers.add(handler);
}
}
function removeEventListener(type, handler) {
if (type !== "change") {
logUnknownEvent(type);
} else if (_module.handlers.has(handler)) {
_module.handlers.delete(handler);
}
}
function findBestAvailableLanguage(languageTags) {
const locales = (0, _module.getLocales)();
const loweredLanguageTags = languageTags.map(tag => tag.toLowerCase());
for (let i = 0; i < locales.length; i++) {
const currentLocale = locales[i];
const {
languageTag,
languageCode,
scriptCode,
countryCode,
isRTL
} = currentLocale;
const combinaisons = [languageTag, !!scriptCode ? languageCode + "-" + scriptCode : null, languageCode + "-" + countryCode, languageCode].filter(value => !!value);
for (let j = 0; j < combinaisons.length; j++) {
const combinaison = combinaisons[j].toLowerCase();
const tagIndex = loweredLanguageTags.indexOf(combinaison);
if (tagIndex !== -1) {
return {
languageTag: languageTags[tagIndex],
isRTL
};
}
}
}
}
var _default = {
getCalendar: _module.getCalendar,
getCountry: _module.getCountry,
getCurrencies: _module.getCurrencies,
getLocales: _module.getLocales,
getNumberFormatSettings: _module.getNumberFormatSettings,
getTemperatureUnit: _module.getTemperatureUnit,
getTimeZone: _module.getTimeZone,
uses24HourClock: _module.uses24HourClock,
usesAutoDateAndTime: _module.usesAutoDateAndTime,
usesAutoTimeZone: _module.usesAutoTimeZone,
usesMetricSystem: _module.usesMetricSystem,
findBestAvailableLanguage,
addEventListener,
removeEventListener
};
exports.default = _default;
//# sourceMappingURL=index.js.map