UNPKG

@frontitude/cli

Version:

The Frontitude CLI enables product teams to integrate their code with Frontitude (frontitude.com), thus creating a single source of truth for their product copy, from design to development.

1 lines 2.12 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.formatTextsForOutputFileType=exports.getDryRunResult=exports.extendTextsPullOptions=exports.updateFileWithData=exports.getDataAndFileCombinedResult=exports.getSupportedFileTypes=void 0;const tslib_1=require("tslib"),jsonHandler=tslib_1.__importStar(require("./handlers/json")),xliffHandler=tslib_1.__importStar(require("./handlers/xliff")),xmlHandler=tslib_1.__importStar(require("./handlers/xml")),appleStringsHandler=tslib_1.__importStar(require("./handlers/appleStrings")),files_1=require("../../../utils/files"),FILE_TYPE_HANDLERS={json:jsonHandler,xlf:xliffHandler,xliff:xliffHandler,xml:xmlHandler,strings:appleStringsHandler},getSupportedFileTypes=()=>Object.keys(FILE_TYPE_HANDLERS);exports.getSupportedFileTypes=getSupportedFileTypes;const getFileTypeHandler=e=>{const t=FILE_TYPE_HANDLERS[e];if(!t)throw new Error(`getFileTypeHandler: Unsupported file type. [fileType] ${e}`);return t},getDataAndFileCombinedResult=async(e,t)=>{const{fileType:l}=(0,files_1.getFileDetails)(e);return getFileTypeHandler(l).getDataAndFileCombinedResult(e,t)};exports.getDataAndFileCombinedResult=getDataAndFileCombinedResult;const updateFileWithData=async(e,t,l,i,s)=>{const{fileType:r}=(0,files_1.getFileDetails)(e),n=getFileTypeHandler(r);await(0,files_1.createFileIfNotExist)(e);return await n.updateFileWithData(e,t,l,i,s)};exports.updateFileWithData=updateFileWithData;const extendTextsPullOptions=(e,t)=>{const{fileType:l}=(0,files_1.getFileDetails)(e),i=getFileTypeHandler(l);return i.extendTextsPullOptions?i.extendTextsPullOptions(t):t};exports.extendTextsPullOptions=extendTextsPullOptions;const getDryRunResult=async(e,t)=>{const{fileType:l}=(0,files_1.getFileDetails)(e),i=getFileTypeHandler(l);return await i.getDryRunResult(e,t)};exports.getDryRunResult=getDryRunResult;const formatTextsForOutputFileType=async(e,t)=>{const{fileType:l}=(0,files_1.getFileDetails)(e),i=getFileTypeHandler(l);return i.formatTextsForOutputFileType?await i.formatTextsForOutputFileType(t):t};exports.formatTextsForOutputFileType=formatTextsForOutputFileType;