Skip to content

Commit bd054eb

Browse files
authored
feat: remove event-target-shim dependency (#330)
Fixes #223
1 parent fc421e7 commit bd054eb

File tree

4 files changed

+53
-24
lines changed

4 files changed

+53
-24
lines changed

package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,6 @@
5757
"@livekit/mutex": "^1.1.1",
5858
"array.prototype.at": "^1.1.1",
5959
"base64-js": "1.5.1",
60-
"event-target-shim": "6.0.2",
6160
"events": "^3.3.0",
6261
"loglevel": "^1.8.0",
6362
"promise.allsettled": "^1.0.5",

src/audio/MediaRecorder.ts

Lines changed: 52 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
import type { MediaStream } from '@livekit/react-native-webrtc';
2-
import { addListener } from '../events/EventEmitter';
32
import {
43
EventTarget,
54
Event,
6-
defineEventAttribute,
7-
} from 'event-target-shim/index';
5+
getEventAttributeValue,
6+
setEventAttributeValue,
7+
} from '@livekit/react-native-webrtc';
8+
import { addListener } from '../events/EventEmitter';
89
import { toByteArray } from 'base64-js';
910
import LiveKitModule from '../LKNativeModule';
1011
import { log } from '../logger';
@@ -123,6 +124,54 @@ export class MediaRecorder extends EventTarget<MediaRecorderEventMap> {
123124
new BlobEvent('dataavailable', { data: { byteArray: data } })
124125
);
125126
}
127+
128+
get ondataavailable() {
129+
return getEventAttributeValue(this, 'dataavailable');
130+
}
131+
132+
set ondataavailable(value) {
133+
setEventAttributeValue(this, 'dataavailable', value);
134+
}
135+
136+
get onerror() {
137+
return getEventAttributeValue(this, 'error');
138+
}
139+
140+
set onerror(value) {
141+
setEventAttributeValue(this, 'error', value);
142+
}
143+
144+
get onpause() {
145+
return getEventAttributeValue(this, 'pause');
146+
}
147+
148+
set onpause(value) {
149+
setEventAttributeValue(this, 'pause', value);
150+
}
151+
152+
get onresume() {
153+
return getEventAttributeValue(this, 'resume');
154+
}
155+
156+
set onresume(value) {
157+
setEventAttributeValue(this, 'resume', value);
158+
}
159+
160+
get onstart() {
161+
return getEventAttributeValue(this, 'start');
162+
}
163+
164+
set onstart(value) {
165+
setEventAttributeValue(this, 'start', value);
166+
}
167+
168+
get onstop() {
169+
return getEventAttributeValue(this, 'stop');
170+
}
171+
172+
set onstop(value) {
173+
setEventAttributeValue(this, 'stop', value);
174+
}
126175
}
127176

128177
/**
@@ -144,15 +193,3 @@ class BlobEvent<TEventType extends string> extends Event<TEventType> {
144193
this.data = eventInitDict.data;
145194
}
146195
}
147-
148-
/**
149-
* Define the `onxxx` event handlers.
150-
*/
151-
const proto = MediaRecorder.prototype;
152-
153-
defineEventAttribute(proto, 'dataavailable');
154-
defineEventAttribute(proto, 'error');
155-
defineEventAttribute(proto, 'pause');
156-
defineEventAttribute(proto, 'resume');
157-
defineEventAttribute(proto, 'start');
158-
defineEventAttribute(proto, 'stop');

src/index.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,7 @@ export * from './useParticipant'; // deprecated
161161
export * from './useRoom'; // deprecated
162162
export * from './logger';
163163
export * from './audio/AudioManager';
164+
export * from './audio/MediaRecorder';
164165

165166
export {
166167
AudioSession,

yarn.lock

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3342,7 +3342,6 @@ __metadata:
33423342
eslint: ^9.35.0
33433343
eslint-config-prettier: ^10.1.8
33443344
eslint-plugin-prettier: ^5.5.4
3345-
event-target-shim: 6.0.2
33463345
events: ^3.3.0
33473346
jest: ^29.7.0
33483347
livekit-client: ^2.15.8
@@ -7286,13 +7285,6 @@ __metadata:
72867285
languageName: node
72877286
linkType: hard
72887287

7289-
"event-target-shim@npm:6.0.2":
7290-
version: 6.0.2
7291-
resolution: "event-target-shim@npm:6.0.2"
7292-
checksum: 9be93437e5b84056a7dc70af8b8962f4ef7f6fd41a988efcd39dfa2853e33242a4058e0dac9cc589cb16ed7409010590ac8cbcc2e3f823100cd337e13be953a0
7293-
languageName: node
7294-
linkType: hard
7295-
72967288
"event-target-shim@npm:^5.0.0":
72977289
version: 5.0.1
72987290
resolution: "event-target-shim@npm:5.0.1"

0 commit comments

Comments
 (0)