From a9c4cac09bb2af67c89cc87946db1f733850abeb Mon Sep 17 00:00:00 2001 From: grant lodge <6323995+thelonelyvulpes@users.noreply.github.com> Date: Wed, 1 Jun 2022 12:11:27 +0100 Subject: [PATCH] Remove null handling for node / relationship ids --- .../src/packstream/packstream-v5.js | 14 +- .../test/packstream/packstream-v5.test.js | 144 +----------------- 2 files changed, 8 insertions(+), 150 deletions(-) diff --git a/packages/bolt-connection/src/packstream/packstream-v5.js b/packages/bolt-connection/src/packstream/packstream-v5.js index e99731336..e08224783 100644 --- a/packages/bolt-connection/src/packstream/packstream-v5.js +++ b/packages/bolt-connection/src/packstream/packstream-v5.js @@ -58,7 +58,7 @@ export class Unpacker extends v2.Unpacker { this._verifyStructSize('Node', NODE_STRUCT_SIZE, structSize) return new Node( - _valueOrDefault(this.unpack(buffer), this._defaultIdentity), // Identity + this.unpack(buffer), // Identity this.unpack(buffer), // Labels this.unpack(buffer), // Properties, this.unpack(buffer) // ElementId @@ -69,9 +69,9 @@ export class Unpacker extends v2.Unpacker { this._verifyStructSize('Relationship', RELATIONSHIP_STRUCT_SIZE, structSize) return new Relationship( - _valueOrDefault(this.unpack(buffer), this._defaultIdentity), // Identity - _valueOrDefault(this.unpack(buffer), this._defaultIdentity), // Start Node Identity - _valueOrDefault(this.unpack(buffer), this._defaultIdentity), // End Node Identity + this.unpack(buffer), // Identity + this.unpack(buffer), // Start Node Identity + this.unpack(buffer), // End Node Identity this.unpack(buffer), // Type this.unpack(buffer), // Properties, this.unpack(buffer), // ElementId @@ -88,14 +88,10 @@ export class Unpacker extends v2.Unpacker { ) return new UnboundRelationship( - _valueOrDefault(this.unpack(buffer), this._defaultIdentity), // Identity + this.unpack(buffer), // Identity this.unpack(buffer), // Type this.unpack(buffer), // Properties this.unpack(buffer) // ElementId ) } } - -function _valueOrDefault (value, defaultValue) { - return value === null ? defaultValue : value -} diff --git a/packages/bolt-connection/test/packstream/packstream-v5.test.js b/packages/bolt-connection/test/packstream/packstream-v5.test.js index ffb9df042..1102e86b3 100644 --- a/packages/bolt-connection/test/packstream/packstream-v5.test.js +++ b/packages/bolt-connection/test/packstream/packstream-v5.test.js @@ -238,42 +238,6 @@ describe('#unit PackStreamV5', () => { return [nodeStruct, expectedNode, { disableLosslessIntegers: true, useBigInt: false }] } - function validWithoutOldIdentifiersLossy () { - const identity = null - const labels = ['a', 'b'] - const properties = { a: 1, b: 2 } - const elementId = 'element_id_1' - const expectedNode = new Node(-1, labels, properties, elementId) - const nodeStruct = new Structure(0x4e, [ - identity, labels, properties, elementId - ]) - return [nodeStruct, expectedNode, { disableLosslessIntegers: true, useBigInt: false }] - } - - function validWithoutOldIdentifiersLosslessInteger () { - const identity = null - const labels = ['a', 'b'] - const properties = { a: 1, b: 2 } - const elementId = 'element_id_1' - const expectedNode = new Node(int(-1), labels, properties, elementId) - const nodeStruct = new Structure(0x4e, [ - identity, labels, properties, elementId - ]) - return [nodeStruct, expectedNode, { disableLosslessIntegers: false, useBigInt: false }] - } - - function validWithoutOldIdentifiersBigInt () { - const identity = null - const labels = ['a', 'b'] - const properties = { a: 1, b: 2 } - const elementId = 'element_id_1' - const expectedNode = new Node(BigInt(-1), labels, properties, elementId) - const nodeStruct = new Structure(0x4e, [ - identity, labels, properties, elementId - ]) - return [nodeStruct, expectedNode, { disableLosslessIntegers: false, useBigInt: true }] - } - function validWithInt () { const identity = int(1) const labels = ['a', 'b'] @@ -301,10 +265,7 @@ describe('#unit PackStreamV5', () => { return [ validWithNumber(), validWithInt(), - validWithBigInt(), - validWithoutOldIdentifiersLossy(), - validWithoutOldIdentifiersLosslessInteger(), - validWithoutOldIdentifiersBigInt() + validWithBigInt() ] } @@ -335,63 +296,6 @@ describe('#unit PackStreamV5', () => { return [relStruct, expectedRel, { disableLosslessIntegers: true, useBigInt: false }] } - function validWithoutOldIdentifiersLossy () { - const identity = null - const start = null - const end = null - const type = 'KNOWS' - const properties = { a: 1, b: 2 } - const elementId = 'element_id_1' - const startNodeElementId = 'element_id_2' - const endNodeElementId = 'element_id_3' - const expectedRel = new Relationship( - -1, -1, -1, type, properties, - elementId, startNodeElementId, endNodeElementId) - const relStruct = new Structure(0x52, [ - identity, start, end, type, properties, elementId, - startNodeElementId, endNodeElementId - ]) - return [relStruct, expectedRel, { disableLosslessIntegers: true, useBigInt: false }] - } - - function validWithoutOldIdentifiersLossLess () { - const identity = null - const start = null - const end = null - const type = 'KNOWS' - const properties = { a: 1, b: 2 } - const elementId = 'element_id_1' - const startNodeElementId = 'element_id_2' - const endNodeElementId = 'element_id_3' - const expectedRel = new Relationship( - int(-1), int(-1), int(-1), type, properties, - elementId, startNodeElementId, endNodeElementId) - const relStruct = new Structure(0x52, [ - identity, start, end, type, properties, elementId, - startNodeElementId, endNodeElementId - ]) - return [relStruct, expectedRel, { disableLosslessIntegers: false, useBigInt: false }] - } - - function validWithoutOldIdentifiersBigInt () { - const identity = null - const start = null - const end = null - const type = 'KNOWS' - const properties = { a: 1, b: 2 } - const elementId = 'element_id_1' - const startNodeElementId = 'element_id_2' - const endNodeElementId = 'element_id_3' - const expectedRel = new Relationship( - BigInt(-1), BigInt(-1), BigInt(-1), type, properties, - elementId, startNodeElementId, endNodeElementId) - const relStruct = new Structure(0x52, [ - identity, start, end, type, properties, elementId, - startNodeElementId, endNodeElementId - ]) - return [relStruct, expectedRel, { disableLosslessIntegers: true, useBigInt: true }] - } - function validWithInt () { const identity = int(1) const start = int(2) @@ -433,10 +337,7 @@ describe('#unit PackStreamV5', () => { return [ validWithNumber(), validWithInt(), - validWithBigInt(), - validWithoutOldIdentifiersLossy(), - validWithoutOldIdentifiersLossLess(), - validWithoutOldIdentifiersBigInt() + validWithBigInt() ] } @@ -460,42 +361,6 @@ describe('#unit PackStreamV5', () => { return [struct, expectedUnboundRel, { disableLosslessIntegers: true, useBigInt: false }] } - function validWithoutOldIdentifiersLossy () { - const identity = null - const type = 'DOESNT_KNOW' - const properties = { a: 1, b: 2 } - const elementId = 'element_id_1' - const expectedUnboundRel = new UnboundRelationship(-1, type, properties, elementId) - const struct = new Structure(0x72, [ - identity, type, properties, elementId - ]) - return [struct, expectedUnboundRel, { disableLosslessIntegers: true, useBigInt: false }] - } - - function validWithoutOldIdentifiersLossless () { - const identity = null - const type = 'DOESNT_KNOW' - const properties = { a: 1, b: 2 } - const elementId = 'element_id_1' - const expectedUnboundRel = new UnboundRelationship(int(-1), type, properties, elementId) - const struct = new Structure(0x72, [ - identity, type, properties, elementId - ]) - return [struct, expectedUnboundRel, { disableLosslessIntegers: false, useBigInt: false }] - } - - function validWithoutOldIdentifiersBigInt () { - const identity = null - const type = 'DOESNT_KNOW' - const properties = { a: 1, b: 2 } - const elementId = 'element_id_1' - const expectedUnboundRel = new UnboundRelationship(BigInt(-1), type, properties, elementId) - const struct = new Structure(0x72, [ - identity, type, properties, elementId - ]) - return [struct, expectedUnboundRel, { disableLosslessIntegers: false, useBigInt: true }] - } - function validWithInt () { const identity = int(1) const type = 'DOESNT_KNOW' @@ -523,10 +388,7 @@ describe('#unit PackStreamV5', () => { return [ validWithNumber(), validWithInt(), - validWithBigInt(), - validWithoutOldIdentifiersLossy(), - validWithoutOldIdentifiersLossless(), - validWithoutOldIdentifiersBigInt() + validWithBigInt() ] }