Skip to content

Commit 8f14e95

Browse files
MiloszFilimowskiwuxinfeidependabot[bot]
authored
Merge upstream (#28)
* refactor: update event-target-shim imports to remove '/index' The '/index' suffix in the imports is unnecessary as the package resolves correctly without it. This change simplifies the import statements across multiple files. * refactor: replace defineEventAttribute with getter/setter methods for event attributes Updated MediaDevices, MediaStream, MediaStreamTrack, RTCDataChannel, and RTCPeerConnection classes to use getter and setter methods for event attributes instead of the defineEventAttribute function. This change enhances code readability and maintainability. * refactor: update event-target-shim imports to use local vendor path * chore: remove event-target-shim dependency from package-lock.json * chore: ignore src/vendor in eslint * style: make eslint happy * build(deps-dev): bump flatted from 3.2.7 to 3.4.2 Bumps [flatted](https://github.com/WebReflection/flatted) from 3.2.7 to 3.4.2. - [Commits](WebReflection/flatted@v3.2.7...v3.4.2) --- updated-dependencies: - dependency-name: flatted dependency-version: 3.4.2 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> * build(deps-dev): bump picomatch from 2.3.1 to 2.3.2 Bumps [picomatch](https://github.com/micromatch/picomatch) from 2.3.1 to 2.3.2. - [Release notes](https://github.com/micromatch/picomatch/releases) - [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md) - [Commits](micromatch/picomatch@2.3.1...2.3.2) --- updated-dependencies: - dependency-name: picomatch dependency-version: 2.3.2 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> * fix formatting --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: wuxinfei <wuxinfei@bytedance.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 parent 1ac76ea commit 8f14e95

17 files changed

Lines changed: 1945 additions & 96 deletions

.eslintignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
examples
22
lib
3+
src/vendor
34
tools
45

56
metro.*.js

package-lock.json

Lines changed: 1 addition & 14 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,7 @@
2121
"module": "lib/module/index.js",
2222
"dependencies": {
2323
"base64-js": "1.5.1",
24-
"debug": "4.3.4",
25-
"event-target-shim": "6.0.2"
24+
"debug": "4.3.4"
2625
},
2726
"peerDependencies": {
2827
"react-native": "*"

src/MediaDevices.ts

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
1-
import {
2-
EventTarget,
3-
Event,
4-
defineEventAttribute,
5-
} from 'event-target-shim/index';
61
import { NativeModules } from 'react-native';
72

83
import getDisplayMedia from './getDisplayMedia';
94
import getUserMedia, { Constraints } from './getUserMedia';
5+
import {
6+
Event,
7+
EventTarget,
8+
getEventAttributeValue,
9+
setEventAttributeValue,
10+
} from './vendor/event-target-shim';
1011

1112
const { WebRTCModule } = NativeModules;
1213

@@ -15,6 +16,14 @@ type MediaDevicesEventMap = {
1516
};
1617

1718
class MediaDevices extends EventTarget<MediaDevicesEventMap> {
19+
get ondevicechange() {
20+
return getEventAttributeValue(this, 'devicechange');
21+
}
22+
23+
set ondevicechange(value) {
24+
setEventAttributeValue(this, 'devicechange', value);
25+
}
26+
1827
/**
1928
* W3C "Media Capture and Streams" compatible {@code enumerateDevices}
2029
* implementation.
@@ -46,11 +55,4 @@ class MediaDevices extends EventTarget<MediaDevicesEventMap> {
4655
}
4756
}
4857

49-
/**
50-
* Define the `onxxx` event handlers.
51-
*/
52-
const proto = MediaDevices.prototype;
53-
54-
defineEventAttribute(proto, 'devicechange');
55-
5658
export default new MediaDevices();

src/MediaStream.ts

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
1-
import { EventTarget, defineEventAttribute } from 'event-target-shim/index';
21
import { NativeModules } from 'react-native';
32

43
import MediaStreamTrack, { MediaStreamTrackInfo } from './MediaStreamTrack';
54
import MediaStreamTrackEvent from './MediaStreamTrackEvent';
65
import { uniqueID } from './RTCUtil';
6+
import {
7+
EventTarget,
8+
getEventAttributeValue,
9+
setEventAttributeValue,
10+
} from './vendor/event-target-shim';
711

812
const { WebRTCModule } = NativeModules;
913

@@ -91,6 +95,22 @@ export default class MediaStream extends EventTarget<MediaStreamEventMap> {
9195
}
9296
}
9397

98+
get onaddtrack() {
99+
return getEventAttributeValue(this, 'addtrack');
100+
}
101+
102+
set onaddtrack(value) {
103+
setEventAttributeValue(this, 'addtrack', value);
104+
}
105+
106+
get onremovetrack() {
107+
return getEventAttributeValue(this, 'removetrack');
108+
}
109+
110+
set onremovetrack(value) {
111+
setEventAttributeValue(this, 'removetrack', value);
112+
}
113+
94114
get id(): string {
95115
return this._id;
96116
}
@@ -169,11 +189,3 @@ export default class MediaStream extends EventTarget<MediaStreamEventMap> {
169189
WebRTCModule.mediaStreamRelease(this._reactTag);
170190
}
171191
}
172-
173-
/**
174-
* Define the `onxxx` event handlers.
175-
*/
176-
const proto = MediaStream.prototype;
177-
178-
defineEventAttribute(proto, 'addtrack');
179-
defineEventAttribute(proto, 'removetrack');

src/MediaStreamTrack.ts

Lines changed: 30 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
1-
import {
2-
EventTarget,
3-
Event,
4-
defineEventAttribute,
5-
} from 'event-target-shim/index';
61
import { NativeModules } from 'react-native';
72

83
import { MediaTrackConstraints } from './Constraints';
94
import { addListener, removeListener } from './EventEmitter';
105
import Logger from './Logger';
116
import { deepClone, normalizeConstraints } from './RTCUtil';
7+
import {
8+
Event,
9+
EventTarget,
10+
getEventAttributeValue,
11+
setEventAttributeValue,
12+
} from './vendor/event-target-shim';
1213

1314
const log = new Logger('pc');
1415
const { WebRTCModule } = NativeModules;
@@ -73,6 +74,30 @@ export default class MediaStreamTrack extends EventTarget<MediaStreamTrackEventM
7374
}
7475
}
7576

