UNPKG

@wilcosp/rex

Version:

Rex is an automated command manager for discord js

42 lines (41 loc) 1.4 kB
"use strict"; /*! * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ Object.defineProperty(exports, "__esModule", { value: true }); exports.LocalsEqual = exports.getLocale = exports.parseLocalizations = void 0; const v10_1 = require("discord-api-types/v10"); const node_util_1 = require("node:util"); function parseLocalizations(localizations, asMap = false) { const locals = new Map(); for (const [key, localizedName] of Object.entries(localizations)) { locals.set(getLocale(key), localizedName ?? undefined); } if (asMap) { return locals; } return Object.fromEntries(locals); } exports.parseLocalizations = parseLocalizations; function getLocale(value) { if (isLanguageName(value)) { return v10_1.Locale[value]; } if (isLocaleCode(value)) { return value; } throw TypeError(`${value} is not a valid LanguageName or Locale`); } exports.getLocale = getLocale; function isLanguageName(value) { return Object.keys(v10_1.Locale).includes(value); } function isLocaleCode(value) { return Object.values(v10_1.Locale).includes(value); } function LocalsEqual(one, two) { return (0, node_util_1.isDeepStrictEqual)(one, two); } exports.LocalsEqual = LocalsEqual;