node-datachannel 0.26.0 → 0.28.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.json +25 -25
- package/.prettierignore +4 -0
- package/.prettierrc +1 -0
- package/API.md +4 -4
- package/BULDING.md +11 -2
- package/CMakeLists.txt +37 -13
- package/README.md +22 -18
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/lib/datachannel-stream.cjs +13 -13
- package/dist/cjs/lib/datachannel-stream.cjs.map +1 -1
- package/dist/cjs/lib/index.cjs +1 -3
- package/dist/cjs/lib/index.cjs.map +1 -1
- package/dist/cjs/lib/websocket-server.cjs.map +1 -1
- package/dist/cjs/lib/websocket.cjs.map +1 -1
- package/dist/cjs/polyfill/Events.cjs +52 -3
- package/dist/cjs/polyfill/Events.cjs.map +1 -1
- package/dist/cjs/polyfill/Exception.cjs.map +1 -1
- package/dist/cjs/polyfill/RTCCertificate.cjs +5 -2
- package/dist/cjs/polyfill/RTCCertificate.cjs.map +1 -1
- package/dist/cjs/polyfill/RTCDataChannel.cjs +27 -19
- package/dist/cjs/polyfill/RTCDataChannel.cjs.map +1 -1
- package/dist/cjs/polyfill/RTCDtlsTransport.cjs +6 -5
- package/dist/cjs/polyfill/RTCDtlsTransport.cjs.map +1 -1
- package/dist/cjs/polyfill/RTCError.cjs +9 -2
- package/dist/cjs/polyfill/RTCError.cjs.map +1 -1
- package/dist/cjs/polyfill/RTCIceCandidate.cjs +13 -8
- package/dist/cjs/polyfill/RTCIceCandidate.cjs.map +1 -1
- package/dist/cjs/polyfill/RTCIceTransport.cjs +26 -16
- package/dist/cjs/polyfill/RTCIceTransport.cjs.map +1 -1
- package/dist/cjs/polyfill/RTCPeerConnection.cjs +80 -70
- package/dist/cjs/polyfill/RTCPeerConnection.cjs.map +1 -1
- package/dist/cjs/polyfill/RTCSctpTransport.cjs +9 -11
- package/dist/cjs/polyfill/RTCSctpTransport.cjs.map +1 -1
- package/dist/cjs/polyfill/RTCSessionDescription.cjs +10 -2
- package/dist/cjs/polyfill/RTCSessionDescription.cjs.map +1 -1
- package/dist/cjs/polyfill/index.cjs.map +1 -1
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/lib/datachannel-stream.mjs.map +1 -1
- package/dist/esm/lib/index.mjs +1 -3
- package/dist/esm/lib/index.mjs.map +1 -1
- package/dist/esm/lib/websocket-server.mjs.map +1 -1
- package/dist/esm/lib/websocket.mjs.map +1 -1
- package/dist/esm/polyfill/Events.mjs +52 -4
- package/dist/esm/polyfill/Events.mjs.map +1 -1
- package/dist/esm/polyfill/Exception.mjs.map +1 -1
- package/dist/esm/polyfill/RTCCertificate.mjs +5 -2
- package/dist/esm/polyfill/RTCCertificate.mjs.map +1 -1
- package/dist/esm/polyfill/RTCDataChannel.mjs +27 -19
- package/dist/esm/polyfill/RTCDataChannel.mjs.map +1 -1
- package/dist/esm/polyfill/RTCDtlsTransport.mjs +6 -5
- package/dist/esm/polyfill/RTCDtlsTransport.mjs.map +1 -1
- package/dist/esm/polyfill/RTCError.mjs +9 -2
- package/dist/esm/polyfill/RTCError.mjs.map +1 -1
- package/dist/esm/polyfill/RTCIceCandidate.mjs +13 -8
- package/dist/esm/polyfill/RTCIceCandidate.mjs.map +1 -1
- package/dist/esm/polyfill/RTCIceTransport.mjs +26 -17
- package/dist/esm/polyfill/RTCIceTransport.mjs.map +1 -1
- package/dist/esm/polyfill/RTCPeerConnection.mjs +80 -70
- package/dist/esm/polyfill/RTCPeerConnection.mjs.map +1 -1
- package/dist/esm/polyfill/RTCSctpTransport.mjs +9 -11
- package/dist/esm/polyfill/RTCSctpTransport.mjs.map +1 -1
- package/dist/esm/polyfill/RTCSessionDescription.mjs +10 -2
- package/dist/esm/polyfill/RTCSessionDescription.mjs.map +1 -1
- package/dist/esm/polyfill/index.mjs.map +1 -1
- package/dist/types/lib/index.d.ts +5 -2
- package/dist/types/lib/types.d.ts +6 -6
- package/dist/types/polyfill/Events.d.ts +3 -3
- package/dist/types/polyfill/RTCCertificate.d.ts +1 -0
- package/dist/types/polyfill/RTCDataChannel.d.ts +6 -6
- package/dist/types/polyfill/RTCDtlsTransport.d.ts +4 -6
- package/dist/types/polyfill/RTCError.d.ts +1 -0
- package/dist/types/polyfill/RTCIceCandidate.d.ts +1 -1
- package/dist/types/polyfill/RTCIceTransport.d.ts +16 -10
- package/dist/types/polyfill/RTCPeerConnection.d.ts +29 -22
- package/dist/types/polyfill/RTCSctpTransport.d.ts +2 -4
- package/dist/types/polyfill/RTCSessionDescription.d.ts +1 -0
- package/jest.config.ts +8 -8
- package/package.json +114 -112
- package/rollup.config.mjs +1 -1
- package/src/cpp/data-channel-wrapper.cpp +11 -0
- package/src/cpp/main.cpp +14 -0
- package/src/cpp/peer-connection-wrapper.cpp +9 -1
- package/src/cpp/peer-connection-wrapper.h +5 -1
- package/src/cpp/rtc-wrapper.cpp +18 -0
- package/src/index.ts +0 -1
- package/src/lib/datachannel-stream.ts +83 -84
- package/src/lib/index.ts +165 -139
- package/src/lib/types.ts +97 -72
- package/src/lib/websocket-server.ts +25 -25
- package/src/lib/websocket.ts +19 -19
- package/src/polyfill/Events.ts +65 -19
- package/src/polyfill/Exception.ts +24 -24
- package/src/polyfill/README.md +8 -8
- package/src/polyfill/RTCCertificate.ts +16 -12
- package/src/polyfill/RTCDataChannel.ts +198 -192
- package/src/polyfill/RTCDtlsTransport.ts +38 -39
- package/src/polyfill/RTCError.ts +63 -56
- package/src/polyfill/RTCIceCandidate.ts +120 -116
- package/src/polyfill/RTCIceTransport.ts +71 -64
- package/src/polyfill/RTCPeerConnection.ts +436 -420
- package/src/polyfill/RTCSctpTransport.ts +43 -47
- package/src/polyfill/RTCSessionDescription.ts +26 -17
- package/src/polyfill/index.ts +22 -22
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var Exception = require('./Exception.cjs');
|
|
6
|
+
var Events = require('./Events.cjs');
|
|
6
7
|
|
|
7
8
|
var __defProp = Object.defineProperty;
|
|
8
9
|
var __typeError = (msg) => {
|
|
@@ -14,7 +15,7 @@ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot
|
|
|
14
15
|
var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
15
16
|
var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
16
17
|
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), member.set(obj, value), value);
|
|
17
|
-
var _dataChannel, _readyState, _bufferedAmountLowThreshold, _binaryType, _maxPacketLifeTime, _maxRetransmits, _negotiated, _ordered, _closeRequested;
|
|
18
|
+
var _dataChannel, _readyState, _bufferedAmountLowThreshold, _binaryType, _maxPacketLifeTime, _maxRetransmits, _negotiated, _ordered, _id, _label, _protocol, _closeRequested;
|
|
18
19
|
class RTCDataChannel extends EventTarget {
|
|
19
20
|
constructor(dataChannel, opts = {}) {
|
|
20
21
|
super();
|
|
@@ -26,22 +27,28 @@ class RTCDataChannel extends EventTarget {
|
|
|
26
27
|
__privateAdd(this, _maxRetransmits);
|
|
27
28
|
__privateAdd(this, _negotiated);
|
|
28
29
|
__privateAdd(this, _ordered);
|
|
30
|
+
__privateAdd(this, _id);
|
|
31
|
+
__privateAdd(this, _label);
|
|
32
|
+
__privateAdd(this, _protocol);
|
|
29
33
|
__privateAdd(this, _closeRequested, false);
|
|
30
34
|
// events
|
|
31
|
-
__publicField(this, "onbufferedamountlow");
|
|
32
|
-
__publicField(this, "onclose");
|
|
33
|
-
__publicField(this, "onclosing");
|
|
34
|
-
__publicField(this, "onerror");
|
|
35
|
-
__publicField(this, "onmessage");
|
|
36
|
-
__publicField(this, "onopen");
|
|
35
|
+
__publicField(this, "onbufferedamountlow", null);
|
|
36
|
+
__publicField(this, "onclose", null);
|
|
37
|
+
__publicField(this, "onclosing", null);
|
|
38
|
+
__publicField(this, "onerror", null);
|
|
39
|
+
__publicField(this, "onmessage", null);
|
|
40
|
+
__publicField(this, "onopen", null);
|
|
37
41
|
__privateSet(this, _dataChannel, dataChannel);
|
|
38
42
|
__privateSet(this, _binaryType, "blob");
|
|
39
43
|
__privateSet(this, _readyState, __privateGet(this, _dataChannel).isOpen() ? "open" : "connecting");
|
|
40
44
|
__privateSet(this, _bufferedAmountLowThreshold, 0);
|
|
41
|
-
__privateSet(this, _maxPacketLifeTime, opts.maxPacketLifeTime
|
|
42
|
-
__privateSet(this, _maxRetransmits, opts.maxRetransmits
|
|
43
|
-
__privateSet(this, _negotiated, opts.negotiated
|
|
44
|
-
__privateSet(this, _ordered, opts.ordered
|
|
45
|
+
__privateSet(this, _maxPacketLifeTime, opts.maxPacketLifeTime ?? null);
|
|
46
|
+
__privateSet(this, _maxRetransmits, opts.maxRetransmits ?? null);
|
|
47
|
+
__privateSet(this, _negotiated, opts.negotiated ?? false);
|
|
48
|
+
__privateSet(this, _ordered, opts.ordered ?? true);
|
|
49
|
+
__privateSet(this, _id, __privateGet(this, _dataChannel).getId());
|
|
50
|
+
__privateSet(this, _label, __privateGet(this, _dataChannel).getLabel());
|
|
51
|
+
__privateSet(this, _protocol, __privateGet(this, _dataChannel).getProtocol());
|
|
45
52
|
__privateGet(this, _dataChannel).onOpen(() => {
|
|
46
53
|
__privateSet(this, _readyState, "open");
|
|
47
54
|
this.dispatchEvent(new Event("open", {}));
|
|
@@ -58,7 +65,7 @@ class RTCDataChannel extends EventTarget {
|
|
|
58
65
|
});
|
|
59
66
|
__privateGet(this, _dataChannel).onError((msg) => {
|
|
60
67
|
this.dispatchEvent(
|
|
61
|
-
new
|
|
68
|
+
new Events.RTCErrorEvent("error", {
|
|
62
69
|
error: new RTCError(
|
|
63
70
|
{
|
|
64
71
|
errorDetail: "data-channel-failure"
|
|
@@ -73,10 +80,8 @@ class RTCDataChannel extends EventTarget {
|
|
|
73
80
|
});
|
|
74
81
|
__privateGet(this, _dataChannel).onMessage((data) => {
|
|
75
82
|
if (ArrayBuffer.isView(data)) {
|
|
76
|
-
if (this.binaryType == "arraybuffer")
|
|
77
|
-
|
|
78
|
-
else
|
|
79
|
-
data = Buffer.from(data.buffer);
|
|
83
|
+
if (this.binaryType == "arraybuffer") data = data.buffer;
|
|
84
|
+
else data = Buffer.from(data.buffer);
|
|
80
85
|
}
|
|
81
86
|
this.dispatchEvent(new MessageEvent("message", { data }));
|
|
82
87
|
});
|
|
@@ -123,10 +128,10 @@ class RTCDataChannel extends EventTarget {
|
|
|
123
128
|
__privateGet(this, _dataChannel).setBufferedAmountLowThreshold(number);
|
|
124
129
|
}
|
|
125
130
|
get id() {
|
|
126
|
-
return __privateGet(this,
|
|
131
|
+
return __privateGet(this, _id);
|
|
127
132
|
}
|
|
128
133
|
get label() {
|
|
129
|
-
return __privateGet(this,
|
|
134
|
+
return __privateGet(this, _label);
|
|
130
135
|
}
|
|
131
136
|
get maxPacketLifeTime() {
|
|
132
137
|
return __privateGet(this, _maxPacketLifeTime);
|
|
@@ -141,7 +146,7 @@ class RTCDataChannel extends EventTarget {
|
|
|
141
146
|
return __privateGet(this, _ordered);
|
|
142
147
|
}
|
|
143
148
|
get protocol() {
|
|
144
|
-
return __privateGet(this,
|
|
149
|
+
return __privateGet(this, _protocol);
|
|
145
150
|
}
|
|
146
151
|
get readyState() {
|
|
147
152
|
return __privateGet(this, _readyState);
|
|
@@ -187,6 +192,9 @@ _maxPacketLifeTime = new WeakMap();
|
|
|
187
192
|
_maxRetransmits = new WeakMap();
|
|
188
193
|
_negotiated = new WeakMap();
|
|
189
194
|
_ordered = new WeakMap();
|
|
195
|
+
_id = new WeakMap();
|
|
196
|
+
_label = new WeakMap();
|
|
197
|
+
_protocol = new WeakMap();
|
|
190
198
|
_closeRequested = new WeakMap();
|
|
191
199
|
|
|
192
200
|
exports.default = RTCDataChannel;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RTCDataChannel.cjs","sources":["../../../src/polyfill/RTCDataChannel.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport * as exceptions from './Exception';\nimport { DataChannel } from '../lib/index';\n\nexport default class RTCDataChannel extends EventTarget implements globalThis.RTCDataChannel {\n #dataChannel: DataChannel;\n #readyState: RTCDataChannelState;\n #bufferedAmountLowThreshold: number;\n #binaryType: BinaryType;\n #maxPacketLifeTime: number | null;\n #maxRetransmits: number | null;\n #negotiated: boolean;\n #ordered: boolean;\n\n #closeRequested = false;\n\n // events\n onbufferedamountlow: ((this: RTCDataChannel, ev: Event) => any) | null;\n onclose: ((this: RTCDataChannel, ev: Event) => any) | null;\n onclosing: ((this: RTCDataChannel, ev: Event) => any) | null;\n onerror: ((this: RTCDataChannel, ev: Event) => any) | null;\n onmessage: ((this: RTCDataChannel, ev: MessageEvent) => any) | null;\n onopen: ((this: RTCDataChannel, ev: Event) => any) | null;\n\n constructor(dataChannel: DataChannel, opts: globalThis.RTCDataChannelInit = {}) {\n super();\n\n this.#dataChannel = dataChannel;\n this.#binaryType = 'blob';\n this.#readyState = this.#dataChannel.isOpen() ? 'open' : 'connecting';\n this.#bufferedAmountLowThreshold = 0;\n this.#maxPacketLifeTime = opts.maxPacketLifeTime || null;\n this.#maxRetransmits = opts.maxRetransmits || null;\n this.#negotiated = opts.negotiated || false;\n this.#ordered = opts.ordered || true;\n\n // forward dataChannel events\n this.#dataChannel.onOpen(() => {\n this.#readyState = 'open';\n this.dispatchEvent(new Event('open', {}));\n });\n\n this.#dataChannel.onClosed(() => {\n // Simulate closing event\n if (!this.#closeRequested) {\n this.#readyState = 'closing';\n this.dispatchEvent(new Event('closing'));\n }\n\n setImmediate(() => {\n this.#readyState = 'closed';\n this.dispatchEvent(new Event('close'));\n });\n });\n\n this.#dataChannel.onError((msg) => {\n this.dispatchEvent(\n new globalThis.RTCErrorEvent('error', {\n error: new RTCError(\n {\n errorDetail: 'data-channel-failure',\n },\n msg,\n ),\n }),\n );\n });\n\n this.#dataChannel.onBufferedAmountLow(() => {\n this.dispatchEvent(new Event('bufferedamountlow'));\n });\n\n this.#dataChannel.onMessage((data) => {\n if (ArrayBuffer.isView(data)) {\n if (this.binaryType == 'arraybuffer')\n data = data.buffer;\n else\n data = Buffer.from(data.buffer);\n }\n\n this.dispatchEvent(new MessageEvent('message', { data }));\n });\n\n // forward events to properties\n this.addEventListener('message', (e) => {\n if (this.onmessage) this.onmessage(e as MessageEvent);\n });\n this.addEventListener('bufferedamountlow', (e) => {\n if (this.onbufferedamountlow) this.onbufferedamountlow(e);\n });\n this.addEventListener('error', (e) => {\n if (this.onerror) this.onerror(e);\n });\n this.addEventListener('close', (e) => {\n if (this.onclose) this.onclose(e);\n });\n this.addEventListener('closing', (e) => {\n if (this.onclosing) this.onclosing(e);\n });\n this.addEventListener('open', (e) => {\n if (this.onopen) this.onopen(e);\n });\n }\n\n set binaryType(type) {\n if (type !== 'blob' && type !== 'arraybuffer') {\n throw new DOMException(\n \"Failed to set the 'binaryType' property on 'RTCDataChannel': Unknown binary type : \" + type,\n 'TypeMismatchError',\n );\n }\n this.#binaryType = type;\n }\n\n get binaryType(): BinaryType {\n return this.#binaryType;\n }\n\n get bufferedAmount(): number {\n return this.#dataChannel.bufferedAmount();\n }\n\n get bufferedAmountLowThreshold(): number {\n return this.#bufferedAmountLowThreshold;\n }\n\n set bufferedAmountLowThreshold(value) {\n const number = Number(value) || 0;\n this.#bufferedAmountLowThreshold = number;\n this.#dataChannel.setBufferedAmountLowThreshold(number);\n }\n\n get id(): number | null {\n return this.#dataChannel.getId();\n }\n\n get label(): string {\n return this.#dataChannel.getLabel();\n }\n\n get maxPacketLifeTime(): number | null {\n return this.#maxPacketLifeTime;\n }\n\n get maxRetransmits(): number | null {\n return this.#maxRetransmits;\n }\n\n get negotiated(): boolean {\n return this.#negotiated;\n }\n\n get ordered(): boolean {\n return this.#ordered;\n }\n\n get protocol(): string {\n return this.#dataChannel.getProtocol();\n }\n\n get readyState(): globalThis.RTCDataChannelState {\n return this.#readyState;\n }\n\n send(data): void {\n if (this.#readyState !== 'open') {\n throw new exceptions.InvalidStateError(\n \"Failed to execute 'send' on 'RTCDataChannel': RTCDataChannel.readyState is not 'open'\",\n );\n }\n\n // Needs network error, type error implemented\n if (typeof data === 'string') {\n this.#dataChannel.sendMessage(data);\n } else if (data instanceof Blob) {\n data.arrayBuffer().then((ab) => {\n if (process?.versions?.bun) {\n this.#dataChannel.sendMessageBinary(Buffer.from(ab));\n } else {\n this.#dataChannel.sendMessageBinary(new Uint8Array(ab));\n }\n });\n } else if (data instanceof Uint8Array) {\n this.#dataChannel.sendMessageBinary(data);\n } else {\n if (process?.versions?.bun) {\n this.#dataChannel.sendMessageBinary(Buffer.from(data));\n } else {\n this.#dataChannel.sendMessageBinary(new Uint8Array(data));\n }\n }\n }\n\n close(): void {\n this.#closeRequested = true;\n setImmediate(() => {\n this.#dataChannel.close();\n });\n }\n}\n"],"names":["exceptions.InvalidStateError"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RTCDataChannel.cjs","sources":["../../../src/polyfill/RTCDataChannel.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport * as exceptions from './Exception';\nimport { DataChannel } from '../lib/index';\nimport { RTCErrorEvent } from './Events';\n\nexport default class RTCDataChannel extends EventTarget implements globalThis.RTCDataChannel {\n #dataChannel: DataChannel;\n #readyState: globalThis.RTCDataChannelState;\n #bufferedAmountLowThreshold: number;\n #binaryType: BinaryType;\n #maxPacketLifeTime: number | null;\n #maxRetransmits: number | null;\n #negotiated: boolean;\n #ordered: boolean;\n #id: number;\n #label: string;\n #protocol: string;\n\n #closeRequested = false;\n\n // events\n onbufferedamountlow: globalThis.RTCDataChannel['onbufferedamountlow'] = null;\n onclose: globalThis.RTCDataChannel['onclose'] = null;\n onclosing: globalThis.RTCDataChannel['onclosing'] = null;\n onerror: globalThis.RTCDataChannel['onerror'] = null;\n onmessage: globalThis.RTCDataChannel['onmessage'] = null;\n onopen: globalThis.RTCDataChannel['onopen'] = null;\n\n constructor(dataChannel: DataChannel, opts: globalThis.RTCDataChannelInit = {}) {\n super();\n\n this.#dataChannel = dataChannel;\n this.#binaryType = 'blob';\n this.#readyState = this.#dataChannel.isOpen() ? 'open' : 'connecting';\n this.#bufferedAmountLowThreshold = 0;\n this.#maxPacketLifeTime = opts.maxPacketLifeTime ?? null;\n this.#maxRetransmits = opts.maxRetransmits ?? null;\n this.#negotiated = opts.negotiated ?? false;\n this.#ordered = opts.ordered ?? true;\n this.#id = this.#dataChannel.getId();\n this.#label = this.#dataChannel.getLabel();\n this.#protocol = this.#dataChannel.getProtocol();\n\n // forward dataChannel events\n this.#dataChannel.onOpen(() => {\n this.#readyState = 'open';\n this.dispatchEvent(new Event('open', {}));\n });\n\n this.#dataChannel.onClosed(() => {\n // Simulate closing event\n if (!this.#closeRequested) {\n this.#readyState = 'closing';\n this.dispatchEvent(new Event('closing'));\n }\n\n setImmediate(() => {\n this.#readyState = 'closed';\n this.dispatchEvent(new Event('close'));\n });\n });\n\n this.#dataChannel.onError((msg) => {\n this.dispatchEvent(\n new RTCErrorEvent('error', {\n error: new RTCError(\n {\n errorDetail: 'data-channel-failure',\n },\n msg,\n ),\n }),\n );\n });\n\n this.#dataChannel.onBufferedAmountLow(() => {\n this.dispatchEvent(new Event('bufferedamountlow'));\n });\n\n this.#dataChannel.onMessage((data) => {\n if (ArrayBuffer.isView(data)) {\n if (this.binaryType == 'arraybuffer') data = data.buffer;\n else data = Buffer.from(data.buffer);\n }\n\n this.dispatchEvent(new MessageEvent('message', { data }));\n });\n\n // forward events to properties\n this.addEventListener('message', (e) => {\n if (this.onmessage) this.onmessage(e as MessageEvent);\n });\n this.addEventListener('bufferedamountlow', (e) => {\n if (this.onbufferedamountlow) this.onbufferedamountlow(e);\n });\n this.addEventListener('error', (e) => {\n if (this.onerror) this.onerror(e as RTCErrorEvent);\n });\n this.addEventListener('close', (e) => {\n if (this.onclose) this.onclose(e);\n });\n this.addEventListener('closing', (e) => {\n if (this.onclosing) this.onclosing(e);\n });\n this.addEventListener('open', (e) => {\n if (this.onopen) this.onopen(e);\n });\n }\n\n set binaryType(type) {\n if (type !== 'blob' && type !== 'arraybuffer') {\n throw new DOMException(\n \"Failed to set the 'binaryType' property on 'RTCDataChannel': Unknown binary type : \" +\n type,\n 'TypeMismatchError',\n );\n }\n this.#binaryType = type;\n }\n\n get binaryType(): BinaryType {\n return this.#binaryType;\n }\n\n get bufferedAmount(): number {\n return this.#dataChannel.bufferedAmount();\n }\n\n get bufferedAmountLowThreshold(): number {\n return this.#bufferedAmountLowThreshold;\n }\n\n set bufferedAmountLowThreshold(value) {\n const number = Number(value) || 0;\n this.#bufferedAmountLowThreshold = number;\n this.#dataChannel.setBufferedAmountLowThreshold(number);\n }\n\n get id(): number | null {\n return this.#id;\n }\n\n get label(): string {\n return this.#label;\n }\n\n get maxPacketLifeTime(): number | null {\n return this.#maxPacketLifeTime;\n }\n\n get maxRetransmits(): number | null {\n return this.#maxRetransmits;\n }\n\n get negotiated(): boolean {\n return this.#negotiated;\n }\n\n get ordered(): boolean {\n return this.#ordered;\n }\n\n get protocol(): string {\n return this.#protocol;\n }\n\n get readyState(): globalThis.RTCDataChannelState {\n return this.#readyState;\n }\n\n send(data): void {\n if (this.#readyState !== 'open') {\n throw new exceptions.InvalidStateError(\n \"Failed to execute 'send' on 'RTCDataChannel': RTCDataChannel.readyState is not 'open'\",\n );\n }\n\n // Needs network error, type error implemented\n if (typeof data === 'string') {\n this.#dataChannel.sendMessage(data);\n } else if (data instanceof Blob) {\n data.arrayBuffer().then((ab) => {\n if (process?.versions?.bun) {\n this.#dataChannel.sendMessageBinary(Buffer.from(ab));\n } else {\n this.#dataChannel.sendMessageBinary(new Uint8Array(ab));\n }\n });\n } else if (data instanceof Uint8Array) {\n this.#dataChannel.sendMessageBinary(data);\n } else {\n if (process?.versions?.bun) {\n this.#dataChannel.sendMessageBinary(Buffer.from(data));\n } else {\n this.#dataChannel.sendMessageBinary(new Uint8Array(data));\n }\n }\n }\n\n close(): void {\n this.#closeRequested = true;\n setImmediate(() => {\n this.#dataChannel.close();\n });\n }\n}\n"],"names":["RTCErrorEvent","exceptions.InvalidStateError"],"mappings":"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"}
|
|
@@ -23,12 +23,13 @@ class RTCDtlsTransport extends EventTarget {
|
|
|
23
23
|
__publicField(this, "onstatechange", null);
|
|
24
24
|
__publicField(this, "onerror", null);
|
|
25
25
|
__privateSet(this, _pc, init.pc);
|
|
26
|
-
__privateSet(this, _iceTransport, new RTCIceTransport.default({
|
|
26
|
+
__privateSet(this, _iceTransport, new RTCIceTransport.default({
|
|
27
|
+
pc: init.pc
|
|
28
|
+
}));
|
|
27
29
|
__privateGet(this, _pc).addEventListener("connectionstatechange", () => {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
if (this.onstatechange) this.onstatechange(e);
|
|
30
|
+
const e = new Event("statechange");
|
|
31
|
+
this.dispatchEvent(e);
|
|
32
|
+
this.onstatechange?.(e);
|
|
32
33
|
});
|
|
33
34
|
}
|
|
34
35
|
get iceTransport() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"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
|
|
1
|
+
{"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: globalThis.RTCDtlsTransport['onstatechange'] = null;\n onerror: globalThis.RTCDtlsTransport['onstatechange'] = null;\n\n constructor(init: { pc: RTCPeerConnection }) {\n super();\n this.#pc = init.pc;\n\n this.#iceTransport = new RTCIceTransport({\n pc: init.pc\n });\n\n // forward peerConnection events\n this.#pc.addEventListener('connectionstatechange', () => {\n const e = new Event('statechange');\n this.dispatchEvent(e);\n 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":["RTCIceTransport"],"mappings":";;;;;;;;;;;;;;;;AAAA,IAAA,GAAA,EAAA,aAAA,CAAA;AAIA,MAAqB,yBAAyB,WAAmD,CAAA;AAAA,EAO/F,YAAY,IAAiC,EAAA;AAC3C,IAAM,KAAA,EAAA,CAAA;AAPR,IAAyB,YAAA,CAAA,IAAA,EAAA,GAAA,EAAA,IAAA,CAAA,CAAA;AACzB,IAAgB,YAAA,CAAA,IAAA,EAAA,aAAA,EAAA,IAAA,CAAA,CAAA;AAEhB,IAA8D,aAAA,CAAA,IAAA,EAAA,eAAA,EAAA,IAAA,CAAA,CAAA;AAC9D,IAAwD,aAAA,CAAA,IAAA,EAAA,SAAA,EAAA,IAAA,CAAA,CAAA;AAItD,IAAA,YAAA,CAAA,IAAA,EAAK,KAAM,IAAK,CAAA,EAAA,CAAA,CAAA;AAEhB,IAAK,YAAA,CAAA,IAAA,EAAA,aAAA,EAAgB,IAAIA,uBAAgB,CAAA;AAAA,MACvC,IAAI,IAAK,CAAA,EAAA;AAAA,KACV,CAAA,CAAA,CAAA;AAGD,IAAK,YAAA,CAAA,IAAA,EAAA,GAAA,CAAA,CAAI,gBAAiB,CAAA,uBAAA,EAAyB,MAAM;AACvD,MAAM,MAAA,CAAA,GAAI,IAAI,KAAA,CAAM,aAAa,CAAA,CAAA;AACjC,MAAA,IAAA,CAAK,cAAc,CAAC,CAAA,CAAA;AACpB,MAAA,IAAA,CAAK,gBAAgB,CAAC,CAAA,CAAA;AAAA,KACvB,CAAA,CAAA;AAAA,GACH;AAAA,EAEA,IAAI,YAA2C,GAAA;AAC7C,IAAA,OAAO,YAAK,CAAA,IAAA,EAAA,aAAA,CAAA,CAAA;AAAA,GACd;AAAA,EAEA,IAAI,KAA0C,GAAA;AAG5C,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;AAC5B,MAAQ,KAAA,GAAA,QAAA,CAAA;AAAA,KACV;AACA,IAAO,OAAA,KAAA,CAAA;AAAA,GACT;AAAA,EAEA,qBAAuC,GAAA;AAErC,IAAA,OAAO,CAAC,IAAI,WAAY,CAAA,CAAC,CAAC,CAAA,CAAA;AAAA,GAC5B;AACF,CAAA;AAxCE,GAAA,GAAA,IAAA,OAAA,EAAA,CAAA;AACA,aAAA,GAAA,IAAA,OAAA,EAAA;;;;"}
|
|
@@ -9,7 +9,7 @@ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot
|
|
|
9
9
|
var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
10
10
|
var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
11
11
|
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), member.set(obj, value), value);
|
|
12
|
-
var _errorDetail, _receivedAlert, _sctpCauseCode, _sdpLineNumber, _sentAlert;
|
|
12
|
+
var _errorDetail, _receivedAlert, _sctpCauseCode, _sdpLineNumber, _sentAlert, _httpRequestStatusCode;
|
|
13
13
|
class RTCError extends DOMException {
|
|
14
14
|
constructor(init, message) {
|
|
15
15
|
super(message, "OperationError");
|
|
@@ -18,7 +18,9 @@ class RTCError extends DOMException {
|
|
|
18
18
|
__privateAdd(this, _sctpCauseCode);
|
|
19
19
|
__privateAdd(this, _sdpLineNumber);
|
|
20
20
|
__privateAdd(this, _sentAlert);
|
|
21
|
-
|
|
21
|
+
__privateAdd(this, _httpRequestStatusCode);
|
|
22
|
+
if (!init || !init.errorDetail)
|
|
23
|
+
throw new TypeError("Cannot construct RTCError, errorDetail is required");
|
|
22
24
|
if ([
|
|
23
25
|
"data-channel-failure",
|
|
24
26
|
"dtls-failure",
|
|
@@ -34,6 +36,7 @@ class RTCError extends DOMException {
|
|
|
34
36
|
__privateSet(this, _sctpCauseCode, init.sctpCauseCode ?? null);
|
|
35
37
|
__privateSet(this, _sdpLineNumber, init.sdpLineNumber ?? null);
|
|
36
38
|
__privateSet(this, _sentAlert, init.sentAlert ?? null);
|
|
39
|
+
__privateSet(this, _httpRequestStatusCode, init.httpRequestStatusCode ?? null);
|
|
37
40
|
}
|
|
38
41
|
get errorDetail() {
|
|
39
42
|
return __privateGet(this, _errorDetail);
|
|
@@ -53,6 +56,9 @@ class RTCError extends DOMException {
|
|
|
53
56
|
set sctpCauseCode(_value) {
|
|
54
57
|
throw new TypeError("Cannot set sctpCauseCode, it is read-only");
|
|
55
58
|
}
|
|
59
|
+
get httpRequestStatusCode() {
|
|
60
|
+
return __privateGet(this, _httpRequestStatusCode);
|
|
61
|
+
}
|
|
56
62
|
get sdpLineNumber() {
|
|
57
63
|
return __privateGet(this, _sdpLineNumber);
|
|
58
64
|
}
|
|
@@ -71,6 +77,7 @@ _receivedAlert = new WeakMap();
|
|
|
71
77
|
_sctpCauseCode = new WeakMap();
|
|
72
78
|
_sdpLineNumber = new WeakMap();
|
|
73
79
|
_sentAlert = new WeakMap();
|
|
80
|
+
_httpRequestStatusCode = new WeakMap();
|
|
74
81
|
|
|
75
82
|
exports.default = RTCError;
|
|
76
83
|
//# sourceMappingURL=RTCError.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RTCError.cjs","sources":["../../../src/polyfill/RTCError.ts"],"sourcesContent":["export default class RTCError extends DOMException implements globalThis.RTCError {\n
|
|
1
|
+
{"version":3,"file":"RTCError.cjs","sources":["../../../src/polyfill/RTCError.ts"],"sourcesContent":["export default class RTCError extends DOMException implements globalThis.RTCError {\n #errorDetail: globalThis.RTCErrorDetailType;\n #receivedAlert: number | null;\n #sctpCauseCode: number | null;\n #sdpLineNumber: number | null;\n #sentAlert: number | null;\n #httpRequestStatusCode: number | null;\n\n constructor(init: globalThis.RTCErrorInit, message?: string) {\n super(message, 'OperationError');\n\n if (!init || !init.errorDetail)\n throw new TypeError('Cannot construct RTCError, errorDetail is required');\n if (\n [\n 'data-channel-failure',\n 'dtls-failure',\n 'fingerprint-failure',\n 'hardware-encoder-error',\n 'hardware-encoder-not-available',\n 'sctp-failure',\n 'sdp-syntax-error',\n ].indexOf(init.errorDetail) === -1\n )\n throw new TypeError('Cannot construct RTCError, errorDetail is invalid');\n\n this.#errorDetail = init.errorDetail;\n this.#receivedAlert = init.receivedAlert ?? null;\n this.#sctpCauseCode = init.sctpCauseCode ?? null;\n this.#sdpLineNumber = init.sdpLineNumber ?? null;\n this.#sentAlert = init.sentAlert ?? null;\n this.#httpRequestStatusCode = init.httpRequestStatusCode ?? null;\n }\n\n get errorDetail(): globalThis.RTCErrorDetailType {\n return this.#errorDetail;\n }\n\n set errorDetail(_value) {\n throw new TypeError('Cannot set errorDetail, it is read-only');\n }\n\n get receivedAlert(): number | null {\n return this.#receivedAlert;\n }\n\n set receivedAlert(_value) {\n throw new TypeError('Cannot set receivedAlert, it is read-only');\n }\n\n get sctpCauseCode(): number | null {\n return this.#sctpCauseCode;\n }\n\n set sctpCauseCode(_value) {\n throw new TypeError('Cannot set sctpCauseCode, it is read-only');\n }\n\n get httpRequestStatusCode(): number | null {\n return this.#httpRequestStatusCode;\n }\n\n get sdpLineNumber(): number | null {\n return this.#sdpLineNumber;\n }\n\n set sdpLineNumber(_value) {\n throw new TypeError('Cannot set sdpLineNumber, it is read-only');\n }\n\n get sentAlert(): number | null {\n return this.#sentAlert;\n }\n\n set sentAlert(_value) {\n throw new TypeError('Cannot set sentAlert, it is read-only');\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,12 @@ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot
|
|
|
11
11
|
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), member.set(obj, value), value);
|
|
12
12
|
var _address, _candidate, _component, _foundation, _port, _priority, _protocol, _relatedAddress, _relatedPort, _sdpMLineIndex, _sdpMid, _tcpType, _type, _usernameFragment;
|
|
13
13
|
class RTCIceCandidate {
|
|
14
|
-
constructor({
|
|
14
|
+
constructor({
|
|
15
|
+
candidate,
|
|
16
|
+
sdpMLineIndex,
|
|
17
|
+
sdpMid,
|
|
18
|
+
usernameFragment
|
|
19
|
+
}) {
|
|
15
20
|
__privateAdd(this, _address);
|
|
16
21
|
__privateAdd(this, _candidate);
|
|
17
22
|
__privateAdd(this, _component);
|
|
@@ -58,7 +63,7 @@ class RTCIceCandidate {
|
|
|
58
63
|
}
|
|
59
64
|
}
|
|
60
65
|
get address() {
|
|
61
|
-
return __privateGet(this, _address)
|
|
66
|
+
return __privateGet(this, _address) ?? null;
|
|
62
67
|
}
|
|
63
68
|
get candidate() {
|
|
64
69
|
return __privateGet(this, _candidate);
|
|
@@ -67,22 +72,22 @@ class RTCIceCandidate {
|
|
|
67
72
|
return __privateGet(this, _component);
|
|
68
73
|
}
|
|
69
74
|
get foundation() {
|
|
70
|
-
return __privateGet(this, _foundation)
|
|
75
|
+
return __privateGet(this, _foundation) ?? null;
|
|
71
76
|
}
|
|
72
77
|
get port() {
|
|
73
|
-
return __privateGet(this, _port)
|
|
78
|
+
return __privateGet(this, _port) ?? null;
|
|
74
79
|
}
|
|
75
80
|
get priority() {
|
|
76
|
-
return __privateGet(this, _priority)
|
|
81
|
+
return __privateGet(this, _priority) ?? null;
|
|
77
82
|
}
|
|
78
83
|
get protocol() {
|
|
79
|
-
return __privateGet(this, _protocol)
|
|
84
|
+
return __privateGet(this, _protocol) ?? null;
|
|
80
85
|
}
|
|
81
86
|
get relatedAddress() {
|
|
82
87
|
return __privateGet(this, _relatedAddress);
|
|
83
88
|
}
|
|
84
89
|
get relatedPort() {
|
|
85
|
-
return __privateGet(this, _relatedPort)
|
|
90
|
+
return __privateGet(this, _relatedPort) ?? null;
|
|
86
91
|
}
|
|
87
92
|
get sdpMLineIndex() {
|
|
88
93
|
return __privateGet(this, _sdpMLineIndex);
|
|
@@ -94,7 +99,7 @@ class RTCIceCandidate {
|
|
|
94
99
|
return __privateGet(this, _tcpType);
|
|
95
100
|
}
|
|
96
101
|
get type() {
|
|
97
|
-
return __privateGet(this, _type)
|
|
102
|
+
return __privateGet(this, _type) ?? null;
|
|
98
103
|
}
|
|
99
104
|
get usernameFragment() {
|
|
100
105
|
return __privateGet(this, _usernameFragment);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RTCIceCandidate.cjs","sources":["../../../src/polyfill/RTCIceCandidate.ts"],"sourcesContent":["// https://developer.mozilla.org/docs/Web/API/RTCIceCandidate\n//\n// Example: candidate:123456 1 UDP 123456 192.168.1.1 12345 typ host raddr=10.0.0.1 rport=54321 generation 0\n\
|
|
1
|
+
{"version":3,"file":"RTCIceCandidate.cjs","sources":["../../../src/polyfill/RTCIceCandidate.ts"],"sourcesContent":["// https://developer.mozilla.org/docs/Web/API/RTCIceCandidate\n//\n// Example: candidate:123456 1 UDP 123456 192.168.1.1 12345 typ host raddr=10.0.0.1 rport=54321 generation 0\n\nexport default class RTCIceCandidate implements globalThis.RTCIceCandidate {\n #address: string | null;\n #candidate: string;\n #component: globalThis.RTCIceComponent | null;\n #foundation: string | null;\n #port: number | null;\n #priority: number | null;\n #protocol: globalThis.RTCIceProtocol | null;\n #relatedAddress: string | null;\n #relatedPort: number | null;\n #sdpMLineIndex: number | null;\n #sdpMid: string | null;\n #tcpType: globalThis.RTCIceTcpCandidateType | null;\n #type: globalThis.RTCIceCandidateType | null;\n #usernameFragment: string | null;\n\n constructor({\n candidate,\n sdpMLineIndex,\n sdpMid,\n usernameFragment,\n }: globalThis.RTCIceCandidateInit) {\n if (sdpMLineIndex == null && sdpMid == null)\n throw new TypeError('At least one of sdpMLineIndex or sdpMid must be specified');\n\n this.#candidate = candidate === null ? 'null' : (candidate ?? '');\n this.#sdpMLineIndex = sdpMLineIndex ?? null;\n this.#sdpMid = sdpMid ?? null;\n this.#usernameFragment = usernameFragment ?? null;\n\n if (candidate) {\n const fields = candidate.split(' ');\n this.#foundation = fields[0]!.replace('candidate:', ''); // remove text candidate:\n this.#component = fields[1] == '1' ? 'rtp' : 'rtcp';\n this.#protocol = fields[2] as globalThis.RTCIceProtocol;\n this.#priority = parseInt(fields[3], 10);\n this.#address = fields[4];\n this.#port = parseInt(fields[5], 10);\n this.#type = fields[7] as globalThis.RTCIceCandidateType;\n this.#tcpType = null;\n this.#relatedAddress = null;\n this.#relatedPort = null;\n\n // Parse the candidate string to extract relatedPort and relatedAddress\n for (let i = 8; i < fields.length; i++) {\n const field = fields[i];\n if (field === 'raddr') {\n this.#relatedAddress = fields[i + 1];\n } else if (field === 'rport') {\n this.#relatedPort = parseInt(fields[i + 1], 10);\n }\n\n if (this.#protocol === 'tcp' && field === 'tcptype') {\n this.#tcpType = fields[i + 1] as globalThis.RTCIceTcpCandidateType;\n }\n }\n }\n }\n\n get address(): string | null {\n return this.#address ?? null;\n }\n\n get candidate(): string {\n return this.#candidate;\n }\n\n get component(): globalThis.RTCIceComponent | null {\n return this.#component;\n }\n\n get foundation(): string | null {\n return this.#foundation ?? null;\n }\n\n get port(): number | null {\n return this.#port ?? null;\n }\n\n get priority(): number | null {\n return this.#priority ?? null;\n }\n\n get protocol(): globalThis.RTCIceProtocol | null {\n return this.#protocol ?? null;\n }\n\n get relatedAddress(): string | null {\n return this.#relatedAddress;\n }\n\n get relatedPort(): number | null {\n return this.#relatedPort ?? null;\n }\n\n get sdpMLineIndex(): number | null {\n return this.#sdpMLineIndex;\n }\n\n get sdpMid(): string | null {\n return this.#sdpMid;\n }\n\n get tcpType(): globalThis.RTCIceTcpCandidateType | null {\n return this.#tcpType;\n }\n\n get type(): globalThis.RTCIceCandidateType | null {\n return this.#type ?? null;\n }\n\n get usernameFragment(): string | null {\n return this.#usernameFragment;\n }\n\n toJSON(): globalThis.RTCIceCandidateInit {\n return {\n candidate: this.#candidate,\n sdpMLineIndex: this.#sdpMLineIndex,\n sdpMid: this.#sdpMid,\n usernameFragment: this.#usernameFragment,\n };\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -14,33 +14,29 @@ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot
|
|
|
14
14
|
var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
15
15
|
var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
16
16
|
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), member.set(obj, value), value);
|
|
17
|
-
var _pc
|
|
17
|
+
var _pc;
|
|
18
18
|
class RTCIceTransport extends EventTarget {
|
|
19
19
|
constructor(init) {
|
|
20
20
|
super();
|
|
21
21
|
__privateAdd(this, _pc, null);
|
|
22
|
-
__privateAdd(this, _extraFunctions, null);
|
|
23
22
|
__publicField(this, "ongatheringstatechange", null);
|
|
24
23
|
__publicField(this, "onselectedcandidatepairchange", null);
|
|
25
24
|
__publicField(this, "onstatechange", null);
|
|
26
25
|
__privateSet(this, _pc, init.pc);
|
|
27
|
-
__privateSet(this, _extraFunctions, init.extraFunctions);
|
|
28
26
|
__privateGet(this, _pc).addEventListener("icegatheringstatechange", () => {
|
|
29
|
-
|
|
27
|
+
const e = new Event("gatheringstatechange");
|
|
28
|
+
this.dispatchEvent(e);
|
|
29
|
+
this.ongatheringstatechange?.(e);
|
|
30
30
|
});
|
|
31
31
|
__privateGet(this, _pc).addEventListener("iceconnectionstatechange", () => {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
if (this.ongatheringstatechange) this.ongatheringstatechange(e);
|
|
36
|
-
});
|
|
37
|
-
this.addEventListener("statechange", (e) => {
|
|
38
|
-
if (this.onstatechange) this.onstatechange(e);
|
|
32
|
+
const e = new Event("statechange");
|
|
33
|
+
this.dispatchEvent(e);
|
|
34
|
+
this.onstatechange?.(e);
|
|
39
35
|
});
|
|
40
36
|
}
|
|
41
37
|
get component() {
|
|
42
38
|
const cp = this.getSelectedCandidatePair();
|
|
43
|
-
if (!cp) return null;
|
|
39
|
+
if (!cp?.local) return null;
|
|
44
40
|
return cp.local.component;
|
|
45
41
|
}
|
|
46
42
|
get gatheringState() {
|
|
@@ -53,17 +49,23 @@ class RTCIceTransport extends EventTarget {
|
|
|
53
49
|
return __privateGet(this, _pc) ? __privateGet(this, _pc).iceConnectionState : "new";
|
|
54
50
|
}
|
|
55
51
|
getLocalCandidates() {
|
|
56
|
-
return __privateGet(this, _pc)
|
|
52
|
+
return __privateGet(this, _pc)?.ext_localCandidates ?? [];
|
|
57
53
|
}
|
|
58
54
|
getLocalParameters() {
|
|
55
|
+
return new RTCIceParameters(
|
|
56
|
+
new RTCIceCandidate.default({
|
|
57
|
+
candidate: __privateGet(this, _pc).selectedCandidatePair().local.candidate,
|
|
58
|
+
sdpMLineIndex: 0
|
|
59
|
+
})
|
|
60
|
+
);
|
|
59
61
|
}
|
|
60
62
|
getRemoteCandidates() {
|
|
61
|
-
return __privateGet(this, _pc)
|
|
63
|
+
return __privateGet(this, _pc)?.ext_remoteCandidates ?? [];
|
|
62
64
|
}
|
|
63
65
|
getRemoteParameters() {
|
|
64
66
|
}
|
|
65
67
|
getSelectedCandidatePair() {
|
|
66
|
-
const cp = __privateGet(this,
|
|
68
|
+
const cp = __privateGet(this, _pc)?.selectedCandidatePair();
|
|
67
69
|
if (!cp) return null;
|
|
68
70
|
return {
|
|
69
71
|
local: new RTCIceCandidate.default({
|
|
@@ -78,7 +80,15 @@ class RTCIceTransport extends EventTarget {
|
|
|
78
80
|
}
|
|
79
81
|
}
|
|
80
82
|
_pc = new WeakMap();
|
|
81
|
-
|
|
83
|
+
class RTCIceParameters {
|
|
84
|
+
constructor({ usernameFragment, password = "" }) {
|
|
85
|
+
__publicField(this, "usernameFragment", "");
|
|
86
|
+
__publicField(this, "password", "");
|
|
87
|
+
this.usernameFragment = usernameFragment;
|
|
88
|
+
this.password = password;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
82
91
|
|
|
92
|
+
exports.RTCIceParameters = RTCIceParameters;
|
|
83
93
|
exports.default = RTCIceTransport;
|
|
84
94
|
//# sourceMappingURL=RTCIceTransport.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RTCIceTransport.cjs","sources":["../../../src/polyfill/RTCIceTransport.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport RTCIceCandidate from './RTCIceCandidate';\nimport RTCPeerConnection from './RTCPeerConnection';\n\nexport default class RTCIceTransport extends EventTarget implements globalThis.RTCIceTransport {\n
|
|
1
|
+
{"version":3,"file":"RTCIceTransport.cjs","sources":["../../../src/polyfill/RTCIceTransport.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport RTCIceCandidate from './RTCIceCandidate';\nimport RTCPeerConnection from './RTCPeerConnection';\n\nexport default class RTCIceTransport extends EventTarget implements globalThis.RTCIceTransport {\n #pc: RTCPeerConnection = null;\n\n ongatheringstatechange: globalThis.RTCIceTransport['ongatheringstatechange'] = null;\n onselectedcandidatepairchange: globalThis.RTCIceTransport['onselectedcandidatepairchange'] = null;\n onstatechange: globalThis.RTCIceTransport['onstatechange'] = null;\n\n constructor(init: { pc: RTCPeerConnection }) {\n super();\n this.#pc = init.pc;\n\n this.#pc.addEventListener('icegatheringstatechange', () => {\n const e = new Event('gatheringstatechange');\n this.dispatchEvent(e);\n this.ongatheringstatechange?.(e);\n });\n this.#pc.addEventListener('iceconnectionstatechange', () => {\n const e = new Event('statechange');\n this.dispatchEvent(e);\n this.onstatechange?.(e);\n });\n }\n\n get component(): globalThis.RTCIceComponent {\n const cp = this.getSelectedCandidatePair();\n if (!cp?.local) return null;\n return cp.local.component;\n }\n\n get gatheringState(): globalThis.RTCIceGatheringState {\n return this.#pc ? this.#pc.iceGatheringState : 'new';\n }\n\n get role(): globalThis.RTCIceRole {\n return this.#pc.localDescription!.type == 'offer' ? 'controlling' : 'controlled';\n }\n\n get state(): globalThis.RTCIceTransportState {\n return this.#pc ? this.#pc.iceConnectionState : 'new';\n }\n\n getLocalCandidates(): globalThis.RTCIceCandidate[] {\n return this.#pc?.ext_localCandidates ?? [];\n }\n\n getLocalParameters(): RTCIceParameters | null {\n return new RTCIceParameters(\n new RTCIceCandidate({\n candidate: this.#pc.selectedCandidatePair()!.local.candidate,\n sdpMLineIndex: 0,\n }),\n );\n }\n\n getRemoteCandidates(): globalThis.RTCIceCandidate[] {\n return this.#pc?.ext_remoteCandidates ?? [];\n }\n\n getRemoteParameters(): any {\n /** */\n }\n\n getSelectedCandidatePair(): globalThis.RTCIceCandidatePair | null {\n const cp = this.#pc?.selectedCandidatePair();\n if (!cp) return null;\n return {\n local: new RTCIceCandidate({\n candidate: cp.local.candidate,\n sdpMid: cp.local.mid,\n }),\n remote: new RTCIceCandidate({\n candidate: cp.remote.candidate,\n sdpMid: cp.remote.mid,\n }),\n };\n }\n}\n\nexport class RTCIceParameters implements globalThis.RTCIceParameters {\n usernameFragment = '';\n password = '';\n constructor({ usernameFragment, password = '' }) {\n this.usernameFragment = usernameFragment;\n this.password = password;\n }\n}\n"],"names":["RTCIceCandidate"],"mappings":"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"}
|