77+
get onended() {
78+
return getEventAttributeValue(this, 'ended');
79+
}
80+
81+
set onended(value) {
82+
setEventAttributeValue(this, 'ended', value);
83+
}
84+
85+
get onmute() {
86+
return getEventAttributeValue(this, 'mute');
87+
}
88+
89+
set onmute(value) {
90+
setEventAttributeValue(this, 'mute', value);
91+
}
92+
93+
get onunmute() {
94+
return getEventAttributeValue(this, 'unmute');
95+
}
96+
97+
set onunmute(value) {
98+
setEventAttributeValue(this, 'unmute', value);
99+
}
100+
76101
get enabled(): boolean {
77102
return this._enabled;
78103
}
@@ -245,12 +270,3 @@ export default class MediaStreamTrack extends EventTarget<MediaStreamTrackEventM
245270
WebRTCModule.mediaStreamTrackRelease(this.id);
246271
}
247272
}
248-
249-
/**
250-
* Define the `onxxx` event handlers.
251-
*/
252-
const proto = MediaStreamTrack.prototype;
253-
254-
defineEventAttribute(proto, 'ended');
255-
defineEventAttribute(proto, 'mute');
256-
defineEventAttribute(proto, 'unmute');

src/MediaStreamTrackEvent.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
import { Event } from 'event-target-shim/index';
2-
31
import type MediaStreamTrack from './MediaStreamTrack';
2+
import { Event } from './vendor/event-target-shim';
43

54
type MEDIA_STREAM_EVENTS = 'addtrack' | 'removetrack';
65

src/MessageEvent.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Event } from 'event-target-shim/index';
1+
import { Event } from './vendor/event-target-shim';
22

33
export type MessageEventData = string | ArrayBuffer | Blob;
44

src/RTCDataChannel.ts

Lines changed: 53 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
11
import * as base64 from 'base64-js';
2-
import { EventTarget, defineEventAttribute } from 'event-target-shim/index';
32
import { NativeModules } from 'react-native';
43

54
import { addListener, removeListener } from './EventEmitter';
65
import MessageEvent from './MessageEvent';
76
import RTCDataChannelEvent from './RTCDataChannelEvent';
7+
import {
8+
EventTarget,
9+
getEventAttributeValue,
10+
setEventAttributeValue,
11+
} from './vendor/event-target-shim';
812

913
const { WebRTCModule } = NativeModules;
1014

@@ -22,7 +26,6 @@ type DataChannelEventMap = {
2226
export default class RTCDataChannel extends EventTarget<DataChannelEventMap> {
2327
_peerConnectionId: number;
2428
_reactTag: string;
25-
2629
_bufferedAmount: number;
2730
_id: number;
2831
_label: string;
@@ -55,6 +58,54 @@ export default class RTCDataChannel extends EventTarget<DataChannelEventMap> {
5558
this._registerEvents();
5659
}
5760

61+
get onbufferedamountlow() {
62+
return getEventAttributeValue(this, 'bufferedamountlow');
63+
}
64+
65+
set onbufferedamountlow(value) {
66+
setEventAttributeValue(this, 'bufferedamountlow', value);
67+
}
68+
69+
get onclose() {
70+
return getEventAttributeValue(this, 'close');
71+
}
72+
73+
set onclose(value) {
74+
setEventAttributeValue(this, 'close', value);
75+
}
76+
77+
get onclosing() {
78+
return getEventAttributeValue(this, 'closing');
79+
}
80+
81+
set onclosing(value) {
82+
setEventAttributeValue(this, 'closing', value);
83+
}
84+
85+
get onerror() {
86+
return getEventAttributeValue(this, 'error');
87+
}
88+
89+
set onerror(value) {
90+
setEventAttributeValue(this, 'error', value);
91+
}
92+
93+
get onmessage() {
94+
return getEventAttributeValue(this, 'message');
95+
}
96+
97+
set onmessage(value) {
98+
setEventAttributeValue(this, 'message', value);
99+
}
100+
101+
get onopen() {
102+
return getEventAttributeValue(this, 'open');
103+
}
104+
105+
set onopen(value) {
106+
setEventAttributeValue(this, 'open', value);
107+
}
108+
58109
get bufferedAmount(): number {
59110
return this._bufferedAmount;
60111
}
@@ -205,15 +256,3 @@ export default class RTCDataChannel extends EventTarget<DataChannelEventMap> {
205256
});
206257
}
207258
}
208-
209-
/**
210-
* Define the `onxxx` event handlers.
211-
*/
212-
const proto = RTCDataChannel.prototype;
213-
214-
defineEventAttribute(proto, 'bufferedamountlow');
215-
defineEventAttribute(proto, 'close');
216-
defineEventAttribute(proto, 'closing');
217-
defineEventAttribute(proto, 'error');
218-
defineEventAttribute(proto, 'message');
219-
defineEventAttribute(proto, 'open');

src/RTCDataChannelEvent.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
import { Event } from 'event-target-shim/index';
2-
31
import type RTCDataChannel from './RTCDataChannel';
2+
import { Event } from './vendor/event-target-shim';
43

54
type DATA_CHANNEL_EVENTS =
65
| 'open'

0 commit comments

Comments
 (0)