import * as uuid from 'uuid'; import { Point } from '../pen-gestures/ndollar'; import { serverOpType } from '../fields/ObjectField'; function GenerateDeterministicGuid(seed: string): string { return uuid.v5(seed, uuid.v5.URL); } // eslint-disable-next-line @typescript-eslint/no-unused-vars export class Message { private _name: string; private _guid: string; constructor(name: string) { this._name = name; this._guid = GenerateDeterministicGuid(name); } get Name(): string { return this._name; } get Message(): string { return this._guid; } } export interface Reference { readonly id: string; } export interface Diff extends Reference { readonly diff: serverOpType; } export interface GestureContent { readonly points: Array; readonly bounds: { right: number; left: number; bottom: number; top: number; width: number; height: number }; readonly width?: string; readonly color?: string; } export interface RoomMessage { readonly message: string; readonly room: string; } export namespace MessageStore { export const Foo = new Message('Foo'); export const Bar = new Message('Bar'); export const GetDocument = new Message('Get Document'); export const DeleteAll = new Message('Delete All'); export const ConnectionTerminated = new Message('Connection Terminated'); export const GesturePoints = new Message('Gesture Points'); export const GetRefField = new Message('Get Ref Field'); export const GetRefFields = new Message('Get Ref Fields'); export const UpdateField = new Message('Update Ref Field'); export const CreateDocField = new Message('Create Ref Field'); export const DeleteField = new Message('Delete field'); export const DeleteFields = new Message('Delete fields'); export const UpdateStats = new Message('updatestats'); }