open-collaboration-protocol
Version:
Open Collaboration Protocol implementation, part of the Open Collaboration Tools project
161 lines • 5.89 kB
JavaScript
// ******************************************************************************
// Copyright 2024 TypeFox GmbH
// This program and the accompanying materials are made available under the
// terms of the MIT License, which is available in the project root.
// ******************************************************************************
import { isObject } from './utils/types.js';
export var CreateRoomResponse;
(function (CreateRoomResponse) {
function is(arg) {
return isObject(arg) && typeof arg.roomId === 'string' && typeof arg.roomToken === 'string';
}
CreateRoomResponse.is = is;
function create(roomId, roomToken, loginToken) {
return { roomId, roomToken, loginToken };
}
CreateRoomResponse.create = create;
})(CreateRoomResponse || (CreateRoomResponse = {}));
export var LoginValidateResponse;
(function (LoginValidateResponse) {
function is(arg) {
return isObject(arg) && typeof arg.valid === 'boolean';
}
LoginValidateResponse.is = is;
function create(valid) {
return { valid };
}
LoginValidateResponse.create = create;
})(LoginValidateResponse || (LoginValidateResponse = {}));
export var LoginInitialResponse;
(function (LoginInitialResponse) {
function is(arg) {
return isObject(arg) && typeof arg.pollToken === 'string' && typeof arg.auth === 'object';
}
LoginInitialResponse.is = is;
function create(pollToken, auth) {
return { pollToken, auth };
}
LoginInitialResponse.create = create;
})(LoginInitialResponse || (LoginInitialResponse = {}));
export var LoginPollResponse;
(function (LoginPollResponse) {
function is(arg) {
return isObject(arg) && (typeof arg.loginToken === 'undefined' || typeof arg.loginToken === 'string');
}
LoginPollResponse.is = is;
function create(loginToken) {
return { loginToken };
}
LoginPollResponse.create = create;
})(LoginPollResponse || (LoginPollResponse = {}));
export var JoinRoomInitialResponse;
(function (JoinRoomInitialResponse) {
function is(arg) {
return isObject(arg) && typeof arg.pollToken === 'string' && typeof arg.roomId === 'string';
}
JoinRoomInitialResponse.is = is;
function create(pollToken, roomId) {
return { pollToken, roomId };
}
JoinRoomInitialResponse.create = create;
})(JoinRoomInitialResponse || (JoinRoomInitialResponse = {}));
export var JoinRoomResponse;
(function (JoinRoomResponse) {
function is(arg) {
return isObject(arg)
&& typeof arg.roomId === 'string'
&& typeof arg.roomToken === 'string'
&& typeof arg.workspace === 'object'
&& typeof arg.host === 'object';
}
JoinRoomResponse.is = is;
function create(roomId, roomToken, workspace, host) {
return { roomId, roomToken, workspace, host };
}
JoinRoomResponse.create = create;
})(JoinRoomResponse || (JoinRoomResponse = {}));
export var JoinRoomPollResponse;
(function (JoinRoomPollResponse) {
function is(arg) {
return InfoMessage.is(arg) && typeof arg.failure === 'boolean';
}
JoinRoomPollResponse.is = is;
function create(code, params, message, failure) {
return { code, params, message, failure };
}
JoinRoomPollResponse.create = create;
})(JoinRoomPollResponse || (JoinRoomPollResponse = {}));
export var InfoMessage;
(function (InfoMessage) {
function is(arg) {
return isObject(arg)
&& typeof arg.code === 'string'
&& Array.isArray(arg.params)
&& arg.params.every(param => typeof param === 'string')
&& typeof arg.message === 'string';
}
InfoMessage.is = is;
function create(code, params, message) {
return { code, params, message };
}
InfoMessage.create = create;
})(InfoMessage || (InfoMessage = {}));
export var FilePermission;
(function (FilePermission) {
/**
* File is readonly.
*/
FilePermission[FilePermission["Readonly"] = 1] = "Readonly";
})(FilePermission || (FilePermission = {}));
export var FileType;
(function (FileType) {
FileType[FileType["Unknown"] = 0] = "Unknown";
FileType[FileType["File"] = 1] = "File";
FileType[FileType["Directory"] = 2] = "Directory";
FileType[FileType["SymbolicLink"] = 64] = "SymbolicLink";
})(FileType || (FileType = {}));
export var FileChangeEventType;
(function (FileChangeEventType) {
FileChangeEventType[FileChangeEventType["Create"] = 0] = "Create";
FileChangeEventType[FileChangeEventType["Update"] = 1] = "Update";
FileChangeEventType[FileChangeEventType["Delete"] = 2] = "Delete";
})(FileChangeEventType || (FileChangeEventType = {}));
export var ClientTextSelection;
(function (ClientTextSelection) {
function is(selection) {
if (!selection) {
return false;
}
const textSelection = selection;
return Array.isArray(textSelection.textSelections);
}
ClientTextSelection.is = is;
})(ClientTextSelection || (ClientTextSelection = {}));
export var SelectionDirection;
(function (SelectionDirection) {
SelectionDirection.LeftToRight = 1;
SelectionDirection.RightToLeft = 2;
})(SelectionDirection || (SelectionDirection = {}));
export var Position;
(function (Position) {
function is(arg) {
return arg && typeof arg.line === 'number' && typeof arg.character === 'number';
}
Position.is = is;
function create(line, character) {
return { line, character };
}
Position.create = create;
})(Position || (Position = {}));
export var Range;
(function (Range) {
function is(arg) {
return arg && Position.is(arg.start) && Position.is(arg.end);
}
Range.is = is;
function create(start, end) {
return { start, end };
}
Range.create = create;
})(Range || (Range = {}));
//# sourceMappingURL=types.js.map