@nativescript-community/l
Version:
Native internationalization plugin for NativeScript using native capabilities of each platform
35 lines • 1.25 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.groupPluralEntries = exports.PLURAL_CATEGORIES = void 0;
exports.PLURAL_CATEGORIES = ['zero', 'one', 'two', 'few', 'many', 'other'];
var PLURAL_KEY_REGEX = new RegExp("^(.+)_(".concat(exports.PLURAL_CATEGORIES.join('|'), ")$"));
function groupPluralEntries(entries) {
var groups = new Map();
entries.forEach(function (value, key) {
var match = PLURAL_KEY_REGEX.exec(key);
if (!match) {
return;
}
var name = match[1], category = match[2];
if (!groups.has(name)) {
groups.set(name, new Map());
}
groups.get(name).set(category, value);
});
groups.forEach(function (forms, name) {
if (!forms.has('one') || !forms.has('other')) {
groups.delete(name);
return;
}
var ordered = new Map();
exports.PLURAL_CATEGORIES.forEach(function (category) {
if (forms.has(category)) {
ordered.set(category, forms.get(category));
}
});
groups.set(name, ordered);
});
return groups;
}
exports.groupPluralEntries = groupPluralEntries;
//# sourceMappingURL=plural.common.js.map