UNPKG

@observertc/client-monitor-js

Version:

ObserveRTC Client Integration Javascript Library

1 lines 601 B
import{createLogger as t}from"../utils/logger";const a=t("StatsAdapter");export class StatsAdapters{adapters=new Map;add(t){if(this.adapters.has(t.name))return a.warn("Adapter with name already exists",t.name);this.adapters.set(t.name,t)}remove(t){return"string"==typeof t?this.adapters.delete(t):this.adapters.delete(t.name)}adapt(t){let e=t;for(const t of this.adapters.values())try{e=t.adapt(e)}catch(t){a.warn("Error adapting stats",t)}return e}postAdapt(t){let e=t;for(const t of this.adapters.values())if(t.postAdapt)try{e=t.postAdapt(e)}catch(t){a.warn("Error post adapting stats",t)}return e}}