UNPKG

@nativescript-community/l

Version:

Native internationalization plugin for NativeScript using native capabilities of each platform

35 lines 1.25 kB
"use strict"; 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