@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.
Files changed (51) hide show
  1. package/README.md +40 -0
  2. package/dist/.tsbuildinfo +1 -0
  3. package/dist/client.d.ts +26 -0
  4. package/dist/client.d.ts.map +1 -0
  5. package/dist/client.js +98 -0
  6. package/dist/client.js.map +1 -0
  7. package/dist/components/CallControls.d.ts +9 -0
  8. package/dist/components/CallControls.d.ts.map +1 -0
  9. package/dist/components/CallControls.js +31 -0
  10. package/dist/components/CallControls.js.map +1 -0
  11. package/dist/components/IncomingCallCard.d.ts +8 -0
  12. package/dist/components/IncomingCallCard.d.ts.map +1 -0
  13. package/dist/components/IncomingCallCard.js +27 -0
  14. package/dist/components/IncomingCallCard.js.map +1 -0
  15. package/dist/components/StreammyCallWidget.d.ts +10 -0
  16. package/dist/components/StreammyCallWidget.d.ts.map +1 -0
  17. package/dist/components/StreammyCallWidget.js +139 -0
  18. package/dist/components/StreammyCallWidget.js.map +1 -0
  19. package/dist/components/VideoStage.d.ts +11 -0
  20. package/dist/components/VideoStage.d.ts.map +1 -0
  21. package/dist/components/VideoStage.js +58 -0
  22. package/dist/components/VideoStage.js.map +1 -0
  23. package/dist/components/VideoTile.d.ts +11 -0
  24. package/dist/components/VideoTile.d.ts.map +1 -0
  25. package/dist/components/VideoTile.js +29 -0
  26. package/dist/components/VideoTile.js.map +1 -0
  27. package/dist/hooks/useRingtone.d.ts +15 -0
  28. package/dist/hooks/useRingtone.d.ts.map +1 -0
  29. package/dist/hooks/useRingtone.js +99 -0
  30. package/dist/hooks/useRingtone.js.map +1 -0
  31. package/dist/hooks/useStreammy.d.ts +23 -0
  32. package/dist/hooks/useStreammy.d.ts.map +1 -0
  33. package/dist/hooks/useStreammy.js +183 -0
  34. package/dist/hooks/useStreammy.js.map +1 -0
  35. package/dist/index.d.ts +12 -0
  36. package/dist/index.d.ts.map +1 -0
  37. package/dist/index.js +12 -0
  38. package/dist/index.js.map +1 -0
  39. package/dist/types.d.ts +105 -0
  40. package/dist/types.d.ts.map +1 -0
  41. package/dist/types.js +2 -0
  42. package/dist/types.js.map +1 -0
  43. package/dist/webrtc/media.d.ts +7 -0
  44. package/dist/webrtc/media.d.ts.map +1 -0
  45. package/dist/webrtc/media.js +15 -0
  46. package/dist/webrtc/media.js.map +1 -0
  47. package/dist/webrtc/peer-session.d.ts +19 -0
  48. package/dist/webrtc/peer-session.d.ts.map +1 -0
  49. package/dist/webrtc/peer-session.js +38 -0
  50. package/dist/webrtc/peer-session.js.map +1 -0
  51. 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
+ }