{"version":3,"file":"loader.js","sources":["../src/loader.js"],"sourcesContent":["// Listen for wsInvListingShown events that fire before the API is loaded,\n// so the API can replay the events when it's ready.\nwindow.DDC.APIEvents = {\n\treceived: [],\n\thandleShown: data => {\n\t\tif (data) {\n\t\t\twindow.DDC.APIEvents.received.push(data);\n\t\t}\n\t},\n\tstart: () => {\n\t\twindow.addEventListener(\n\t\t\t'wsInvListingShown',\n\t\t\twindow.DDC.APIEvents.handleShown\n\t\t);\n\t},\n\tget: () => {\n\t\treturn window.DDC.APIEvents.received;\n\t}\n};\nwindow.DDC.APIEvents.start();\n\nconst APILoader = class APILoader {\n\tasync isReady() {\n\t\tif (window.DDC.API) {\n\t\t\treturn true;\n\t\t}\n\t\treturn new Promise(resolve => {\n\t\t\twindow.addEventListener('WIAPIReady', () => {\n\t\t\t\tresolve(true);\n\t\t\t});\n\t\t});\n\t}\n\n\tstatic async create(init = 'default-integration-id') {\n\t\tconst apiLoader = new APILoader();\n\t\tawait apiLoader.isReady();\n\t\treturn new window.DDC.API(init);\n\t}\n};\n\nwindow.DDC.APILoader = APILoader;\n"],"names":["window","DDC","APIEvents","received","handleShown","data","push","start","addEventListener","get","APILoader","isReady","API","Promise","resolve","create","init","arguments","length","undefined","apiLoader"],"mappings":"2FAEAA,OAAOC,IAAIC,UAAY,CACtBC,SAAU,GACVC,YAAaC,IACRA,GACHL,OAAOC,IAAIC,UAAUC,SAASG,KAAKD,EACpC,EAEDE,MAAOA,KACNP,OAAOQ,iBACN,oBACAR,OAAOC,IAAIC,UAAUE,YACrB,EAEFK,IAAKA,IACGT,OAAOC,IAAIC,UAAUC,UAG9BH,OAAOC,IAAIC,UAAUK,QAqBrBP,OAAOC,IAAIS,UAnBO,MAAMA,EACvB,aAAMC,GACL,QAAIX,OAAOC,IAAIW,KAGR,IAAIC,SAAQC,IAClBd,OAAOQ,iBAAiB,cAAc,KACrCM,GAAQ,EAAK,GACZ,GAEJ,CAEA,mBAAaC,GAAwC,IAAjCC,EAAIC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,yBAC1B,MAAMG,EAAY,IAAIV,EAEtB,aADMU,EAAUT,UACT,IAAIX,OAAOC,IAAIW,IAAII,EAC3B"}