@streamyy/client 0.1.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/README.md +40 -0
- package/dist/.tsbuildinfo +1 -0
- package/dist/client.d.ts +26 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +98 -0
- package/dist/client.js.map +1 -0
- package/dist/components/CallControls.d.ts +9 -0
- package/dist/components/CallControls.d.ts.map +1 -0
- package/dist/components/CallControls.js +31 -0
- package/dist/components/CallControls.js.map +1 -0
- package/dist/components/IncomingCallCard.d.ts +8 -0
- package/dist/components/IncomingCallCard.d.ts.map +1 -0
- package/dist/components/IncomingCallCard.js +27 -0
- package/dist/components/IncomingCallCard.js.map +1 -0
- package/dist/components/StreammyCallWidget.d.ts +10 -0
- package/dist/components/StreammyCallWidget.d.ts.map +1 -0
- package/dist/components/StreammyCallWidget.js +139 -0
- package/dist/components/StreammyCallWidget.js.map +1 -0
- package/dist/components/VideoStage.d.ts +11 -0
- package/dist/components/VideoStage.d.ts.map +1 -0
- package/dist/components/VideoStage.js +58 -0
- package/dist/components/VideoStage.js.map +1 -0
- package/dist/components/VideoTile.d.ts +11 -0
- package/dist/components/VideoTile.d.ts.map +1 -0
- package/dist/components/VideoTile.js +29 -0
- package/dist/components/VideoTile.js.map +1 -0
- package/dist/hooks/useRingtone.d.ts +15 -0
- package/dist/hooks/useRingtone.d.ts.map +1 -0
- package/dist/hooks/useRingtone.js +99 -0
- package/dist/hooks/useRingtone.js.map +1 -0
- package/dist/hooks/useStreammy.d.ts +23 -0
- package/dist/hooks/useStreammy.d.ts.map +1 -0
- package/dist/hooks/useStreammy.js +183 -0
- package/dist/hooks/useStreammy.js.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -0
- package/dist/types.d.ts +105 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/webrtc/media.d.ts +7 -0
- package/dist/webrtc/media.d.ts.map +1 -0
- package/dist/webrtc/media.js +15 -0
- package/dist/webrtc/media.js.map +1 -0
- package/dist/webrtc/peer-session.d.ts +19 -0
- package/dist/webrtc/peer-session.d.ts.map +1 -0
- package/dist/webrtc/peer-session.js +38 -0
- package/dist/webrtc/peer-session.js.map +1 -0
- package/package.json +39 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../../src/webrtc/media.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,OAAO,GAAG,qBAAqB,CAAC;IACxC,KAAK,CAAC,EAAE,OAAO,GAAG,qBAAqB,CAAC;CACzC;AAED,eAAO,MAAM,YAAY,GAAU,SAAS,iBAAiB,KAAG,OAAO,CAAC,WAAW,CAKlF,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,WAAW,GAAG,IAAI,EAC1B,MAAM,OAAO,GAAG,OAAO,EACvB,SAAS,OAAO,KACf,IAQF,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export const getUserMedia = async (options) => {
|
|
2
|
+
return navigator.mediaDevices.getUserMedia({
|
|
3
|
+
audio: options.audio ?? true,
|
|
4
|
+
video: options.video ?? true,
|
|
5
|
+
});
|
|
6
|
+
};
|
|
7
|
+
export const toggleStreamTracks = (stream, kind, enabled) => {
|
|
8
|
+
if (!stream) {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
for (const track of kind === "audio" ? stream.getAudioTracks() : stream.getVideoTracks()) {
|
|
12
|
+
track.enabled = enabled;
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=media.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"media.js","sourceRoot":"","sources":["../../src/webrtc/media.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAAE,OAA0B,EAAwB,EAAE;IACrF,OAAO,SAAS,CAAC,YAAY,CAAC,YAAY,CAAC;QACzC,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,IAAI;QAC5B,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,IAAI;KAC7B,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,MAA0B,EAC1B,IAAuB,EACvB,OAAgB,EACV,EAAE;IACR,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO;IACT,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,CAAC;QACzF,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;IAC1B,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { StreammyClient } from "../client.js";
|
|
2
|
+
export interface PeerSessionOptions {
|
|
3
|
+
client: StreammyClient;
|
|
4
|
+
callId: string;
|
|
5
|
+
remoteUserId: string;
|
|
6
|
+
rtcConfig?: RTCConfiguration;
|
|
7
|
+
}
|
|
8
|
+
export declare class StreammyPeerSession {
|
|
9
|
+
private readonly options;
|
|
10
|
+
readonly connection: RTCPeerConnection;
|
|
11
|
+
constructor(options: PeerSessionOptions);
|
|
12
|
+
attachLocalStream(stream: MediaStream): void;
|
|
13
|
+
createOffer(): Promise<RTCSessionDescriptionInit>;
|
|
14
|
+
createAnswer(): Promise<RTCSessionDescriptionInit>;
|
|
15
|
+
applyRemoteDescription(description: RTCSessionDescriptionInit): Promise<void>;
|
|
16
|
+
addIceCandidate(candidate: RTCIceCandidateInit): Promise<void>;
|
|
17
|
+
close(): void;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=peer-session.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"peer-session.d.ts","sourceRoot":"","sources":["../../src/webrtc/peer-session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,gBAAgB,CAAC;CAC9B;AAED,qBAAa,mBAAmB;IAGX,OAAO,CAAC,QAAQ,CAAC,OAAO;IAF3C,SAAgB,UAAU,EAAE,iBAAiB,CAAC;gBAEV,OAAO,EAAE,kBAAkB;IASxD,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAMtC,WAAW,IAAI,OAAO,CAAC,yBAAyB,CAAC;IAMjD,YAAY,IAAI,OAAO,CAAC,yBAAyB,CAAC;IAMlD,sBAAsB,CAAC,WAAW,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7E,eAAe,CAAC,SAAS,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpE,KAAK,IAAI,IAAI;CAGrB"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export class StreammyPeerSession {
|
|
2
|
+
options;
|
|
3
|
+
connection;
|
|
4
|
+
constructor(options) {
|
|
5
|
+
this.options = options;
|
|
6
|
+
this.connection = new RTCPeerConnection(options.rtcConfig);
|
|
7
|
+
this.connection.onicecandidate = (event) => {
|
|
8
|
+
if (event.candidate) {
|
|
9
|
+
options.client.sendIceCandidate(options.callId, options.remoteUserId, event.candidate.toJSON());
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
attachLocalStream(stream) {
|
|
14
|
+
for (const track of stream.getTracks()) {
|
|
15
|
+
this.connection.addTrack(track, stream);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
async createOffer() {
|
|
19
|
+
const offer = await this.connection.createOffer();
|
|
20
|
+
await this.connection.setLocalDescription(offer);
|
|
21
|
+
return offer;
|
|
22
|
+
}
|
|
23
|
+
async createAnswer() {
|
|
24
|
+
const answer = await this.connection.createAnswer();
|
|
25
|
+
await this.connection.setLocalDescription(answer);
|
|
26
|
+
return answer;
|
|
27
|
+
}
|
|
28
|
+
async applyRemoteDescription(description) {
|
|
29
|
+
await this.connection.setRemoteDescription(description);
|
|
30
|
+
}
|
|
31
|
+
async addIceCandidate(candidate) {
|
|
32
|
+
await this.connection.addIceCandidate(candidate);
|
|
33
|
+
}
|
|
34
|
+
close() {
|
|
35
|
+
this.connection.close();
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=peer-session.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"peer-session.js","sourceRoot":"","sources":["../../src/webrtc/peer-session.ts"],"names":[],"mappings":"AASA,MAAM,OAAO,mBAAmB;IAGM;IAFpB,UAAU,CAAoB;IAE9C,YAAoC,OAA2B;QAA3B,YAAO,GAAP,OAAO,CAAoB;QAC7D,IAAI,CAAC,UAAU,GAAG,IAAI,iBAAiB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC3D,IAAI,CAAC,UAAU,CAAC,cAAc,GAAG,CAAC,KAAK,EAAE,EAAE;YACzC,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;gBACpB,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;YAClG,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAEM,iBAAiB,CAAC,MAAmB;QAC1C,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC;YACvC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,WAAW;QACtB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;QAClD,MAAM,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QACjD,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,KAAK,CAAC,YAAY;QACvB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;QACpD,MAAM,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAClD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,KAAK,CAAC,sBAAsB,CAAC,WAAsC;QACxE,MAAM,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;IAC1D,CAAC;IAEM,KAAK,CAAC,eAAe,CAAC,SAA8B;QACzD,MAAM,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IACnD,CAAC;IAEM,KAAK;QACV,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;CACF"}
|
package/package.json
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@streamyy/client",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Frontend client, React hooks, UI components, and WebRTC helpers for Streamyy.",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"main": "./dist/index.js",
|
|
8
|
+
"types": "./dist/index.d.ts",
|
|
9
|
+
"repository": {
|
|
10
|
+
"type": "git",
|
|
11
|
+
"url": "https://github.com/Haryomidey/streamyy.git",
|
|
12
|
+
"directory": "packages/streamyy"
|
|
13
|
+
},
|
|
14
|
+
"homepage": "https://github.com/Haryomidey/streamyy#readme",
|
|
15
|
+
"bugs": {
|
|
16
|
+
"url": "https://github.com/Haryomidey/streamyy/issues"
|
|
17
|
+
},
|
|
18
|
+
"exports": {
|
|
19
|
+
".": {
|
|
20
|
+
"types": "./dist/index.d.ts",
|
|
21
|
+
"import": "./dist/index.js"
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
"files": [
|
|
25
|
+
"dist"
|
|
26
|
+
],
|
|
27
|
+
"publishConfig": {
|
|
28
|
+
"access": "public"
|
|
29
|
+
},
|
|
30
|
+
"dependencies": {
|
|
31
|
+
"@streamyy/core": "^0.1.0",
|
|
32
|
+
"react": "^19.0.0",
|
|
33
|
+
"socket.io-client": "^4.8.1"
|
|
34
|
+
},
|
|
35
|
+
"peerDependencies": {
|
|
36
|
+
"react": "^19.0.0",
|
|
37
|
+
"react-dom": "^19.0.0"
|
|
38
|
+
}
|
|
39
|
+
}
|