@flashphoner/sfusdk 1.0.47 → 2.0.48

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 (206) hide show
  1. package/dist/examples/sfu.d.ts +13 -0
  2. package/dist/index.d.ts +6 -0
  3. package/dist/index.js +15 -0
  4. package/dist/index.js.map +1 -0
  5. package/dist/sdk/connection.d.ts +25 -0
  6. package/dist/sdk/connection.js +101 -0
  7. package/dist/sdk/connection.js.map +1 -0
  8. package/dist/sdk/constants.d.ts +355 -0
  9. package/dist/sdk/constants.js +190 -0
  10. package/dist/sdk/constants.js.map +1 -0
  11. package/dist/sdk/logger.d.ts +10 -0
  12. package/dist/sdk/logger.js +22 -0
  13. package/dist/sdk/logger.js.map +1 -0
  14. package/dist/sdk/notifier.d.ts +7 -0
  15. package/dist/sdk/notifier.js +52 -0
  16. package/dist/sdk/notifier.js.map +1 -0
  17. package/dist/sdk/promises.d.ts +11 -0
  18. package/{src/sdk/promise.js → dist/sdk/promises.js} +14 -13
  19. package/dist/sdk/promises.js.map +1 -0
  20. package/dist/sdk/room-extended.d.ts +13 -0
  21. package/dist/sdk/room-extended.js +112 -0
  22. package/dist/sdk/room-extended.js.map +1 -0
  23. package/dist/sdk/room.d.ts +30 -0
  24. package/dist/sdk/room.js +384 -0
  25. package/dist/sdk/room.js.map +1 -0
  26. package/dist/sdk/sfu-extended.d.ts +126 -0
  27. package/dist/sdk/sfu-extended.js +511 -0
  28. package/dist/sdk/sfu-extended.js.map +1 -0
  29. package/dist/sdk/sfu.d.ts +22 -0
  30. package/dist/sdk/sfu.js +136 -0
  31. package/dist/sdk/sfu.js.map +1 -0
  32. package/dist/src/index.d.ts +6 -0
  33. package/dist/src/sdk/connection.d.ts +25 -0
  34. package/dist/src/sdk/constants.d.ts +355 -0
  35. package/dist/src/sdk/logger.d.ts +10 -0
  36. package/dist/src/sdk/notifier.d.ts +7 -0
  37. package/dist/src/sdk/promises.d.ts +11 -0
  38. package/dist/src/sdk/room-extended.d.ts +13 -0
  39. package/dist/src/sdk/room.d.ts +30 -0
  40. package/dist/src/sdk/sfu-extended.d.ts +126 -0
  41. package/dist/src/sdk/sfu.d.ts +22 -0
  42. package/package.json +27 -27
  43. package/Gruntfile.js +0 -79
  44. package/README.md +0 -95
  45. package/dependencies/bootstrap/css/bootstrap-theme.css +0 -587
  46. package/dependencies/bootstrap/css/bootstrap-theme.css.map +0 -1
  47. package/dependencies/bootstrap/css/bootstrap-theme.min.css +0 -5
  48. package/dependencies/bootstrap/css/bootstrap.css +0 -6853
  49. package/dependencies/bootstrap/css/bootstrap.css.map +0 -1
  50. package/dependencies/bootstrap/css/bootstrap.min.css +0 -5
  51. package/dependencies/bootstrap/font-awesome/HELP-US-OUT.txt +0 -7
  52. package/dependencies/bootstrap/font-awesome/css/font-awesome.css +0 -2178
  53. package/dependencies/bootstrap/font-awesome/css/font-awesome.min.css +0 -4
  54. package/dependencies/bootstrap/font-awesome/fonts/FontAwesome.otf +0 -0
  55. package/dependencies/bootstrap/font-awesome/fonts/fontawesome-webfont.eot +0 -0
  56. package/dependencies/bootstrap/font-awesome/fonts/fontawesome-webfont.svg +0 -685
  57. package/dependencies/bootstrap/font-awesome/fonts/fontawesome-webfont.ttf +0 -0
  58. package/dependencies/bootstrap/font-awesome/fonts/fontawesome-webfont.woff +0 -0
  59. package/dependencies/bootstrap/font-awesome/fonts/fontawesome-webfont.woff2 +0 -0
  60. package/dependencies/bootstrap/font-awesome/less/animated.less +0 -34
  61. package/dependencies/bootstrap/font-awesome/less/bordered-pulled.less +0 -25
  62. package/dependencies/bootstrap/font-awesome/less/core.less +0 -12
  63. package/dependencies/bootstrap/font-awesome/less/fixed-width.less +0 -6
  64. package/dependencies/bootstrap/font-awesome/less/font-awesome.less +0 -18
  65. package/dependencies/bootstrap/font-awesome/less/icons.less +0 -724
  66. package/dependencies/bootstrap/font-awesome/less/larger.less +0 -13
  67. package/dependencies/bootstrap/font-awesome/less/list.less +0 -19
  68. package/dependencies/bootstrap/font-awesome/less/mixins.less +0 -60
  69. package/dependencies/bootstrap/font-awesome/less/path.less +0 -15
  70. package/dependencies/bootstrap/font-awesome/less/rotated-flipped.less +0 -20
  71. package/dependencies/bootstrap/font-awesome/less/screen-reader.less +0 -5
  72. package/dependencies/bootstrap/font-awesome/less/stacked.less +0 -20
  73. package/dependencies/bootstrap/font-awesome/less/variables.less +0 -735
  74. package/dependencies/bootstrap/font-awesome/scss/_animated.scss +0 -34
  75. package/dependencies/bootstrap/font-awesome/scss/_bordered-pulled.scss +0 -25
  76. package/dependencies/bootstrap/font-awesome/scss/_core.scss +0 -12
  77. package/dependencies/bootstrap/font-awesome/scss/_fixed-width.scss +0 -6
  78. package/dependencies/bootstrap/font-awesome/scss/_icons.scss +0 -724
  79. package/dependencies/bootstrap/font-awesome/scss/_larger.scss +0 -13
  80. package/dependencies/bootstrap/font-awesome/scss/_list.scss +0 -19
  81. package/dependencies/bootstrap/font-awesome/scss/_mixins.scss +0 -60
  82. package/dependencies/bootstrap/font-awesome/scss/_path.scss +0 -15
  83. package/dependencies/bootstrap/font-awesome/scss/_rotated-flipped.scss +0 -20
  84. package/dependencies/bootstrap/font-awesome/scss/_screen-reader.scss +0 -5
  85. package/dependencies/bootstrap/font-awesome/scss/_stacked.scss +0 -20
  86. package/dependencies/bootstrap/font-awesome/scss/_variables.scss +0 -735
  87. package/dependencies/bootstrap/font-awesome/scss/font-awesome.scss +0 -18
  88. package/dependencies/bootstrap/fonts/FontAwesome.otf +0 -0
  89. package/dependencies/bootstrap/fonts/fontawesome-webfont.eot +0 -0
  90. package/dependencies/bootstrap/fonts/fontawesome-webfont.svg +0 -655
  91. package/dependencies/bootstrap/fonts/fontawesome-webfont.ttf +0 -0
  92. package/dependencies/bootstrap/fonts/fontawesome-webfont.woff +0 -0
  93. package/dependencies/bootstrap/fonts/fontawesome-webfont.woff2 +0 -0
  94. package/dependencies/bootstrap/fonts/glyphicons-halflings-regular.eot +0 -0
  95. package/dependencies/bootstrap/fonts/glyphicons-halflings-regular.svg +0 -288
  96. package/dependencies/bootstrap/fonts/glyphicons-halflings-regular.ttf +0 -0
  97. package/dependencies/bootstrap/fonts/glyphicons-halflings-regular.woff +0 -0
  98. package/dependencies/bootstrap/fonts/glyphicons-halflings-regular.woff2 +0 -0
  99. package/dependencies/bootstrap/icons/font-awesome.min.css +0 -4
  100. package/dependencies/bootstrap/js/bootstrap.js +0 -2363
  101. package/dependencies/bootstrap/js/bootstrap.min.js +0 -7
  102. package/dependencies/bootstrap/js/npm.js +0 -13
  103. package/dependencies/bootstrap/js/switch.js +0 -85
  104. package/dependencies/jquery/jquery-1.12.0.js +0 -11027
  105. package/dependencies/jquery/jquery-ui.js +0 -16617
  106. package/dependencies/jquery/jquery.js +0 -8981
  107. package/dependencies/jquery/jquery.json.js +0 -199
  108. package/dependencies/jquery/jquery.websocket.js +0 -61
  109. package/dependencies/sigma/sigma.layout.forceAtlas2.min.js +0 -1
  110. package/dependencies/sigma/sigma.layout.noverlap.min.js +0 -1
  111. package/dependencies/sigma/sigma.min.js +0 -2
  112. package/dependencies/sigma/sigma.plugins.relativeSize.min.js +0 -1
  113. package/dependencies/sigma/sigma.renderers.edgeLabels.min.js +0 -1
  114. package/dependencies/sigma/sigma.renderers.parallelEdges.min.js +0 -1
  115. package/dependencies/sigma/sigma.require.js +0 -12076
  116. package/docTemplate/README.md +0 -5
  117. package/docTemplate/publish.js +0 -654
  118. package/docTemplate/static/fonts/OpenSans-Bold-webfont.eot +0 -0
  119. package/docTemplate/static/fonts/OpenSans-Bold-webfont.svg +0 -1830
  120. package/docTemplate/static/fonts/OpenSans-Bold-webfont.woff +0 -0
  121. package/docTemplate/static/fonts/OpenSans-BoldItalic-webfont.eot +0 -0
  122. package/docTemplate/static/fonts/OpenSans-BoldItalic-webfont.svg +0 -1830
  123. package/docTemplate/static/fonts/OpenSans-BoldItalic-webfont.woff +0 -0
  124. package/docTemplate/static/fonts/OpenSans-Italic-webfont.eot +0 -0
  125. package/docTemplate/static/fonts/OpenSans-Italic-webfont.svg +0 -1830
  126. package/docTemplate/static/fonts/OpenSans-Italic-webfont.woff +0 -0
  127. package/docTemplate/static/fonts/OpenSans-Light-webfont.eot +0 -0
  128. package/docTemplate/static/fonts/OpenSans-Light-webfont.svg +0 -1831
  129. package/docTemplate/static/fonts/OpenSans-Light-webfont.woff +0 -0
  130. package/docTemplate/static/fonts/OpenSans-LightItalic-webfont.eot +0 -0
  131. package/docTemplate/static/fonts/OpenSans-LightItalic-webfont.svg +0 -1835
  132. package/docTemplate/static/fonts/OpenSans-LightItalic-webfont.woff +0 -0
  133. package/docTemplate/static/fonts/OpenSans-Regular-webfont.eot +0 -0
  134. package/docTemplate/static/fonts/OpenSans-Regular-webfont.svg +0 -1831
  135. package/docTemplate/static/fonts/OpenSans-Regular-webfont.woff +0 -0
  136. package/docTemplate/static/scripts/linenumber.js +0 -25
  137. package/docTemplate/static/scripts/prettify/Apache-License-2.0.txt +0 -202
  138. package/docTemplate/static/scripts/prettify/lang-css.js +0 -2
  139. package/docTemplate/static/scripts/prettify/prettify.js +0 -28
  140. package/docTemplate/static/styles/jsdoc-default.css +0 -354
  141. package/docTemplate/static/styles/prettify-jsdoc.css +0 -111
  142. package/docTemplate/static/styles/prettify-tomorrow.css +0 -132
  143. package/docTemplate/tmpl/augments.tmpl +0 -10
  144. package/docTemplate/tmpl/container.tmpl +0 -183
  145. package/docTemplate/tmpl/details.tmpl +0 -143
  146. package/docTemplate/tmpl/example.tmpl +0 -2
  147. package/docTemplate/tmpl/examples.tmpl +0 -13
  148. package/docTemplate/tmpl/exceptions.tmpl +0 -32
  149. package/docTemplate/tmpl/layout.tmpl +0 -38
  150. package/docTemplate/tmpl/mainpage.tmpl +0 -14
  151. package/docTemplate/tmpl/members.tmpl +0 -38
  152. package/docTemplate/tmpl/method.tmpl +0 -105
  153. package/docTemplate/tmpl/params.tmpl +0 -124
  154. package/docTemplate/tmpl/properties.tmpl +0 -108
  155. package/docTemplate/tmpl/returns.tmpl +0 -19
  156. package/docTemplate/tmpl/source.tmpl +0 -8
  157. package/docTemplate/tmpl/tutorial.tmpl +0 -19
  158. package/docTemplate/tmpl/type.tmpl +0 -7
  159. package/src/examples/client/chat.js +0 -67
  160. package/src/examples/client/config.json +0 -26
  161. package/src/examples/client/controls.js +0 -314
  162. package/src/examples/client/display.js +0 -502
  163. package/src/examples/client/main.css +0 -45
  164. package/src/examples/client/main.html +0 -220
  165. package/src/examples/client/main.js +0 -156
  166. package/src/examples/client/resources/details_close.png +0 -0
  167. package/src/examples/client/resources/details_open.png +0 -0
  168. package/src/examples/client/util.js +0 -67
  169. package/src/examples/commons/js/config.js +0 -81
  170. package/src/examples/commons/js/display.js +0 -484
  171. package/src/examples/commons/js/util.js +0 -202
  172. package/src/examples/commons/media/silence.mp3 +0 -0
  173. package/src/examples/controller/dependencies/sigma/sigma.renderers.edgeLabels.min.js +0 -1
  174. package/src/examples/controller/dependencies/sigma/sigma.renderers.parallelEdges.min.js +0 -1
  175. package/src/examples/controller/dependencies/sigma/sigma.require.js +0 -12076
  176. package/src/examples/controller/graph-view.js +0 -32
  177. package/src/examples/controller/main.css +0 -45
  178. package/src/examples/controller/main.html +0 -79
  179. package/src/examples/controller/main.js +0 -65
  180. package/src/examples/controller/parser.js +0 -202
  181. package/src/examples/controller/resources/details_close.png +0 -0
  182. package/src/examples/controller/resources/details_open.png +0 -0
  183. package/src/examples/controller/rest.js +0 -56
  184. package/src/examples/controller/table-view.js +0 -64
  185. package/src/examples/controller/test-data.js +0 -382
  186. package/src/examples/player/config.json +0 -8
  187. package/src/examples/player/player.css +0 -19
  188. package/src/examples/player/player.html +0 -54
  189. package/src/examples/player/player.js +0 -209
  190. package/src/examples/two-way-streaming/config.json +0 -34
  191. package/src/examples/two-way-streaming/two-way-streaming.css +0 -26
  192. package/src/examples/two-way-streaming/two-way-streaming.html +0 -72
  193. package/src/examples/two-way-streaming/two-way-streaming.js +0 -375
  194. package/src/sdk/constants.js +0 -514
  195. package/src/sdk/logger.js +0 -16
  196. package/src/sdk/room.js +0 -594
  197. package/src/sdk/sfu-extended.js +0 -843
  198. package/src/sdk/sfu.js +0 -208
  199. package/src/sdk/ws.js +0 -113
  200. package/src/tests/assets/1.jpeg +0 -0
  201. package/src/tests/lib/rtcaudiosourcesinewave.js +0 -109
  202. package/src/tests/lib/rtcvideosourcewrapper.js +0 -28
  203. package/src/tests/sdk/room.test.js +0 -229
  204. package/src/tests/sdk/sfu-extended.test.js +0 -265
  205. package/src/tests/sdk/sfu-extended.test.js_ +0 -265
  206. package/src/tests/util.js +0 -48
