@rtsee/signaling-factory 0.0.26

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.
@@ -0,0 +1,3 @@
1
+ export * from "./models/RTSeeSignalingFactory";
2
+ export * from "./interfaces/RTSeeSignalingFactoryOptions";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2CAA2C,CAAC"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./models/RTSeeSignalingFactory"), exports);
14
+ __exportStar(require("./interfaces/RTSeeSignalingFactoryOptions"), exports);
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iEAA+C;AAC/C,4EAA0D"}
@@ -0,0 +1,21 @@
1
+ /// <reference types="node" />
2
+ import http from "http";
3
+ import * as SocketIO from "socket.io";
4
+ import { IPeer, ISocketPeer } from "@rtsee/core";
5
+ import { IRTSeeSignalingOptions, ISignalingAuthParams } from "@rtsee/signaling";
6
+ import { IRTSeeEventsManagerSignalingOptions } from "@rtsee/events-manager-signaling";
7
+ import { IRTSeeMessengerSignalingOptions } from "@rtsee/messenger-signaling";
8
+ export interface IRTSeeSignalingFactoryOptions {
9
+ wsAllowedOrigin?: string;
10
+ io?: SocketIO.Server;
11
+ server?: http.Server;
12
+ authenticate?: (options: ISignalingAuthParams) => Promise<IPeer>;
13
+ dashboardAuth?: (socket: ISocketPeer) => Promise<boolean>;
14
+ videoChatSignaling?: boolean;
15
+ messengerSignaling?: boolean;
16
+ eventsManagerSignaling?: boolean;
17
+ videoChatSignalingOptions?: IRTSeeSignalingOptions;
18
+ messengerSignalingOptions?: IRTSeeMessengerSignalingOptions;
19
+ eventsManagerSignalingOptions?: IRTSeeEventsManagerSignalingOptions;
20
+ }
21
+ //# sourceMappingURL=RTSeeSignalingFactoryOptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RTSeeSignalingFactoryOptions.d.ts","sourceRoot":"","sources":["../../../../src/interfaces/RTSeeSignalingFactoryOptions.ts"],"names":[],"mappings":";AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,QAAQ,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,mCAAmC,EAAE,MAAM,iCAAiC,CAAC;AACtF,OAAO,EAAE,+BAA+B,EAAE,MAAM,4BAA4B,CAAC;AAE7E,MAAM,WAAW,6BAA6B;IAC5C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,EAAE,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC;IAErB,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;IACjE,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAE1D,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAEjC,yBAAyB,CAAC,EAAE,sBAAsB,CAAC;IACnD,yBAAyB,CAAC,EAAE,+BAA+B,CAAC;IAC5D,6BAA6B,CAAC,EAAE,mCAAmC,CAAC;CACrE"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=RTSeeSignalingFactoryOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RTSeeSignalingFactoryOptions.js","sourceRoot":"","sources":["../../../../src/interfaces/RTSeeSignalingFactoryOptions.ts"],"names":[],"mappings":""}
@@ -0,0 +1,28 @@
1
+ /// <reference types="node" />
2
+ import * as SocketIO from "socket.io";
3
+ import { IRTSeeSignalingOptions, ISignalingAuthParams, RTSeeVideoChatSignaling } from "@rtsee/signaling";
4
+ import { RTSeeMessengerSignaling } from "@rtsee/messenger-signaling";
5
+ import { RTSeeEventsManagerSignaling } from "@rtsee/events-manager-signaling";
6
+ import { RTSeeEventsManager } from "@rtsee/events-manager";
7
+ import { IRTSeeSignalingFactoryOptions } from "@rtsee/signaling-factory";
8
+ import { IPeer, ISocketPeer } from "@rtsee/core";
9
+ import http from "http";
10
+ export declare class RTSeeSignalingFactory {
11
+ io?: SocketIO.Server;
12
+ server?: http.Server;
13
+ wsAllowedOrigin?: string;
14
+ authenticate?: (options: ISignalingAuthParams) => Promise<IPeer>;
15
+ dashboardAuth?: (socket: ISocketPeer) => Promise<boolean>;
16
+ eventsManager?: RTSeeEventsManager;
17
+ videoChatSignaling?: RTSeeVideoChatSignaling;
18
+ messengerSignaling?: RTSeeMessengerSignaling;
19
+ eventsManagerSignaling?: RTSeeEventsManagerSignaling;
20
+ constructor(options: IRTSeeSignalingFactoryOptions);
21
+ initVideoChatSignaling(options: IRTSeeSignalingFactoryOptions): void;
22
+ initMessengerSignaling(options: IRTSeeSignalingFactoryOptions): void;
23
+ initEventsManagerSignaling(options: IRTSeeSignalingFactoryOptions): void;
24
+ getSignalingServerOptions(options: IRTSeeSignalingOptions): IRTSeeSignalingOptions;
25
+ initSignalingServerOptions(options: IRTSeeSignalingOptions): IRTSeeSignalingOptions;
26
+ private defaultDashboardAuth;
27
+ }
28
+ //# sourceMappingURL=RTSeeSignalingFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RTSeeSignalingFactory.d.ts","sourceRoot":"","sources":["../../../../src/models/RTSeeSignalingFactory.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,QAAQ,MAAM,WAAW,CAAC;AACtC,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,uBAAuB,EACxB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,IAAI,MAAM,MAAM,CAAC;AAUxB,qBAAa,qBAAqB;IAChC,EAAE,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;IACjE,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1D,aAAa,CAAC,EAAE,kBAAkB,CAAC;IAEnC,kBAAkB,CAAC,EAAE,uBAAuB,CAAC;IAC7C,kBAAkB,CAAC,EAAE,uBAAuB,CAAC;IAC7C,sBAAsB,CAAC,EAAE,2BAA2B,CAAC;gBAEzC,OAAO,EAAE,6BAA6B;IA2BlD,sBAAsB,CAAC,OAAO,EAAE,6BAA6B;IAO7D,sBAAsB,CAAC,OAAO,EAAE,6BAA6B;IAO7D,0BAA0B,CAAC,OAAO,EAAE,6BAA6B;IAWjE,yBAAyB,CACvB,OAAO,EAAE,sBAAsB,GAC9B,sBAAsB;IAMzB,0BAA0B,CACxB,OAAO,EAAE,sBAAsB,GAC9B,sBAAsB;IAkCzB,OAAO,CAAC,oBAAoB;CAK7B"}
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.RTSeeSignalingFactory = void 0;
15
+ var signaling_1 = require("@rtsee/signaling");
16
+ var messenger_signaling_1 = require("@rtsee/messenger-signaling");
17
+ var events_manager_signaling_1 = require("@rtsee/events-manager-signaling");
18
+ var events_manager_1 = require("@rtsee/events-manager");
19
+ var DEFAULT_SERVER_OPTIONS = {
20
+ cors: {
21
+ origin: "",
22
+ methods: ["GET", "POST"],
23
+ credentials: true,
24
+ },
25
+ };
26
+ var RTSeeSignalingFactory = /** @class */ (function () {
27
+ function RTSeeSignalingFactory(options) {
28
+ if (options.io) {
29
+ this.io = options.io;
30
+ }
31
+ if (options.server) {
32
+ this.server = options.server;
33
+ }
34
+ if (options.authenticate) {
35
+ this.authenticate = options.authenticate;
36
+ }
37
+ if (options.dashboardAuth) {
38
+ this.dashboardAuth = options.dashboardAuth || this.defaultDashboardAuth;
39
+ }
40
+ if (options.wsAllowedOrigin) {
41
+ this.wsAllowedOrigin = options.wsAllowedOrigin;
42
+ }
43
+ if (options.videoChatSignaling) {
44
+ this.initVideoChatSignaling(options);
45
+ }
46
+ if (options.messengerSignaling) {
47
+ this.initMessengerSignaling(options);
48
+ }
49
+ if (options.eventsManagerSignaling) {
50
+ this.initEventsManagerSignaling(options);
51
+ }
52
+ }
53
+ RTSeeSignalingFactory.prototype.initVideoChatSignaling = function (options) {
54
+ this.videoChatSignaling = new signaling_1.RTSeeVideoChatSignaling(this.getSignalingServerOptions(options.videoChatSignalingOptions));
55
+ this.io = this.videoChatSignaling.io;
56
+ };
57
+ RTSeeSignalingFactory.prototype.initMessengerSignaling = function (options) {
58
+ this.messengerSignaling = new messenger_signaling_1.RTSeeMessengerSignaling(this.getSignalingServerOptions(options.messengerSignalingOptions));
59
+ this.io = this.messengerSignaling.io;
60
+ };
61
+ RTSeeSignalingFactory.prototype.initEventsManagerSignaling = function (options) {
62
+ this.eventsManager = new events_manager_1.RTSeeEventsManager({
63
+ isAllowedToAccessDashboard: this.dashboardAuth,
64
+ });
65
+ this.eventsManagerSignaling = new events_manager_signaling_1.RTSeeEventsManagerSignaling(__assign(__assign({}, this.getSignalingServerOptions(options.eventsManagerSignalingOptions)), { eventsManager: this.eventsManager }));
66
+ this.io = this.eventsManagerSignaling.io;
67
+ };
68
+ RTSeeSignalingFactory.prototype.getSignalingServerOptions = function (options) {
69
+ return this.io
70
+ ? __assign(__assign({}, options), { io: this.io }) : this.initSignalingServerOptions(options);
71
+ };
72
+ RTSeeSignalingFactory.prototype.initSignalingServerOptions = function (options) {
73
+ if (!this.wsAllowedOrigin) {
74
+ throw new Error("Argument wsAllowedOrigin is required for establishing new connection!");
75
+ }
76
+ var serverInitOptions = __assign({}, options);
77
+ if (!serverInitOptions.server && !serverInitOptions.server) {
78
+ serverInitOptions.server = this.server;
79
+ }
80
+ if (!serverInitOptions.serverOptions ||
81
+ !serverInitOptions.serverOptions.cors) {
82
+ serverInitOptions.serverOptions = {
83
+ cors: __assign(__assign({}, DEFAULT_SERVER_OPTIONS), { origin: this.wsAllowedOrigin }),
84
+ };
85
+ }
86
+ if (this.authenticate) {
87
+ serverInitOptions.authenticate = this.authenticate;
88
+ }
89
+ return serverInitOptions;
90
+ };
91
+ RTSeeSignalingFactory.prototype.defaultDashboardAuth = function () {
92
+ return new Promise(function (res) {
93
+ res(true);
94
+ });
95
+ };
96
+ return RTSeeSignalingFactory;
97
+ }());
98
+ exports.RTSeeSignalingFactory = RTSeeSignalingFactory;
99
+ //# sourceMappingURL=RTSeeSignalingFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RTSeeSignalingFactory.js","sourceRoot":"","sources":["../../../../src/models/RTSeeSignalingFactory.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,53 @@
1
+ {
2
+ "name": "@rtsee/signaling-factory",
3
+ "version": "0.0.26",
4
+ "license": "ISC",
5
+ "private": false,
6
+ "main": "dist/signaling-factory/src/index",
7
+ "types": "dist/signaling-factory/src/index",
8
+ "files": [
9
+ "dist/signaling-factory/src"
10
+ ],
11
+ "repository": {
12
+ "type": "git",
13
+ "url": "git@github.com:thewerf/rtsee.git",
14
+ "directory": "packages/@rtsee/signaling-factory"
15
+ },
16
+ "scripts": {
17
+ "prepublishOnly": "yarn build",
18
+ "clean": "rm -rf ./dist",
19
+ "build": "yarn clean && yarn compile",
20
+ "compile": "tsc -p tsconfig.json",
21
+ "lint-file:eslint": "yarn eslint",
22
+ "lint-file:prettier": "yarn prettier --check",
23
+ "lint:eslint": "yarn lint-file:eslint 'src/**/*.ts'",
24
+ "lint:prettier": "yarn lint-file:prettier './**/*.{ts,js,json,css,md}' --ignore-path ../../.prettierignore"
25
+ },
26
+ "devDependencies": {
27
+ "@types/jest": "^26.0.24",
28
+ "@types/node": "^16.3.1",
29
+ "@types/uuid": "^8.3.4",
30
+ "@types/webrtc": "0.0.29",
31
+ "@typescript-eslint/eslint-plugin": "^4.33.0",
32
+ "@typescript-eslint/parser": "^4.33.0",
33
+ "eslint": "^7.32.0",
34
+ "eslint-config-prettier": "^8.3.0",
35
+ "eslint-plugin-jest": "^23.1.1",
36
+ "jest": "^27.0.6",
37
+ "jest-watch-yarn-workspaces": "^1.1.0",
38
+ "prettier": "^2.3.2",
39
+ "ts-jest": "^27.0.3",
40
+ "typescript": "^3.7.2"
41
+ },
42
+ "peerDependencies": {
43
+ "socket.io": "^4.1.2"
44
+ },
45
+ "dependencies": {
46
+ "socket.io": "^4.1.2",
47
+ "uuid": "^8.3.2"
48
+ },
49
+ "publishConfig": {
50
+ "access": "public"
51
+ },
52
+ "gitHead": "8544ee8d1c0ad6ab30383180676bcdeac6c84a45"
53
+ }