UNPKG

@ipshipyard/node-datachannel

Version:

WebRTC For Node.js and Electron. libdatachannel node bindings.

1 lines 3.08 kB
{"version":3,"file":"RTCDtlsTransport.mjs","sources":["../../../src/polyfill/RTCDtlsTransport.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport RTCIceTransport from './RTCIceTransport';\n\nexport default class RTCDtlsTransport extends EventTarget implements globalThis.RTCDtlsTransport {\n #pc: globalThis.RTCPeerConnection = null;\n #iceTransport = null;\n\n onstatechange: ((this: globalThis.RTCDtlsTransport, ev: Event) => any) | null = null;\n onerror: ((this: globalThis.RTCDtlsTransport, ev: Event) => any) | null = null;\n\n constructor(init: { pc: globalThis.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(): globalThis.RTCIceTransport {\n return this.#iceTransport;\n }\n\n get state(): globalThis.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":[],"mappings":";;;;;;;;;;;;AAAA,IAAA,GAAA,EAAA,aAAA;AAGA,MAAqB,yBAAyB,WAAmD,CAAA;AAAA,EAO7F,YAAY,IAA4D,EAAA;AACpE,IAAM,KAAA,EAAA;AAPV,IAAoC,YAAA,CAAA,IAAA,EAAA,GAAA,EAAA,IAAA,CAAA;AACpC,IAAgB,YAAA,CAAA,IAAA,EAAA,aAAA,EAAA,IAAA,CAAA;AAEhB,IAAgF,aAAA,CAAA,IAAA,EAAA,eAAA,EAAA,IAAA,CAAA;AAChF,IAA0E,aAAA,CAAA,IAAA,EAAA,SAAA,EAAA,IAAA,CAAA;AAItE,IAAA,YAAA,CAAA,IAAA,EAAK,KAAM,IAAK,CAAA,EAAA,CAAA;AAEhB,IAAK,YAAA,CAAA,IAAA,EAAA,aAAA,EAAgB,IAAI,eAAA,CAAgB,EAAE,EAAA,EAAI,KAAK,EAAI,EAAA,cAAA,EAAgB,IAAK,CAAA,cAAA,EAAgB,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;AAAA,KAC9C,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;AAAA,KAC/C,CAAA;AAAA;AACL,EAEA,IAAI,YAA2C,GAAA;AAC3C,IAAA,OAAO,YAAK,CAAA,IAAA,EAAA,aAAA,CAAA;AAAA;AAChB,EAEA,IAAI,KAA0C,GAAA;AAG1C,IAAA,IAAI,KAAQ,GAAA,YAAA,CAAA,IAAA,EAAK,GAAM,CAAA,GAAA,YAAA,CAAA,IAAA,EAAK,KAAI,eAAkB,GAAA,KAAA;AAClD,IAAA,IAAI,UAAU,cAAgB,EAAA;AAC1B,MAAQ,KAAA,GAAA,QAAA;AAAA;AAEZ,IAAO,OAAA,KAAA;AAAA;AACX,EAEA,qBAAuC,GAAA;AAEnC,IAAA,OAAO,CAAC,IAAI,WAAY,CAAA,CAAC,CAAC,CAAA;AAAA;AAElC;AAzCI,GAAA,GAAA,IAAA,OAAA,EAAA;AACA,aAAA,GAAA,IAAA,OAAA,EAAA;;;;"}