From 20de4c37153b8a08c590a750e4d3027a500101ec Mon Sep 17 00:00:00 2001 From: Nicolas Dextraze Date: Sun, 3 Sep 2017 12:36:39 -0700 Subject: [PATCH] remove useless new Buffer(guidParse.parse(...)) since it's now returning a buffer --- .../appendToStreamOperation.js | 2 +- ...onnectToPersistentSubscriptionOperation.js | 4 +-- .../transactionalWriteOperation.js | 2 +- src/common/guid-parse.js | 31 +++++++++---------- 4 files changed, 19 insertions(+), 20 deletions(-) diff --git a/src/clientOperations/appendToStreamOperation.js b/src/clientOperations/appendToStreamOperation.js index 45e0ae9..5d748f0 100644 --- a/src/clientOperations/appendToStreamOperation.js +++ b/src/clientOperations/appendToStreamOperation.js @@ -26,7 +26,7 @@ util.inherits(AppendToStreamOperation, OperationBase); AppendToStreamOperation.prototype._createRequestDto = function() { var dtos = this._events.map(function(ev) { - var eventId = new Buffer(guidParse.parse(ev.eventId)); + var eventId = guidParse.parse(ev.eventId); return { eventId: eventId, eventType: ev.type, dataContentType: ev.isJson ? 1 : 0, metadataContentType: 0, diff --git a/src/clientOperations/connectToPersistentSubscriptionOperation.js b/src/clientOperations/connectToPersistentSubscriptionOperation.js index 3dc7105..51431fa 100644 --- a/src/clientOperations/connectToPersistentSubscriptionOperation.js +++ b/src/clientOperations/connectToPersistentSubscriptionOperation.js @@ -92,7 +92,7 @@ ConnectToPersistentSubscriptionOperation.prototype.notifyEventsProcessed = funct var dto = new ClientMessage.PersistentSubscriptionAckEvents({ subscriptionId: this._subscriptionId, processedEventIds: processedEvents.map(function (x) { - return new Buffer(guidParse.parse(x)); + return guidParse.parse(x); }) }); @@ -110,7 +110,7 @@ ConnectToPersistentSubscriptionOperation.prototype.notifyEventsFailed = function ensure.notNull(reason, "reason"); var dto = new ClientMessage.PersistentSubscriptionNakEvents({ subscriptionId: this._subscriptionId, - processedEventIds: processedEvents.map(function(x) { return new Buffer(guidParse.parse(x)); }), + processedEventIds: processedEvents.map(function(x) { return guidParse.parse(x); }), message: reason, action: action }); diff --git a/src/clientOperations/transactionalWriteOperation.js b/src/clientOperations/transactionalWriteOperation.js index 8efa48e..bab00a8 100644 --- a/src/clientOperations/transactionalWriteOperation.js +++ b/src/clientOperations/transactionalWriteOperation.js @@ -22,7 +22,7 @@ util.inherits(TransactionalWriteOperation, OperationBase); TransactionalWriteOperation.prototype._createRequestDto = function() { var dtos = this._events.map(function(ev) { - var eventId = new Buffer(guidParse.parse(ev.eventId)); + var eventId = guidParse.parse(ev.eventId); return { eventId: eventId, eventType: ev.type, dataContentType: ev.isJson ? 1 : 0, metadataContentType: 0, diff --git a/src/common/guid-parse.js b/src/common/guid-parse.js index 24f6d36..f8663a7 100644 --- a/src/common/guid-parse.js +++ b/src/common/guid-parse.js @@ -16,32 +16,31 @@ function parse(s, buf, offset) { if (buf) buf.fill(0, i, i + 16); buf = buf || new Buffer(16); s.toLowerCase().replace(/[0-9a-f]{2}/g, function(oct) { - if (ii < 4) { - buf[i + (3 - ii++)] = _hexToByte[oct] - } else if (ii < 6) { - buf[i + 4 + (5 - ii++)] = _hexToByte[oct] - } else if (ii < 8) { - buf[i + 6 + (7 - ii++)] = _hexToByte[oct] - } else if (ii < 16) { // Don't overflow! + if (ii < 16) { // Don't overflow! buf[i + ii++] = _hexToByte[oct]; } }); + var buf2 = new Buffer(buf.slice(i, i + 16)); + buf[i + 0] = buf2[3]; + buf[i + 1] = buf2[2]; + buf[i + 2] = buf2[1]; + buf[i + 3] = buf2[0]; + buf[i + 4] = buf2[5]; + buf[i + 5] = buf2[4]; + buf[i + 6] = buf2[7]; + buf[i + 7] = buf2[6]; + return buf; } // **`unparse()` - Convert UUID byte array (ala parse()) into a string** function unparse(buf, offset) { var i = offset || 0; - const bth = _byteToHex; - return bth[buf[i+3]] + bth[buf[i+2]] + - bth[buf[i+1]] + bth[buf[i+0]] + '-' + - bth[buf[i+5]] + bth[buf[i+4]] + '-' + - bth[buf[i+7]] + bth[buf[i+6]] + '-' + - bth[buf[i+8]] + bth[buf[i+9]] + '-' + - bth[buf[i+10]] + bth[buf[i+11]] + - bth[buf[i+12]] + bth[buf[i+13]] + - bth[buf[i+14]] + bth[buf[i+15]]; + return '03020100-0504-0706-0809-101112131415'.replace(/\d{2}/g, function (num) { + var j = parseInt(num, 10); + return _byteToHex[buf[i+j]]; + }) } exports.parse = parse;