UNPKG

next-translate-scanner

Version:

Scan next-translate code for translations and update json files.

42 lines (41 loc) 1.56 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const logger_1 = __importDefault(require("./logger")); const isDifferent = (value, checkValue) => { return !!value && value !== checkValue; }; const translationsToNamespaceMap = (entries, config) => { const namespaces = {}; for (const entry of entries) { if (!namespaces[entry.ns]) { namespaces[entry.ns] = {}; } const value = entry.default || config.defaultValue?.(entry) || ''; if (entry.isPlural) { if (isDifferent(namespaces[entry.ns][`${entry.key}_one`], value)) { if (!!value) { logger_1.default.warning(`Same key with different default value found: ${entry.ns}:${entry.key}`); } } else { namespaces[entry.ns][`${entry.key}_one`] = value; namespaces[entry.ns][`${entry.key}_other`] = value; } } else { if (isDifferent(namespaces[entry.ns][entry.key], value)) { if (!!value) { logger_1.default.warning(`Same key with different default value found: ${entry.ns}:${entry.key}`); } } else { namespaces[entry.ns][entry.key] = value; } } } return namespaces; }; exports.default = translationsToNamespaceMap;