[Pkg-javascript-commits] [node-leveldown] 113/492: slight C++ cleanup, giving in to macros, UGH!
Andrew Kelley
andrewrk-guest at moszumanska.debian.org
Sun Jul 6 17:13:50 UTC 2014
This is an automated email from the git hooks/post-receive script.
andrewrk-guest pushed a commit to annotated tag rocksdb-0.10.1
in repository node-leveldown.
commit 5a3192d7253539eae49b8c8bf4c96f3bb5e7578e
Author: Rod Vagg <rod at vagg.org>
Date: Sun Dec 16 12:48:34 2012 +1100
slight C++ cleanup, giving in to macros, UGH!
---
src/database.cc | 15 +++++++++------
src/iterator.cc | 16 ++++------------
src/levelup.h | 5 +++++
3 files changed, 18 insertions(+), 18 deletions(-)
diff --git a/src/database.cc b/src/database.cc
index ae69ce6..711ff3b 100644
--- a/src/database.cc
+++ b/src/database.cc
@@ -119,14 +119,17 @@ Handle<Value> Database::Open (const Arguments& args) {
String::Utf8Value location(args[0]->ToString());
Local<Object> optionsObj = Local<Object>::Cast(args[1]);
Persistent<Function> callback = Persistent<Function>::New(Local<Function>::Cast(args[2]));
+ BOOLEAN_OPTION_VALUE(optionsObj, createIfMissing)
+ BOOLEAN_OPTION_VALUE(optionsObj, errorIfExists)
+ BOOLEAN_OPTION_VALUE(optionsObj, compression)
OpenWorker* worker = new OpenWorker(
database
, callback
, *location
- , optionsObj->Has(option_createIfMissing) && optionsObj->Get(option_createIfMissing)->BooleanValue()
- , optionsObj->Has(option_errorIfExists) && optionsObj->Get(option_errorIfExists)->BooleanValue()
- , optionsObj->Has(option_compression) && optionsObj->Get(option_compression)->BooleanValue()
+ , createIfMissing
+ , errorIfExists
+ , compression
);
AsyncQueueWorker(worker);
@@ -163,7 +166,7 @@ Handle<Value> Database::Put (const Arguments& args) {
Persistent<Value> valueBuffer = Persistent<Value>::New(args[1]);
STRING_OR_BUFFER_TO_SLICE(value, valueBuffer)
Local<Object> optionsObj = Local<Object>::Cast(args[2]);
- bool sync = optionsObj->Has(option_sync) && optionsObj->Get(option_sync)->BooleanValue();
+ BOOLEAN_OPTION_VALUE(optionsObj, sync)
WriteWorker* worker = new WriteWorker(
database
@@ -214,7 +217,7 @@ Handle<Value> Database::Delete (const Arguments& args) {
Persistent<Value> keyBuffer = Persistent<Value>::New(args[0]);
STRING_OR_BUFFER_TO_SLICE(key, keyBuffer)
Local<Object> optionsObj = Local<Object>::Cast(args[1]);
- bool sync = optionsObj->Has(option_sync) && optionsObj->Get(option_sync)->BooleanValue();
+ BOOLEAN_OPTION_VALUE(optionsObj, sync)
DeleteWorker* worker = new DeleteWorker(
database
@@ -234,7 +237,7 @@ Handle<Value> Database::Batch (const Arguments& args) {
Database* database = ObjectWrap::Unwrap<Database>(args.This());
Local<Array> array = Local<Array>::Cast(args[0]);
Local<Object> optionsObj = Local<Object>::Cast(args[1]);
- bool sync = optionsObj->Has(option_sync) && optionsObj->Get(option_sync)->BooleanValue();
+ BOOLEAN_OPTION_VALUE(optionsObj, sync)
Persistent<Function> callback = Persistent<Function>::New(Local<Function>::Cast(args[2]));
vector<BatchOp*>* operations = new vector<BatchOp*>;
diff --git a/src/iterator.cc b/src/iterator.cc
index 5dcd002..7ce8997 100644
--- a/src/iterator.cc
+++ b/src/iterator.cc
@@ -133,18 +133,10 @@ Handle<Value> levelup::Iterator::New (const Arguments& args) {
STRING_OR_BUFFER_TO_SLICE(_end, endBuffer)
end = new string(_end.data(), _end.size());
}
- bool reverse = false;
- if (args[1]->ToObject()->Has(option_reverse)) {
- reverse = args[1]->ToObject()->Get(option_reverse)->BooleanValue();
- }
- bool keys = true;
- if (args[1]->ToObject()->Has(option_keys)) {
- keys = args[1]->ToObject()->Get(option_keys)->BooleanValue();
- }
- bool values = true;
- if (args[1]->ToObject()->Has(option_values)) {
- values = args[1]->ToObject()->Get(option_values)->BooleanValue();
- }
+ Local<Object> optionsObj = Local<Object>::Cast(args[1]);
+ BOOLEAN_OPTION_VALUE(optionsObj, reverse)
+ BOOLEAN_OPTION_VALUE_DEFTRUE(optionsObj, keys)
+ BOOLEAN_OPTION_VALUE_DEFTRUE(optionsObj, values)
int limit = -1;
if (args[1]->ToObject()->Has(option_limit)) {
limit = Local<Integer>::Cast(args[1]->ToObject()->Get(option_limit))->Value();
diff --git a/src/levelup.h b/src/levelup.h
index feabc4b..8fa74ce 100644
--- a/src/levelup.h
+++ b/src/levelup.h
@@ -44,6 +44,11 @@
} \
Slice to(to ## Ch_, to ## Sz_);
+#define BOOLEAN_OPTION_VALUE(optionsObj, opt) \
+ bool opt = optionsObj->Has(option_ ## opt) && optionsObj->Get(option_ ## opt)->BooleanValue();
+#define BOOLEAN_OPTION_VALUE_DEFTRUE(optionsObj, opt) \
+ bool opt = !optionsObj->Has(option_ ## opt) || optionsObj->Get(option_ ## opt)->BooleanValue();
+
const char* ToCString(const v8::String::Utf8Value& value);
const char* ToCString(const v8::String::AsciiValue& value);
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-javascript/node-leveldown.git
More information about the Pkg-javascript-commits
mailing list