-
Notifications
You must be signed in to change notification settings - Fork 75
Expand file tree
/
Copy pathstringReplacer.js
More file actions
30 lines (29 loc) · 943 Bytes
/
stringReplacer.js
File metadata and controls
30 lines (29 loc) · 943 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
/**
* @public
* @module @ui5/builder/processors/stringReplacer
*/
/**
* Replaces placeholders with corresponding values.
*
* @public
* @function default
* @static
*
* @param {object} parameters Parameters
* @param {@ui5/fs/Resource[]} parameters.resources List of resources to be processed
* @param {object} parameters.options Options
* @param {string} parameters.options.pattern Pattern of placeholders
* @param {string} parameters.options.replacement Replacement for placeholders
* @returns {Promise<@ui5/fs/Resource[]>} Promise resolving with modified resources
*/
export default function({resources, options: {pattern, replacement}}) {
return Promise.all(resources.map(async (resource) => {
const content = await resource.getString();
const newContent = content.replaceAll(pattern, replacement);
if (content !== newContent) {
resource.setString(newContent);
return resource;
}
// return resource;
}));
}