@observertc/observer-js
Version:
Server Side NodeJS Library for processing ObserveRTC Samples
38 lines (30 loc) • 777 B
text/typescript
import { createLogger } from '../common/logger';
import { Detector } from './Detector';
const logger = createLogger('Detectors');
export class Detectors {
private _detectors: Detector[];
public constructor(...detectors: Detector[]) {
this._detectors = detectors;
}
public add(detector: Detector) {
this._detectors.push(detector);
}
public remove(detector: Detector) {
this._detectors = this._detectors.filter((d) => d !== detector);
}
get listOfNames() {
return this._detectors.map((d) => d.name);
}
public update() {
for (const detector of this._detectors) {
try {
detector.update();
} catch (err) {
logger.warn(`Error updating detector ${detector?.constructor?.name}`, err);
}
}
}
public clear() {
this._detectors = [];
}
}