camstreamerlib
Version:
Helper library for CamStreamer ACAP applications.
27 lines (26 loc) • 1.01 kB
JavaScript
import { WsEvents } from '../internal/WsEvents';
import { PlaneTrackerWsEvents, planeTrackerUserActionData, ptrEventsSchema, } from '../types/ws/PlaneTrackerEvents';
export class PlaneTrackerEvents extends WsEvents {
_apiUser;
constructor(ws, _apiUser) {
super((data) => {
const parsedData = ptrEventsSchema.parse(data);
if (parsedData.type === PlaneTrackerWsEvents.USER_ACTION) {
const { type, ...actionData } = parsedData;
const userAction = planeTrackerUserActionData.parse(actionData);
return { ...userAction, type };
}
return parsedData;
}, ws);
this._apiUser = _apiUser;
this.ws.onOpen = this.sendInitMsg;
}
sendInitMsg = () => {
this.ws.send(JSON.stringify({
type: 'USER_INFO',
userId: this._apiUser.userId,
userName: this._apiUser.userName,
userPriority: this._apiUser.userPriority,
}));
};
}