UNPKG

@ui5/builder

Version:
38 lines (32 loc) 1.25 kB
import nonAsciiEscaper from "../processors/nonAsciiEscaper.js"; /** * @public * @module @ui5/builder/tasks/escapeNonAsciiCharacters */ /** * Task to escape non ascii characters in properties files resources. * * @public * @function default * @static * * @param {object} parameters Parameters * @param {@ui5/fs/DuplexCollection} parameters.workspace DuplexCollection to read and write files * @param {object} parameters.options Options * @param {string} parameters.options.pattern Glob pattern to locate the files to be processed * @param {string} parameters.options.encoding source file encoding either "UTF-8" or "ISO-8859-1" * @returns {Promise<undefined>} Promise resolving with <code>undefined</code> once data has been written */ export default async function({workspace, options: {pattern, encoding}}) { if (!encoding) { throw new Error("[escapeNonAsciiCharacters] Mandatory option 'encoding' not provided"); } const allResources = await workspace.byGlob(pattern); const processedResources = await nonAsciiEscaper({ resources: allResources, options: { encoding: nonAsciiEscaper.getEncodingFromAlias(encoding) } }); await Promise.all(processedResources.map((resource) => workspace.write(resource))); }