Validate scancode via accessor.

This commit is contained in:
László Monda
2016-03-25 21:53:30 +01:00
parent 32adbf2124
commit 32646f3616
3 changed files with 16 additions and 10 deletions

View File

@@ -5,20 +5,25 @@ class KeystrokeAction implements Serializable {
private static firstValidScancode = 1;
private static lastValidScancode = 231;
scancode: number;
_scancode: number;
modifierMask: number;
get scancode() {
return this._scancode;
}
set scancode(value) {
if (!KeystrokeAction.isScancodeValid(value)) {
throw 'Scancode ${scancode} is invalid!';
}
this._scancode = value;
}
static isScancodeValid(scancode) {
return KeystrokeAction.firstValidScancode <= scancode &&
scancode <= KeystrokeAction.lastValidScancode;
}
private static checkScancode(scancode) {
if (!KeystrokeAction.isScancodeValid(scancode)) {
throw 'Scancode ${scancode} is invalid';
}
}
fromJsObject(jsObject: any) {
this.scancode = jsObject.scancode;
this.modifierMask = jsObject.modifierMask;
@@ -33,7 +38,6 @@ class KeystrokeAction implements Serializable {
fromBinary(buffer: UhkBuffer) {
this.scancode = buffer.readUInt8();
KeystrokeAction.checkScancode(this.scancode);
this.modifierMask = buffer.readUInt8();
}

View File

@@ -1,6 +1,7 @@
{
"compilerOptions": {
"out": "serializeConfig.js"
"out": "serializeConfig.js",
"target": "es5"
},
"files": [
"typings/main.d.ts",

View File

@@ -83,7 +83,8 @@
"variable-name": [
true,
"ban-keywords",
"check-format"
"check-format",
"allow-leading-underscore"
],
"whitespace": [
true,