UNPKG

socket-actions

Version:

Websocket implementation to simplify communication and queueing of user actions.

30 lines (26 loc) 778 B
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); class Action { constructor() { this.server = null; } async prepareAction(server) { this.server = server; } onCheckPermissions(_parameters) { } onError(_parameters, err) { console.error(err); } async run(parameters) { try { await this.onCheckPermissions(parameters); const { socket, requestId } = parameters; const respond = (data) => socket.send(JSON.stringify({ requestId, data })); await this.onRun(Object.assign(Object.assign({}, parameters), { respond })); } catch (err) { await this.onError(parameters, err); } } } exports.default = Action;