move bin<->bool conversion to UhkBuffer
This commit is contained in:
@@ -1,6 +1,5 @@
|
|||||||
abstract class Serializable<T> {
|
abstract class Serializable<T> {
|
||||||
|
|
||||||
static boolFlag = 0x80;
|
|
||||||
private static depth = 0;
|
private static depth = 0;
|
||||||
private static maxDisplayedJsonLength = 160;
|
private static maxDisplayedJsonLength = 160;
|
||||||
private static enableDump = true;
|
private static enableDump = true;
|
||||||
@@ -46,15 +45,6 @@ abstract class Serializable<T> {
|
|||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* should have assert uint8? */
|
|
||||||
binToBool(bin: number) {
|
|
||||||
return (bin & Serializable.boolFlag) !== 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
boolToBin(bool: boolean) {
|
|
||||||
return bool ? Serializable.boolFlag : 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
abstract _fromJsObject(jsObject: any): Serializable<T>;
|
abstract _fromJsObject(jsObject: any): Serializable<T>;
|
||||||
abstract _fromBinary(buffer: UhkBuffer): Serializable<T>;
|
abstract _fromBinary(buffer: UhkBuffer): Serializable<T>;
|
||||||
abstract _toJsObject(): any;
|
abstract _toJsObject(): any;
|
||||||
|
|||||||
@@ -143,6 +143,14 @@ class UhkBuffer {
|
|||||||
this.offset += stringByteLength;
|
this.offset += stringByteLength;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
readBoolean(): boolean {
|
||||||
|
return this.readUInt8() !== 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
writeBoolean(bool: boolean) {
|
||||||
|
this.writeUInt8(bool ? 1 : 0);
|
||||||
|
}
|
||||||
|
|
||||||
backtrack(): void {
|
backtrack(): void {
|
||||||
this.offset -= this.bytesToBacktrack;
|
this.offset -= this.bytesToBacktrack;
|
||||||
this.bytesToBacktrack = 0;
|
this.bytesToBacktrack = 0;
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ class KeyMap extends Serializable<KeyMap> {
|
|||||||
|
|
||||||
_fromBinary(buffer: UhkBuffer): KeyMap {
|
_fromBinary(buffer: UhkBuffer): KeyMap {
|
||||||
this.id = buffer.readUInt8();
|
this.id = buffer.readUInt8();
|
||||||
this.isDefault = this.binToBool(buffer.readUInt8());
|
this.isDefault = buffer.readBoolean();
|
||||||
this.abbreviation = buffer.readString();
|
this.abbreviation = buffer.readString();
|
||||||
this.name = buffer.readString();
|
this.name = buffer.readString();
|
||||||
this.layers = new Layers().fromBinary(buffer);
|
this.layers = new Layers().fromBinary(buffer);
|
||||||
@@ -41,7 +41,7 @@ class KeyMap extends Serializable<KeyMap> {
|
|||||||
|
|
||||||
_toBinary(buffer: UhkBuffer): void {
|
_toBinary(buffer: UhkBuffer): void {
|
||||||
buffer.writeUInt8(this.id);
|
buffer.writeUInt8(this.id);
|
||||||
buffer.writeUInt8(this.boolToBin(this.isDefault));
|
buffer.writeBoolean(this.isDefault);
|
||||||
buffer.writeString(this.abbreviation);
|
buffer.writeString(this.abbreviation);
|
||||||
buffer.writeString(this.name);
|
buffer.writeString(this.name);
|
||||||
this.layers.toBinary(buffer);
|
this.layers.toBinary(buffer);
|
||||||
|
|||||||
@@ -22,8 +22,8 @@ class Macro extends Serializable<Macro> {
|
|||||||
|
|
||||||
_fromBinary(buffer: UhkBuffer): Macro {
|
_fromBinary(buffer: UhkBuffer): Macro {
|
||||||
this.id = buffer.readUInt8();
|
this.id = buffer.readUInt8();
|
||||||
this.isLooped = this.binToBool(buffer.readUInt8());
|
this.isLooped = buffer.readBoolean();
|
||||||
this.isPrivate = this.binToBool(buffer.readUInt8());
|
this.isPrivate = buffer.readBoolean();
|
||||||
this.name = buffer.readString();
|
this.name = buffer.readString();
|
||||||
this.macroActions = new MacroActions().fromBinary(buffer);
|
this.macroActions = new MacroActions().fromBinary(buffer);
|
||||||
return this;
|
return this;
|
||||||
@@ -41,8 +41,8 @@ class Macro extends Serializable<Macro> {
|
|||||||
|
|
||||||
_toBinary(buffer: UhkBuffer): void {
|
_toBinary(buffer: UhkBuffer): void {
|
||||||
buffer.writeUInt8(this.id);
|
buffer.writeUInt8(this.id);
|
||||||
buffer.writeUInt8(this.boolToBin(this.isLooped));
|
buffer.writeBoolean(this.isLooped);
|
||||||
buffer.writeUInt8(this.boolToBin(this.isPrivate));
|
buffer.writeBoolean(this.isPrivate);
|
||||||
buffer.writeString(this.name);
|
buffer.writeString(this.name);
|
||||||
this.macroActions.toBinary(buffer);
|
this.macroActions.toBinary(buffer);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ class SwitchLayerAction extends KeyAction {
|
|||||||
_fromBinary(buffer: UhkBuffer): SwitchLayerAction {
|
_fromBinary(buffer: UhkBuffer): SwitchLayerAction {
|
||||||
this.readAndAssertKeyActionId(buffer);
|
this.readAndAssertKeyActionId(buffer);
|
||||||
this.layer = buffer.readUInt8();
|
this.layer = buffer.readUInt8();
|
||||||
this.isLayerToggleable = this.binToBool(buffer.readUInt8());
|
this.isLayerToggleable = buffer.readBoolean();
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -36,7 +36,7 @@ class SwitchLayerAction extends KeyAction {
|
|||||||
_toBinary(buffer: UhkBuffer) {
|
_toBinary(buffer: UhkBuffer) {
|
||||||
buffer.writeUInt8(KeyActionId.SwitchLayerAction);
|
buffer.writeUInt8(KeyActionId.SwitchLayerAction);
|
||||||
buffer.writeUInt8(this.layer);
|
buffer.writeUInt8(this.layer);
|
||||||
buffer.writeUInt8(this.boolToBin(this.isLayerToggleable));
|
buffer.writeBoolean(this.isLayerToggleable);
|
||||||
}
|
}
|
||||||
|
|
||||||
toString(): string {
|
toString(): string {
|
||||||
|
|||||||
Reference in New Issue
Block a user