UNPKG

@iotize/tap-scripts

Version:

IoTize Tap scripts

58 lines 4.88 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ScriptSyntaxeError = exports.ScriptEndWithErrorCodeError = exports.ScriptError = exports.ScriptErrorCode = void 0; const util_1 = require("./util"); var ScriptErrorCode; (function (ScriptErrorCode) { ScriptErrorCode["InternalError"] = "InternalError"; ScriptErrorCode["InvalidRunState"] = "InvalidRunState"; ScriptErrorCode["EndWithErrorCode"] = "EndWithErrorCode"; ScriptErrorCode["InstructionNotImplemented"] = "InstructionNotImplemented"; ScriptErrorCode["ScriptSynthaxError"] = "ScriptSynthaxError"; ScriptErrorCode["InstructionPartiallyImplemented"] = "InstructionPartiallyImplemented"; ScriptErrorCode["InstructionExecError"] = "InstructionExecError"; })(ScriptErrorCode = exports.ScriptErrorCode || (exports.ScriptErrorCode = {})); class ScriptError extends Error { constructor(code, msg) { super(msg); this.code = code; } static instructionExecError(err, context) { return new ScriptError(ScriptErrorCode.InstructionExecError, `${(0, util_1.contextToString)(context)}: ${err.message}`); } static instructionPartiallyImplemented(instruction, msg) { return new ScriptError(ScriptErrorCode.InstructionPartiallyImplemented, msg); } static internalError(message) { return new ScriptError(ScriptErrorCode.InternalError, message); } static invalidRunState(message) { return new ScriptError(ScriptErrorCode.InvalidRunState, message); } static instructionNotImplementedYet(ctx, msg) { throw new ScriptError(ScriptErrorCode.InstructionNotImplemented, `${(0, util_1.contextToString)(ctx)}:` + (msg || `Instruction not implemented yet`)); } static syntaxError(parser) { throw new ScriptSyntaxeError(parser); } static endWithErrorCode(resultCode) { return new ScriptEndWithErrorCodeError(resultCode); } } exports.ScriptError = ScriptError; class ScriptEndWithErrorCodeError extends ScriptError { constructor(errorCode) { super(ScriptErrorCode.EndWithErrorCode, `Script ended with error code ${errorCode}`); this.errorCode = errorCode; } } exports.ScriptEndWithErrorCodeError = ScriptEndWithErrorCodeError; class ScriptSyntaxeError extends ScriptError { constructor(parser) { super(ScriptErrorCode.ScriptSynthaxError, `Script has ${parser.numberOfSyntaxErrors} synthax error(s)`); this.parser = parser; } } exports.ScriptSyntaxeError = ScriptSyntaxeError; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9lcnJvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBSUEsaUNBQXlDO0FBRXpDLElBQVksZUFRWDtBQVJELFdBQVksZUFBZTtJQUN2QixrREFBK0IsQ0FBQTtJQUMvQixzREFBbUMsQ0FBQTtJQUNuQyx3REFBcUMsQ0FBQTtJQUNyQywwRUFBdUQsQ0FBQTtJQUN2RCw0REFBeUMsQ0FBQTtJQUN6QyxzRkFBbUUsQ0FBQTtJQUNuRSxnRUFBNkMsQ0FBQTtBQUNqRCxDQUFDLEVBUlcsZUFBZSxHQUFmLHVCQUFlLEtBQWYsdUJBQWUsUUFRMUI7QUFFRCxNQUFhLFdBQVksU0FBUSxLQUFLO0lBQ2xDLFlBQW1CLElBQXFCLEVBQUUsR0FBVztRQUNqRCxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFESSxTQUFJLEdBQUosSUFBSSxDQUFpQjtJQUV4QyxDQUFDO0lBRUQsTUFBTSxDQUFDLG9CQUFvQixDQUFDLEdBQVUsRUFBRSxPQUEyQjtRQUMvRCxPQUFPLElBQUksV0FBVyxDQUNsQixlQUFlLENBQUMsb0JBQW9CLEVBQ3BDLEdBQUcsSUFBQSxzQkFBZSxFQUFDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FDaEQsQ0FBQztJQUNOLENBQUM7SUFFRCxNQUFNLENBQUMsK0JBQStCLENBQ2xDLFdBQXNDLEVBQ3RDLEdBQVc7UUFFWCxPQUFPLElBQUksV0FBVyxDQUNsQixlQUFlLENBQUMsK0JBQStCLEVBQy9DLEdBQUcsQ0FDTixDQUFDO0lBQ04sQ0FBQztJQUVELE1BQU0sQ0FBQyxhQUFhLENBQUMsT0FBZTtRQUNoQyxPQUFPLElBQUksV0FBVyxDQUFDLGVBQWUsQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUNELE1BQU0sQ0FBQyxlQUFlLENBQUMsT0FBZTtRQUNsQyxPQUFPLElBQUksV0FBVyxDQUFDLGVBQWUsQ0FBQyxlQUFlLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUNELE1BQU0sQ0FBQyw0QkFBNEIsQ0FBQyxHQUFzQixFQUFFLEdBQVk7UUFDcEUsTUFBTSxJQUFJLFdBQVcsQ0FDakIsZUFBZSxDQUFDLHlCQUF5QixFQUN6QyxHQUFHLElBQUEsc0JBQWUsRUFBQyxHQUFHLENBQUMsR0FBRztZQUN0QixDQUFDLEdBQUcsSUFBSSxpQ0FBaUMsQ0FBQyxDQUNqRCxDQUFDO0lBQ04sQ0FBQztJQUVELE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBd0I7UUFDdkMsTUFBTSxJQUFJLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsVUFBa0I7UUFDdEMsT0FBTyxJQUFJLDJCQUEyQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7Q0FDSjtBQTNDRCxrQ0EyQ0M7QUFFRCxNQUFhLDJCQUE0QixTQUFRLFdBQVc7SUFDeEQsWUFBbUIsU0FBaUI7UUFDaEMsS0FBSyxDQUNELGVBQWUsQ0FBQyxnQkFBZ0IsRUFDaEMsZ0NBQWdDLFNBQVMsRUFBRSxDQUM5QyxDQUFDO1FBSmEsY0FBUyxHQUFULFNBQVMsQ0FBUTtJQUtwQyxDQUFDO0NBQ0o7QUFQRCxrRUFPQztBQUVELE1BQWEsa0JBQW1CLFNBQVEsV0FBVztJQUMvQyxZQUFtQixNQUF3QjtRQUN2QyxLQUFLLENBQ0QsZUFBZSxDQUFDLGtCQUFrQixFQUNsQyxjQUFjLE1BQU0sQ0FBQyxvQkFBb0IsbUJBQW1CLENBQy9ELENBQUM7UUFKYSxXQUFNLEdBQU4sTUFBTSxDQUFrQjtJQUszQyxDQUFDO0NBQ0o7QUFQRCxnREFPQyJ9