@veltdev/types
Version:
Velt is an SDK to add collaborative features to your product within minutes. Example: Comments like Figma, Frame.io, Google docs or sheets, Recording like Loom, Huddles like Slack and much more.
24 lines (23 loc) • 844 B
TypeScript
import { LiveStateSyncEventTypes } from "../../utils/enums";
import { User } from "./user.data.model";
export interface AccessRequestEvent {
viewer?: User;
editor?: User;
timestamp?: number;
status?: string;
}
export interface SEMEvent {
viewer?: User;
editor?: User;
timestamp?: number;
role?: string;
}
export type LiveStateEventTypesMap = {
[LiveStateSyncEventTypes.ACCESS_REQUESTED]: AccessRequestEvent;
[LiveStateSyncEventTypes.ACCESS_REQUEST_CANCELED]: AccessRequestEvent;
[LiveStateSyncEventTypes.ACCESS_ACCEPTED]: AccessRequestEvent;
[LiveStateSyncEventTypes.ACCESS_REJECTED]: AccessRequestEvent;
[LiveStateSyncEventTypes.EDITOR_ASSIGNED]: SEMEvent;
[LiveStateSyncEventTypes.VIEWER_ASSIGNED]: SEMEvent;
[LiveStateSyncEventTypes.EDITOR_ON_DIFFERENT_TAB_DETECTED]: SEMEvent;
};