From e47feb1cf6e45f6bcb3afa20d5ead6629634ec92 Mon Sep 17 00:00:00 2001 From: Romain Beaumont Date: Fri, 8 May 2015 02:26:45 +0200 Subject: [PATCH] encapsulate condition evaluation --- src/protocol.js | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/protocol.js b/src/protocol.js index 7149529..c0796a8 100644 --- a/src/protocol.js +++ b/src/protocol.js @@ -119,6 +119,11 @@ for (var n in entityMetadataTypes) { entityMetadataTypeBytes[entityMetadataTypes[n].type] = n; } +function evalCondition(condition,arg) +{ + return condition(arg); +} + function sizeOfEntityMetadata(value) { var size = 1 + value.length; var item; @@ -633,7 +638,7 @@ function sizeOfCount(value, typeArgs, rootNode) { } function read(buffer, cursor, fieldInfo, rootNodes) { - if (fieldInfo.condition && !fieldInfo.condition(rootNodes)) { + if (fieldInfo.condition && !evalCondition(fieldInfo.condition,rootNodes)) { return null; } var type = types[fieldInfo.type]; @@ -651,7 +656,7 @@ function read(buffer, cursor, fieldInfo, rootNodes) { } function write(value, buffer, offset, fieldInfo, rootNode) { - if (fieldInfo.condition && !fieldInfo.condition(rootNode)) { + if (fieldInfo.condition && !evalCondition(fieldInfo.condition,rootNode)) { return offset; } var type = types[fieldInfo.type]; @@ -664,7 +669,7 @@ function write(value, buffer, offset, fieldInfo, rootNode) { } function sizeOf(value, fieldInfo, rootNode) { - if (fieldInfo.condition && !fieldInfo.condition(rootNode)) { + if (fieldInfo.condition && !evalCondition(fieldInfo.condition,rootNode)) { return 0; } var type = types[fieldInfo.type];