UNPKG

@sapphire/framework

Version:

Discord bot framework built for advanced and amazing bots.

72 lines (69 loc) 2.45 kB
'use strict'; var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); // src/lib/utils/application-commands/compute-differences/localizations.ts function* checkLocalizations({ localeMapName, localePresentMessage, localeMissingMessage, originalLocalizedDescriptions, expectedLocalizedDescriptions }) { if (!originalLocalizedDescriptions && expectedLocalizedDescriptions) { yield { key: localeMapName, original: localeMissingMessage, expected: localePresentMessage }; } else if (originalLocalizedDescriptions && !expectedLocalizedDescriptions) { yield { key: localeMapName, original: localePresentMessage, expected: localeMissingMessage }; } else if (originalLocalizedDescriptions && expectedLocalizedDescriptions) { yield* reportLocalizationMapDifferences(originalLocalizedDescriptions, expectedLocalizedDescriptions, localeMapName); } } __name(checkLocalizations, "checkLocalizations"); function* reportLocalizationMapDifferences(originalMap, expectedMap, mapName) { const originalLocalizations = new Map(Object.entries(originalMap)); for (const [key, value] of Object.entries(expectedMap)) { const possiblyExistingEntry = originalLocalizations.get(key); originalLocalizations.delete(key); const wasMissingBefore = typeof possiblyExistingEntry === "undefined"; const isResetNow = value === null; if (wasMissingBefore && !isResetNow) { yield { key: `${mapName}.${key}`, original: "no localization present", expected: value }; } else if (!wasMissingBefore && isResetNow) { yield { key: `${mapName}.${key}`, original: possiblyExistingEntry, expected: "no localization present" }; } else if (possiblyExistingEntry !== value) { yield { key: `${mapName}.${key}`, original: String(possiblyExistingEntry), expected: String(value) }; } } for (const [key, value] of originalLocalizations) { if (value) { yield { key: `${mapName}.${key}`, original: value, expected: "no localization present" }; } } } __name(reportLocalizationMapDifferences, "reportLocalizationMapDifferences"); exports.checkLocalizations = checkLocalizations; //# sourceMappingURL=localizations.cjs.map //# sourceMappingURL=localizations.cjs.map