@rtsee/signaling 0.0.18 → 0.0.21

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 (33) hide show
  1. package/dist/signaling/src/index.d.ts +3 -0
  2. package/dist/signaling/src/index.d.ts.map +1 -1
  3. package/dist/signaling/src/index.js +3 -0
  4. package/dist/signaling/src/index.js.map +1 -1
  5. package/dist/signaling/src/interfaces/RTSeeSignalingOptions.d.ts +6 -5
  6. package/dist/signaling/src/interfaces/RTSeeSignalingOptions.d.ts.map +1 -1
  7. package/dist/signaling/src/interfaces/SignalingAuthParams.d.ts +5 -0
  8. package/dist/signaling/src/interfaces/SignalingAuthParams.d.ts.map +1 -0
  9. package/dist/signaling/src/interfaces/{SocketPeer.js → SignalingAuthParams.js} +1 -1
  10. package/dist/signaling/src/interfaces/SignalingAuthParams.js.map +1 -0
  11. package/dist/signaling/src/interfaces/index.d.ts +1 -0
  12. package/dist/signaling/src/interfaces/index.d.ts.map +1 -1
  13. package/dist/signaling/src/interfaces/index.js +1 -0
  14. package/dist/signaling/src/interfaces/index.js.map +1 -1
  15. package/dist/signaling/src/models/RTSeeSignaling.d.ts +16 -26
  16. package/dist/signaling/src/models/RTSeeSignaling.d.ts.map +1 -1
  17. package/dist/signaling/src/models/RTSeeSignaling.js +41 -187
  18. package/dist/signaling/src/models/RTSeeSignaling.js.map +1 -1
  19. package/dist/signaling/src/models/RTSeeSignalingBase.d.ts +38 -0
  20. package/dist/signaling/src/models/RTSeeSignalingBase.d.ts.map +1 -0
  21. package/dist/signaling/src/models/RTSeeSignalingBase.js +289 -0
  22. package/dist/signaling/src/models/RTSeeSignalingBase.js.map +1 -0
  23. package/dist/signaling/src/models/RTSeeSocketConnectionsManager.d.ts +17 -0
  24. package/dist/signaling/src/models/RTSeeSocketConnectionsManager.d.ts.map +1 -0
  25. package/dist/signaling/src/models/RTSeeSocketConnectionsManager.js +55 -0
  26. package/dist/signaling/src/models/RTSeeSocketConnectionsManager.js.map +1 -0
  27. package/dist/signaling/src/{interfaces → models}/SocketPeer.d.ts +1 -1
  28. package/dist/signaling/src/models/SocketPeer.d.ts.map +1 -0
  29. package/dist/signaling/src/models/SocketPeer.js +26 -0
  30. package/dist/signaling/src/models/SocketPeer.js.map +1 -0
  31. package/package.json +5 -3
  32. package/dist/signaling/src/interfaces/SocketPeer.d.ts.map +0 -1
  33. package/dist/signaling/src/interfaces/SocketPeer.js.map +0 -1
@@ -1,3 +1,6 @@
1
1
  export * from "./interfaces";
2
2
  export * from "./models/RTSeeSignaling";
3
+ export * from "./models/RTSeeSignalingBase";
4
+ export * from "./models/RTSeeSocketConnectionsManager";
5
+ export * from "./models/SocketPeer";
3
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wCAAwC,CAAC;AACvD,cAAc,qBAAqB,CAAC"}
@@ -12,4 +12,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  __exportStar(require("./interfaces"), exports);
14
14
  __exportStar(require("./models/RTSeeSignaling"), exports);
15
+ __exportStar(require("./models/RTSeeSignalingBase"), exports);
16
+ __exportStar(require("./models/RTSeeSocketConnectionsManager"), exports);
17
+ __exportStar(require("./models/SocketPeer"), exports);
15
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAA6B;AAC7B,0DAAwC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAA6B;AAC7B,0DAAwC;AACxC,8DAA4C;AAC5C,yEAAuD;AACvD,sDAAoC"}
@@ -1,11 +1,12 @@
1
1
  /// <reference types="node" />
2
- import http from "http";
3
- import SocketIO, { ServerOptions } from "socket.io";
4
- import { IPeerInfo } from "@rtsee/core";
2
+ import * as http from "http";
3
+ import * as SocketIO from "socket.io";
4
+ import { IPeer } from "@rtsee/core";
5
+ import { ISignalingAuthParams } from "@rtsee/signaling";
5
6
  export interface IRTSeeSignalingOptions {
6
7
  server?: http.Server;
7
- serverOptions?: Partial<ServerOptions>;
8
+ serverOptions?: Partial<SocketIO.ServerOptions>;
8
9
  io?: SocketIO.Server;
9
- authenticate?: (token: string) => Promise<Partial<IPeerInfo>>;
10
+ authenticate?: (options: ISignalingAuthParams) => Promise<IPeer>;
10
11
  }
11
12
  //# sourceMappingURL=RTSeeSignalingOptions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RTSeeSignalingOptions.d.ts","sourceRoot":"","sources":["../../../../src/interfaces/RTSeeSignalingOptions.ts"],"names":[],"mappings":";AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,QAAQ,EAAE,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,WAAW,sBAAsB;IACrC,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IACvC,EAAE,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;CAC/D"}
