Skip to content

Commit

Permalink
remove events/EventEmitter && move Observer to ts
Browse files Browse the repository at this point in the history
  • Loading branch information
mad-gooze committed Jan 30, 2019
1 parent ec1700d commit 79cf74f
Show file tree
Hide file tree
Showing 6 changed files with 19 additions and 26 deletions.
2 changes: 1 addition & 1 deletion docs/design.md
Expand Up @@ -5,7 +5,7 @@ design idea is pretty simple :
- main functionalities are split into several subsystems
- all subsystems are instantiated by the Hls instance.
- each subsystem heavily relies on events for internal/external communications.
- Events are handled using [EventEmitter](https://nodejs.org/api/events.html)
- Events are handled using [EventEmitter3](https://github.com/primus/eventemitter3)
- bundled for the browser by [webpack](https://webpack.js.org/)

## Code structure
Expand Down
2 changes: 1 addition & 1 deletion src/demux/demuxer-worker.js
Expand Up @@ -7,7 +7,7 @@ import DemuxerInline from '../demux/demuxer-inline';
import Event from '../events';
import { enableLogs } from '../utils/logger';

import { EventEmitter } from 'events';
import { EventEmitter } from 'eventemitter3';

let DemuxerWorker = function (self) {
// observer setup
Expand Down
2 changes: 1 addition & 1 deletion src/demux/demuxer.js
@@ -1,4 +1,4 @@
import { EventEmitter } from 'events';
import { EventEmitter } from 'eventemitter3';
import * as work from 'webworkify-webpack';

import Event from '../events';
Expand Down
22 changes: 0 additions & 22 deletions src/observer.js

This file was deleted.

15 changes: 15 additions & 0 deletions src/observer.ts
@@ -0,0 +1,15 @@
import { EventEmitter } from 'eventemitter3';

/**
* Simple adapter sub-class of Nodejs-like EventEmitter.
*/
export class Observer extends EventEmitter {
/**
* We simply want to pass along the event-name itself
* in every call to a handler, which is the purpose of our `trigger` method
* extending the standard API.
*/
trigger (event: string, ...data: Array<any>): void {
this.emit(event, event, ...data);
}
}
2 changes: 1 addition & 1 deletion tests/unit/controller/eme-controller.js
@@ -1,6 +1,6 @@
import EMEController from '../../../src/controller/eme-controller';
import HlsMock from '../../mocks/hls.mock';
import EventEmitter from 'events';
import { EventEmitter } from 'eventemitter3';
import { ErrorDetails } from '../../../src/errors';

const sinon = require('sinon');
Expand Down

0 comments on commit 79cf74f

Please sign in to comment.