UNPKG

@intlayer/chokidar

Version:

Uses chokidar to scan and build Intlayer declaration files into dictionaries based on Intlayer configuration.

70 lines 2.61 kB
"use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); var getFilteredLocalesContent_exports = {}; __export(getFilteredLocalesContent_exports, { getFilteredLocalesContent: () => getFilteredLocalesContent }); module.exports = __toCommonJS(getFilteredLocalesContent_exports); var import_core = require("@intlayer/core"); const filterTranlationsPlugin = (locales, fallback = void 0) => ({ id: "filter-translations-plugin", canHandle: (node) => typeof node === "object" && node?.nodeType === import_core.NodeType.Translation, transform: (node, props, deepTransformNode2) => { const translationMap = node.translation; const localesArray = Array.isArray(locales) ? locales : [locales]; const isSingleLocale = localesArray.length === 1; if (isSingleLocale) { let content = translationMap[localesArray[0]]; if (typeof content === "undefined" && fallback) { content = translationMap[fallback]; } return deepTransformNode2(content, props); } const filteredTranslationMap = Object.fromEntries( Object.entries(translationMap).filter( ([key]) => locales.includes(key) ) ); return { ...node, translation: deepTransformNode2(filteredTranslationMap, { ...props, keyPath: [ ...props.keyPath, { type: import_core.NodeType.Object, key: import_core.NodeType.Translation } ] }) }; } }); const getFilteredLocalesContent = (node, locale, nodeProps, fallback) => { const plugins = [ filterTranlationsPlugin(locale, fallback), ...nodeProps.plugins ?? [] ]; return (0, import_core.deepTransformNode)(node, { ...nodeProps, plugins }); }; // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { getFilteredLocalesContent }); //# sourceMappingURL=getFilteredLocalesContent.cjs.map