diff --git a/src/simpleframes.ts b/src/simpleframes.ts index 9a55fda..c76b557 100644 --- a/src/simpleframes.ts +++ b/src/simpleframes.ts @@ -4,25 +4,24 @@ import {MeterbusLibUtils} from './utils' export namespace MeterbusLibFrames { export abstract class Frame { protected _telegram : number[] - protected _startCharacter : number - protected _frameLength : number - protected _firstPayload : number - protected _payloadLength : number + protected __startCharacter : number + protected __frameLength : number + protected __firstPayload : number + protected __payloadLength : number constructor(startCharacter : number, frameLength : number, firstPayload : number, telegram : number[]) { - this._startCharacter = startCharacter - this._frameLength = frameLength - this._firstPayload = firstPayload + this.__startCharacter = startCharacter + this.__frameLength = frameLength + this.__firstPayload = firstPayload this._telegram = telegram - this._payloadLength = this._frameLength - 6 + this.__payloadLength = this.__frameLength - 6 } toJSON() : any { - return MeterbusLibUtils.jsonPrepaper(this, ["_startCharacter", "_frameLength", - "_firstPayload", "_payloadLength" ]) + return MeterbusLibUtils.jsonPrepaper(this, []) } getJSON() : string { @@ -30,12 +29,12 @@ export namespace MeterbusLibFrames { } verifyChecksumAndEnd() { - if (this._firstPayload != 0) { + if (this.__firstPayload != 0) { if (this._telegram[this._telegram.length - 1] != 0x16) { throw new MeterbusLibExceptions.InvalidStopCharError() } let checksum : number = 0 - this._telegram.slice(this._firstPayload, this._telegram.length -2).forEach((val) => { + this._telegram.slice(this.__firstPayload, this._telegram.length -2).forEach((val) => { checksum += val }) // console.log(`calc. checksum ${checksum}, ${checksum & 0xff}`) @@ -49,10 +48,10 @@ export namespace MeterbusLibFrames { abstract parse2() parse() { - if (this._telegram[0] != this._startCharacter) { + if (this._telegram[0] != this.__startCharacter) { throw new MeterbusLibExceptions.InvalidStartCharError() } - if (this._telegram.length != this._frameLength) { + if (this._telegram.length != this.__frameLength) { throw new MeterbusLibExceptions.InvalidLengthError() } this.verifyChecksumAndEnd() @@ -83,10 +82,10 @@ export namespace MeterbusLibFrames { } parse2() { - if (this._telegram[2] != this._payloadLength) { + if (this._telegram[2] != this.__payloadLength) { throw new MeterbusLibExceptions.InvalidSecondLengthError() } - if (this._payloadLength < 3) { + if (this.__payloadLength < 3) { throw new MeterbusLibExceptions.PayloadTooShortError() } diff --git a/src/utils.ts b/src/utils.ts index ad3b3b2..3f42a9a 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -17,10 +17,7 @@ export namespace MeterbusLibUtils { export function jsonPrepaper(obj:any, hideKeys:string[]) : any { let dup = {} for (let key in obj) { - if (hideKeys.indexOf(key) == -1) { - //if (key[0] == "_") { - // key = key.slice(1) - //} + if ((hideKeys.indexOf(key) == -1) && ! ((key[0] == "_") && (key[1] == "_"))) { let dkey = (key[0] == "_") ? key.slice(1) : key dup[dkey] = obj[key] }