diff --git a/helpers/VDF.js b/helpers/VDF.js index 0201cb8..3e921e3 100644 --- a/helpers/VDF.js +++ b/helpers/VDF.js @@ -13,11 +13,24 @@ var Type = { End: 8, }; +const needed_methods = [ + "readUint8", + "readCString", + "readInt3", + "readUint64", + "readFloat", +] + exports.decode = function(buffer) { var object = {}; - if(typeof(buffer.readUint8) != "function"){ - buffer = ByteBuffer.wrap(buffer); + + for (let needed_method of needed_methods) { + if (typeof(buffer[needed_method]) != "function") { + buffer = ByteBuffer.wrap(buffer); + break; + } } + if(buffer.offset != buffer.limit) { while (true) { var type = buffer.readUint8(); @@ -90,4 +103,4 @@ exports.encode = function(object){ buffer.writeByte(Type.End); buffer.flip(); return buffer; -}; \ No newline at end of file +};