@webpro/next-translate-plugin
Version:
Tiny and powerful i18n plugin to translate your Next.js pages.
13 lines (12 loc) • 1.77 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var utils_1 = require("./utils");
function templateWithLoader(pagePkg, _a) {
var _b = _a === void 0 ? {} : _a, _c = _b.page, page = _c === void 0 ? '' : _c, _d = _b.loader, loader = _d === void 0 ? 'getStaticProps' : _d, _e = _b.revalidate, revalidate = _e === void 0 ? 0 : _e, _f = _b.existLocalesFolder, existLocalesFolder = _f === void 0 ? true : _f;
var hash = Date.now().toString(16);
var oldLoaderName = (0, utils_1.interceptExport)(pagePkg, loader, "__Next_Translate_old_".concat(loader, "__").concat(hash, "__"));
var newLoaderName = "__Next_Translate__".concat(loader, "__").concat(hash, "__");
var hasLoader = Boolean(oldLoaderName);
return "\n import ".concat(utils_1.INTERNAL_CONFIG_KEY, " from '@next-translate-root/i18n'\n import __loadNamespaces from 'next-translate/loadNamespaces'\n ").concat(pagePkg.getCode(), "\n async function ").concat(newLoaderName, "(ctx) {\n ").concat(hasLoader ? "const res = await ".concat(oldLoaderName, "(ctx)") : '', "\n return {\n ").concat(hasLoader && revalidate > 0 ? "revalidate: ".concat(revalidate, ",") : '', "\n ").concat(hasLoader ? '...res,' : '', "\n props: {\n ").concat(hasLoader ? '...(res.props || {}),' : '', "\n ...(await __loadNamespaces({\n ...ctx,\n ...").concat(utils_1.INTERNAL_CONFIG_KEY, ",\n pathname: '").concat(page, "',\n loaderName: '").concat(loader, "',\n ").concat((0, utils_1.addLoadLocalesFrom)(existLocalesFolder), "\n }))\n }\n }\n }\n export { ").concat(newLoaderName, " as ").concat(loader, " }\n ");
}
exports.default = templateWithLoader;