1
+ {"version":3,"file":"RTSeeSignalingOptions.d.ts","sourceRoot":"","sources":["../../../../src/interfaces/RTSeeSignalingOptions.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,QAAQ,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,MAAM,WAAW,sBAAsB;IACrC,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IAChD,EAAE,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;CAClE"}
@@ -0,0 +1,5 @@
1
+ export interface ISignalingAuthParams {
2
+ id?: string;
3
+ token?: string;
4
+ }
5
+ //# sourceMappingURL=SignalingAuthParams.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SignalingAuthParams.d.ts","sourceRoot":"","sources":["../../../../src/interfaces/SignalingAuthParams.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACnC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=SocketPeer.js.map
3
+ //# sourceMappingURL=SignalingAuthParams.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SignalingAuthParams.js","sourceRoot":"","sources":["../../../../src/interfaces/SignalingAuthParams.ts"],"names":[],"mappings":""}
@@ -1,4 +1,5 @@
1
1
  export * from "./RTSeeSignalingOptions";
2
2
  export * from "./SignalingEvents";
3
3
  export * from "./SocketMessages";
4
+ export * from "./SignalingAuthParams";
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC"}
@@ -13,4 +13,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
13
13
  __exportStar(require("./RTSeeSignalingOptions"), exports);
14
14
  __exportStar(require("./SignalingEvents"), exports);
15
15
  __exportStar(require("./SocketMessages"), exports);
16
+ __exportStar(require("./SignalingAuthParams"), exports);
16
17
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/interfaces/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0DAAwC;AACxC,oDAAkC;AAClC,mDAAiC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/interfaces/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0DAAwC;AACxC,oDAAkC;AAClC,mDAAiC;AACjC,wDAAsC"}
@@ -1,39 +1,29 @@
1
1
  /// <reference types="node" />
2
- import http from "http";
3
- import SocketIO, { ServerOptions } from "socket.io";
4
- import { ISignalingEvent, ISignalingHandshakeEventData, ISignalingIceEventData } from "../interfaces/SignalingEvents";
2
+ import * as http from "http";
3
+ import * as SocketIO from "socket.io";
4
+ import { ISignalingHandshakeEventData, ISignalingIceEventData } from "../interfaces/SignalingEvents";
5
5
  import { IRTSeeSignalingOptions } from "@rtsee/signaling";
6
- import { IDeviceToggleData, IPeerInfo } from "@rtsee/core";
7
- import { ISocketPeer } from "../interfaces/SocketPeer";
8
- export declare class RTSeeSignaling {
6
+ import { IDeviceToggleData } from "@rtsee/core";
7
+ import { SocketPeer } from "./SocketPeer";
8
+ import { RTSeeSignalingBase } from "./RTSeeSignalingBase";
9
+ export declare class RTSeeSignaling extends RTSeeSignalingBase {
9
10
  server?: http.Server;
10
11
  io?: SocketIO.Server;
11
- serverOptions?: Partial<ServerOptions>;
12
- authenticate?: (token: string) => Promise<Partial<IPeerInfo>>;
12
+ serverOptions?: Partial<SocketIO.ServerOptions>;
13
13
  constructor(options: IRTSeeSignalingOptions);
14
- initFromSocketIoServer(options: IRTSeeSignalingOptions): void;
15
- initFromApplicationServer(options: IRTSeeSignalingOptions): void;
16
- private onConnected;
17
- handleJoinCallMessage(socket: ISocketPeer, options: {
14
+ onAfterConnected(socket: SocketPeer, next: (err?: any) => void): void;
15
+ handleJoinCallMessage(socket: SocketPeer, options: {
18
16
  clientId: string;
19
17
  roomId: string;
20
18
  }): void;
21
- handleOfferMessage(socket: ISocketPeer, options: ISignalingHandshakeEventData): void;
22
- handleAnswerMessage(socket: ISocketPeer, options: ISignalingHandshakeEventData): void;
23
- handleIceMessage(socket: ISocketPeer, options: ISignalingIceEventData): void;
24
- handleCameraToggleMessage(socket: ISocketPeer, options: IDeviceToggleData): void;
25
- handleMicrophoneToggleMessage(socket: ISocketPeer, options: IDeviceToggleData): void;
26
- handleScreenShareStopMessage(socket: ISocketPeer, options: {
19
+ handleOfferMessage(socket: SocketPeer, options: ISignalingHandshakeEventData): void;
20
+ handleAnswerMessage(socket: SocketPeer, options: ISignalingHandshakeEventData): void;
21
+ handleIceMessage(socket: SocketPeer, options: ISignalingIceEventData): void;
22
+ handleCameraToggleMessage(socket: SocketPeer, options: IDeviceToggleData): void;
23
+ handleMicrophoneToggleMessage(socket: SocketPeer, options: IDeviceToggleData): void;
24
+ handleScreenShareStopMessage(socket: SocketPeer, options: {
27
25
  clientId: string;
28
26
  roomId: string;
29
27
  }): void;
30
- applyAuthenticateCallback(socket: ISocketPeer): Promise<boolean>;
31
- initSocketIo(): void;
32
- private getRoomClientsCount;
33
- static getCallRoomName(id: string): string;
34
- static getClientRoomName(clientId: string, roomId: string): string;
35
- private sendToRoom;
36
- static broadcast(socket: ISocketPeer, event: ISignalingEvent, room: string): void;
37
- static stringifyEventData(event: ISignalingEvent): string;
38
28
  }
39
29
  //# sourceMappingURL=RTSeeSignaling.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RTSeeSignaling.d.ts","sourceRoot":"","sources":["../../../../src/models/RTSeeSignaling.ts"],"names":[],"mappings":";AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,QAAQ,EAAE,EAAU,aAAa,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EAEL,eAAe,EAEf,4BAA4B,EAE5B,sBAAsB,EACvB,MAAM,+BAA+B,CAAC;AAKvC,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAe,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAKvD,qBAAa,cAAc;IACzB,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC;IACrB,EAAE,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IACvC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;gBAElD,OAAO,EAAE,sBAAsB;IAY3C,sBAAsB,CAAC,OAAO,EAAE,sBAAsB;IAQtD,yBAAyB,CAAC,OAAO,EAAE,sBAAsB;YAU3C,WAAW;IA2CzB,qBAAqB,CACnB,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IA4B/C,kBAAkB,CAChB,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,4BAA4B;IAsBvC,mBAAmB,CACjB,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,4BAA4B;IAkBvC,gBAAgB,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,sBAAsB;IAkBrE,yBAAyB,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,iBAAiB;IAYzE,6BAA6B,CAC3B,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,iBAAiB;IAa5B,4BAA4B,CAC1B,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAiBzC,yBAAyB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IAmBtE,YAAY;IAIZ,OAAO,CAAC,mBAAmB;IAW3B,MAAM,CAAC,eAAe,CAAC,EAAE,EAAE,MAAM;IAIjC,MAAM,CAAC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAIzD,OAAO,CAAC,UAAU;IAYlB,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM;IAY1E,MAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE,eAAe;CAUjD"}
1
+ {"version":3,"file":"RTSeeSignaling.d.ts","sourceRoot":"","sources":["../../../../src/models/RTSeeSignaling.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,QAAQ,MAAM,WAAW,CAAC;AACtC,OAAO,EAIL,4BAA4B,EAE5B,sBAAsB,EACvB,MAAM,+BAA+B,CAAC;AAKvC,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAe,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,qBAAa,cAAe,SAAQ,kBAAkB;IACpD,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC;IACrB,EAAE,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;gBAEpC,OAAO,EAAE,sBAAsB;IAI3C,gBAAgB,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,IAAI;IAoC9D,qBAAqB,CACnB,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IA4B/C,kBAAkB,CAChB,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,4BAA4B;IAsBvC,mBAAmB,CACjB,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,4BAA4B;IAkBvC,gBAAgB,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,sBAAsB;IAkBpE,yBAAyB,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,iBAAiB;IAYxE,6BAA6B,CAC3B,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,iBAAiB;IAa5B,4BAA4B,CAC1B,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;CAgBhD"}
@@ -1,4 +1,17 @@
1
1
  "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ extendStatics(d, b);
11
+ function __() { this.constructor = d; }
12
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
+ };
14
+ })();
2
15
  var __assign = (this && this.__assign) || function () {
3
16
  __assign = Object.assign || function(t) {
4
17
  for (var s, i = 1, n = arguments.length; i < n; i++) {
@@ -10,119 +23,40 @@ var __assign = (this && this.__assign) || function () {
10
23
  };
11
24
  return __assign.apply(this, arguments);
12
25
  };
13
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
- return new (P || (P = Promise))(function (resolve, reject) {
16
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
- step((generator = generator.apply(thisArg, _arguments || [])).next());
20
- });
21
- };
22
- var __generator = (this && this.__generator) || function (thisArg, body) {
23
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
- function verb(n) { return function (v) { return step([n, v]); }; }
26
- function step(op) {
27
- if (f) throw new TypeError("Generator is already executing.");
28
- while (_) try {
29
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
- if (y = 0, t) op = [op[0] & 2, t.value];
31
- switch (op[0]) {
32
- case 0: case 1: t = op; break;
33
- case 4: _.label++; return { value: op[1], done: false };
34
- case 5: _.label++; y = op[1]; op = [0]; continue;
35
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
- default:
37
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
- if (t[2]) _.ops.pop();
42
- _.trys.pop(); continue;
43
- }
44
- op = body.call(thisArg, _);
45
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
- }
48
- };
49
26
  Object.defineProperty(exports, "__esModule", { value: true });
50
27
  exports.RTSeeSignaling = void 0;
51
- var socket_io_1 = require("socket.io");
52
28
  var SocketMessages_1 = require("../interfaces/SocketMessages");
53
29
  var core_1 = require("@rtsee/core");
54
- var callRoomPrefix = "callRoom_";
55
- var clientRoomPrefix = "_clientRoom_";
56
- var RTSeeSignaling = /** @class */ (function () {
30
+ var RTSeeSignalingBase_1 = require("./RTSeeSignalingBase");
31
+ var RTSeeSignaling = /** @class */ (function (_super) {
32
+ __extends(RTSeeSignaling, _super);
57
33
  function RTSeeSignaling(options) {
58
- if (options.io) {
59
- this.initFromSocketIoServer(options);
60
- }
61
- if (options.server) {
62
- this.initFromApplicationServer(options);
63
- }
64
- if (options.authenticate) {
65
- this.authenticate = options.authenticate;
66
- }
34
+ return _super.call(this, options) || this;
67
35
  }
68
- RTSeeSignaling.prototype.initFromSocketIoServer = function (options) {
69
- if (!options.io) {
70
- throw new Error("io_not_provided");
71
- }
72
- this.io = options.io;
73
- this.io.use(this.onConnected.bind(this));
74
- };
75
- RTSeeSignaling.prototype.initFromApplicationServer = function (options) {
76
- this.server = options.server;
77
- this.serverOptions = options.serverOptions;
78
- this.initSocketIo();
79
- if (!this.io) {
80
- throw new Error("Failed to init Socket.IO server");
81
- }
82
- this.initFromSocketIoServer({ io: this.io });
83
- };
84
- RTSeeSignaling.prototype.onConnected = function (socket, next) {
85
- return __awaiter(this, void 0, void 0, function () {
86
- var result;
87
- var _this = this;
88
- return __generator(this, function (_a) {
89
- switch (_a.label) {
90
- case 0:
91
- if (!this.authenticate) return [3 /*break*/, 2];
92
- return [4 /*yield*/, this.applyAuthenticateCallback(socket)];
93
- case 1:
94
- result = _a.sent();
95
- if (!result) {
96
- return [2 /*return*/, next(new Error("Authentication error"))];
97
- }
98
- _a.label = 2;
99
- case 2:
100
- socket.on(SocketMessages_1.SocketMessagesIncoming["JOIN_CALL"], function (options) {
101
- return _this.handleJoinCallMessage(socket, options);
102
- });
103
- socket.on(SocketMessages_1.SocketMessagesIncoming["OFFER"], function (message) {
104
- return _this.handleOfferMessage(socket, message);
105
- });
106
- socket.on(SocketMessages_1.SocketMessagesIncoming["ANSWER"], function (message) {
107
- return _this.handleAnswerMessage(socket, message);
108
- });
109
- socket.on(SocketMessages_1.SocketMessagesIncoming["ICE_CANDIDATE"], function (message) {
110
- return _this.handleIceMessage(socket, message);
111
- });
112
- socket.on(core_1.RTSeeEvents["CAMERA_TOGGLED"], function (message) {
113
- return _this.handleCameraToggleMessage(socket, message);
114
- });
115
- socket.on(core_1.RTSeeEvents["MICROPHONE_TOGGLED"], function (message) {
116
- return _this.handleMicrophoneToggleMessage(socket, message);
117
- });
118
- socket.on(core_1.RTSeeEvents["SHARE_SCREEN_STOP"], function (message) {
119
- return _this.handleScreenShareStopMessage(socket, message);
120
- });
121
- next();
122
- return [2 /*return*/];
123
- }
124
- });
36
+ RTSeeSignaling.prototype.onAfterConnected = function (socket, next) {
37
+ var _this = this;
38
+ socket.on(SocketMessages_1.SocketMessagesIncoming["JOIN_CALL"], function (options) {
39
+ return _this.handleJoinCallMessage(socket, options);
40
+ });
41
+ socket.on(SocketMessages_1.SocketMessagesIncoming["OFFER"], function (message) {
42
+ return _this.handleOfferMessage(socket, message);
43
+ });
44
+ socket.on(SocketMessages_1.SocketMessagesIncoming["ANSWER"], function (message) {
45
+ return _this.handleAnswerMessage(socket, message);
46
+ });
47
+ socket.on(SocketMessages_1.SocketMessagesIncoming["ICE_CANDIDATE"], function (message) {
48
+ return _this.handleIceMessage(socket, message);
49
+ });
50
+ socket.on(core_1.RTSeeEvents["CAMERA_TOGGLED"], function (message) {
51
+ return _this.handleCameraToggleMessage(socket, message);
52
+ });
53
+ socket.on(core_1.RTSeeEvents["MICROPHONE_TOGGLED"], function (message) {
54
+ return _this.handleMicrophoneToggleMessage(socket, message);
55
+ });
56
+ socket.on(core_1.RTSeeEvents["SHARE_SCREEN_STOP"], function (message) {
57
+ return _this.handleScreenShareStopMessage(socket, message);
125
58
  });
59
+ next();
126
60
  };
127
61
  RTSeeSignaling.prototype.handleJoinCallMessage = function (socket, options) {
128
62
  var callRoomName = RTSeeSignaling.getCallRoomName(options.roomId);
@@ -218,87 +152,7 @@ var RTSeeSignaling = /** @class */ (function () {
218
152
  }
219
153
  RTSeeSignaling.broadcast(socket, event, callRoomName);
220
154
  };
221
- RTSeeSignaling.prototype.applyAuthenticateCallback = function (socket) {
222
- return __awaiter(this, void 0, void 0, function () {
223
- var token, peerInfo;
224
- return __generator(this, function (_a) {
225
- switch (_a.label) {
226
- case 0:
227
- if (!socket.handshake.query || !socket.handshake.query.token) {
228
- return [2 /*return*/, false];
229
- }
230
- token = socket.handshake.query.token;
231
- if (!token || typeof token !== "string") {
232
- return [2 /*return*/, false];
233
- }
234
- return [4 /*yield*/, this.authenticate(token)];
235
- case 1:
236
- peerInfo = _a.sent();
237
- if (!peerInfo) {
238
- return [2 /*return*/, false];
239
- }
240
- socket.rtseePeer = __assign(__assign({}, peerInfo), { clientId: token });
241
- return [2 /*return*/, true];
242
- }
243
- });
244
- });
245
- };
246
- RTSeeSignaling.prototype.initSocketIo = function () {
247
- this.io = new socket_io_1.Server(this.server, this.serverOptions);
248
- };
249
- RTSeeSignaling.prototype.getRoomClientsCount = function (roomName) {
250
- if (!this.io) {
251
- return 0;
252
- }
253
- var room = this.io.sockets.adapter.rooms.get(roomName);
254
- if (!room) {
255
- return 0;
256
- }
257
- return room.size || 0;
258
- };
259
- RTSeeSignaling.getCallRoomName = function (id) {
260
- return callRoomPrefix + id;
261
- };
262
- RTSeeSignaling.getClientRoomName = function (clientId, roomId) {
263
- return callRoomPrefix + roomId + clientRoomPrefix + clientId;
264
- };
265
- RTSeeSignaling.prototype.sendToRoom = function (roomId, event) {
266
- var _a, _b;
267
- if (event.data) {
268
- var eventDataString = RTSeeSignaling.stringifyEventData(event);
269
- if (!eventDataString) {
270
- return;
271
- }
272
- (_a = this.io) === null || _a === void 0 ? void 0 : _a.to(roomId).emit(event.name, eventDataString);
273
- }
274
- else {
275
- (_b = this.io) === null || _b === void 0 ? void 0 : _b.to(roomId).emit(event.name);
276
- }
277
- };
278
- RTSeeSignaling.broadcast = function (socket, event, room) {
279
- if (event.data) {
280
- var eventDataString = RTSeeSignaling.stringifyEventData(event);
281
- if (!eventDataString) {
282
- return;
283
- }
284
- socket.broadcast.to(room).emit(event.name, eventDataString);
285
- }
286
- else {
287
- socket.broadcast.to(room).emit(event.name);
288
- }
289
- };
290
- RTSeeSignaling.stringifyEventData = function (event) {
291
- if (event.data) {
292
- try {
293
- return JSON.stringify(event.data);
294
- }
295
- catch (e) {
296
- console.log("Failed to stringify object: ", e);
297
- return null;
298
- }
299
- }
300
- };
301
155
  return RTSeeSignaling;
302
- }());
156
+ }(RTSeeSignalingBase_1.RTSeeSignalingBase));
303
157
  exports.RTSeeSignaling = RTSeeSignaling;
304
158
  //# sourceMappingURL=RTSeeSignaling.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RTSeeSignaling.js","sourceRoot":"","sources":["../../../../src/models/RTSeeSignaling.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RTSeeSignaling.js","sourceRoot":"","sources":["../../../../src/models/RTSeeSignaling.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ /// <reference types="node" />
2
+ import * as http from "http";
3
+ import * as SocketIO from "socket.io";
4
+ import { ISignalingAuthParams, ISignalingEvent, RTSeeSocketConnectionsManager } from "@rtsee/signaling";
5
+ import { IRTSeeSignalingOptions } from "@rtsee/signaling";
6
+ import { SocketPeer } from "@rtsee/signaling";
7
+ import { EventEmitter } from "events";
8
+ import { IPeer } from "@rtsee/core";
9
+ export declare abstract class RTSeeSignalingBase extends EventEmitter {
10
+ server?: http.Server;
11
+ io?: SocketIO.Server;
12
+ serverOptions?: Partial<SocketIO.ServerOptions>;
13
+ authenticate?: (options: ISignalingAuthParams) => Promise<IPeer>;
14
+ connectionsManager: RTSeeSocketConnectionsManager;
15
+ protected constructor(options: IRTSeeSignalingOptions);
16
+ abstract onAfterConnected(socket: SocketPeer, next: (err?: any) => void): void;
17
+ attachConnectionManagerEvents(): void;
18
+ onConnectionsCountChanged(): void;
19
+ onClientConnected(connection: SocketPeer): void;
20
+ onClientDisconnected(connection: SocketPeer): void;
21
+ initFromSocketIoServer(options: IRTSeeSignalingOptions): void;
22
+ initFromApplicationServer(options: IRTSeeSignalingOptions): void;
23
+ initSocketIo(): void;
24
+ private onConnected;
25
+ private joinPersonalRoom;
26
+ applyAuthenticateCallback(socket: SocketPeer): Promise<boolean>;
27
+ private applyDefaultAuthentication;
28
+ private getAuthenticateParams;
29
+ protected getRoomClientsCount(roomName: string): number;
30
+ static getCallRoomName(id: string): string;
31
+ static getClientRoomName(clientId: string, roomId: string): string;
32
+ protected sendToRoom(roomId: string, event: ISignalingEvent): void;
33
+ protected sendToIndividualRoom(clientId: string, eventName: string, data: any): void;
34
+ static broadcast(socket: SocketPeer, event: ISignalingEvent, room: string): void;
35
+ static stringifyEventData(event: ISignalingEvent): string;
36
+ static getPersonalRoomName(id: string): string;
37
+ }
38
+ //# sourceMappingURL=RTSeeSignalingBase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RTSeeSignalingBase.d.ts","sourceRoot":"","sources":["../../../../src/models/RTSeeSignalingBase.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,QAAQ,MAAM,WAAW,CAAC;AAEtC,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,6BAA6B,EAE9B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,KAAK,EAAe,MAAM,aAAa,CAAC;AAMjD,8BAAsB,kBAAmB,SAAQ,YAAY;IAC3D,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC;IACrB,EAAE,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IAChD,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;IACjE,kBAAkB,EAAE,6BAA6B,CACX;IAEtC,SAAS,aAAa,OAAO,EAAE,sBAAsB;IAerD,QAAQ,CAAC,gBAAgB,CACvB,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,IAAI,GACxB,IAAI;IAEP,6BAA6B;IAe7B,yBAAyB;IAIzB,iBAAiB,CAAC,UAAU,EAAE,UAAU;IAIxC,oBAAoB,CAAC,UAAU,EAAE,UAAU;IAO3C,sBAAsB,CAAC,OAAO,EAAE,sBAAsB;IAQtD,yBAAyB,CAAC,OAAO,EAAE,sBAAsB;IAUzD,YAAY;YAIE,WAAW;IAiBzB,OAAO,CAAC,gBAAgB;IAYlB,yBAAyB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IAgBrE,OAAO,CAAC,0BAA0B;IAWlC,OAAO,CAAC,qBAAqB;IAyC7B,SAAS,CAAC,mBAAmB,CAAC,QAAQ,EAAE,MAAM;IAW9C,MAAM,CAAC,eAAe,CAAC,EAAE,EAAE,MAAM;IAIjC,MAAM,CAAC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAIzD,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe;IAY3D,SAAS,CAAC,oBAAoB,CAC5B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,GAAG;IAQX,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM;IAYzE,MAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE,eAAe;IAWhD,MAAM,CAAC,mBAAmB,CAAC,EAAE,EAAE,MAAM;CAGtC"}
@@ -0,0 +1,289 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ extendStatics(d, b);
11
+ function __() { this.constructor = d; }
12
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
+ };
14
+ })();
15
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
18
+ }) : (function(o, m, k, k2) {
19
+ if (k2 === undefined) k2 = k;
20
+ o[k2] = m[k];
21
+ }));
22
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
23
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
24
+ }) : function(o, v) {
25
+ o["default"] = v;
26
+ });
27
+ var __importStar = (this && this.__importStar) || function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
35
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
36
+ return new (P || (P = Promise))(function (resolve, reject) {
37
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
38
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
39
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
40
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
41
+ });
42
+ };
43
+ var __generator = (this && this.__generator) || function (thisArg, body) {
44
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
45
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
46
+ function verb(n) { return function (v) { return step([n, v]); }; }
47
+ function step(op) {
48
+ if (f) throw new TypeError("Generator is already executing.");
49
+ while (_) try {
50
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
51
+ if (y = 0, t) op = [op[0] & 2, t.value];
52
+ switch (op[0]) {
53
+ case 0: case 1: t = op; break;
54
+ case 4: _.label++; return { value: op[1], done: false };
55
+ case 5: _.label++; y = op[1]; op = [0]; continue;
56
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
57
+ default:
58
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
59
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
60
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
61
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
62
+ if (t[2]) _.ops.pop();
63
+ _.trys.pop(); continue;
64
+ }
65
+ op = body.call(thisArg, _);
66
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
67
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
68
+ }
69
+ };
70
+ Object.defineProperty(exports, "__esModule", { value: true });
71
+ exports.RTSeeSignalingBase = void 0;
72
+ var SocketIO = __importStar(require("socket.io"));
73
+ var uuid_1 = require("uuid");
74
+ var signaling_1 = require("@rtsee/signaling");
75
+ var events_1 = require("events");
76
+ var core_1 = require("@rtsee/core");
77
+ var RTSEE_PREFIX = "rtsee-";
78
+ var callRoomPrefix = "callRoom_";
79
+ var clientRoomPrefix = "_clientRoom_";
80
+ var RTSeeSignalingBase = /** @class */ (function (_super) {
81
+ __extends(RTSeeSignalingBase, _super);
82
+ function RTSeeSignalingBase(options) {
83
+ var _this = _super.call(this) || this;
84
+ _this.connectionsManager = new signaling_1.RTSeeSocketConnectionsManager();
85
+ if (options.io) {
86
+ _this.initFromSocketIoServer(options);
87
+ }
88
+ if (options.server) {
89
+ _this.initFromApplicationServer(options);
90
+ }
91
+ if (options.authenticate) {
92
+ _this.authenticate = options.authenticate;
93
+ }
94
+ _this.attachConnectionManagerEvents();
95
+ return _this;
96
+ }
97
+ RTSeeSignalingBase.prototype.attachConnectionManagerEvents = function () {
98
+ this.connectionsManager.on(signaling_1.SocketConnectionsManagerEvents["CONNECTIONS_COUNT_CHANGED"], this.onConnectionsCountChanged.bind(this));
99
+ this.connectionsManager.on(signaling_1.SocketConnectionsManagerEvents["CLIENT_CONNECTED"], this.onClientConnected.bind(this));
100
+ this.connectionsManager.on(signaling_1.SocketConnectionsManagerEvents["CLIENT_DISCONNECTED"], this.onClientDisconnected.bind(this));
101
+ };
102
+ RTSeeSignalingBase.prototype.onConnectionsCountChanged = function () {
103
+ this.emit(signaling_1.SocketConnectionsManagerEvents["CONNECTIONS_COUNT_CHANGED"]);
104
+ };
105
+ RTSeeSignalingBase.prototype.onClientConnected = function (connection) {
106
+ this.emit(signaling_1.SocketConnectionsManagerEvents["CLIENT_CONNECTED"], connection);
107
+ };
108
+ RTSeeSignalingBase.prototype.onClientDisconnected = function (connection) {
109
+ this.emit(signaling_1.SocketConnectionsManagerEvents["CLIENT_DISCONNECTED"], connection);
110
+ };
111
+ RTSeeSignalingBase.prototype.initFromSocketIoServer = function (options) {
112
+ if (!options.io) {
113
+ throw new Error("io_not_provided");
114
+ }
115
+ this.io = options.io;
116
+ this.io.use(this.onConnected.bind(this));
117
+ };
118
+ RTSeeSignalingBase.prototype.initFromApplicationServer = function (options) {
119
+ this.server = options.server;
120
+ this.serverOptions = options.serverOptions;
121
+ this.initSocketIo();
122
+ if (!this.io) {
123
+ throw new Error("Failed to init Socket.IO server");
124
+ }
125
+ this.initFromSocketIoServer({ io: this.io });
126
+ };
127
+ RTSeeSignalingBase.prototype.initSocketIo = function () {
128
+ this.io = new SocketIO.Server(this.server, this.serverOptions);
129
+ };
130
+ RTSeeSignalingBase.prototype.onConnected = function (socket, next) {
131
+ return __awaiter(this, void 0, void 0, function () {
132
+ var result;
133
+ return __generator(this, function (_a) {
134
+ switch (_a.label) {
135
+ case 0:
136
+ if (!this.authenticate) return [3 /*break*/, 2];
137
+ return [4 /*yield*/, this.applyAuthenticateCallback(socket)];
138
+ case 1:
139
+ result = _a.sent();
140
+ if (!result) {
141
+ return [2 /*return*/, next(new Error("Authentication error"))];
142
+ }
143
+ return [3 /*break*/, 3];
144
+ case 2:
145
+ this.applyDefaultAuthentication(socket);
146
+ _a.label = 3;
147
+ case 3:
148
+ this.joinPersonalRoom(socket);
149
+ if (this.onAfterConnected) {
150
+ this.onAfterConnected(socket, next);
151
+ }
152
+ return [2 /*return*/];
153
+ }
154
+ });
155
+ });
156
+ };
157
+ RTSeeSignalingBase.prototype.joinPersonalRoom = function (socket) {
158
+ if (!socket.rtseePeer || !socket.rtseePeer.clientId) {
159
+ console.log("ERROR! ClientId is Required!");
160
+ return;
161
+ }
162
+ var roomName = RTSeeSignalingBase.getPersonalRoomName(socket.rtseePeer.clientId);
163
+ console.log("joined personal room: ", roomName);
164
+ void socket.join(roomName);
165
+ };
166
+ RTSeeSignalingBase.prototype.applyAuthenticateCallback = function (socket) {
167
+ return __awaiter(this, void 0, void 0, function () {
168
+ var authParams, peer;
169
+ return __generator(this, function (_a) {
170
+ switch (_a.label) {
171
+ case 0:
172
+ authParams = this.getAuthenticateParams(socket);
173
+ console.log("AUTH PARAMS", authParams);
174
+ if (!authParams) {
175
+ return [2 /*return*/];
176
+ }
177
+ return [4 /*yield*/, this.authenticate(authParams)];
178
+ case 1:
179
+ peer = _a.sent();
180
+ if (!peer || !peer.clientId) {
181
+ return [2 /*return*/, false];
182
+ }
183
+ socket.rtseePeer = peer;
184
+ socket.emit(core_1.RTSeeEvents["CLIENT_AUTHENTICATED"], peer);
185
+ return [2 /*return*/, true];
186
+ }
187
+ });
188
+ });
189
+ };
190
+ RTSeeSignalingBase.prototype.applyDefaultAuthentication = function (socket) {
191
+ var authParams = this.getAuthenticateParams(socket);
192
+ if (authParams.id) {
193
+ socket.rtseePeer = { clientId: authParams.id };
194
+ }
195
+ else {
196
+ socket.rtseePeer = { clientId: uuid_1.v4() };
197
+ }
198
+ socket.emit(core_1.RTSeeEvents["ANONYMOUS_CLIENT_CONNECTED"], socket.rtseePeer);
199
+ };
200
+ RTSeeSignalingBase.prototype.getAuthenticateParams = function (socket) {
201
+ var _a, _b, _c, _d;
202
+ var token = (_b = (_a = socket.handshake) === null || _a === void 0 ? void 0 : _a.query) === null || _b === void 0 ? void 0 : _b.token;
203
+ var id = (_d = (_c = socket.handshake) === null || _c === void 0 ? void 0 : _c.query) === null || _d === void 0 ? void 0 : _d.id;
204
+ console.log("get params", id, token);
205
+ if (!token && !id) {
206
+ console.log("Either id:string OR token: string are required params for signaling authentication!");
207
+ return null;
208
+ }
209
+ var authParams = {};
210
+ if (token) {
211
+ if (typeof token !== "string") {
212
+ console.log("Invalid token passed, has to be type of string. Token: ", token);
213
+ return null;
214
+ }
215
+ authParams.token = token;
216
+ }
217
+ if (id) {
218
+ if (typeof id !== "string") {
219
+ console.log("Invalid id passed, has to be type of string. id: ", id);
220
+ return null;
221
+ }
222
+ authParams.id = id;
223
+ }
224
+ return authParams;
225
+ };
226
+ RTSeeSignalingBase.prototype.getRoomClientsCount = function (roomName) {
227
+ if (!this.io) {
228
+ return 0;
229
+ }
230
+ var room = this.io.sockets.adapter.rooms.get(roomName);
231
+ if (!room) {
232
+ return 0;
233
+ }
234
+ return room.size || 0;
235
+ };
236
+ RTSeeSignalingBase.getCallRoomName = function (id) {
237
+ return callRoomPrefix + id;
238
+ };
239
+ RTSeeSignalingBase.getClientRoomName = function (clientId, roomId) {
240
+ return callRoomPrefix + roomId + clientRoomPrefix + clientId;
241
+ };
242
+ RTSeeSignalingBase.prototype.sendToRoom = function (roomId, event) {
243
+ var _a, _b;
244
+ if (event.data) {
245
+ var eventDataString = RTSeeSignalingBase.stringifyEventData(event);
246
+ if (!eventDataString) {
247
+ return;
248
+ }
249
+ (_a = this.io) === null || _a === void 0 ? void 0 : _a.to(roomId).emit(event.name, eventDataString);
250
+ }
251
+ else {
252
+ (_b = this.io) === null || _b === void 0 ? void 0 : _b.to(roomId).emit(event.name);
253
+ }
254
+ };
255
+ RTSeeSignalingBase.prototype.sendToIndividualRoom = function (clientId, eventName, data) {
256
+ var _a;
257
+ console.log("Sending to client: ", clientId);
258
+ (_a = this.io) === null || _a === void 0 ? void 0 : _a.to(RTSeeSignalingBase.getPersonalRoomName(clientId)).emit(eventName, data);
259
+ };
260
+ RTSeeSignalingBase.broadcast = function (socket, event, room) {
261
+ if (event.data) {
262
+ var eventDataString = RTSeeSignalingBase.stringifyEventData(event);
263
+ if (!eventDataString) {
264
+ return;
265
+ }
266
+ socket.broadcast.to(room).emit(event.name, eventDataString);
267
+ }
268
+ else {
269
+ socket.broadcast.to(room).emit(event.name);
270
+ }
271
+ };
272
+ RTSeeSignalingBase.stringifyEventData = function (event) {
273
+ if (event.data) {
274
+ try {
275
+ return JSON.stringify(event.data);
276
+ }
277
+ catch (e) {
278
+ console.log("Failed to stringify object: ", e);
279
+ return null;
280
+ }
281
+ }
282
+ };
283
+ RTSeeSignalingBase.getPersonalRoomName = function (id) {
284
+ return RTSEE_PREFIX + id;
285
+ };
286
+ return RTSeeSignalingBase;
287
+ }(events_1.EventEmitter));
288
+ exports.RTSeeSignalingBase = RTSeeSignalingBase;
289
+ //# sourceMappingURL=RTSeeSignalingBase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RTSeeSignalingBase.js","sourceRoot":"","sources":["../../../../src/models/RTSeeSignalingBase.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /// <reference types="node" />
2
+ import { SocketPeer } from "@rtsee/signaling";
3
+ import { EventEmitter } from "events";
4
+ export declare enum SocketConnectionsManagerEvents {
5
+ CONNECTIONS_COUNT_CHANGED = "rtsee_connections_count_changed",
6
+ CLIENT_CONNECTED = "rtsee_client_connected",
7
+ CLIENT_DISCONNECTED = "rtsee_client_disconnected"
8
+ }
9
+ export declare class RTSeeSocketConnectionsManager extends EventEmitter {
10
+ connections: SocketPeer[];
11
+ constructor();
12
+ attachEventHandlers(connection: SocketPeer): void;
13
+ add(connection: SocketPeer): void;
14
+ remove(connection: SocketPeer): void;
15
+ private getSocketDisconnectedHandler;
16
+ }
17
+ //# sourceMappingURL=RTSeeSocketConnectionsManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RTSeeSocketConnectionsManager.d.ts","sourceRoot":"","sources":["../../../../src/models/RTSeeSocketConnectionsManager.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,oBAAY,8BAA8B;IACxC,yBAAyB,oCAAoC;IAC7D,gBAAgB,2BAA2B;IAC3C,mBAAmB,8BAA8B;CAClD;AAED,qBAAa,6BAA8B,SAAQ,YAAY;IAC7D,WAAW,EAAE,UAAU,EAAE,CAAM;;IAM/B,mBAAmB,CAAC,UAAU,EAAE,UAAU;IAI1C,GAAG,CAAC,UAAU,EAAE,UAAU;IAO1B,MAAM,CAAC,UAAU,EAAE,UAAU;IAU7B,OAAO,CAAC,4BAA4B;CAKrC"}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ extendStatics(d, b);
11
+ function __() { this.constructor = d; }
12
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
+ };
14
+ })();
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.RTSeeSocketConnectionsManager = exports.SocketConnectionsManagerEvents = void 0;
17
+ var events_1 = require("events");
18
+ var SocketConnectionsManagerEvents;
19
+ (function (SocketConnectionsManagerEvents) {
20
+ SocketConnectionsManagerEvents["CONNECTIONS_COUNT_CHANGED"] = "rtsee_connections_count_changed";
21
+ SocketConnectionsManagerEvents["CLIENT_CONNECTED"] = "rtsee_client_connected";
22
+ SocketConnectionsManagerEvents["CLIENT_DISCONNECTED"] = "rtsee_client_disconnected";
23
+ })(SocketConnectionsManagerEvents = exports.SocketConnectionsManagerEvents || (exports.SocketConnectionsManagerEvents = {}));
24
+ var RTSeeSocketConnectionsManager = /** @class */ (function (_super) {
25
+ __extends(RTSeeSocketConnectionsManager, _super);
26
+ function RTSeeSocketConnectionsManager() {
27
+ var _this = _super.call(this) || this;
28
+ _this.connections = [];
29
+ return _this;
30
+ }
31
+ RTSeeSocketConnectionsManager.prototype.attachEventHandlers = function (connection) {
32
+ connection.on("disconnect", this.getSocketDisconnectedHandler(connection));
33
+ };
34
+ RTSeeSocketConnectionsManager.prototype.add = function (connection) {
35
+ this.connections.push(connection);
36
+ this.attachEventHandlers(connection);
37
+ this.emit(SocketConnectionsManagerEvents["CONNECTIONS_COUNT_CHANGED"]);
38
+ this.emit(SocketConnectionsManagerEvents["CLIENT_CONNECTED"], connection);
39
+ };
40
+ RTSeeSocketConnectionsManager.prototype.remove = function (connection) {
41
+ var index = this.connections.indexOf(connection);
42
+ this.connections.splice(index, 1);
43
+ this.emit(SocketConnectionsManagerEvents["CONNECTIONS_COUNT_CHANGED"]);
44
+ this.emit(SocketConnectionsManagerEvents["CLIENT_DISCONNECTED"], connection);
45
+ };
46
+ RTSeeSocketConnectionsManager.prototype.getSocketDisconnectedHandler = function (connection) {
47
+ var _this = this;
48
+ return function () {
49
+ _this.remove(connection);
50
+ };
51
+ };
52
+ return RTSeeSocketConnectionsManager;
53
+ }(events_1.EventEmitter));
54
+ exports.RTSeeSocketConnectionsManager = RTSeeSocketConnectionsManager;
55
+ //# sourceMappingURL=RTSeeSocketConnectionsManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RTSeeSocketConnectionsManager.js","sourceRoot":"","sources":["../../../../src/models/RTSeeSocketConnectionsManager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,iCAAsC;AAEtC,IAAY,8BAIX;AAJD,WAAY,8BAA8B;IACxC,+FAA6D,CAAA;IAC7D,6EAA2C,CAAA;IAC3C,mFAAiD,CAAA;AACnD,CAAC,EAJW,8BAA8B,GAA9B,sCAA8B,KAA9B,sCAA8B,QAIzC;AAED;IAAmD,iDAAY;IAG7D;QAAA,YACE,iBAAO,SACR;QAJD,iBAAW,GAAiB,EAAE,CAAC;;IAI/B,CAAC;IAED,2DAAmB,GAAnB,UAAoB,UAAsB;QACxC,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,4BAA4B,CAAC,UAAU,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED,2CAAG,GAAH,UAAI,UAAsB;QACxB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAClC,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI,CAAC,8BAA8B,CAAC,2BAA2B,CAAC,CAAC,CAAC;QACvE,IAAI,CAAC,IAAI,CAAC,8BAA8B,CAAC,kBAAkB,CAAC,EAAE,UAAU,CAAC,CAAC;IAC5E,CAAC;IAED,8CAAM,GAAN,UAAO,UAAsB;QAC3B,IAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACnD,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,8BAA8B,CAAC,2BAA2B,CAAC,CAAC,CAAC;QACvE,IAAI,CAAC,IAAI,CACP,8BAA8B,CAAC,qBAAqB,CAAC,EACrD,UAAU,CACX,CAAC;IACJ,CAAC;IAEO,oEAA4B,GAApC,UAAqC,UAAsB;QAA3D,iBAIC;QAHC,OAAO;YACL,KAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC1B,CAAC,CAAC;IACJ,CAAC;IACH,oCAAC;AAAD,CAAC,AAjCD,CAAmD,qBAAY,GAiC9D;AAjCY,sEAA6B"}
@@ -1,6 +1,6 @@
1
1
  import { Socket } from "socket.io";
