{"version":3,"file":"chunk-hk6r08di.js","sources":["packages/sports/web/app/src/deferred/script-loader.service.ts"],"sourcesContent":["import { DOCUMENT } from '@angular/common';\nimport { Injectable, inject } from '@angular/core';\n\nimport { keys } from 'lodash-es';\nimport { Observable, ReplaySubject } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class ScriptLoaderService {\n private scripts = new Map>();\n private readonly _doc = inject(DOCUMENT);\n\n load(source: string, attributes?: { [key: string]: string | number | boolean }): Observable {\n const state = this.scripts.get(source) || new ReplaySubject();\n\n if (!this.scripts.has(source)) {\n this.scripts.set(source, state);\n\n const script: HTMLScriptElement = this._doc.createElement('script');\n\n keys(attributes).forEach((key) => script.setAttribute(key, attributes![key].toString()));\n\n script.type = 'text/javascript';\n script.async = false;\n script.src = source;\n script.onload = () => {\n state.next();\n state.complete();\n };\n\n const referenceNode = this._doc.querySelector('script');\n\n if (referenceNode && referenceNode.parentNode) {\n referenceNode.parentNode.insertBefore(script, referenceNode);\n }\n }\n\n return state.asObservable();\n }\n}\n"],"names":["ScriptLoaderService","constructor","scripts","Map","_doc","inject","DOCUMENT","load","source","attributes","state","get","ReplaySubject","has","set","script","createElement","keys","forEach","key","setAttribute","toString","type","async","src","onload","next","complete","referenceNode","querySelector","parentNode","insertBefore","asObservable","p","factory","ɵfac","providedIn","_ScriptLoaderService"],"mappings":"qEAOA,IAAaA,CAAmB,CAAA,CAAA,IAAA,CAA1B,IAAOA,CAAP,CAAA,MAAOA,CAAmB,CADhCC,WAAA,EAAA,CAEY,IAAAC,CAAAA,OAAAA,CAAU,IAAIC,GAAAA,CACL,IAAAC,CAAAA,IAAAA,CAAOC,CAAOC,CAAAA,EAAQ,EAEvCC,CAAAA,IAAAA,CAAKC,CAAgBC,CAAAA,CAAAA,CAAyD,CAC1E,IAAMC,CAAQ,CAAA,IAAA,CAAKR,OAAQS,CAAAA,GAAAA,CAAIH,CAAM,CAAA,EAAK,IAAII,EAAAA,CAE9C,GAAI,CAAC,IAAKV,CAAAA,OAAAA,CAAQW,GAAIL,CAAAA,CAAM,CAAG,CAAA,CAC3B,IAAKN,CAAAA,OAAAA,CAAQY,GAAIN,CAAAA,CAAAA,CAAQE,CAAK,CAAA,CAE9B,IAAMK,CAAAA,CAA4B,IAAKX,CAAAA,IAAAA,CAAKY,aAAc,CAAA,QAAQ,CAElEC,CAAAA,EAAAA,CAAKR,CAAU,CAAA,CAAES,OAASC,CAAAA,CAAAA,EAAQJ,CAAOK,CAAAA,YAAAA,CAAaD,CAAKV,CAAAA,CAAAA,CAAYU,CAAG,CAAA,CAAEE,QAAQ,EAAE,CAAC,CAAA,CAEvFN,CAAOO,CAAAA,IAAAA,CAAO,iBACdP,CAAAA,CAAAA,CAAOQ,KAAQ,CAAA,CAAA,CAAA,CACfR,CAAOS,CAAAA,GAAAA,CAAMhB,CACbO,CAAAA,CAAAA,CAAOU,MAAS,CAAA,IAAK,CACjBf,CAAAA,CAAMgB,IAAI,EAAA,CACVhB,CAAMiB,CAAAA,QAAAA,GACV,CAAA,CAEA,IAAMC,CAAAA,CAAgB,IAAKxB,CAAAA,IAAAA,CAAKyB,aAAc,CAAA,QAAQ,CAElDD,CAAAA,CAAAA,EAAiBA,CAAcE,CAAAA,UAAAA,EAC/BF,CAAcE,CAAAA,UAAAA,CAAWC,YAAahB,CAAAA,CAAAA,CAAQa,CAAa,EAEnE,CAEA,OAAOlB,CAAMsB,CAAAA,YAAAA,EACjB,CAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAA,SAAA,CAAA,CAAA,CAAA,OAAA,IAAA,CAAA,EA9BShC,CAAmB,CAAA,CAAA,CAAA,CAAA,CAAA,UAAA,CAAAiC,CAAA,CAAA,CAAA,KAAA,CAAnBjC,CAAmBkC,CAAAA,OAAAA,CAAnBlC,CAAmBmC,CAAAA,SAAAA,CAAAC,UADN,CAAA,MAAM,CAAA,CAAA,CAC1B,IAAOpC,CAAAA,CAAPqC,CAAOrC,CAAAA,OAAAA,CAAmB,CAAA"}