{"version":3,"file":"RTCDtlsTransport.cjs","sources":["../../../src/polyfill/RTCDtlsTransport.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport RTCIceTransport from './RTCIceTransport';\nimport RTCPeerConnection from './RTCPeerConnection';\n\nexport default class RTCDtlsTransport extends EventTarget implements globalThis.RTCDtlsTransport {\n    #pc: RTCPeerConnection = null;\n    #iceTransport = null;\n\n    onstatechange: ((this: RTCDtlsTransport, ev: Event) => any) | null = null;\n    onerror: ((this: RTCDtlsTransport, ev: Event) => any) | null = null;\n\n    constructor(init: { pc: RTCPeerConnection, extraFunctions }) {\n        super();\n        this.#pc = init.pc;\n\n        this.#iceTransport = new RTCIceTransport({ pc: init.pc, extraFunctions: init.extraFunctions });\n\n        // forward peerConnection events\n        this.#pc.addEventListener('connectionstatechange', () => {\n            this.dispatchEvent(new Event('statechange'));\n        });\n\n        // forward events to properties\n        this.addEventListener('statechange', (e) => {\n            if (this.onstatechange) this.onstatechange(e);\n        });\n    }\n\n    get iceTransport(): RTCIceTransport {\n        return this.#iceTransport;\n    }\n\n    get state(): RTCDtlsTransportState {\n        // reduce state from new, connecting, connected, disconnected, failed, closed, unknown\n        // to RTCDtlsTRansport states new, connecting, connected, closed, failed\n        let state = this.#pc ? this.#pc.connectionState : 'new';\n        if (state === 'disconnected') {\n            state = 'closed';\n        }\n        return state;\n    }\n\n    getRemoteCertificates(): ArrayBuffer[] {\n        // TODO: implement\n        return [new ArrayBuffer(0)];\n    }\n}\n"],"names":["RTCIceTransport"],"mappings":";;;;;;;;;;;;;;;;AAAA,IAAA,GAAA,EAAA,aAAA,CAAA;AAIA,MAAqB,yBAAyB,WAAmD,CAAA;AAAA,EAO7F,YAAY,IAAiD,EAAA;AACzD,IAAM,KAAA,EAAA,CAAA;AAPV,IAAyB,YAAA,CAAA,IAAA,EAAA,GAAA,EAAA,IAAA,CAAA,CAAA;AACzB,IAAgB,YAAA,CAAA,IAAA,EAAA,aAAA,EAAA,IAAA,CAAA,CAAA;AAEhB,IAAqE,aAAA,CAAA,IAAA,EAAA,eAAA,EAAA,IAAA,CAAA,CAAA;AACrE,IAA+D,aAAA,CAAA,IAAA,EAAA,SAAA,EAAA,IAAA,CAAA,CAAA;AAI3D,IAAA,YAAA,CAAA,IAAA,EAAK,KAAM,IAAK,CAAA,EAAA,CAAA,CAAA;AAEhB,IAAK,YAAA,CAAA,IAAA,EAAA,aAAA,EAAgB,IAAIA,uBAAA,CAAgB,EAAE,EAAA,EAAI,KAAK,EAAI,EAAA,cAAA,EAAgB,IAAK,CAAA,cAAA,EAAgB,CAAA,CAAA,CAAA;AAG7F,IAAK,YAAA,CAAA,IAAA,EAAA,GAAA,CAAA,CAAI,gBAAiB,CAAA,uBAAA,EAAyB,MAAM;AACrD,MAAA,IAAA,CAAK,aAAc,CAAA,IAAI,KAAM,CAAA,aAAa,CAAC,CAAA,CAAA;AAAA,KAC9C,CAAA,CAAA;AAGD,IAAK,IAAA,CAAA,gBAAA,CAAiB,aAAe,EAAA,CAAC,CAAM,KAAA;AACxC,MAAA,IAAI,IAAK,CAAA,aAAA,EAAoB,IAAA,CAAA,aAAA,CAAc,CAAC,CAAA,CAAA;AAAA,KAC/C,CAAA,CAAA;AAAA,GACL;AAAA,EAEA,IAAI,YAAgC,GAAA;AAChC,IAAA,OAAO,YAAK,CAAA,IAAA,EAAA,aAAA,CAAA,CAAA;AAAA,GAChB;AAAA,EAEA,IAAI,KAA+B,GAAA;AAG/B,IAAA,IAAI,KAAQ,GAAA,YAAA,CAAA,IAAA,EAAK,GAAM,CAAA,GAAA,YAAA,CAAA,IAAA,EAAK,KAAI,eAAkB,GAAA,KAAA,CAAA;AAClD,IAAA,IAAI,UAAU,cAAgB,EAAA;AAC1B,MAAQ,KAAA,GAAA,QAAA,CAAA;AAAA,KACZ;AACA,IAAO,OAAA,KAAA,CAAA;AAAA,GACX;AAAA,EAEA,qBAAuC,GAAA;AAEnC,IAAA,OAAO,CAAC,IAAI,WAAY,CAAA,CAAC,CAAC,CAAA,CAAA;AAAA,GAC9B;AACJ,CAAA;AAzCI,GAAA,GAAA,IAAA,OAAA,EAAA,CAAA;AACA,aAAA,GAAA,IAAA,OAAA,EAAA;;;;"}