///
///
import freedom_types = require('freedom.types');
interface OnEmitModule extends freedom_types.OnAndEmit {};
interface OnEmitModuleFactory extends
freedom_types.FreedomModuleFactoryManager {};
var script = document.createElement('script');
script.src = 'freedom-for-chrome/freedom-for-chrome.js';
document.head.appendChild(script);
// Keep a background timeout running continuously, to prevent chrome from
// putting the app to sleep.
function keepAlive() { setTimeout(keepAlive, 5000); }
keepAlive();
// Top level variable to provide console-level access to the module interface.
var echo :OnEmitModule;
script.onload = () => {
freedom('uproxy-networking/echo/freedom-module.json', {
'logger': 'uproxy-lib/loggingprovider/freedom-module.json',
'debug': 'debug'
}).then((echoFactory:OnEmitModuleFactory) => {
echo = echoFactory();
echo.emit('start', { address: '127.0.0.1', port: 9998 });
}, (e:Error) => {
console.error('could not load freedom: ' + e.message);
});
}