Fix type lost caused by incorrect inheritance of ClassArray

This commit is contained in:
József Farkas
2016-04-23 23:45:05 +02:00
parent 5a123d55c2
commit b9b2fcbf84
14 changed files with 32 additions and 38 deletions

View File

@@ -1,6 +1,5 @@
import {ClassArray} from '../ClassArray';
import {UhkBuffer} from '../UhkBuffer';
import {Serializable} from '../Serializable';
import {DualRoleKeystrokeAction} from './DualRoleKeystrokeAction';
import {NoneAction} from './NoneAction';
import {KeystrokeAction} from './KeystrokeAction';
@@ -14,7 +13,7 @@ import {PlayMacroAction} from './PlayMacroAction';
export class KeyActions extends ClassArray<KeyAction> {
jsObjectToClass(jsObject: any): Serializable<KeyAction> {
jsObjectToClass(jsObject: any): KeyAction {
switch (jsObject.keyActionType) {
case keyActionType.NoneAction:
return new NoneAction().fromJsObject(jsObject);
@@ -39,7 +38,7 @@ export class KeyActions extends ClassArray<KeyAction> {
}
}
binaryToClass(buffer: UhkBuffer): Serializable<KeyAction> {
binaryToClass(buffer: UhkBuffer): KeyAction {
let keyActionFirstByte = buffer.readUInt8();
buffer.backtrack();

View File

@@ -13,7 +13,7 @@ export class KeyMap extends Serializable<KeyMap> {
isDefault: boolean;
layers: Serializable<Layers>;
layers: Layers;
_fromJsObject(jsObject: any): KeyMap {
this.id = jsObject.id;

View File

@@ -1,15 +1,14 @@
import {ClassArray} from '../ClassArray';
import {Serializable} from '../Serializable';
import {UhkBuffer} from '../UhkBuffer';
import {KeyMap} from './KeyMap';
export class KeyMaps extends ClassArray<KeyMap> {
jsObjectToClass(jsObject: any): Serializable<KeyMap> {
jsObjectToClass(jsObject: any): KeyMap {
return new KeyMap().fromJsObject(jsObject);
}
binaryToClass(buffer: UhkBuffer): Serializable<KeyMap> {
binaryToClass(buffer: UhkBuffer): KeyMap {
return new KeyMap().fromBinary(buffer);
}

View File

@@ -4,7 +4,7 @@ import {UhkBuffer} from '../UhkBuffer';
export class Layer extends Serializable<Layer> {
modules: Serializable<Modules>;
modules: Modules;
_fromJsObject(jsObject: any): Layer {
this.modules = new Modules().fromJsObject(jsObject.modules);

View File

@@ -1,15 +1,14 @@
import {ClassArray} from '../ClassArray';
import {Serializable} from '../Serializable';
import {UhkBuffer} from '../UhkBuffer';
import {Layer} from './Layer';
export class Layers extends ClassArray<Layer> {
jsObjectToClass(jsObject: any): Serializable<Layer> {
jsObjectToClass(jsObject: any): Layer {
return new Layer().fromJsObject(jsObject);
}
binaryToClass(buffer: UhkBuffer): Serializable<Layer> {
binaryToClass(buffer: UhkBuffer): Layer {
return new Layer().fromBinary(buffer);
}

View File

@@ -13,7 +13,7 @@ export class Macro extends Serializable<Macro> {
name: string;
macroActions: Serializable<MacroActions>;
macroActions: MacroActions;
_fromJsObject(jsObject: any): Macro {
this.id = jsObject.id;

View File

@@ -1,5 +1,4 @@
import {ClassArray} from '../ClassArray';
import {Serializable} from '../Serializable';
import {UhkBuffer} from '../UhkBuffer';
import {DelayMacroAction} from './DelayMacroAction';
import {MacroAction, macroActionType, MacroActionId} from './MacroAction';
@@ -18,7 +17,7 @@ import {TextMacroAction} from './TextMacroAction';
export class MacroActions extends ClassArray<MacroAction> {
jsObjectToClass(jsObject: any): Serializable<MacroAction> {
jsObjectToClass(jsObject: any): MacroAction {
switch (jsObject.macroActionType) {
case macroActionType.PressKeyMacroAction:
return new PressKeyMacroAction().fromJsObject(jsObject);
@@ -51,7 +50,7 @@ export class MacroActions extends ClassArray<MacroAction> {
}
}
binaryToClass(buffer: UhkBuffer): Serializable<MacroAction> {
binaryToClass(buffer: UhkBuffer): MacroAction {
let macroActionFirstByte = buffer.readUInt8();
buffer.backtrack();

View File

@@ -1,15 +1,14 @@
import {ClassArray} from '../ClassArray';
import {Serializable} from '../Serializable';
import {Macro} from './Macro';
import {UhkBuffer} from '../UhkBuffer';
export class Macros extends ClassArray<Macro> {
jsObjectToClass(jsObject: any): Serializable<Macro> {
jsObjectToClass(jsObject: any): Macro {
return new Macro().fromJsObject(jsObject);
}
binaryToClass(buffer: UhkBuffer): Serializable<Macro> {
binaryToClass(buffer: UhkBuffer): Macro {
return new Macro().fromBinary(buffer);
}

View File

@@ -13,7 +13,7 @@ export class Module extends Serializable<Module> {
// @assertUInt8
id: number;
keyActions: Serializable<KeyActions>;
keyActions: KeyActions;
// @assertEnum(PointerRole)
private pointerRole: PointerRole;

View File

@@ -1,15 +1,14 @@
import {ClassArray} from '../ClassArray';
import {Serializable} from '../Serializable';
import {ModuleConfiguration} from './ModuleConfiguration';
import {UhkBuffer} from '../UhkBuffer';
export class ModuleConfigurations extends ClassArray<ModuleConfiguration> {
jsObjectToClass(jsObject: any): Serializable<ModuleConfiguration> {
jsObjectToClass(jsObject: any): ModuleConfiguration {
return new ModuleConfiguration().fromJsObject(jsObject);
}
binaryToClass(buffer: UhkBuffer): Serializable<ModuleConfiguration> {
binaryToClass(buffer: UhkBuffer): ModuleConfiguration {
return new ModuleConfiguration().fromBinary(buffer);
}

View File

@@ -1,15 +1,14 @@
import {ClassArray} from '../ClassArray';
import {Module} from './Module';
import {Serializable} from '../Serializable';
import {UhkBuffer} from '../UhkBuffer';
export class Modules extends ClassArray<Module> {
jsObjectToClass(jsObject: any): Serializable<Module> {
jsObjectToClass(jsObject: any): Module {
return new Module().fromJsObject(jsObject);
}
binaryToClass(buffer: UhkBuffer): Serializable<Module> {
binaryToClass(buffer: UhkBuffer): Module {
return new Module().fromBinary(buffer);
}

View File

@@ -20,11 +20,11 @@ export class UhkConfiguration extends Serializable<UhkConfiguration> {
// @assertUInt8
brandId: number;
moduleConfigurations: Serializable<ModuleConfigurations>;
moduleConfigurations: ModuleConfigurations;
keyMaps: Serializable<KeyMaps>;
keyMaps: KeyMaps;
macros: Serializable<Macros>;
macros: Macros;
// @assertUInt32
epilogue: number;