@@ -0,0 +1,136 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
12
+ if (kind === "m") throw new TypeError("Private method is not writable");
13
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
14
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
15
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
16
+ };
17
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
18
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
19
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
20
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
21
+ };
22
+ var _Sfu_connection, _Sfu_url, _Sfu__nickname, _Sfu__state, _Sfu__room, _Sfu_notifier;
23
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ exports.Sfu = void 0;
25
+ const connection_1 = require("./connection");
26
+ const constants_1 = require("./constants");
27
+ const notifier_1 = require("./notifier");
28
+ const room_1 = require("./room");
29
+ class Sfu {
30
+ constructor() {
31
+ _Sfu_connection.set(this, void 0);
32
+ _Sfu_url.set(this, void 0);
33
+ _Sfu__nickname.set(this, void 0);
34
+ _Sfu__state.set(this, constants_1.State.NEW);
35
+ _Sfu__room.set(this, void 0);
36
+ //TODO(naz): Provide union instead of InternalMessage
37
+ _Sfu_notifier.set(this, new notifier_1.Notifier());
38
+ }
39
+ connect(options) {
40
+ if (!options) {
41
+ throw new TypeError("No options provided");
42
+ }
43
+ __classPrivateFieldSet(this, _Sfu_url, options.url, "f");
44
+ __classPrivateFieldSet(this, _Sfu__nickname, options.nickname, "f");
45
+ const connectionConfig = {
46
+ url: options.url,
47
+ appName: constants_1.InternalApi.P_APP,
48
+ timeout: options.timeout ? options.timeout : 10000,
49
+ custom: {
50
+ nickname: options.nickname,
51
+ //TODO(naz): rename to logGroup
52
+ roomName: options.logGroup
53
+ }
54
+ };
55
+ const self = this;
56
+ return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
57
+ __classPrivateFieldSet(self, _Sfu_connection, new connection_1.Connection((name, data) => {
58
+ switch (name) {
59
+ case constants_1.InternalApi.DEFAULT_METHOD:
60
+ if (data[0].roomName && data[0].roomName.length > 0) {
61
+ //room event
62
+ if (__classPrivateFieldGet(this, _Sfu__room, "f")) {
63
+ __classPrivateFieldGet(this, _Sfu__room, "f").processEvent(data[0]);
64
+ }
65
+ }
66
+ else {
67
+ __classPrivateFieldGet(this, _Sfu_notifier, "f").notify(data[0].type, data[0]);
68
+ }
69
+ break;
70
+ case "failed":
71
+ __classPrivateFieldGet(this, _Sfu_notifier, "f").notify(constants_1.SfuEvent.FAILED, data[0]);
72
+ break;
73
+ }
74
+ }, (e) => {
75
+ __classPrivateFieldSet(self, _Sfu__state, constants_1.State.FAILED, "f");
76
+ __classPrivateFieldGet(self, _Sfu_notifier, "f").notify(constants_1.SfuEvent.FAILED, e);
77
+ reject(e);
78
+ }, () => {
79
+ __classPrivateFieldSet(self, _Sfu__state, constants_1.State.DISCONNECTED, "f");
80
+ __classPrivateFieldGet(self, _Sfu_notifier, "f").notify(constants_1.SfuEvent.DISCONNECTED);
81
+ }), "f");
82
+ yield __classPrivateFieldGet(this, _Sfu_connection, "f").connect(connectionConfig);
83
+ __classPrivateFieldSet(self, _Sfu__state, constants_1.State.CONNECTED, "f");
84
+ __classPrivateFieldGet(this, _Sfu_notifier, "f").notify(constants_1.SfuEvent.CONNECTED);
85
+ resolve();
86
+ }));
87
+ }
88
+ ;
89
+ createRoom(options) {
90
+ if (__classPrivateFieldGet(this, _Sfu__room, "f")) {
91
+ switch (__classPrivateFieldGet(this, _Sfu__room, "f").state()) {
92
+ case constants_1.RoomState.NEW:
93
+ case constants_1.RoomState.JOINED:
94
+ case constants_1.RoomState.PENDING:
95
+ throw new Error("Only one room at a time, already have one with state " + __classPrivateFieldGet(this, _Sfu__room, "f").state());
96
+ case constants_1.RoomState.FAILED:
97
+ case constants_1.RoomState.DISPOSED:
98
+ __classPrivateFieldSet(this, _Sfu__room, new room_1.Room(__classPrivateFieldGet(this, _Sfu_connection, "f"), options.pc, options.name, options.pin), "f");
99
+ break;
100
+ default:
101
+ throw new Error("Unknown room state " + __classPrivateFieldGet(this, _Sfu__room, "f").state());
102
+ }
103
+ }
104
+ else {
105
+ __classPrivateFieldSet(this, _Sfu__room, new room_1.Room(__classPrivateFieldGet(this, _Sfu_connection, "f"), options.pc, options.name, options.pin), "f");
106
+ }
107
+ return __classPrivateFieldGet(this, _Sfu__room, "f");
108
+ }
109
+ disconnect() {
110
+ if (__classPrivateFieldGet(this, _Sfu_connection, "f")) {
111
+ __classPrivateFieldGet(this, _Sfu_connection, "f").close();
112
+ }
113
+ }
114
+ room() {
115
+ return __classPrivateFieldGet(this, _Sfu__room, "f");
116
+ }
117
+ nickname() {
118
+ return __classPrivateFieldGet(this, _Sfu__nickname, "f");
119
+ }
120
+ state() {
121
+ return __classPrivateFieldGet(this, _Sfu__state, "f");
122
+ }
123
+ on(event, callback) {
124
+ __classPrivateFieldGet(this, _Sfu_notifier, "f").add(event, callback);
125
+ return this;
126
+ }
127
+ ;
128
+ off(event, callback) {
129
+ __classPrivateFieldGet(this, _Sfu_notifier, "f").remove(event, callback);
130
+ return this;
131
+ }
132
+ ;
133
+ }
134
+ exports.Sfu = Sfu;
135
+ _Sfu_connection = new WeakMap(), _Sfu_url = new WeakMap(), _Sfu__nickname = new WeakMap(), _Sfu__state = new WeakMap(), _Sfu__room = new WeakMap(), _Sfu_notifier = new WeakMap();
136
+ //# sourceMappingURL=sfu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sfu.js","sourceRoot":"","sources":["../../src/sdk/sfu.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { Sfu } from "./sdk/sfu";
2
+ import { SfuExtended } from "./sdk/sfu-extended";
3
+ import { SfuEvent, RoomEvent, State, RoomState } from "./sdk/constants";
4
+ export declare const sfu: Sfu;
5
+ export declare const sfuExtended: SfuExtended;
6
+ export { Sfu, SfuExtended, SfuEvent, RoomEvent, State, RoomState };
@@ -0,0 +1,25 @@
1
+ import { InternalMessage } from "./constants";
2
+ declare type InitialUserData = {
3
+ sipLogin: string;
4
+ sipVisibleName: string;
5
+ pmi: string;
6
+ };
7
+ declare type OnMessageCallback = (arg0: string, arg1: Array<InternalMessage>) => void;
8
+ export declare class Connection {
9
+ private ws;
10
+ private onError;
11
+ private onClose;
12
+ private onMessage;
13
+ private connected;
14
+ private connectionTimeout;
15
+ constructor(onMessage: OnMessageCallback, onError: Function, onClose: Function);
16
+ connect(options: {
17
+ url: string;
18
+ appName: string;
19
+ timeout: number;
20
+ custom: object | null;
21
+ }): Promise<InitialUserData>;
22
+ send(message: string, data: any): void;
23
+ close(): void;
24
+ }
25
+ export {};
@@ -0,0 +1,355 @@
1
+ export declare enum SfuEvent {
2
+ CONNECTED = "CONNECTED",
3
+ FAILED = "FAILED",
4
+ DISCONNECTED = "DISCONNECTED",
5
+ MESSAGE = "MESSAGE",
6
+ USER_LIST = "USER_LIST",
7
+ USER_CHATS = "USER_CHATS",
8
+ CHAT_LOADED = "CHAT_LOADED",
9
+ NEW_CHAT = "NEW_CHAT",
10
+ CHAT_DELETED = "CHAT_DELETED",
11
+ CHAT_UPDATED = "CHAT_UPDATED",
12
+ MESSAGE_STATE = "MESSAGE_STATE",
13
+ CONTACT_UPDATE = "CONTACT_UPDATE",
14
+ CONTACT_REMOVED = "CONTACT_REMOVED",
15
+ CONTACT_INVITE = "CONTACT_INVITE",
16
+ PUBLIC_CHANNELS = "PUBLIC_CHANNELS",
17
+ USER_CALENDAR = "USER_CALENDAR",
18
+ ACK = "ACK"
19
+ }
20
+ export declare enum RoomEvent {
21
+ CREATED = "CREATED",
22
+ FAILED = "FAILED",
23
+ ADD_TRACKS = "ADD_TRACKS",
24
+ REMOVE_TRACKS = "REMOVE_TRACKS",
25
+ MESSAGE = "MESSAGE",
26
+ CONTROL_MESSAGE = "CONTROL_MESSAGE",
27
+ JOINED = "JOINED",
28
+ LEFT = "LEFT",
29
+ DETACHED = "DETACHED",
30
+ EVICTED = "EVICTED",
31
+ REMOTE_SDP = "REMOTE_SDP",
32
+ TRACK_QUALITY_STATE = "TRACK_QUALITY_STATE",
33
+ OPERATION_FAILED = "OPERATION_FAILED",
34
+ WAITING_LIST = "SFU_WAITING_LIST",
35
+ WAITING_ROOM_UPDATE = "SFU_WAITING_ROOM_UPDATE",
36
+ MUTE_TRACKS = "MUTE_TRACKS",
37
+ PARTICIPANT_LIST = "PARTICIPANT_LIST",
38
+ ROLE_ASSIGNED = "ROLE_ASSIGNED"
39
+ }
40
+ export declare enum State {
41
+ NEW = "NEW",
42
+ PENDING = "PENDING",
43
+ CONNECTED = "CONNECTED",
44
+ AUTHENTICATED = "AUTHENTICATED",
45
+ DISCONNECTED = "DISCONNECTED",
46
+ FAILED = "FAILED"
47
+ }
48
+ export declare enum RoomState {
49
+ NEW = "NEW",
50
+ PENDING = "PENDING",
51
+ JOINED = "JOINED",
52
+ FAILED = "FAILED",
53
+ DISPOSED = "DISPOSED"
54
+ }
55
+ export declare enum Operations {
56
+ ROOM_CREATE = "ROOM_CREATE",
57
+ ROOM_JOIN = "ROOM_JOIN",
58
+ ROOM_DESTROY = "ROOM_DESTROY",
59
+ SEND_MESSAGE = "SEND_MESSAGE",
60
+ USER_LIST = "USER_LIST",
61
+ USER_CALENDAR = "USER_CALENDAR",
62
+ ADD_CALENDAR_EVENT = "ADD_CALENDAR_EVENT",
63
+ REMOVE_CALENDAR_EVENT = "REMOVE_CALENDAR_EVENT",
64
+ ROOM_UPDATE = "ROOM_UPDATE",
65
+ MUTE_TRACKS = "MUTE_TRACKS",
66
+ ASSIGN_ROLE = "ASSIGN_ROLE",
67
+ SUBSCRIBE_TO_WAITING_PARTICIPANT = "SUBSCRIBE_TO_WAITING_PARTICIPANT",
68
+ UNSUBSCRIBE_FROM_WAITING_PARTICIPANT = "UNSUBSCRIBE_FROM_WAITING_PARTICIPANT",
69
+ MOVE_TO_WAITING_ROOM = "MOVE_TO_WAITING_ROOM",
70
+ CREATE_CHAT = "CREATE_CHAT",
71
+ DELETE_CHAT = "DELETE_CHAT",
72
+ RENAME_CHAT = "RENAME_CHAT",
73
+ LOAD_CHAT = "LOAD_CHAT",
74
+ ADD_MEMBER_TO_CHAT = "ADD_MEMBER_TO_CHAT",
75
+ REMOVE_MEMBER_FROM_CHAT = "REMOVE_MEMBER_FROM_CHAT",
76
+ UPDATE_CHAT_PREFERENCES = "UPDATE_CHAT_PREFERENCES",
77
+ GET_USER_CHATS = "GET_USER_CHATS"
78
+ }
79
+ export declare enum ParticipantRole {
80
+ OWNER = "OWNER",
81
+ ADMIN = "ADMIN",
82
+ PARTICIPANT = "PARTICIPANT"
83
+ }
84
+ export declare enum TrackType {
85
+ AUDIO = "AUDIO",
86
+ VIDEO = "VIDEO"
87
+ }
88
+ export declare enum InternalApi {
89
+ Z_APP = "sfuZClientApp",
90
+ P_APP = "sfuApp",
91
+ DEFAULT_METHOD = "sfuCallback",
92
+ JOIN_ROOM = "joinRoom",
93
+ CREATE_ROOM = "createRoom",
94
+ UPDATE_ROOM_STATE = "updateRoomState",
95
+ DESTROY_ROOM = "destroyRoom",
96
+ LEAVE_ROOM = "leaveRoom",
97
+ CHANGE_QUALITY = "changeQuality",
98
+ AUTHORIZE_WAITING_LIST = "authorizeWaitingList",
99
+ MESSAGE = "SFU_MESSAGE",
100
+ MESSAGE_STATE = "SFU_MESSAGE_STATE",
101
+ USER_LIST = "SFU_USER_LIST",
102
+ USER_CALENDAR = "SFU_USER_CALENDAR",
103
+ USER_CHATS = "SFU_USER_CHATS",
104
+ PUBLIC_CHANNELS = "SFU_PUBLIC_CHANNELS",
105
+ CHAT_LOADED = "SFU_CHAT_LOADED",
106
+ NEW_CHAT = "SFU_NEW_CHAT",
107
+ CHAT_DELETED = "SFU_CHAT_DELETED",
108
+ CHAT_UPDATED = "SFU_UPDATE_CHAT",
109
+ CONTACT_UPDATED = "SFU_CONTACT_UPDATE",
110
+ CONTACT_INVITE = "SFU_CONTACT_INVITE",
111
+ CONTACT_REMOVED = "SFU_CONTACT_REMOVED",
112
+ GET_USER_LIST = "getUserList",
113
+ GET_USER_CALENDAR = "getUserCalendar",
114
+ ADD_CALENDAR_EVENT = "addCalendarEvent",
115
+ REMOVE_CALENDAR_EVENT = "removeCalendarEvent",
116
+ MUTE_TRACK = "muteTrack",
117
+ SEND_MESSAGE = "sendMessage",
118
+ SEND_CONTROL_MESSAGE = "sendControlMessage",
119
+ MARK_MESSAGE_READ = "markMessageRead",
120
+ MARK_MESSAGE_UNREAD = "markMessageUnread",
121
+ INVITE_CONTACT = "inviteContact",
122
+ REMOVE_CONTACT = "removeContact",
123
+ CONFIRM_CONTACT = "confirmContact",
124
+ ASSIGN_ROLE = "assignRole",
125
+ SUBSCRIBE_TO_WAITING_PARTICIPANT = "subscribeToWaitingParticipant",
126
+ UNSUBSCRIBE_FROM_WAITING_PARTICIPANT = "unsubscribeFromWaitingParticipant",
127
+ MOVE_TO_WAITING_ROOM = "moveToWaitingRoom",
128
+ CONFIGURE_WAITING_ROOM = "configureWaitingRoom",
129
+ TRACK_CONTENT_HEADER = "a=content =",
130
+ GET_USER_CHATS = "getUserChats",
131
+ GET_PUBLIC_CHANNELS = "getPublicChannels",
132
+ LOAD_CHAT = "loadChat",
133
+ CREATE_CHAT = "createChat",
134
+ DELETE_CHAT = "deleteChat",
135
+ RENAME_CHAT = "renameChat",
136
+ ADD_MEMBER_TO_CHAT = "addMemberToChat",
137
+ REMOVE_MEMBER_FROM_CHAT = "removeMemberFromChat",
138
+ UPDATE_CHANNEL_SEND_POLICY = "updateChannelSendPolicy",
139
+ ADD_CHANNEL_SEND_PERMISSION_LIST_MEMBER = "addChannelSendPermissionListMember",
140
+ REMOVE_CHANNEL_SEND_PERMISSION_LIST_MEMBER = "removeChannelSendPermissionListMember",
141
+ ADD_CHAT_TO_FAVOURITES = "addChatToFavourites",
142
+ REMOVE_CHAT_FROM_FAVOURITES = "removeChatFromFavourites"
143
+ }
144
+ export declare type InternalMessage = {
145
+ type: SfuEvent | RoomEvent | InternalApi;
146
+ roomName: string;
147
+ internalMessageId: string;
148
+ };
149
+ export declare type OperationFailed = InternalMessage & {
150
+ operation: Operations;
151
+ error: string;
152
+ info: any;
153
+ };
154
+ export declare type RoomMessage = InternalMessage & {
155
+ message: {
156
+ nickName: string;
157
+ message: string;
158
+ };
159
+ };
160
+ export declare type FragmentedMessage = {
161
+ id: string;
162
+ last: boolean;
163
+ payload: string;
164
+ };
165
+ export declare enum RemoteSdpType {
166
+ OFFER = "offer",
167
+ ANSWER = "answer"
168
+ }
169
+ export declare type RemoteSdp = InternalMessage & {
170
+ info: {
171
+ sdp: string;
172
+ type: RemoteSdpType;
173
+ };
174
+ };
175
+ export declare type RoleAssigned = InternalMessage & {
176
+ name: string;
177
+ role: ParticipantRole;
178
+ };
179
+ export declare type CreatedRoom = InternalMessage & {
180
+ inviteId: string;
181
+ };
182
+ export declare type JoinedRoom = InternalMessage & {
183
+ name: string;
184
+ };
185
+ export declare type LeftRoom = InternalMessage & {
186
+ name: string;
187
+ };
188
+ export declare type AddRemoveTracks = InternalMessage & {
189
+ info: {
190
+ nickName: string;
191
+ waitingRoom: boolean;
192
+ info: Array<{
193
+ id: string;
194
+ type: TrackType;
195
+ contentType: string;
196
+ mid: string;
197
+ quality: Array<string>;
198
+ mute: boolean;
199
+ }>;
200
+ };
201
+ };
202
+ export declare type WaitingRoomUpdate = InternalMessage & {
203
+ enabled: boolean;
204
+ };
205
+ export declare enum MessageState {
206
+ NO_DELIVERY_NO_READ = "NO_DELIVERY_NO_READ",
207
+ PARTIAL_DELIVERY_NO_READ = "PARTIAL_DELIVERY_NO_READ",
208
+ PARTIAL_DELIVERY_PARTIAL_READ = "PARTIAL_DELIVERY_PARTIAL_READ",
209
+ FULL_DELIVERY_NO_READ = "FULL_DELIVERY_NO_READ",
210
+ FULL_DELIVERY_PARTIAL_READ = "FULL_DELIVERY_PARTIAL_READ",
211
+ FULL_DELIVERY_FULL_READ = "FULL_DELIVERY_FULL_READ"
212
+ }
213
+ export declare type MessageStatus = {
214
+ id: string;
215
+ chatId: string;
216
+ delivered: boolean;
217
+ state: MessageState;
218
+ lastReadMessageId: string;
219
+ info: string;
220
+ date: number;
221
+ };
222
+ export declare enum MessageAttachmentType {
223
+ file = "file",
224
+ picture = "picture"
225
+ }
226
+ export declare type MessageAttachment = {
227
+ type: MessageAttachmentType;
228
+ name: string;
229
+ size: number;
230
+ payload: string;
231
+ };
232
+ export declare type Message = {
233
+ id: string;
234
+ chatId: string;
235
+ date: number;
236
+ from: string;
237
+ to?: string;
238
+ status: MessageState;
239
+ body: string;
240
+ attachments: Array<MessageAttachment>;
241
+ };
242
+ export declare type SfuMessageEvent = InternalMessage & {
243
+ message: Message;
244
+ };
245
+ export declare type MessageStatusEvent = InternalMessage & {
246
+ status: MessageStatus;
247
+ };
248
+ export declare enum UserState {
249
+ OFFLINE = "OFFLINE",
250
+ ONLINE = "ONLINE"
251
+ }
252
+ export declare type Invite = InternalMessage & {
253
+ id: string;
254
+ from: string;
255
+ to: string;
256
+ };
257
+ export declare type User = {
258
+ state: UserState;
259
+ id: string;
260
+ nickname: string;
261
+ confirmed: boolean;
262
+ invite: Invite;
263
+ };
264
+ export declare type UserListEvent = InternalMessage & {
265
+ list: Array<User>;
266
+ };
267
+ export declare type ContactInviteEvent = InternalMessage & {
268
+ invite: Invite;
269
+ };
270
+ export declare type ContactUpdateEvent = InternalMessage & {
271
+ contact: User;
272
+ };
273
+ export declare type ContactRemovedEvent = InternalMessage & {
274
+ contact: User;
275
+ };
276
+ export declare type CalendarEvent = {
277
+ id: string;
278
+ accessCode: string;
279
+ description: string;
280
+ title: string;
281
+ start: number;
282
+ end: number;
283
+ ownerVideo: boolean;
284
+ participantVideo: boolean;
285
+ recurring: boolean;
286
+ usePMI: boolean;
287
+ waitingRoom: boolean;
288
+ };
289
+ export declare type Calendar = {
290
+ events: Array<CalendarEvent>;
291
+ };
292
+ export declare type UserCalendarEvent = InternalMessage & {
293
+ calendar: Calendar;
294
+ };
295
+ export declare type UserSpecificChatInfo = {
296
+ id: string;
297
+ favourite: boolean;
298
+ channel: boolean;
299
+ name: string;
300
+ owner: string;
301
+ members: Array<string>;
302
+ lastReadMessageId: string;
303
+ canSend: boolean;
304
+ channelType: ChannelType;
305
+ channelSendPolicy: ChannelSendPolicy;
306
+ sendPermissionList: Array<string>;
307
+ };
308
+ export declare enum ChannelType {
309
+ PUBLIC = "PUBLIC",
310
+ PRIVATE = "PRIVATE"
311
+ }
312
+ export declare enum ChannelSendPolicy {
313
+ EVERYONE = "EVERYONE",
314
+ ADMIN = "ADMIN",
315
+ ADMIN_AND_LIST = "ADMIN_AND_LIST"
316
+ }
317
+ export declare type Chat = {
318
+ id: string;
319
+ name: string;
320
+ owner: string;
321
+ member: string;
322
+ favourite: boolean;
323
+ members: Array<string>;
324
+ messages: Array<Message>;
325
+ channel: boolean;
326
+ channelType: ChannelType;
327
+ channelSendPolicy: ChannelSendPolicy;
328
+ sendPermissionList: Array<string>;
329
+ };
330
+ export declare type NewChatEvent = InternalMessage & {
331
+ info: UserSpecificChatInfo;
332
+ };
333
+ export declare type RemovedChatEvent = InternalMessage & {
334
+ info: UserSpecificChatInfo;
335
+ };
336
+ export declare type UpdateChatEvent = InternalMessage & {
337
+ info: UserSpecificChatInfo;
338
+ };
339
+ export declare type ChatMap = {
340
+ [key: string]: UserSpecificChatInfo;
341
+ };
342
+ export declare type ChatsEvent = InternalMessage & {
343
+ chats: ChatMap;
344
+ };
345
+ export declare type PublicChannelsEvent = InternalMessage & {
346
+ channels: ChatMap;
347
+ };
348
+ export declare type ChatLoadedEvent = InternalMessage & {
349
+ chat: Chat;
350
+ };
351
+ export declare type OperationFailedEvent = InternalMessage & {
352
+ operation: Operations;
353
+ error: string;
354
+ info: any;
355
+ };
@@ -0,0 +1,10 @@
1
+ declare type PrefixFunction = () => string;
2
+ export declare const setPrefix: (func: PrefixFunction) => void;
3
+ export declare const log: (...args: any[]) => void;
4
+ export declare const info: (...args: any[]) => void;
5
+ declare const _default: {
6
+ setPrefix: (func: PrefixFunction) => void;
7
+ log: (...args: any[]) => void;
8
+ info: (...args: any[]) => void;
9
+ };
10
+ export default _default;
@@ -0,0 +1,7 @@
1
+ export declare type NotifierHandler<T> = (arg0?: T) => void;
2
+ export declare class Notifier<T extends string, A extends object> {
3
+ #private;
4
+ add(event: T, handler: NotifierHandler<A>): void;
5
+ remove(event: T, handler: NotifierHandler<A>): void;
6
+ notify(event: T, msg?: A): void;
7
+ }
@@ -0,0 +1,11 @@
1
+ export declare function add(id: string, resolve: Function, reject: Function): void;
2
+ export declare function resolve(id: string, args?: any): boolean;
3
+ export declare function reject(id: string, args?: any): boolean;
4
+ declare function promised(id: string): boolean;
5
+ declare const _default: {
6
+ add: typeof add;
7
+ resolve: typeof resolve;
8
+ reject: typeof reject;
9
+ promised: typeof promised;
10
+ };
11
+ export default _default;
@@ -0,0 +1,13 @@
1
+ import { Room } from "./room";
2
+ import { Connection } from "./connection";
3
+ import { ParticipantRole, WaitingRoomUpdate } from "./constants";
4
+ export declare class RoomExtended extends Room {
5
+ constructor(connection: Connection, pc: RTCPeerConnection, name: string, pin: string);
6
+ sendControlMessage(to: string, msg: string, broadcast: boolean): Promise<void>;
7
+ authorizeWaitingList(userId: string, authorized: boolean): Promise<void>;
8
+ moveToWaitingRoom(nickname: string): Promise<void>;
9
+ configureWaitingRoom(enabled: boolean): Promise<WaitingRoomUpdate>;
10
+ assignRole(nickname: string, role: ParticipantRole): Promise<void>;
11
+ subscribeToWaitingParticipant(nickname: string): Promise<void>;
12
+ unsubscribeFromWaitingParticipant(nickname: string): Promise<void>;
13
+ }
@@ -0,0 +1,30 @@
1
+ import { CreatedRoom, InternalMessage, JoinedRoom, LeftRoom, ParticipantRole, RoomEvent, RoomState } from "./constants";
2
+ import { Connection } from "./connection";
3
+ export declare class Room {
4
+ #private;
5
+ protected connection: Connection;
6
+ _name: string;
7
+ protected pr: string;
8
+ constructor(connection: Connection, pc: RTCPeerConnection, name: string, pin: string);
9
+ processEvent(e: InternalMessage): Promise<void>;
10
+ createRoom(): Promise<CreatedRoom>;
11
+ join(config?: {
12
+ [key: string]: string;
13
+ }): Promise<JoinedRoom>;
14
+ updateState(config?: {
15
+ [key: string]: string;
16
+ }): Promise<void>;
17
+ destroyRoom(): Promise<void>;
18
+ leaveRoom(): Promise<LeftRoom>;
19
+ sendMessage(msg: string): Promise<void>;
20
+ changeQuality(trackId: string, quality: string, tid: number): Promise<void>;
21
+ muteTrack(trackId: string, mute: boolean): Promise<void>;
22
+ on(event: RoomEvent, callback: (arg0: InternalMessage) => void): Room;
23
+ off(event: RoomEvent, callback: (arg0: InternalMessage) => void): Room;
24
+ name(): string;
25
+ pin(): string;
26
+ pc(): RTCPeerConnection;
27
+ role(): ParticipantRole;
28
+ invite(): string;
29
+ state(): RoomState;
30
+ }