fcr-core
Version:
Core APIs for building online scenes
53 lines (49 loc) • 1.63 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.validateControllerInitialized = validateControllerInitialized;
exports.validateJoinRoomPreconditions = validateJoinRoomPreconditions;
exports.validateRoomJoined = validateRoomJoined;
var _errorHelpers = require("../../utilities/error-helpers");
/**
* 房间控制验证辅助工具
*
* 专门处理房间控制相关的验证逻辑
*/
/**
* 验证控制器是否已初始化
* @param controller 控制器实例
* @param controllerType 控制器类型
* @throws {FcrError} 如果控制器未初始化
*/
function validateControllerInitialized(controller, controllerType) {
if (!controller) {
throw _errorHelpers.roomControlErrorHelper.createControllerNotInitializedError(controllerType);
}
}
/**
* 验证房间是否已加入
* @param joinRoomSuccess 是否已成功加入房间
* @param operation 操作名称
* @throws {FcrError} 如果房间未加入
*/
function validateRoomJoined(joinRoomSuccess, operation) {
if (!joinRoomSuccess) {
throw _errorHelpers.roomControlErrorHelper.createOperationError(`${operation}, please join room first`);
}
}
/**
* 验证加入房间的前置条件
* @param joinRoomSuccess 是否已成功加入房间
* @param joining 是否正在加入
* @throws {FcrError} 如果不满足加入条件
*/
function validateJoinRoomPreconditions(joinRoomSuccess, joining) {
if (joinRoomSuccess) {
throw _errorHelpers.roomControlErrorHelper.createJoinConflictError(true);
}
if (joining) {
throw _errorHelpers.roomControlErrorHelper.createJoinConflictError(false);
}
}