2
2
  import { IPeer } from "@rtsee/core";
3
- export interface ISocketPeer extends Socket {
3
+ export declare class SocketPeer extends Socket {
4
4
  rtseePeer?: IPeer;
5
5
  }
6
6
  //# sourceMappingURL=SocketPeer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SocketPeer.d.ts","sourceRoot":"","sources":["../../../../src/models/SocketPeer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,qBAAa,UAAW,SAAQ,MAAM;IACpC,SAAS,CAAC,EAAE,KAAK,CAAC;CACnB"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ extendStatics(d, b);
11
+ function __() { this.constructor = d; }
12
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
+ };
14
+ })();
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.SocketPeer = void 0;
17
+ var socket_io_1 = require("socket.io");
18
+ var SocketPeer = /** @class */ (function (_super) {
19
+ __extends(SocketPeer, _super);
20
+ function SocketPeer() {
21
+ return _super !== null && _super.apply(this, arguments) || this;
22
+ }
23
+ return SocketPeer;
24
+ }(socket_io_1.Socket));
25
+ exports.SocketPeer = SocketPeer;
26
+ //# sourceMappingURL=SocketPeer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SocketPeer.js","sourceRoot":"","sources":["../../../../src/models/SocketPeer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uCAAmC;AAGnC;IAAgC,8BAAM;IAAtC;;IAEA,CAAC;IAAD,iBAAC;AAAD,CAAC,AAFD,CAAgC,kBAAM,GAErC;AAFY,gCAAU"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rtsee/signaling",
3
- "version": "0.0.18",
3
+ "version": "0.0.21",
4
4
  "license": "ISC",
