@iotize/tap-scripts
Version:
IoTize Tap scripts
76 lines • 5.9 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.CComInstruction = exports.CComInstructionType = void 0;
const errors_1 = require("../errors");
const abstract_instruction_1 = require("./abstract-instruction");
var CComInstructionType;
(function (CComInstructionType) {
CComInstructionType["RandStart"] = "RandStart";
CComInstructionType["AutoRandStartOn"] = "AutoRandStartOn";
CComInstructionType["AutoRandStartOff"] = "AutoRandStartOff";
CComInstructionType["Enable"] = "Enable";
CComInstructionType["Disable"] = "Disable";
})(CComInstructionType = exports.CComInstructionType || (exports.CComInstructionType = {}));
class CComInstruction extends abstract_instruction_1.AbstractInstruction {
constructor(type, parserContext) {
super();
this.type = type;
this.parserContext = parserContext;
}
run(context) {
return __awaiter(this, void 0, void 0, function* () {
try {
switch (this.type) {
case CComInstructionType.AutoRandStartOn:
context.store(CComInstruction.STORE_KEY, true);
return;
case CComInstructionType.AutoRandStartOff:
context.store(CComInstruction.STORE_KEY, false);
return;
case CComInstructionType.Disable:
yield context.device.encryption.pause();
return;
case CComInstructionType.Enable:
yield context.device.encryption.resume();
return;
case CComInstructionType.RandStart:
yield context.device.encryption.start();
return;
default:
return Promise.reject(errors_1.ScriptError.instructionPartiallyImplemented(this, `command type ${this.type} does not exist or is not implemented`));
}
}
catch (err) {
throw errors_1.ScriptError.instructionExecError(err, this.parserContext);
}
});
}
describe() {
switch (this.type) {
case 'Enable':
return `Enable encryption (restaure session key if it exists)`;
case 'RandStart':
return `Enable encryption (with new session key)`;
case 'Disable':
return 'Disable encryption';
case 'AutoRandStartOn':
return 'Enable encryption after connect';
case 'AutoRandStartOff':
return 'Disable encryption after connect';
default:
return JSON.stringify(this);
}
}
}
exports.CComInstruction = CComInstruction;
CComInstruction.STORE_KEY = 'randstartafterconnect';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2NvbS1pbnN0cnVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvaW5zdHJ1Y3Rpb25zL2Njb20taW5zdHJ1Y3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBRUEsc0NBQXdDO0FBRXhDLGlFQUE2RDtBQUU3RCxJQUFZLG1CQU1YO0FBTkQsV0FBWSxtQkFBbUI7SUFDM0IsOENBQXVCLENBQUE7SUFDdkIsMERBQW1DLENBQUE7SUFDbkMsNERBQXFDLENBQUE7SUFDckMsd0NBQWlCLENBQUE7SUFDakIsMENBQW1CLENBQUE7QUFDdkIsQ0FBQyxFQU5XLG1CQUFtQixHQUFuQiwyQkFBbUIsS0FBbkIsMkJBQW1CLFFBTTlCO0FBRUQsTUFBYSxlQUFnQixTQUFRLDBDQUF3QjtJQUd6RCxZQUNXLElBQXlCLEVBQ3pCLGFBQWlDO1FBRXhDLEtBQUssRUFBRSxDQUFDO1FBSEQsU0FBSSxHQUFKLElBQUksQ0FBcUI7UUFDekIsa0JBQWEsR0FBYixhQUFhLENBQW9CO0lBRzVDLENBQUM7SUFFWSxHQUFHLENBQUMsT0FBbUM7O1lBQ2hELElBQUk7Z0JBQ0EsUUFBUSxJQUFJLENBQUMsSUFBSSxFQUFFO29CQUNmLEtBQUssbUJBQW1CLENBQUMsZUFBZTt3QkFDcEMsT0FBTyxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO3dCQUMvQyxPQUFPO29CQUNYLEtBQUssbUJBQW1CLENBQUMsZ0JBQWdCO3dCQUNyQyxPQUFPLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7d0JBQ2hELE9BQU87b0JBQ1gsS0FBSyxtQkFBbUIsQ0FBQyxPQUFPO3dCQUM1QixNQUFNLE9BQU8sQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO3dCQUN4QyxPQUFPO29CQUNYLEtBQUssbUJBQW1CLENBQUMsTUFBTTt3QkFDM0IsTUFBTSxPQUFPLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQzt3QkFDekMsT0FBTztvQkFDWCxLQUFLLG1CQUFtQixDQUFDLFNBQVM7d0JBQzlCLE1BQU0sT0FBTyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7d0JBQ3hDLE9BQU87b0JBQ1g7d0JBQ0ksT0FBTyxPQUFPLENBQUMsTUFBTSxDQUNqQixvQkFBVyxDQUFDLCtCQUErQixDQUN2QyxJQUFJLEVBQ0osZ0JBQWdCLElBQUksQ0FBQyxJQUFJLHVDQUF1QyxDQUNuRSxDQUNKLENBQUM7aUJBQ1Q7YUFDSjtZQUFDLE9BQU8sR0FBUSxFQUFFO2dCQUNmLE1BQU0sb0JBQVcsQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2FBQ25FO1FBQ0wsQ0FBQztLQUFBO0lBRUQsUUFBUTtRQUNKLFFBQVEsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNmLEtBQUssUUFBUTtnQkFDVCxPQUFPLHVEQUF1RCxDQUFDO1lBQ25FLEtBQUssV0FBVztnQkFDWixPQUFPLDBDQUEwQyxDQUFDO1lBQ3RELEtBQUssU0FBUztnQkFDVixPQUFPLG9CQUFvQixDQUFDO1lBQ2hDLEtBQUssaUJBQWlCO2dCQUNsQixPQUFPLGlDQUFpQyxDQUFDO1lBQzdDLEtBQUssa0JBQWtCO2dCQUNuQixPQUFPLGtDQUFrQyxDQUFDO1lBQzlDO2dCQUNJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNuQztJQUNMLENBQUM7O0FBeERMLDBDQXlEQztBQXhEaUIseUJBQVMsR0FBRyx1QkFBdUIsQ0FBQyJ9