32 lines
831 B
JavaScript
32 lines
831 B
JavaScript
"use strict";
|
|
function processX(base, ids, depth, result, tags) {
|
|
const id = ids[depth];
|
|
for (let i = 0; i < id.length; i++) {
|
|
const value = id[i];
|
|
if (depth < ids.length - 1) {
|
|
processX(base.replace(result[depth], value), ids, depth + 1, result, tags);
|
|
} else {
|
|
tags.push(base.replace(result[depth], value));
|
|
}
|
|
}
|
|
}
|
|
function createStringVariations(string) {
|
|
const regex = /\{(.*?)\}/g;
|
|
const result = string.match(regex);
|
|
const tags = [];
|
|
if (result) {
|
|
const ids = [];
|
|
result.forEach((vars) => {
|
|
const split = vars.substring(1, vars.length - 1).split(",");
|
|
ids.push(split);
|
|
});
|
|
processX(string, ids, 0, result, tags);
|
|
} else {
|
|
tags.push(string);
|
|
}
|
|
return tags;
|
|
}
|
|
|
|
export { createStringVariations };
|
|
//# sourceMappingURL=createStringVariations.mjs.map
|