TEMPLATE ENGINE
by João Vitor Scheuermann
JavaScript
// ANIMATION ENGINE
function foundTemplateInString (RegExp, string) {
let results = string.match(RegExp)
return results
}
function removeFromArray (data, arr) {
let toReturn = [];
for (let el of arr) {
if (el !== "") toReturn.push(el);
}
return toReturn;
}
function cleanTemplate (RegExp, string) {
let raw = string.split(RegExp);
let clean = removeFromArray('',raw);
return clean;
}
function createObj (name, data) {
let obj = {}
obj[name] = data
return obj;
}
let teste = ' arquivoX {name:HUE_BR, teste:rola} reqwrqwer qrqwerqwerqwrwerq werqwer {position:teste}';
function convertTemplatedString (string) {
let DATA = [];
let template = /{.*?[A-z]}/mig;
let clean = /[:,{,}, ]/;
let rawTemplates = foundTemplateInString(template, string);
rawTemplates.forEach(el => {
let cleanArr = cleanTemplate(clean, el);
console.log(cleanArr)
let objName = cleanArr[0];
let objValue = cleanArr[1];
if (objValue === "true") {objValue = true}
else if (objValue === "false") {objValue = false}
else if (!isNaN(objValue)) {objValue = Number(objValue)};
DATA.push(createObj(objName, objValue));
})
return DATA;
}
let readyData = convertTemplatedString(teste)
console.log(readyData)