@ekidpro/ekp-conference
Advanced tools
Comparing version 1.0.0 to 1.0.1
@@ -17,11 +17,11 @@ import { OpenVidu, Session, Subscriber, Publisher, Stream } from "openvidu-browser"; | ||
}): void; | ||
start(): void; | ||
retryPublish(): void; | ||
close(): void; | ||
muteAudio(val: boolean): void; | ||
muteVideo(val: boolean): void; | ||
start: () => Promise<void>; | ||
retryPublish: () => Promise<void>; | ||
close: () => void; | ||
muteAudio: (val: boolean) => void; | ||
muteVideo: (val: boolean) => void; | ||
updateToken: (token: string) => void; | ||
getUserInfo(stream: Stream): IUser | null; | ||
getUserInfo: (stream: Stream) => IUser | null; | ||
} | ||
declare const _default: Conference; | ||
export default _default; |
@@ -13,2 +13,38 @@ "use strict"; | ||
}; | ||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { | ||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } | ||
return new (P || (P = Promise))(function (resolve, reject) { | ||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } | ||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } | ||
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } | ||
step((generator = generator.apply(thisArg, _arguments || [])).next()); | ||
}); | ||
}; | ||
var __generator = (this && this.__generator) || function (thisArg, body) { | ||
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; | ||
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; | ||
function verb(n) { return function (v) { return step([n, v]); }; } | ||
function step(op) { | ||
if (f) throw new TypeError("Generator is already executing."); | ||
while (_) try { | ||
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; | ||
if (y = 0, t) op = [op[0] & 2, t.value]; | ||
switch (op[0]) { | ||
case 0: case 1: t = op; break; | ||
case 4: _.label++; return { value: op[1], done: false }; | ||
case 5: _.label++; y = op[1]; op = [0]; continue; | ||
case 7: op = _.ops.pop(); _.trys.pop(); continue; | ||
default: | ||
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } | ||
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } | ||
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } | ||
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } | ||
if (t[2]) _.ops.pop(); | ||
_.trys.pop(); continue; | ||
} | ||
op = body.call(thisArg, _); | ||
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } | ||
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; | ||
} | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
@@ -19,3 +55,3 @@ var openvidu_browser_1 = require("openvidu-browser"); | ||
var conference_type_1 = require("./conference.type"); | ||
var get_optiton_publisher_1 = require("./utils/get-optiton-publisher"); | ||
var get_option_publisher_1 = require("./utils/get-option-publisher"); | ||
var configAdvanced = { | ||
@@ -32,5 +68,155 @@ publisherSpeakingEventsOptions: { | ||
this.subscribers = []; | ||
this.start = function () { return __awaiter(_this, void 0, void 0, function () { | ||
var devices, videoDevice, publishOption; | ||
var _this = this; | ||
return __generator(this, function (_a) { | ||
switch (_a.label) { | ||
case 0: | ||
if (!this.userInfo || !this.token || this.session) { | ||
return [2 /*return*/]; | ||
} | ||
return [4 /*yield*/, this.openVidu.getDevices()]; | ||
case 1: | ||
devices = _a.sent(); | ||
videoDevice = devices.filter(function (i) { return i.kind === "videoinput"; }); | ||
publishOption = get_option_publisher_1.getOptionPublisherByRole(this.userInfo.role, { camera: videoDevice.length > 0 }); | ||
this.session = this.openVidu.initSession(); | ||
this.session.on("streamCreated", function (e) { | ||
var event = e; | ||
var connectionData = event.stream.connection.data; | ||
var clientData = connectionData.split("%/%"); | ||
if (clientData && clientData.length > 0) { | ||
try { | ||
var data = JSON.parse(clientData[0]); | ||
if (!_this.session) { | ||
return; | ||
} | ||
var subscriber = _this.session.subscribe(event.stream, data.userId + "_" + data.role); | ||
_this.subscribers.push(subscriber); | ||
var push = { info: data, stream: subscriber }; | ||
_this.events.emit(conference_type_1.Actions.ADD_STREAM, push); | ||
} | ||
catch (error) { | ||
_this.events.emit(conference_type_1.Actions.CONNECT_ERROR, { message: error.message }); | ||
console.error("streamCreated: ", error); | ||
} | ||
} | ||
}); | ||
this.session.on("streamDestroyed", function (e) { | ||
var event = e; | ||
var connectionData = event.stream.connection.data; | ||
var clientData = connectionData.split("%/%"); | ||
var data = JSON.parse(clientData[0]); | ||
var subscribers = _this.subscribers; | ||
var index = subscribers.indexOf(event.stream.streamManager, 0); | ||
if (index > -1) { | ||
subscribers.splice(index, 1); | ||
_this.subscribers = subscribers; | ||
var push = { info: data, stream: event.stream.streamManager }; | ||
_this.events.emit(conference_type_1.Actions.REMOVE_STREAM, push); | ||
} | ||
}); | ||
this.events.emit(conference_type_1.Actions.CONNECTING, { message: "Connecting..." }); | ||
this.session | ||
.connect(this.token, __assign(__assign({}, this.userInfo), { clientData: this.userInfo.name || "No name" })) | ||
.then(function () { | ||
_this.events.emit(conference_type_1.Actions.CONNECT_SUCCESS, { message: "Join room..." }); | ||
if (_this.userInfo && _this.session) { | ||
if (check_publish_conference_1.checkPublishByRole(_this.userInfo.role)) { | ||
_this.openVidu | ||
.initPublisherAsync("", publishOption) | ||
.then(function (publisher) { | ||
var _a; | ||
_this.publisher = publisher; | ||
(_a = _this.session) === null || _a === void 0 ? void 0 : _a.publish(_this.publisher).then(function () { | ||
if (_this.userInfo && _this.publisher) { | ||
var push = { info: _this.userInfo, stream: _this.publisher }; | ||
_this.events.emit(conference_type_1.Actions.ADD_STREAM, push); | ||
} | ||
}); | ||
}) | ||
.catch(function (error) { | ||
_this.events.emit(conference_type_1.Actions.PUBLISH_ERROR, { message: error.message }); | ||
}); | ||
} | ||
} | ||
}) | ||
.catch(function (error) { | ||
_this.events.emit(conference_type_1.Actions.CONNECT_ERROR, { message: error.message }); | ||
}); | ||
return [2 /*return*/]; | ||
} | ||
}); | ||
}); }; | ||
this.retryPublish = function () { return __awaiter(_this, void 0, void 0, function () { | ||
var devices, videoDevice, publishOption; | ||
var _this = this; | ||
return __generator(this, function (_a) { | ||
switch (_a.label) { | ||
case 0: | ||
if (!(this.userInfo && this.session)) return [3 /*break*/, 2]; | ||
if (!check_publish_conference_1.checkPublishByRole(this.userInfo.role)) return [3 /*break*/, 2]; | ||
return [4 /*yield*/, this.openVidu.getDevices()]; | ||
case 1: | ||
devices = _a.sent(); | ||
videoDevice = devices.filter(function (i) { return i.kind === "videoinput"; }); | ||
publishOption = get_option_publisher_1.getOptionPublisherByRole(this.userInfo.role, { camera: videoDevice.length > 0 }); | ||
this.openVidu | ||
.initPublisherAsync("", publishOption) | ||
.then(function (publisher) { | ||
var _a; | ||
_this.publisher = publisher; | ||
(_a = _this.session) === null || _a === void 0 ? void 0 : _a.publish(_this.publisher).then(function () { | ||
if (_this.userInfo && _this.publisher) { | ||
var push = { info: _this.userInfo, stream: _this.publisher }; | ||
_this.events.emit(conference_type_1.Actions.ADD_STREAM, push); | ||
} | ||
}); | ||
}) | ||
.catch(function (error) { | ||
_this.events.emit(conference_type_1.Actions.PUBLISH_ERROR, { message: error.message }); | ||
}); | ||
_a.label = 2; | ||
case 2: return [2 /*return*/]; | ||
} | ||
}); | ||
}); }; | ||
this.close = function () { | ||
if (!_this.session) { | ||
return; | ||
} | ||
_this.session.disconnect(); | ||
_this.session = undefined; | ||
_this.publisher = undefined; | ||
_this.subscribers = []; | ||
}; | ||
this.muteAudio = function (val) { | ||
var publisher = _this.publisher; | ||
if (publisher) { | ||
publisher.publishAudio(val); | ||
} | ||
}; | ||
this.muteVideo = function (val) { | ||
var publisher = _this.publisher; | ||
if (publisher) { | ||
publisher.publishVideo(val); | ||
} | ||
}; | ||
this.updateToken = function (token) { | ||
_this.token = token; | ||
}; | ||
this.getUserInfo = function (stream) { | ||
var connectionData = stream.connection.data; | ||
var clientData = connectionData.split("%/%"); | ||
try { | ||
if (clientData.length === 0) { | ||
return null; | ||
} | ||
var userInfo = JSON.parse(clientData[0]); | ||
return userInfo; | ||
} | ||
catch (error) { | ||
return null; | ||
} | ||
}; | ||
this.openVidu = new openvidu_browser_1.OpenVidu(); | ||
@@ -44,124 +230,4 @@ this.openVidu.enableProdMode(); | ||
}; | ||
Conference.prototype.start = function () { | ||
var _this = this; | ||
if (!this.userInfo || !this.token || this.session) { | ||
return; | ||
} | ||
this.session = this.openVidu.initSession(); | ||
this.session.on("streamCreated", function (e) { | ||
var event = e; | ||
var connectionData = event.stream.connection.data; | ||
var clientData = connectionData.split("%/%"); | ||
if (clientData && clientData.length > 0) { | ||
try { | ||
var data = JSON.parse(clientData[0]); | ||
if (!_this.session) { | ||
return; | ||
} | ||
var subscriber = _this.session.subscribe(event.stream, data.userId + "_" + data.role); | ||
_this.subscribers.push(subscriber); | ||
var push = { info: data, stream: subscriber }; | ||
_this.events.emit(conference_type_1.Actions.ADD_STREAM, push); | ||
} | ||
catch (error) { | ||
console.error("streamCreated: ", error); | ||
} | ||
} | ||
}); | ||
this.session.on("streamDestroyed", function (e) { | ||
var event = e; | ||
var connectionData = event.stream.connection.data; | ||
var clientData = connectionData.split("%/%"); | ||
var data = JSON.parse(clientData[0]); | ||
var subscribers = _this.subscribers; | ||
var index = subscribers.indexOf(event.stream.streamManager, 0); | ||
if (index > -1) { | ||
subscribers.splice(index, 1); | ||
_this.subscribers = subscribers; | ||
var push = { info: data, stream: event.stream.streamManager }; | ||
_this.events.emit(conference_type_1.Actions.REMOVE_STREAM, push); | ||
} | ||
}); | ||
this.events.emit(conference_type_1.Actions.CONNECTING, { message: "Connecting..." }); | ||
this.session | ||
.connect(this.token, __assign(__assign({}, this.userInfo), { clientData: this.userInfo.name || "No name" })) | ||
.then(function () { | ||
_this.events.emit(conference_type_1.Actions.CONNECT_SUCCESS, { message: "Join room..." }); | ||
if (_this.userInfo && _this.session) { | ||
if (check_publish_conference_1.checkPublishByRole(_this.userInfo.role)) { | ||
_this.publisher = _this.openVidu.initPublisher("", get_optiton_publisher_1.getOptionPublisherByRole(_this.userInfo.role)); | ||
_this.session | ||
.publish(_this.publisher) | ||
.then(function () { | ||
if (_this.userInfo && _this.publisher) { | ||
var push = { info: _this.userInfo, stream: _this.publisher }; | ||
_this.events.emit(conference_type_1.Actions.ADD_STREAM, push); | ||
} | ||
}) | ||
.catch(function (error) { | ||
_this.events.emit(conference_type_1.Actions.PUBLISH_ERROR, { message: error.message }); | ||
}); | ||
} | ||
} | ||
}) | ||
.catch(function (error) { | ||
_this.events.emit(conference_type_1.Actions.CONNECT_ERROR, { message: error.message }); | ||
}); | ||
}; | ||
Conference.prototype.retryPublish = function () { | ||
var _this = this; | ||
if (this.userInfo && this.session) { | ||
if (check_publish_conference_1.checkPublishByRole(this.userInfo.role)) { | ||
this.publisher = this.openVidu.initPublisher("", get_optiton_publisher_1.getOptionPublisherByRole(this.userInfo.role)); | ||
this.session | ||
.publish(this.publisher) | ||
.then(function () { | ||
if (_this.userInfo && _this.publisher) { | ||
var push = { info: _this.userInfo, stream: _this.publisher }; | ||
_this.events.emit(conference_type_1.Actions.ADD_STREAM, push); | ||
} | ||
}) | ||
.catch(function (error) { | ||
_this.events.emit(conference_type_1.Actions.PUBLISH_ERROR, { message: error.message }); | ||
}); | ||
} | ||
} | ||
}; | ||
Conference.prototype.close = function () { | ||
if (!this.session) { | ||
return; | ||
} | ||
this.session.disconnect(); | ||
this.session = undefined; | ||
this.publisher = undefined; | ||
this.subscribers = []; | ||
}; | ||
Conference.prototype.muteAudio = function (val) { | ||
var publisher = this.publisher; | ||
if (publisher) { | ||
publisher.publishAudio(val); | ||
} | ||
}; | ||
Conference.prototype.muteVideo = function (val) { | ||
var publisher = this.publisher; | ||
if (publisher) { | ||
publisher.publishVideo(val); | ||
} | ||
}; | ||
Conference.prototype.getUserInfo = function (stream) { | ||
var connectionData = stream.connection.data; | ||
var clientData = connectionData.split("%/%"); | ||
try { | ||
if (clientData.length === 0) { | ||
return null; | ||
} | ||
var userInfo = JSON.parse(clientData[0]); | ||
return userInfo; | ||
} | ||
catch (error) { | ||
return null; | ||
} | ||
}; | ||
return Conference; | ||
}()); | ||
exports.default = new Conference(); |
import Conference from "./conference"; | ||
export * from "./conference.type"; | ||
export default Conference; | ||
declare global { | ||
var OpenVidu: any; | ||
var Conference: any; | ||
} | ||
export declare function sayHello(name: string): string; |
@@ -24,1 +24,3 @@ "use strict"; | ||
exports.sayHello = sayHello; | ||
// window["OpenVidu"] = | ||
window["Conference"] = conference_1.default; |
{ | ||
"name": "@ekidpro/ekp-conference", | ||
"version": "1.0.0", | ||
"version": "1.0.1", | ||
"description": "", | ||
@@ -9,4 +9,2 @@ "main": "lib/index.js", | ||
"lib", | ||
"src", | ||
"libs", | ||
"*.d.ts", | ||
@@ -13,0 +11,0 @@ "*.js" |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
20646
13
462
1