akala.injectWithName(['$isModule', '$master', '$worker'], function (isModule: akala.worker.IsModule, master: akala.worker.MasterRegistration, worker: EventEmitter) { if (isModule('@domojs/lifttt')) { worker.on('ready', function () { // Called when all modules have been initialized }); worker.on('after-master', function () { // Called when all modules have been initialized require('./services/console'); require('./services/fs'); require('./services/http'); require('./api'); }); master(__filename, './master'); akala.injectWithName([AssetRegistration.name], function (virtualasset: PromiseLike<AssetRegistration>) { virtualasset.then((va) => { va.register('/js/tiles.js', require.resolve('../tile')); va.register('/js/routes.js', require.resolve('../routes')); }); })(); } })()
constructor(eventEmitter : EventEmitter, perspective : Perspective){ this.pointers = new Map<number, Pointer>(); this.perspective = perspective; this.changed = false; eventEmitter.on(POINTER_DOWN, (data : PointerDownEvent) => { this.pointers.set(data.id, { x: data.x, y: data.y, mapPos: perspective.viewportToMap(data.x, data.y) }); }); eventEmitter.on(POINTER_MOVE, (data : PointerMoveEvent) => { if(!this.pointers.has(data.id)) return; const pointer = this.pointers.get(data.id); if(pointer === undefined) return; this.changed = true; pointer.x = data.x; pointer.y = data.y; }); eventEmitter.on(CANCEL_PAN_ZOOM, (data : CancelPanZoomEvent) => { if(!this.pointers.has(data.id)) return; this.pointers.delete(data.id); }); eventEmitter.on(POINTER_UP, (data : PointerUpEvent) => { if(!this.pointers.has(data.id)) return; this.pointers.delete(data.id); }); }
zoneA.run(() => { emitter.on('removeListener', function(type: string, handler: any) { zoneResults.push('remove' + type); }); emitter.on('test', shouldNotRun); emitter.on('test1', expectZoneA); emitter.removeAllListeners('test'); expect(zoneResults).toEqual(['removetest']); expect(emitter.listeners('removeListener').length).toBe(1); });
function addHandler(emitter: EventEmitter, event: string, handler: Function) { if (isLogEvent) { emitter.on(event, function (...args: any[]) { console.log("%s %s", event, args) handler.apply(null, args) }) } else { emitter.on(event, handler) } }
zoneA.run(() => { emitter.on('removeListener', function(type: string, handler: any) { zoneResults.push('remove' + type); }); emitter.on('newListener', function(type: string, handler: any) { zoneResults.push('new' + type); }); emitter.on('test', shouldNotRun); emitter.removeListener('test', shouldNotRun); expect(zoneResults).toEqual(['newtest', 'removetest']); });
function addHandler(emitter: EventEmitter, event: string, handler: (...args: Array<any>) => void) { if (isLogEvent) { emitter.on(event, (...args: Array<any>) => { console.log("%s %s", event, args) handler.apply(null, args) }) } else { emitter.on(event, handler) } }
zoneA.run(() => { emitter.on('test', listenerA); emitter.on('test', listenerB); expect(emitter.listeners('test')).toEqual([listenerA, listenerB]); emitter.emit('test'); expect(zoneResults).toEqual(['A', 'B']); zoneResults = []; emitter.removeAllListeners('test'); emitter.on('test', listenerA); emitter.prependListener('test', listenerB); expect(emitter.listeners('test')).toEqual([listenerB, listenerA]); emitter.emit('test'); expect(zoneResults).toEqual(['B', 'A']); });
test('it broadcasts if case sensitivity has been updated', done => { eventBus.on(Event.TOGGLED_CASE_SENSITIVITY, (mode: any) => { assertKeyExists(mode, 'ignoreCase'); done(); }); registry.toggleCaseSensitivity(); });
test('it broadcasts if whole/partial match has been toggled', done => { eventBus.on(Event.WHOLE_MATCH_MODE_TOGGLED, (mode: any) => { assertKeyExists(mode, 'wholeMatch'); done(); }); registry.toggleWholeMatch(); });
test('after extension started, it broadcast if it is ready', done => { eventBus.on(Event.MATCHING_MODE_INITIALISED, (mode: any) => { assertKeyExists(mode, 'ignoreCase'); done(); }); eventBus.emit(Event.EXTENSION_READY); });