import { just } from 'readuz'; import { bootstrap } from '../../src/bootstrap'; import { createConfig } from '../../src/config'; import { createEnv } from '../../src/env'; import { LoadCxf } from '../../src/helpers'; import { TrackAction } from '../../src/track'; import { sleep, timeout } from '../../src/utils'; import { CxfAdapter } from './CxfAdapter'; import { CxfStub } from './CxfStub'; import { getControls } from './helpers'; const params = new URL(location.href).searchParams; const cxfStub = new CxfStub({ gameId: params.get('gameId'), instanceId: params.get('instanceId'), language: params.get('language'), networkId: params.get('networkId'), playerId: params.get('playerId'), zoneId: params.get('zoneId'), }); const config = createConfig({}); const cxfAdapter = new CxfAdapter(cxfStub, config); const {trackEventBtn} = getControls(); trackEventBtn.addEventListener('click', () => cxfAdapter.raiseTrackEvent()); const load = () => sleep(0).then(() => Promise.resolve(cxfStub)); const testLoadCxf: LoadCxf = timeout(load, 10000); const testTrackAction: TrackAction = payload => { const iframe = document.createElement('div'); iframe.className = 'track'; iframe.innerText = 'tracked: ' + payload.eventId; document.body.appendChild(iframe); return iframe; }; const env = createEnv({ config: just(config), loadCxf: just(testLoadCxf), trackAction: just(testTrackAction), }); bootstrap(env);