react-device-portal
Version:
Simple WebRTC data channel for React.
46 lines (43 loc) • 1.75 kB
JavaScript
import { __extends, __awaiter, __generator } from '../_virtual/_tslib.js';
import { Peer } from './Peer.js';
var Responder = /** @class */ (function (_super) {
__extends(Responder, _super);
function Responder() {
var _this = _super !== null && _super.apply(this, arguments) || this;
_this.role = 'responder';
return _this;
}
Responder.prototype.connect = function () {
return __awaiter(this, void 0, void 0, function () {
var offer, answer;
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, this.getRemoteDescription()];
case 1:
offer = _a.sent();
if (!offer) {
return [2 /*return*/];
}
this.initializeConnectionAndChannel();
if (!this.connection) {
return [2 /*return*/];
}
this.connection.setRemoteDescription(offer);
return [4 /*yield*/, this.connection.createAnswer()];
case 2:
answer = _a.sent();
return [4 /*yield*/, this.setAndShareLocalDescription(answer)];
case 3:
_a.sent();
return [4 /*yield*/, this.acquireIceCandidatesLoop()];
case 4:
_a.sent();
return [2 /*return*/];
}
});
});
};
return Responder;
}(Peer));
export { Responder };
//# sourceMappingURL=Responder.js.map