browser.emit = (eventName, ...args) => {
let argumentsString = '';
for (let arg of args) {
switch (typeof arg) {
case 'string': {
argumentsString += `'${arg}', `;
break;
}
case 'number':
case 'boolean': {
argumentsString += `${arg}, `;
break;
}
case 'object': {
argumentsString += `${JSON.stringify(arg)}, `;
break;
}
}
}
browser.execute(`typeof window['${eventName}'] !== 'undefined' && window['${eventName}'](${argumentsString})`);
}
browser.emit('popup', 'kek', 'lol', ['test', 'cheburek']);