5
5
  "private": false,
6
6
  "main": "dist/signaling/src/index",
@@ -26,6 +26,7 @@
26
26
  "devDependencies": {
27
27
  "@types/jest": "^26.0.24",
28
28
  "@types/node": "^16.3.1",
29
+ "@types/uuid": "^8.3.4",
29
30
  "@types/webrtc": "0.0.29",
30
31
  "@typescript-eslint/eslint-plugin": "^4.33.0",
31
32
  "@typescript-eslint/parser": "^4.33.0",
@@ -42,10 +43,11 @@
42
43
  "socket.io": "^4.1.2"
43
44
  },
44
45
  "dependencies": {
45
- "socket.io": "^4.1.2"
46
+ "socket.io": "^4.1.2",
47
+ "uuid": "^8.3.2"
46
48
  },
47
49
  "publishConfig": {
48
50
  "access": "public"
49
51
  },
50
- "gitHead": "6fb37b8b1a2d3c83a56dbdaad7f71d9a665bd94b"
52
+ "gitHead": "51404cfbe997e8c30fd2f2aa86d787f6d4439787"
51
53
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"SocketPeer.d.ts","sourceRoot":"","sources":["../../../../src/interfaces/SocketPeer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,MAAM,WAAW,WAAY,SAAQ,MAAM;IACzC,SAAS,CAAC,EAAE,KAAK,CAAC;CACnB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"SocketPeer.js","sourceRoot":"","sources":["../../../../src/interfaces/SocketPeer.ts"],"names":[],"mappings":""}