UNPKG

angular-t9n

Version:
1 lines 1.57 kB
import {g,b0 as DS,$,a$ as cn,a6 as Ee,K,B as Ba,cw as v,A as At,aW as Va,cq as $a,b2 as k}from'./main-XWPOM5LO.js';var T=(()=>{class i{constructor(){this._http=g(DS),this._websocketService=g($),this._rootSubject=new cn(null),this._targetsSubject=new cn(null),this._targetsMap=new cn(new Map),this._targets=this._targetsSubject.pipe(Ee(t=>!!t)),this.root=this._rootSubject.pipe(Ee(t=>!!t)),this.targets=this._targetsMap.pipe(K(t=>Array.from(t.values()))),this.root.pipe(Ba(t=>this._http.get(t._links.targets.href))).subscribe(t=>this._targetsSubject.next(t)),this._targets.pipe(Ba(t=>this._loadTargets(t))).subscribe(t=>this._targetsMap.next(t)),this._websocketService.projectChange.pipe(Ba(()=>this._http.get(`${v.translationServer}/api`))).subscribe(t=>this._rootSubject.next(t));}target(t){return this._targetsMap.pipe(K(e=>e.get(t)))}createTarget(t){return this._targets.pipe(At(1),K(e=>this._targetHref(e,t)),Ba(e=>this._http.post(e,{})),Va(e=>this._updateTarget(e)))}updateTarget(t){return this._targets.pipe(K(e=>this._targetHref(e,t)),Ba(e=>this._http.get(e)),Va(e=>this._updateTarget(e)))}_loadTargets(t){return $a(t.languages.map(e=>this._targetHref(t,e)).map(e=>this._http.get(e))).pipe(K(e=>e.reduce((m,n)=>m.set(n.language,n),new Map)))}_targetHref(t,e){return t._links.target.href.replace("{language}",e)}_updateTarget(t){let e=new Map(this._targetsMap.value).set(t.language,t);this._targetsMap.next(e);}static{this.\u0275fac=function(e){return new(e||i)};}static{this.\u0275prov=k({token:i,factory:i.\u0275fac,providedIn:"root"});}}return i})();export{T};