@eagleoutice/flowr
Version:
Static Dataflow Analyzer and Program Slicer for the R Programming Language
33 lines • 1.1 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.validateBaseMessageFormat = validateBaseMessageFormat;
exports.validateMessage = validateMessage;
exports.answerForValidationError = answerForValidationError;
const send_1 = require("./send");
const all_messages_1 = require("./messages/all-messages");
function validateBaseMessageFormat(input) {
try {
return validateMessage(JSON.parse(input), all_messages_1.baseMessage);
}
catch (e) {
return { type: 'error', reason: e };
}
}
function validateMessage(input, def) {
try {
const result = def.schema.validate(input);
return result.error ? { type: 'error', reason: result.error } : { type: 'success', message: input };
}
catch (e) {
return { type: 'error', reason: e };
}
}
function answerForValidationError(client, result, id) {
(0, send_1.sendMessage)(client, {
type: 'error',
fatal: false,
id: id,
reason: `Invalid message format: ${result.reason.message}`
});
}
//# sourceMappingURL=validate.js.map