function gEncodeToHTML(str)
{
if (typeof str !== 'string')
return str;
return str.replace(/&/g, '&')
.replace(//g, '>')
.replace(/"/g, '"')
.replace(/'/g, ''');
}
function gDecodeFromHTML(str)
{
if (typeof str !== 'string')
return str;
return str.replace(/'/g, "'")
.replace(/"/g, '"')
.replace(/>/g, '>')
.replace(/</g, '<')
.replace(/&/g, '&');
}
function FullObjectCopy(obj)
{
var newObj = Object.create(Object.getPrototypeOf(obj));
return Object.assign(newObj, obj);
}
function FullArrayCopy(arr)
{
var res = [];
arr.forEach(function(element) {
var copyElement = FullObjectCopy(element);
res.push(copyElement);
});
return res;
}
function formatString(string, params) {
return string.replace(/{(\d+)}/g, (match, index) => {
return typeof params[index] !== 'undefined' ? params[index] : match;
});
}