export class Utils { static clone(object:T):T { return JSON.parse(JSON.stringify(object)); } static concatUrls(...args:Array){ let url = ""; for(let i = 0 ; i < args.length; i++){ if(args[i] === "" || typeof args[i] === "undefined") continue; let part = args[i].replace("\\","/"); if(part === "/" || part === "./") continue; url += part + "/"; } return url.substring(0, url.length - 1); } public static updateKeys(targetObject,sourceObject){ Object.keys(sourceObject).forEach((key)=> { if(typeof targetObject[key] === "undefined"){ return; } if(typeof targetObject[key] === "object"){ Utils.updateKeys(targetObject[key],sourceObject[key] ); }else { targetObject[key] = sourceObject[key]; } }); } public static setKeys(targetObject,sourceObject){ Object.keys(sourceObject).forEach((key)=> { if(typeof targetObject[key] === "object"){ Utils.updateKeys(targetObject[key],sourceObject[key] ); }else { targetObject[key] = sourceObject[key]; } }); } }