emotiv-ts
Version:
A Typescript library that wraps the Cortex API functionalities to communicate with Emotiv headsets
52 lines (51 loc) • 2.12 kB
JavaScript
import { AuthenticationService } from "./authentication.service";
import { SessionService } from "./session.service";
import { Requests } from "../enums/internal/emotiv.requests";
import { CreateRecord } from "../models/requests/records/create-record";
import { StopRecord } from "../models/requests/records/stop-record";
export class RecordService {
socket;
constructor(socket) {
this.socket = socket;
}
startRecord(recordName) {
let context = this;
let authToken = AuthenticationService.getAuthToken();
let sessionId = SessionService.getSessionId();
let createRecordRequest = new CreateRecord(authToken, sessionId, recordName);
return new Promise(function (resolve, reject) {
context.socket.send(JSON.stringify(createRecordRequest));
context.socket.onmessage = (message) => {
try {
if (JSON.parse(message.data)['id'] == Requests.CREATE_RECORD_REQUEST) {
console.log('CREATE RECORD RESULT --------------------------------');
console.log(message.data);
resolve(message.data);
}
}
catch (error) {
console.error(error);
}
};
});
}
stopRecord(authToken, sessionId) {
let context = this;
let stopRecordRequest = new StopRecord(authToken, sessionId);
return new Promise(function (resolve, reject) {
context.socket.send(JSON.stringify(stopRecordRequest));
context.socket.onmessage = (message) => {
try {
if (JSON.parse(message.data)['id'] == Requests.STOP_RECORD_REQUEST) {
console.log('STOP RECORD RESULT --------------------------------');
console.log(message.data);
resolve(message.data);
}
}
catch (error) {
console.error(error);
}
};
});
}
}