You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@apex.apache.org by da...@apache.org on 2015/11/30 22:06:13 UTC
[07/98] [abbrv] [partial] incubator-apex-malhar git commit: Removing
all web demos
http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/e1a45507/web/demos/package/node_modules/mongodb/node_modules/bson/ext/bson.h
----------------------------------------------------------------------
diff --git a/web/demos/package/node_modules/mongodb/node_modules/bson/ext/bson.h b/web/demos/package/node_modules/mongodb/node_modules/bson/ext/bson.h
deleted file mode 100644
index 13f0cc4..0000000
--- a/web/demos/package/node_modules/mongodb/node_modules/bson/ext/bson.h
+++ /dev/null
@@ -1,278 +0,0 @@
-//===========================================================================
-
-#ifndef BSON_H_
-#define BSON_H_
-
-//===========================================================================
-
-#ifdef __arm__
-#define USE_MISALIGNED_MEMORY_ACCESS 0
-#else
-#define USE_MISALIGNED_MEMORY_ACCESS 1
-#endif
-
-#include <node.h>
-#include <node_object_wrap.h>
-#include <v8.h>
-#include "nan.h"
-
-using namespace v8;
-using namespace node;
-
-//===========================================================================
-
-enum BsonType
-{
- BSON_TYPE_NUMBER = 1,
- BSON_TYPE_STRING = 2,
- BSON_TYPE_OBJECT = 3,
- BSON_TYPE_ARRAY = 4,
- BSON_TYPE_BINARY = 5,
- BSON_TYPE_UNDEFINED = 6,
- BSON_TYPE_OID = 7,
- BSON_TYPE_BOOLEAN = 8,
- BSON_TYPE_DATE = 9,
- BSON_TYPE_NULL = 10,
- BSON_TYPE_REGEXP = 11,
- BSON_TYPE_CODE = 13,
- BSON_TYPE_SYMBOL = 14,
- BSON_TYPE_CODE_W_SCOPE = 15,
- BSON_TYPE_INT = 16,
- BSON_TYPE_TIMESTAMP = 17,
- BSON_TYPE_LONG = 18,
- BSON_TYPE_MAX_KEY = 0x7f,
- BSON_TYPE_MIN_KEY = 0xff
-};
-
-//===========================================================================
-
-template<typename T> class BSONSerializer;
-
-class BSON : public ObjectWrap {
-public:
- BSON();
- ~BSON() {}
-
- static void Initialize(Handle<Object> target);
- static NAN_METHOD(BSONDeserializeStream);
-
- // JS based objects
- static NAN_METHOD(BSONSerialize);
- static NAN_METHOD(BSONDeserialize);
-
- // Calculate size of function
- static NAN_METHOD(CalculateObjectSize);
- static NAN_METHOD(SerializeWithBufferAndIndex);
-
- // Constructor used for creating new BSON objects from C++
- static Persistent<FunctionTemplate> constructor_template;
-
-private:
- static NAN_METHOD(New);
- static Handle<Value> deserialize(BSON *bson, char *data, uint32_t dataLength, uint32_t startIndex, bool is_array_item);
-
- // BSON type instantiate functions
- Persistent<Function> longConstructor;
- Persistent<Function> objectIDConstructor;
- Persistent<Function> binaryConstructor;
- Persistent<Function> codeConstructor;
- Persistent<Function> dbrefConstructor;
- Persistent<Function> symbolConstructor;
- Persistent<Function> doubleConstructor;
- Persistent<Function> timestampConstructor;
- Persistent<Function> minKeyConstructor;
- Persistent<Function> maxKeyConstructor;
-
- // Equality Objects
- Persistent<String> longString;
- Persistent<String> objectIDString;
- Persistent<String> binaryString;
- Persistent<String> codeString;
- Persistent<String> dbrefString;
- Persistent<String> symbolString;
- Persistent<String> doubleString;
- Persistent<String> timestampString;
- Persistent<String> minKeyString;
- Persistent<String> maxKeyString;
-
- // Equality speed up comparison objects
- Persistent<String> _bsontypeString;
- Persistent<String> _longLowString;
- Persistent<String> _longHighString;
- Persistent<String> _objectIDidString;
- Persistent<String> _binaryPositionString;
- Persistent<String> _binarySubTypeString;
- Persistent<String> _binaryBufferString;
- Persistent<String> _doubleValueString;
- Persistent<String> _symbolValueString;
-
- Persistent<String> _dbRefRefString;
- Persistent<String> _dbRefIdRefString;
- Persistent<String> _dbRefDbRefString;
- Persistent<String> _dbRefNamespaceString;
- Persistent<String> _dbRefDbString;
- Persistent<String> _dbRefOidString;
-
- Persistent<String> _codeCodeString;
- Persistent<String> _codeScopeString;
- Persistent<String> _toBSONString;
-
- Local<Object> GetSerializeObject(const Handle<Value>& object);
-
- template<typename T> friend class BSONSerializer;
- friend class BSONDeserializer;
-};
-
-//===========================================================================
-
-class CountStream
-{
-public:
- CountStream() : count(0) { }
-
- void WriteByte(int value) { ++count; }
- void WriteByte(const Handle<Object>&, const Handle<String>&) { ++count; }
- void WriteBool(const Handle<Value>& value) { ++count; }
- void WriteInt32(int32_t value) { count += 4; }
- void WriteInt32(const Handle<Value>& value) { count += 4; }
- void WriteInt32(const Handle<Object>& object, const Handle<String>& key) { count += 4; }
- void WriteInt64(int64_t value) { count += 8; }
- void WriteInt64(const Handle<Value>& value) { count += 8; }
- void WriteDouble(double value) { count += 8; }
- void WriteDouble(const Handle<Value>& value) { count += 8; }
- void WriteDouble(const Handle<Object>&, const Handle<String>&) { count += 8; }
- void WriteUInt32String(uint32_t name) { char buffer[32]; count += sprintf(buffer, "%u", name) + 1; }
- void WriteLengthPrefixedString(const Local<String>& value) { count += value->Utf8Length()+5; }
- void WriteObjectId(const Handle<Object>& object, const Handle<String>& key) { count += 12; }
- void WriteString(const Local<String>& value) { count += value->Utf8Length() + 1; } // This returns the number of bytes exclusive of the NULL terminator
- void WriteData(const char* data, size_t length) { count += length; }
-
- void* BeginWriteType() { ++count; return NULL; }
- void CommitType(void*, BsonType) { }
- void* BeginWriteSize() { count += 4; return NULL; }
- void CommitSize(void*) { }
-
- size_t GetSerializeSize() const { return count; }
-
- // Do nothing. CheckKey is implemented for DataStream
- void CheckKey(const Local<String>&) { }
-
-private:
- size_t count;
-};
-
-class DataStream
-{
-public:
- DataStream(char* aDestinationBuffer) : destinationBuffer(aDestinationBuffer), p(aDestinationBuffer) { }
-
- void WriteByte(int value) { *p++ = value; }
- void WriteByte(const Handle<Object>& object, const Handle<String>& key) { *p++ = object->Get(key)->Int32Value(); }
-#if USE_MISALIGNED_MEMORY_ACCESS
- void WriteInt32(int32_t value) { *reinterpret_cast<int32_t*>(p) = value; p += 4; }
- void WriteInt64(int64_t value) { *reinterpret_cast<int64_t*>(p) = value; p += 8; }
- void WriteDouble(double value) { *reinterpret_cast<double*>(p) = value; p += 8; }
-#else
- void WriteInt32(int32_t value) { memcpy(p, &value, 4); p += 4; }
- void WriteInt64(int64_t value) { memcpy(p, &value, 8); p += 8; }
- void WriteDouble(double value) { memcpy(p, &value, 8); p += 8; }
-#endif
- void WriteBool(const Handle<Value>& value) { WriteByte(value->BooleanValue() ? 1 : 0); }
- void WriteInt32(const Handle<Value>& value) { WriteInt32(value->Int32Value()); }
- void WriteInt32(const Handle<Object>& object, const Handle<String>& key) { WriteInt32(object->Get(key)); }
- void WriteInt64(const Handle<Value>& value) { WriteInt64(value->IntegerValue()); }
- void WriteDouble(const Handle<Value>& value) { WriteDouble(value->NumberValue()); }
- void WriteDouble(const Handle<Object>& object, const Handle<String>& key) { WriteDouble(object->Get(key)); }
- void WriteUInt32String(uint32_t name) { p += sprintf(p, "%u", name) + 1; }
- void WriteLengthPrefixedString(const Local<String>& value) { WriteInt32(value->Utf8Length()+1); WriteString(value); }
- void WriteObjectId(const Handle<Object>& object, const Handle<String>& key);
- void WriteString(const Local<String>& value) { p += value->WriteUtf8(p); } // This returns the number of bytes inclusive of the NULL terminator.
- void WriteData(const char* data, size_t length) { memcpy(p, data, length); p += length; }
-
- void* BeginWriteType() { void* returnValue = p; p++; return returnValue; }
- void CommitType(void* beginPoint, BsonType value) { *reinterpret_cast<unsigned char*>(beginPoint) = value; }
- void* BeginWriteSize() { void* returnValue = p; p += 4; return returnValue; }
-
-#if USE_MISALIGNED_MEMORY_ACCESS
- void CommitSize(void* beginPoint) { *reinterpret_cast<int32_t*>(beginPoint) = (int32_t) (p - (char*) beginPoint); }
-#else
- void CommitSize(void* beginPoint) { int32_t value = (int32_t) (p - (char*) beginPoint); memcpy(beginPoint, &value, 4); }
-#endif
-
- size_t GetSerializeSize() const { return p - destinationBuffer; }
-
- void CheckKey(const Local<String>& keyName);
-
-protected:
- char *const destinationBuffer; // base, never changes
- char* p; // cursor into buffer
-};
-
-template<typename T> class BSONSerializer : public T
-{
-private:
- typedef T Inherited;
-
-public:
- BSONSerializer(BSON* aBson, bool aCheckKeys, bool aSerializeFunctions) : Inherited(), checkKeys(aCheckKeys), serializeFunctions(aSerializeFunctions), bson(aBson) { }
- BSONSerializer(BSON* aBson, bool aCheckKeys, bool aSerializeFunctions, char* parentParam) : Inherited(parentParam), checkKeys(aCheckKeys), serializeFunctions(aSerializeFunctions), bson(aBson) { }
-
- void SerializeDocument(const Handle<Value>& value);
- void SerializeArray(const Handle<Value>& value);
- void SerializeValue(void* typeLocation, const Handle<Value>& value);
-
-private:
- bool checkKeys;
- bool serializeFunctions;
- BSON* bson;
-};
-
-//===========================================================================
-
-class BSONDeserializer
-{
-public:
- BSONDeserializer(BSON* aBson, char* data, size_t length);
- BSONDeserializer(BSONDeserializer& parentSerializer, size_t length);
-
- Handle<Value> DeserializeDocument(bool promoteLongs);
-
- bool HasMoreData() const { return p < pEnd; }
- Handle<Value> ReadCString();
- uint32_t ReadIntegerString();
- int32_t ReadRegexOptions();
- Local<String> ReadString();
- Local<String> ReadObjectId();
-
- unsigned char ReadByte() { return *reinterpret_cast<unsigned char*>(p++); }
-#if USE_MISALIGNED_MEMORY_ACCESS
- int32_t ReadInt32() { int32_t returnValue = *reinterpret_cast<int32_t*>(p); p += 4; return returnValue; }
- uint32_t ReadUInt32() { uint32_t returnValue = *reinterpret_cast<uint32_t*>(p); p += 4; return returnValue; }
- int64_t ReadInt64() { int64_t returnValue = *reinterpret_cast<int64_t*>(p); p += 8; return returnValue; }
- double ReadDouble() { double returnValue = *reinterpret_cast<double*>(p); p += 8; return returnValue; }
-#else
- int32_t ReadInt32() { int32_t returnValue; memcpy(&returnValue, p, 4); p += 4; return returnValue; }
- uint32_t ReadUInt32() { uint32_t returnValue; memcpy(&returnValue, p, 4); p += 4; return returnValue; }
- int64_t ReadInt64() { int64_t returnValue; memcpy(&returnValue, p, 8); p += 8; return returnValue; }
- double ReadDouble() { double returnValue; memcpy(&returnValue, p, 8); p += 8; return returnValue; }
-#endif
-
- size_t GetSerializeSize() const { return p - pStart; }
-
-private:
- Handle<Value> DeserializeArray(bool promoteLongs);
- Handle<Value> DeserializeValue(BsonType type, bool promoteLongs);
- Handle<Value> DeserializeDocumentInternal(bool promoteLongs);
- Handle<Value> DeserializeArrayInternal(bool promoteLongs);
-
- BSON* bson;
- char* const pStart;
- char* p;
- char* const pEnd;
-};
-
-//===========================================================================
-
-#endif // BSON_H_
-
-//===========================================================================
http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/e1a45507/web/demos/package/node_modules/mongodb/node_modules/bson/ext/index.js
----------------------------------------------------------------------
diff --git a/web/demos/package/node_modules/mongodb/node_modules/bson/ext/index.js b/web/demos/package/node_modules/mongodb/node_modules/bson/ext/index.js
deleted file mode 100644
index 65affae..0000000
--- a/web/demos/package/node_modules/mongodb/node_modules/bson/ext/index.js
+++ /dev/null
@@ -1,35 +0,0 @@
-var bson = null;
-
-try {
- // Load the precompiled win32 binary
- if(process.platform == "win32" && process.arch == "x64") {
- bson = require('./win32/x64/bson');
- } else if(process.platform == "win32" && process.arch == "ia32") {
- bson = require('./win32/ia32/bson');
- } else {
- bson = require('../build/Release/bson');
- }
-} catch(err) {
- console.error("Failed to load c++ bson extension, using pure JS version");
- bson = require('../lib/bson/bson');
-}
-
-exports.BSON = bson.BSON;
-exports.Long = require('../lib/bson/long').Long;
-exports.ObjectID = require('../lib/bson/objectid').ObjectID;
-exports.DBRef = require('../lib/bson/db_ref').DBRef;
-exports.Code = require('../lib/bson/code').Code;
-exports.Timestamp = require('../lib/bson/timestamp').Timestamp;
-exports.Binary = require('../lib/bson/binary').Binary;
-exports.Double = require('../lib/bson/double').Double;
-exports.MaxKey = require('../lib/bson/max_key').MaxKey;
-exports.MinKey = require('../lib/bson/min_key').MinKey;
-exports.Symbol = require('../lib/bson/symbol').Symbol;
-
-// Just add constants tot he Native BSON parser
-exports.BSON.BSON_BINARY_SUBTYPE_DEFAULT = 0;
-exports.BSON.BSON_BINARY_SUBTYPE_FUNCTION = 1;
-exports.BSON.BSON_BINARY_SUBTYPE_BYTE_ARRAY = 2;
-exports.BSON.BSON_BINARY_SUBTYPE_UUID = 3;
-exports.BSON.BSON_BINARY_SUBTYPE_MD5 = 4;
-exports.BSON.BSON_BINARY_SUBTYPE_USER_DEFINED = 128;
http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/e1a45507/web/demos/package/node_modules/mongodb/node_modules/bson/ext/nan.h
----------------------------------------------------------------------
diff --git a/web/demos/package/node_modules/mongodb/node_modules/bson/ext/nan.h b/web/demos/package/node_modules/mongodb/node_modules/bson/ext/nan.h
deleted file mode 100644
index 822cb4d..0000000
--- a/web/demos/package/node_modules/mongodb/node_modules/bson/ext/nan.h
+++ /dev/null
@@ -1,1196 +0,0 @@
-/**********************************************************************************
- * NAN - Native Abstractions for Node.js
- *
- * Copyright (c) 2014 NAN contributors:
- * - Rod Vagg <https://github.com/rvagg>
- * - Benjamin Byholm <https://github.com/kkoopa>
- * - Trevor Norris <https://github.com/trevnorris>
- * - Nathan Rajlich <https://github.com/TooTallNate>
- * - Brett Lawson <https://github.com/brett19>
- * - Ben Noordhuis <https://github.com/bnoordhuis>
- *
- * MIT +no-false-attribs License <https://github.com/rvagg/nan/blob/master/LICENSE>
- *
- * Version 0.8.0 (current Node unstable: 0.11.10, Node stable: 0.10.24)
- *
- * ChangeLog:
- * * 0.8.0 Jan 9 2014
- * - NanDispose -> NanDisposePersistent, deprecate NanDispose
- * - Extract _NAN_*_RETURN_TYPE, pull up NAN_*()
- *
- * * 0.7.1 Jan 9 2014
- * - Fixes to work against debug builds of Node
- * - Safer NanPersistentToLocal (avoid reinterpret_cast)
- * - Speed up common NanRawString case by only extracting flattened string when necessary
- *
- * * 0.7.0 Dec 17 2013
- * - New no-arg form of NanCallback() constructor.
- * - NanCallback#Call takes Handle rather than Local
- * - Removed deprecated NanCallback#Run method, use NanCallback#Call instead
- * - Split off _NAN_*_ARGS_TYPE from _NAN_*_ARGS
- * - Restore (unofficial) Node 0.6 compatibility at NanCallback#Call()
- * - Introduce NanRawString() for char* (or appropriate void*) from v8::String
- * (replacement for NanFromV8String)
- * - Introduce NanCString() for null-terminated char* from v8::String
- *
- * * 0.6.0 Nov 21 2013
- * - Introduce NanNewLocal<T>(v8::Handle<T> value) for use in place of
- * v8::Local<T>::New(...) since v8 started requiring isolate in Node 0.11.9
- *
- * * 0.5.2 Nov 16 2013
- * - Convert SavePersistent and GetFromPersistent in NanAsyncWorker from protected and public
- *
- * * 0.5.1 Nov 12 2013
- * - Use node::MakeCallback() instead of direct v8::Function::Call()
- *
- * * 0.5.0 Nov 11 2013
- * - Added @TooTallNate as collaborator
- * - New, much simpler, "include_dirs" for binding.gyp
- * - Added full range of NAN_INDEX_* macros to match NAN_PROPERTY_* macros
- *
- * * 0.4.4 Nov 2 2013
- * - Isolate argument from v8::Persistent::MakeWeak removed for 0.11.8+
- *
- * * 0.4.3 Nov 2 2013
- * - Include node_object_wrap.h, removed from node.h for Node 0.11.8.
- *
- * * 0.4.2 Nov 2 2013
- * - Handle deprecation of v8::Persistent::Dispose(v8::Isolate* isolate)) for
- * Node 0.11.8 release.
- *
- * * 0.4.1 Sep 16 2013
- * - Added explicit `#include <uv.h>` as it was removed from node.h for v0.11.8
- *
- * * 0.4.0 Sep 2 2013
- * - Added NAN_INLINE and NAN_DEPRECATED and made use of them
- * - Added NanError, NanTypeError and NanRangeError
- * - Cleaned up code
- *
- * * 0.3.2 Aug 30 2013
- * - Fix missing scope declaration in GetFromPersistent() and SaveToPersistent
- * in NanAsyncWorker
- *
- * * 0.3.1 Aug 20 2013
- * - fix "not all control paths return a value" compile warning on some platforms
- *
- * * 0.3.0 Aug 19 2013
- * - Made NAN work with NPM
- * - Lots of fixes to NanFromV8String, pulling in features from new Node core
- * - Changed node::encoding to Nan::Encoding in NanFromV8String to unify the API
- * - Added optional error number argument for NanThrowError()
- * - Added NanInitPersistent()
- * - Added NanReturnNull() and NanReturnEmptyString()
- * - Added NanLocker and NanUnlocker
- * - Added missing scopes
- * - Made sure to clear disposed Persistent handles
- * - Changed NanAsyncWorker to allocate error messages on the heap
- * - Changed NanThrowError(Local<Value>) to NanThrowError(Handle<Value>)
- * - Fixed leak in NanAsyncWorker when errmsg is used
- *
- * * 0.2.2 Aug 5 2013
- * - Fixed usage of undefined variable with node::BASE64 in NanFromV8String()
- *
- * * 0.2.1 Aug 5 2013
- * - Fixed 0.8 breakage, node::BUFFER encoding type not available in 0.8 for
- * NanFromV8String()
- *
- * * 0.2.0 Aug 5 2013
- * - Added NAN_PROPERTY_GETTER, NAN_PROPERTY_SETTER, NAN_PROPERTY_ENUMERATOR,
- * NAN_PROPERTY_DELETER, NAN_PROPERTY_QUERY
- * - Extracted _NAN_METHOD_ARGS, _NAN_GETTER_ARGS, _NAN_SETTER_ARGS,
- * _NAN_PROPERTY_GETTER_ARGS, _NAN_PROPERTY_SETTER_ARGS,
- * _NAN_PROPERTY_ENUMERATOR_ARGS, _NAN_PROPERTY_DELETER_ARGS,
- * _NAN_PROPERTY_QUERY_ARGS
- * - Added NanGetInternalFieldPointer, NanSetInternalFieldPointer
- * - Added NAN_WEAK_CALLBACK, NAN_WEAK_CALLBACK_OBJECT,
- * NAN_WEAK_CALLBACK_DATA, NanMakeWeak
- * - Renamed THROW_ERROR to _NAN_THROW_ERROR
- * - Added NanNewBufferHandle(char*, size_t, node::smalloc::FreeCallback, void*)
- * - Added NanBufferUse(char*, uint32_t)
- * - Added NanNewContextHandle(v8::ExtensionConfiguration*,
- * v8::Handle<v8::ObjectTemplate>, v8::Handle<v8::Value>)
- * - Fixed broken NanCallback#GetFunction()
- * - Added optional encoding and size arguments to NanFromV8String()
- * - Added NanGetPointerSafe() and NanSetPointerSafe()
- * - Added initial test suite (to be expanded)
- * - Allow NanUInt32OptionValue to convert any Number object
- *
- * * 0.1.0 Jul 21 2013
- * - Added `NAN_GETTER`, `NAN_SETTER`
- * - Added `NanThrowError` with single Local<Value> argument
- * - Added `NanNewBufferHandle` with single uint32_t argument
- * - Added `NanHasInstance(Persistent<FunctionTemplate>&, Handle<Value>)`
- * - Added `Local<Function> NanCallback#GetFunction()`
- * - Added `NanCallback#Call(int, Local<Value>[])`
- * - Deprecated `NanCallback#Run(int, Local<Value>[])` in favour of Call
- *
- * See https://github.com/rvagg/nan for the latest update to this file
- **********************************************************************************/
-
-#ifndef NAN_H
-#define NAN_H
-
-#include <uv.h>
-#include <node.h>
-#include <node_buffer.h>
-#include <node_version.h>
-#include <node_object_wrap.h>
-#include <string.h>
-
-#if defined(__GNUC__) && !defined(DEBUG)
-# define NAN_INLINE(declarator) inline __attribute__((always_inline)) declarator
-#elif defined(_MSC_VER) && !defined(DEBUG)
-# define NAN_INLINE(declarator) __forceinline declarator
-#else
-# define NAN_INLINE(declarator) inline declarator
-#endif
-
-#if defined(__GNUC__) && !V8_DISABLE_DEPRECATIONS
-# define NAN_DEPRECATED(declarator) __attribute__((deprecated)) declarator
-#elif defined(_MSC_VER) && !V8_DISABLE_DEPRECATIONS
-# define NAN_DEPRECATED(declarator) __declspec(deprecated) declarator
-#else
-# define NAN_DEPRECATED(declarator) declarator
-#endif
-
-// some generic helpers
-
-template<class T> static NAN_INLINE(bool NanSetPointerSafe(
- T *var
- , T val
-)) {
- if (var) {
- *var = val;
- return true;
- } else {
- return false;
- }
-}
-
-template<class T> static NAN_INLINE(T NanGetPointerSafe(
- T *var
- , T fallback = reinterpret_cast<T>(0)
-)) {
- if (var) {
- return *var;
- } else {
- return fallback;
- }
-}
-
-#define NanSymbol(value) v8::String::NewSymbol(value)
-
-static NAN_INLINE(bool NanBooleanOptionValue(
- v8::Local<v8::Object> optionsObj
- , v8::Handle<v8::String> opt, bool def
-)) {
- if (def) {
- return optionsObj.IsEmpty()
- || !optionsObj->Has(opt)
- || optionsObj->Get(opt)->BooleanValue();
- } else {
- return !optionsObj.IsEmpty()
- && optionsObj->Has(opt)
- && optionsObj->Get(opt)->BooleanValue();
- }
-}
-
-static NAN_INLINE(bool NanBooleanOptionValue(
- v8::Local<v8::Object> optionsObj
- , v8::Handle<v8::String> opt
-)) {
- return NanBooleanOptionValue(optionsObj, opt, false);
-}
-
-static NAN_INLINE(uint32_t NanUInt32OptionValue(
- v8::Local<v8::Object> optionsObj
- , v8::Handle<v8::String> opt
- , uint32_t def
-)) {
- return !optionsObj.IsEmpty()
- && optionsObj->Has(opt)
- && optionsObj->Get(opt)->IsNumber()
- ? optionsObj->Get(opt)->Uint32Value()
- : def;
-}
-
-#if (NODE_MODULE_VERSION > 0x000B)
-// Node 0.11+ (0.11.3 and below won't compile with these)
-
-static v8::Isolate* nan_isolate = v8::Isolate::GetCurrent();
-
-# define _NAN_METHOD_ARGS_TYPE const v8::FunctionCallbackInfo<v8::Value>&
-# define _NAN_METHOD_ARGS _NAN_METHOD_ARGS_TYPE args
-# define _NAN_METHOD_RETURN_TYPE void
-
-# define _NAN_GETTER_ARGS_TYPE const v8::PropertyCallbackInfo<v8::Value>&
-# define _NAN_GETTER_ARGS _NAN_GETTER_ARGS_TYPE args
-# define _NAN_GETTER_RETURN_TYPE void
-
-# define _NAN_SETTER_ARGS_TYPE const v8::PropertyCallbackInfo<void>&
-# define _NAN_SETTER_ARGS _NAN_SETTER_ARGS_TYPE args
-# define _NAN_SETTER_RETURN_TYPE void
-
-# define _NAN_PROPERTY_GETTER_ARGS_TYPE \
- const v8::PropertyCallbackInfo<v8::Value>&
-# define _NAN_PROPERTY_GETTER_ARGS _NAN_PROPERTY_GETTER_ARGS_TYPE args
-# define _NAN_PROPERTY_GETTER_RETURN_TYPE void
-
-# define _NAN_PROPERTY_SETTER_ARGS_TYPE \
- const v8::PropertyCallbackInfo<v8::Value>&
-# define _NAN_PROPERTY_SETTER_ARGS _NAN_PROPERTY_SETTER_ARGS_TYPE args
-# define _NAN_PROPERTY_SETTER_RETURN_TYPE void
-
-# define _NAN_PROPERTY_ENUMERATOR_ARGS_TYPE \
- const v8::PropertyCallbackInfo<v8::Array>&
-# define _NAN_PROPERTY_ENUMERATOR_ARGS _NAN_PROPERTY_ENUMERATOR_ARGS_TYPE args
-# define _NAN_PROPERTY_ENUMERATOR_RETURN_TYPE void
-
-# define _NAN_PROPERTY_DELETER_ARGS_TYPE \
- const v8::PropertyCallbackInfo<v8::Boolean>&
-# define _NAN_PROPERTY_DELETER_ARGS \
- _NAN_PROPERTY_DELETER_ARGS_TYPE args
-# define _NAN_PROPERTY_DELETER_RETURN_TYPE void
-
-# define _NAN_PROPERTY_QUERY_ARGS_TYPE \
- const v8::PropertyCallbackInfo<v8::Integer>&
-# define _NAN_PROPERTY_QUERY_ARGS _NAN_PROPERTY_QUERY_ARGS_TYPE args
-# define _NAN_PROPERTY_QUERY_RETURN_TYPE void
-
-# define _NAN_INDEX_GETTER_ARGS_TYPE \
- const v8::PropertyCallbackInfo<v8::Value>&
-# define _NAN_INDEX_GETTER_ARGS _NAN_INDEX_GETTER_ARGS_TYPE args
-# define _NAN_INDEX_GETTER_RETURN_TYPE void
-
-# define _NAN_INDEX_SETTER_ARGS_TYPE \
- const v8::PropertyCallbackInfo<v8::Value>&
-# define _NAN_INDEX_SETTER_ARGS _NAN_INDEX_SETTER_ARGS_TYPE args
-# define _NAN_INDEX_SETTER_RETURN_TYPE void
-
-# define _NAN_INDEX_ENUMERATOR_ARGS_TYPE \
- const v8::PropertyCallbackInfo<v8::Array>&
-# define _NAN_INDEX_ENUMERATOR_ARGS _NAN_INDEX_ENUMERATOR_ARGS_TYPE args
-# define _NAN_INDEX_ENUMERATOR_RETURN_TYPE void
-
-# define _NAN_INDEX_DELETER_ARGS_TYPE \
- const v8::PropertyCallbackInfo<v8::Boolean>&
-# define _NAN_INDEX_DELETER_ARGS _NAN_INDEX_DELETER_ARGS_TYPE args
-# define _NAN_INDEX_DELETER_RETURN_TYPE void
-
-# define _NAN_INDEX_QUERY_ARGS_TYPE \
- const v8::PropertyCallbackInfo<v8::Integer>&
-# define _NAN_INDEX_QUERY_ARGS _NAN_INDEX_QUERY_ARGS_TYPE args
-# define _NAN_INDEX_QUERY_RETURN_TYPE void
-
-# define NanGetInternalFieldPointer(object, index) \
- object->GetAlignedPointerFromInternalField(index)
-# define NanSetInternalFieldPointer(object, index, value) \
- object->SetAlignedPointerInInternalField(index, value)
-
-# define NAN_WEAK_CALLBACK(type, name) \
- void name( \
- v8::Isolate* isolate \
- , v8::Persistent<v8::Object>* object \
- , type data)
-# define NAN_WEAK_CALLBACK_OBJECT (*object)
-# define NAN_WEAK_CALLBACK_DATA(type) ((type) data)
-
-# define NanScope() v8::HandleScope scope(nan_isolate)
-# define NanLocker() v8::Locker locker(nan_isolate)
-# define NanUnlocker() v8::Unlocker unlocker(nan_isolate)
-# define NanReturnValue(value) return args.GetReturnValue().Set(value)
-# define NanReturnUndefined() return
-# define NanReturnNull() return args.GetReturnValue().SetNull()
-# define NanReturnEmptyString() return args.GetReturnValue().SetEmptyString()
-# define NanAssignPersistent(type, handle, obj) handle.Reset(nan_isolate, obj)
-# define NanInitPersistent(type, name, obj) \
- v8::Persistent<type> name(nan_isolate, obj)
-# define NanObjectWrapHandle(obj) obj->handle()
-
-//TODO: remove <0.11.8 support when 0.12 is released
-#if NODE_VERSION_AT_LEAST(0, 11, 8)
-# define NanMakeWeak(handle, parameter, callback) \
- handle.MakeWeak(parameter, callback)
-#else
-# define NanMakeWeak(handle, parameter, callback) \
- handle.MakeWeak(nan_isolate, parameter, callback)
-#endif
-
-# define _NAN_ERROR(fun, errmsg) fun(v8::String::New(errmsg))
-
-# define _NAN_THROW_ERROR(fun, errmsg) \
- do { \
- NanScope(); \
- v8::ThrowException(_NAN_ERROR(fun, errmsg)); \
- } while (0);
-
- template<class T> static NAN_INLINE(v8::Local<T> NanNewLocal(
- v8::Handle<T> val
- )) {
-//TODO: remove <0.11.9 support when 0.12 is released
-#if NODE_VERSION_AT_LEAST(0, 11, 9)
- return v8::Local<T>::New(nan_isolate, val);
-#else
- return v8::Local<T>::New(val);
-#endif
- }
-
- static NAN_INLINE(v8::Handle<v8::Value> NanError(const char* errmsg)) {
- return _NAN_ERROR(v8::Exception::Error, errmsg);
- }
-
- static NAN_INLINE(void NanThrowError(const char* errmsg)) {
- _NAN_THROW_ERROR(v8::Exception::Error, errmsg);
- }
-
- static NAN_INLINE(void NanThrowError(v8::Handle<v8::Value> error)) {
- NanScope();
- v8::ThrowException(error);
- }
-
- static NAN_INLINE(v8::Handle<v8::Value> NanError(
- const char *msg
- , const int errorNumber
- )) {
- v8::Local<v8::Value> err = v8::Exception::Error(v8::String::New(msg));
- v8::Local<v8::Object> obj = err.As<v8::Object>();
- obj->Set(v8::String::New("code"), v8::Int32::New(errorNumber));
- return err;
- }
-
- static NAN_INLINE(void NanThrowError(
- const char *msg
- , const int errorNumber
- )) {
- NanThrowError(NanError(msg, errorNumber));
- }
-
- static NAN_INLINE(v8::Handle<v8::Value> NanTypeError(const char* errmsg)) {
- return _NAN_ERROR(v8::Exception::TypeError, errmsg);
- }
-
- static NAN_INLINE(void NanThrowTypeError(const char* errmsg)) {
- _NAN_THROW_ERROR(v8::Exception::TypeError, errmsg);
- }
-
- static NAN_INLINE(v8::Handle<v8::Value> NanRangeError(const char* errmsg)) {
- return _NAN_ERROR(v8::Exception::RangeError, errmsg);
- }
-
- static NAN_INLINE(void NanThrowRangeError(const char* errmsg)) {
- _NAN_THROW_ERROR(v8::Exception::RangeError, errmsg);
- }
-
- template<class T> static NAN_INLINE(void NanDisposePersistent(
- v8::Persistent<T> &handle
- )) {
-
-//TODO: remove <0.11.8 support when 0.12 is released
-# if NODE_VERSION_AT_LEAST(0, 11, 8)
- handle.Reset();
-# else
- handle.Dispose(nan_isolate);
-# endif
- handle.Clear();
- }
-
- template<class T> static NAN_DEPRECATED(void NanDispose(
- v8::Persistent<T> &handle
- )) {
- NanDisposePersistent(handle);
- }
-
- static NAN_INLINE(v8::Local<v8::Object> NanNewBufferHandle (
- char *data
- , size_t length
- , node::smalloc::FreeCallback callback
- , void *hint
- )) {
- return node::Buffer::New(data, length, callback, hint);
- }
-
- static NAN_INLINE(v8::Local<v8::Object> NanNewBufferHandle (
- char *data
- , uint32_t size
- )) {
- return node::Buffer::New(data, size);
- }
-
- static NAN_INLINE(v8::Local<v8::Object> NanNewBufferHandle (uint32_t size)) {
- return node::Buffer::New(size);
- }
-
- static NAN_INLINE(v8::Local<v8::Object> NanBufferUse(
- char* data
- , uint32_t size
- )) {
- return node::Buffer::Use(data, size);
- }
-
- template <class TypeName>
- static NAN_INLINE(v8::Local<TypeName> NanPersistentToLocal(
- const v8::Persistent<TypeName>& persistent
- )) {
- return v8::Local<TypeName>::New(nan_isolate, persistent);
- }
-
- static NAN_INLINE(bool NanHasInstance(
- v8::Persistent<v8::FunctionTemplate>& function_template
- , v8::Handle<v8::Value> value
- )) {
- return NanPersistentToLocal(function_template)->HasInstance(value);
- }
-
- static NAN_INLINE(v8::Local<v8::Context> NanNewContextHandle(
- v8::ExtensionConfiguration* extensions = NULL
- , v8::Handle<v8::ObjectTemplate> tmpl = v8::Handle<v8::ObjectTemplate>()
- , v8::Handle<v8::Value> obj = v8::Handle<v8::Value>()
- )) {
- return v8::Local<v8::Context>::New(
- nan_isolate
- , v8::Context::New(nan_isolate, extensions, tmpl, obj)
- );
- }
-
-#else
-// Node 0.8 and 0.10
-
-# define _NAN_METHOD_ARGS_TYPE const v8::Arguments&
-# define _NAN_METHOD_ARGS _NAN_METHOD_ARGS_TYPE args
-# define _NAN_METHOD_RETURN_TYPE v8::Handle<v8::Value>
-
-# define _NAN_GETTER_ARGS_TYPE const v8::AccessorInfo &
-# define _NAN_GETTER_ARGS _NAN_GETTER_ARGS_TYPE args
-# define _NAN_GETTER_RETURN_TYPE v8::Handle<v8::Value>
-
-# define _NAN_SETTER_ARGS_TYPE const v8::AccessorInfo &
-# define _NAN_SETTER_ARGS _NAN_SETTER_ARGS_TYPE args
-# define _NAN_SETTER_RETURN_TYPE void
-
-# define _NAN_PROPERTY_GETTER_ARGS_TYPE const v8::AccessorInfo&
-# define _NAN_PROPERTY_GETTER_ARGS _NAN_PROPERTY_GETTER_ARGS_TYPE args
-# define _NAN_PROPERTY_GETTER_RETURN_TYPE v8::Handle<v8::Value>
-
-# define _NAN_PROPERTY_SETTER_ARGS_TYPE const v8::AccessorInfo&
-# define _NAN_PROPERTY_SETTER_ARGS _NAN_PROPERTY_SETTER_ARGS_TYPE args
-# define _NAN_PROPERTY_SETTER_RETURN_TYPE v8::Handle<v8::Value>
-
-# define _NAN_PROPERTY_ENUMERATOR_ARGS_TYPE const v8::AccessorInfo&
-# define _NAN_PROPERTY_ENUMERATOR_ARGS _NAN_PROPERTY_ENUMERATOR_ARGS_TYPE args
-# define _NAN_PROPERTY_ENUMERATOR_RETURN_TYPE v8::Handle<v8::Array>
-
-# define _NAN_PROPERTY_DELETER_ARGS_TYPE const v8::AccessorInfo&
-# define _NAN_PROPERTY_DELETER_ARGS _NAN_PROPERTY_DELETER_ARGS_TYPE args
-# define _NAN_PROPERTY_DELETER_RETURN_TYPE v8::Handle<v8::Boolean>
-
-# define _NAN_PROPERTY_QUERY_ARGS_TYPE const v8::AccessorInfo&
-# define _NAN_PROPERTY_QUERY_ARGS _NAN_PROPERTY_QUERY_ARGS_TYPE args
-# define _NAN_PROPERTY_QUERY_RETURN_TYPE v8::Handle<v8::Integer>
-
-# define _NAN_INDEX_GETTER_ARGS_TYPE const v8::AccessorInfo&
-# define _NAN_INDEX_GETTER_ARGS _NAN_INDEX_GETTER_ARGS_TYPE args
-# define _NAN_INDEX_GETTER_RETURN_TYPE v8::Handle<v8::Value>
-
-# define _NAN_INDEX_SETTER_ARGS_TYPE const v8::AccessorInfo&
-# define _NAN_INDEX_SETTER_ARGS _NAN_INDEX_SETTER_ARGS_TYPE args
-# define _NAN_INDEX_SETTER_RETURN_TYPE v8::Handle<v8::Value>
-
-# define _NAN_INDEX_ENUMERATOR_ARGS_TYPE const v8::AccessorInfo&
-# define _NAN_INDEX_ENUMERATOR_ARGS _NAN_INDEX_ENUMERATOR_ARGS_TYPE args
-# define _NAN_INDEX_ENUMERATOR_RETURN_TYPE v8::Handle<v8::Array>
-
-# define _NAN_INDEX_DELETER_ARGS_TYPE const v8::AccessorInfo&
-# define _NAN_INDEX_DELETER_ARGS _NAN_INDEX_DELETER_ARGS_TYPE args
-# define _NAN_INDEX_DELETER_RETURN_TYPE v8::Handle<v8::Boolean>
-
-# define _NAN_INDEX_QUERY_ARGS_TYPE const v8::AccessorInfo&
-# define _NAN_INDEX_QUERY_ARGS _NAN_INDEX_QUERY_ARGS_TYPE args
-# define _NAN_INDEX_QUERY_RETURN_TYPE v8::Handle<v8::Integer>
-
-# define NanGetInternalFieldPointer(object, index) \
- object->GetPointerFromInternalField(index)
-# define NanSetInternalFieldPointer(object, index, value) \
- object->SetPointerInInternalField(index, value)
-# define NAN_WEAK_CALLBACK(type, name) \
- void name( \
- v8::Persistent<v8::Value> object \
- , void *data)
-# define NAN_WEAK_CALLBACK_OBJECT object
-# define NAN_WEAK_CALLBACK_DATA(type) ((type) data)
-
-# define NanScope() v8::HandleScope scope
-# define NanLocker() v8::Locker locker
-# define NanUnlocker() v8::Unlocker unlocker
-# define NanReturnValue(value) return scope.Close(value)
-# define NanReturnUndefined() return v8::Undefined()
-# define NanReturnNull() return v8::Null()
-# define NanReturnEmptyString() return v8::String::Empty()
-# define NanInitPersistent(type, name, obj) \
- v8::Persistent<type> name = v8::Persistent<type>::New(obj)
-# define NanAssignPersistent(type, handle, obj) \
- handle = v8::Persistent<type>::New(obj)
-# define NanObjectWrapHandle(obj) obj->handle_
-# define NanMakeWeak(handle, parameters, callback) \
- handle.MakeWeak(parameters, callback)
-
-# define _NAN_ERROR(fun, errmsg) \
- fun(v8::String::New(errmsg))
-
-# define _NAN_THROW_ERROR(fun, errmsg) \
- do { \
- NanScope(); \
- return v8::ThrowException(_NAN_ERROR(fun, errmsg)); \
- } while (0);
-
- template<class T> static NAN_INLINE(v8::Local<T> NanNewLocal(
- v8::Handle<T> val
- )) {
- return v8::Local<T>::New(val);
- }
-
- static NAN_INLINE(v8::Handle<v8::Value> NanError(const char* errmsg)) {
- return _NAN_ERROR(v8::Exception::Error, errmsg);
- }
-
- static NAN_INLINE(v8::Handle<v8::Value> NanThrowError(const char* errmsg)) {
- _NAN_THROW_ERROR(v8::Exception::Error, errmsg);
- }
-
- static NAN_INLINE(v8::Handle<v8::Value> NanThrowError(
- v8::Handle<v8::Value> error
- )) {
- NanScope();
- return v8::ThrowException(error);
- }
-
- static NAN_INLINE(v8::Handle<v8::Value> NanError(
- const char *msg
- , const int errorNumber
- )) {
- v8::Local<v8::Value> err = v8::Exception::Error(v8::String::New(msg));
- v8::Local<v8::Object> obj = err.As<v8::Object>();
- obj->Set(v8::String::New("code"), v8::Int32::New(errorNumber));
- return err;
- }
-
- static NAN_INLINE(v8::Handle<v8::Value> NanThrowError(
- const char *msg
- , const int errorNumber
- )) {
- return NanThrowError(NanError(msg, errorNumber));
- }
-
- static NAN_INLINE(v8::Handle<v8::Value> NanTypeError(const char* errmsg)) {
- return _NAN_ERROR(v8::Exception::TypeError, errmsg);
- }
-
- static NAN_INLINE(v8::Handle<v8::Value> NanThrowTypeError(
- const char* errmsg
- )) {
- _NAN_THROW_ERROR(v8::Exception::TypeError, errmsg);
- }
-
- static NAN_INLINE(v8::Handle<v8::Value> NanRangeError(
- const char* errmsg
- )) {
- return _NAN_ERROR(v8::Exception::RangeError, errmsg);
- }
-
- static NAN_INLINE(v8::Handle<v8::Value> NanThrowRangeError(
- const char* errmsg
- )) {
- _NAN_THROW_ERROR(v8::Exception::RangeError, errmsg);
- }
-
- template<class T> static NAN_INLINE(void NanDisposePersistent(
- v8::Persistent<T> &handle
- )) {
- handle.Dispose();
- handle.Clear();
- }
-
- template<class T> static NAN_DEPRECATED(void NanDispose(
- v8::Persistent<T> &handle
- )) {
- NanDisposePersistent(handle);
- }
-
- static NAN_INLINE(v8::Local<v8::Object> NanNewBufferHandle (
- char *data
- , size_t length
- , node::Buffer::free_callback callback
- , void *hint
- )) {
- return NanNewLocal<v8::Object>(
- node::Buffer::New(data, length, callback, hint)->handle_);
- }
-
- static NAN_INLINE(v8::Local<v8::Object> NanNewBufferHandle (
- char *data
- , uint32_t size
- )) {
- return NanNewLocal<v8::Object>(node::Buffer::New(data, size)->handle_);
- }
-
- static NAN_INLINE(v8::Local<v8::Object> NanNewBufferHandle (uint32_t size)) {
- return NanNewLocal<v8::Object>(node::Buffer::New(size)->handle_);
- }
-
- static NAN_INLINE(void FreeData(char *data, void *hint)) {
- delete[] data;
- }
-
- static NAN_INLINE(v8::Local<v8::Object> NanBufferUse(
- char* data
- , uint32_t size
- )) {
- return NanNewLocal<v8::Object>(
- node::Buffer::New(data, size, FreeData, NULL)->handle_);
- }
-
- template <class TypeName>
- static NAN_INLINE(v8::Local<TypeName> NanPersistentToLocal(
- const v8::Persistent<TypeName>& persistent
- )) {
- return NanNewLocal<TypeName>(persistent);
- }
-
- static NAN_INLINE(bool NanHasInstance(
- v8::Persistent<v8::FunctionTemplate>& function_template
- , v8::Handle<v8::Value> value
- )) {
- return function_template->HasInstance(value);
- }
-
- static NAN_INLINE(v8::Local<v8::Context> NanNewContextHandle(
- v8::ExtensionConfiguration* extensions = NULL
- , v8::Handle<v8::ObjectTemplate> tmpl = v8::Handle<v8::ObjectTemplate>()
- , v8::Handle<v8::Value> obj = v8::Handle<v8::Value>()
- )) {
- v8::Persistent<v8::Context> ctx = v8::Context::New(extensions, tmpl, obj);
- v8::Local<v8::Context> lctx = NanNewLocal<v8::Context>(ctx);
- ctx.Dispose();
- return lctx;
- }
-
-#endif // node version
-
-#define NAN_METHOD(name) _NAN_METHOD_RETURN_TYPE name(_NAN_METHOD_ARGS)
-#define NAN_GETTER(name) \
- _NAN_GETTER_RETURN_TYPE name( \
- v8::Local<v8::String> property \
- , _NAN_GETTER_ARGS)
-#define NAN_SETTER(name) \
- _NAN_SETTER_RETURN_TYPE name( \
- v8::Local<v8::String> property \
- , v8::Local<v8::Value> value \
- , _NAN_SETTER_ARGS)
-#define NAN_PROPERTY_GETTER(name) \
- _NAN_PROPERTY_GETTER_RETURN_TYPE name( \
- v8::Local<v8::String> property \
- , _NAN_PROPERTY_GETTER_ARGS)
-#define NAN_PROPERTY_SETTER(name) \
- _NAN_PROPERTY_SETTER_RETURN_TYPE name( \
- v8::Local<v8::String> property \
- , v8::Local<v8::Value> value \
- , _NAN_PROPERTY_SETTER_ARGS)
-#define NAN_PROPERTY_ENUMERATOR(name) \
- _NAN_PROPERTY_ENUMERATOR_RETURN_TYPE name(_NAN_PROPERTY_ENUMERATOR_ARGS)
-#define NAN_PROPERTY_DELETER(name) \
- _NAN_PROPERTY_DELETER_RETURN_TYPE name( \
- v8::Local<v8::String> property \
- , _NAN_PROPERTY_DELETER_ARGS)
-#define NAN_PROPERTY_QUERY(name) \
- _NAN_PROPERTY_QUERY_RETURN_TYPE name( \
- v8::Local<v8::String> property \
- , _NAN_PROPERTY_QUERY_ARGS)
-# define NAN_INDEX_GETTER(name) \
- _NAN_INDEX_GETTER_RETURN_TYPE name(uint32_t index, _NAN_INDEX_GETTER_ARGS)
-#define NAN_INDEX_SETTER(name) \
- _NAN_INDEX_SETTER_RETURN_TYPE name( \
- uint32_t index \
- , v8::Local<v8::Value> value \
- , _NAN_INDEX_SETTER_ARGS)
-#define NAN_INDEX_ENUMERATOR(name) \
- _NAN_INDEX_ENUMERATOR_RETURN_TYPE name(_NAN_INDEX_ENUMERATOR_ARGS)
-#define NAN_INDEX_DELETER(name) \
- _NAN_INDEX_DELETER_RETURN_TYPE name( \
- uint32_t index \
- , _NAN_INDEX_DELETER_ARGS)
-#define NAN_INDEX_QUERY(name) \
- _NAN_INDEX_QUERY_RETURN_TYPE name(uint32_t index, _NAN_INDEX_QUERY_ARGS)
-
-class NanCallback {
- public:
- NanCallback() {
- NanScope();
- v8::Local<v8::Object> obj = v8::Object::New();
- NanAssignPersistent(v8::Object, handle, obj);
- }
-
- NanCallback(const v8::Handle<v8::Function> &fn) {
- NanScope();
- v8::Local<v8::Object> obj = v8::Object::New();
- NanAssignPersistent(v8::Object, handle, obj);
- SetFunction(fn);
- }
-
- ~NanCallback() {
- if (handle.IsEmpty()) return;
- handle.Dispose();
- handle.Clear();
- }
-
- NAN_INLINE(void SetFunction(const v8::Handle<v8::Function> &fn)) {
- NanScope();
- NanPersistentToLocal(handle)->Set(NanSymbol("callback"), fn);
- }
-
- NAN_INLINE(v8::Local<v8::Function> GetFunction ()) {
- return NanPersistentToLocal(handle)->Get(NanSymbol("callback"))
- .As<v8::Function>();
- }
-
- void Call(int argc, v8::Handle<v8::Value> argv[]) {
- NanScope();
-
-#if NODE_VERSION_AT_LEAST(0, 8, 0)
- v8::Local<v8::Function> callback = NanPersistentToLocal(handle)->
- Get(NanSymbol("callback")).As<v8::Function>();
- node::MakeCallback(
- v8::Context::GetCurrent()->Global()
- , callback
- , argc
- , argv
- );
-#else
- node::MakeCallback(handle, "callback", argc, argv);
-#endif
- }
-
- private:
- v8::Persistent<v8::Object> handle;
-};
-
-/* abstract */ class NanAsyncWorker {
-public:
- NanAsyncWorker (NanCallback *callback) : callback(callback) {
- request.data = this;
- errmsg = NULL;
- }
-
- virtual ~NanAsyncWorker () {
- NanScope();
-
- if (!persistentHandle.IsEmpty())
- NanDisposePersistent(persistentHandle);
- if (callback)
- delete callback;
- if (errmsg)
- delete errmsg;
- }
-
- virtual void WorkComplete () {
- NanScope();
-
- if (errmsg == NULL)
- HandleOKCallback();
- else
- HandleErrorCallback();
- delete callback;
- callback = NULL;
- }
-
- void SavePersistent(const char *key, v8::Local<v8::Object> &obj) {
- NanScope();
-
- v8::Local<v8::Object> handle = NanPersistentToLocal(persistentHandle);
- handle->Set(NanSymbol(key), obj);
- }
-
- v8::Local<v8::Object> GetFromPersistent(const char *key) {
- NanScope();
-
- v8::Local<v8::Object> handle = NanPersistentToLocal(persistentHandle);
- return handle->Get(NanSymbol(key)).As<v8::Object>();
- }
-
- virtual void Execute () =0;
-
- uv_work_t request;
-
-protected:
- v8::Persistent<v8::Object> persistentHandle;
- NanCallback *callback;
- const char *errmsg;
-
- virtual void HandleOKCallback () {
- NanScope();
-
- callback->Call(0, NULL);
- };
-
- virtual void HandleErrorCallback () {
- NanScope();
-
- v8::Local<v8::Value> argv[] = {
- v8::Exception::Error(v8::String::New(errmsg))
- };
- callback->Call(1, argv);
- }
-};
-
-NAN_INLINE(void NanAsyncExecute (uv_work_t* req)) {
- NanAsyncWorker *worker = static_cast<NanAsyncWorker*>(req->data);
- worker->Execute();
-}
-
-NAN_INLINE(void NanAsyncExecuteComplete (uv_work_t* req)) {
- NanAsyncWorker* worker = static_cast<NanAsyncWorker*>(req->data);
- worker->WorkComplete();
- delete worker;
-}
-
-NAN_INLINE(void NanAsyncQueueWorker (NanAsyncWorker* worker)) {
- uv_queue_work(
- uv_default_loop()
- , &worker->request
- , NanAsyncExecute
- , (uv_after_work_cb)NanAsyncExecuteComplete
- );
-}
-
-//// Base 64 ////
-
-#define _nan_base64_encoded_size(size) ((size + 2 - ((size + 2) % 3)) / 3 * 4)
-
-// Doesn't check for padding at the end. Can be 1-2 bytes over.
-static NAN_INLINE(size_t _nan_base64_decoded_size_fast(size_t size)) {
- size_t remainder = size % 4;
-
- size = (size / 4) * 3;
- if (remainder) {
- if (size == 0 && remainder == 1) {
- // special case: 1-byte input cannot be decoded
- size = 0;
- } else {
- // non-padded input, add 1 or 2 extra bytes
- size += 1 + (remainder == 3);
- }
- }
-
- return size;
-}
-
-template <typename TypeName>
-static NAN_INLINE(size_t _nan_base64_decoded_size(
- const TypeName* src
- , size_t size
-)) {
- if (size == 0)
- return 0;
-
- if (src[size - 1] == '=')
- size--;
- if (size > 0 && src[size - 1] == '=')
- size--;
-
- return _nan_base64_decoded_size_fast(size);
-}
-
-// supports regular and URL-safe base64
-static const int _nan_unbase64_table[] = {
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -2, -1, -1, -2, -1, -1
- , -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1
- , -2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, 62, -1, 63
- , 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -1, -1, -1
- , -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14
- , 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, 63
- , -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40
- , 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1
- , -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1
- , -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1
- , -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1
- , -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1
- , -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1
- , -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1
- , -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1
- , -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1
-};
-
-#define _nan_unbase64(x) _nan_unbase64_table[(uint8_t)(x)]
-
-template <typename TypeName> static size_t _nan_base64_decode(
- char* buf
- , size_t len
- , const TypeName* src
- , const size_t srcLen
-) {
- char* dst = buf;
- char* dstEnd = buf + len;
- const TypeName* srcEnd = src + srcLen;
-
- while (src < srcEnd && dst < dstEnd) {
- int remaining = srcEnd - src;
- char a, b, c, d;
-
- while (_nan_unbase64(*src) < 0 && src < srcEnd) src++, remaining--;
- if (remaining == 0 || *src == '=') break;
- a = _nan_unbase64(*src++);
-
- while (_nan_unbase64(*src) < 0 && src < srcEnd) src++, remaining--;
- if (remaining <= 1 || *src == '=') break;
- b = _nan_unbase64(*src++);
-
- *dst++ = (a << 2) | ((b & 0x30) >> 4);
- if (dst == dstEnd) break;
-
- while (_nan_unbase64(*src) < 0 && src < srcEnd) src++, remaining--;
- if (remaining <= 2 || *src == '=') break;
- c = _nan_unbase64(*src++);
-
- *dst++ = ((b & 0x0F) << 4) | ((c & 0x3C) >> 2);
- if (dst == dstEnd) break;
-
- while (_nan_unbase64(*src) < 0 && src < srcEnd) src++, remaining--;
- if (remaining <= 3 || *src == '=') break;
- d = _nan_unbase64(*src++);
-
- *dst++ = ((c & 0x03) << 6) | (d & 0x3F);
- }
-
- return dst - buf;
-}
-
-//// HEX ////
-
-template <typename TypeName> unsigned _nan_hex2bin(TypeName c) {
- if (c >= '0' && c <= '9') return c - '0';
- if (c >= 'A' && c <= 'F') return 10 + (c - 'A');
- if (c >= 'a' && c <= 'f') return 10 + (c - 'a');
- return static_cast<unsigned>(-1);
-}
-
-template <typename TypeName> static size_t _nan_hex_decode(
- char* buf
- , size_t len
- , const TypeName* src
- , const size_t srcLen
-) {
- size_t i;
- for (i = 0; i < len && i * 2 + 1 < srcLen; ++i) {
- unsigned a = _nan_hex2bin(src[i * 2 + 0]);
- unsigned b = _nan_hex2bin(src[i * 2 + 1]);
- if (!~a || !~b) return i;
- buf[i] = a * 16 + b;
- }
-
- return i;
-}
-
-static bool _NanGetExternalParts(
- v8::Handle<v8::Value> val
- , const char** data
- , size_t* len
-) {
- if (node::Buffer::HasInstance(val)) {
- *data = node::Buffer::Data(val.As<v8::Object>());
- *len = node::Buffer::Length(val.As<v8::Object>());
- return true;
- }
-
- assert(val->IsString());
- v8::Local<v8::String> str = NanNewLocal(val.As<v8::String>());
-
- if (str->IsExternalAscii()) {
- const v8::String::ExternalAsciiStringResource* ext;
- ext = str->GetExternalAsciiStringResource();
- *data = ext->data();
- *len = ext->length();
- return true;
-
- } else if (str->IsExternal()) {
- const v8::String::ExternalStringResource* ext;
- ext = str->GetExternalStringResource();
- *data = reinterpret_cast<const char*>(ext->data());
- *len = ext->length();
- return true;
- }
-
- return false;
-}
-
-namespace Nan {
- enum Encoding {ASCII, UTF8, BASE64, UCS2, BINARY, HEX, BUFFER};
-}
-
-static NAN_INLINE(void* NanRawString(
- v8::Handle<v8::Value> from
- , enum Nan::Encoding encoding
- , size_t *datalen
- , void *buf
- , size_t buflen
- , int flags
-)) {
- NanScope();
-
- size_t sz_;
- size_t term_len = !(flags & v8::String::NO_NULL_TERMINATION);
- char *data = NULL;
- size_t len;
- bool is_extern = _NanGetExternalParts(
- from
- , const_cast<const char**>(&data)
- , &len);
-
- if (is_extern && !term_len) {
- NanSetPointerSafe(datalen, len);
- return data;
- }
-
- v8::Local<v8::String> toStr = from->ToString();
-
- char *to = (char*)buf;
-
- switch(encoding) {
- case Nan::ASCII:
-#if NODE_MODULE_VERSION < 0x0C
- sz_ = toStr->Length();
- if (to == NULL) {
- to = new char[sz_ + term_len];
- } else {
- assert(buflen >= sz_ + term_len && "too small buffer");
- }
- NanSetPointerSafe<size_t>(
- datalen
- , toStr->WriteAscii(to, 0, sz_ + term_len, flags));
- return to;
-#endif
- case Nan::BINARY:
- case Nan::BUFFER:
- sz_ = toStr->Length();
- if (to == NULL) {
- to = new char[sz_ + term_len];
- } else {
- assert(buflen >= sz_ + term_len && "too small buffer");
- }
-#if NODE_MODULE_VERSION < 0x0C
- // TODO(isaacs): THIS IS AWFUL!!!
- // AGREE(kkoopa)
- {
- uint16_t* twobytebuf = new uint16_t[sz_ + term_len];
-
- size_t len = toStr->Write(twobytebuf, 0, sz_ + term_len, flags);
-
- for (size_t i = 0; i < sz_ + term_len && i < len + term_len; i++) {
- unsigned char *b = reinterpret_cast<unsigned char*>(&twobytebuf[i]);
- to[i] = *b;
- }
-
- NanSetPointerSafe<size_t>(datalen, len);
-
- delete[] twobytebuf;
- return to;
- }
-#else
- NanSetPointerSafe<size_t>(
- datalen,
- toStr->WriteOneByte(
- reinterpret_cast<uint8_t *>(to)
- , 0
- , sz_ + term_len
- , flags));
- return to;
-#endif
- case Nan::UTF8:
- sz_ = toStr->Utf8Length();
- if (to == NULL) {
- to = new char[sz_ + term_len];
- } else {
- assert(buflen >= sz_ + term_len && "too small buffer");
- }
- NanSetPointerSafe<size_t>(
- datalen
- , toStr->WriteUtf8(to, sz_ + term_len, NULL, flags) - term_len);
- return to;
- case Nan::BASE64:
- {
- v8::String::Value value(toStr);
- sz_ = _nan_base64_decoded_size(*value, value.length());
- if (to == NULL) {
- to = new char[sz_ + term_len];
- } else {
- assert(buflen >= sz_ + term_len);
- }
- NanSetPointerSafe<size_t>(
- datalen
- , _nan_base64_decode(to, sz_, *value, value.length()));
- if (term_len) {
- to[sz_] = '\0';
- }
- return to;
- }
- case Nan::UCS2:
- {
- sz_ = toStr->Length();
- if (to == NULL) {
- to = new char[(sz_ + term_len) * 2];
- } else {
- assert(buflen >= (sz_ + term_len) * 2 && "too small buffer");
- }
-
- int bc = 2 * toStr->Write(
- reinterpret_cast<uint16_t *>(to)
- , 0
- , sz_ + term_len
- , flags);
- NanSetPointerSafe<size_t>(datalen, bc);
- return to;
- }
- case Nan::HEX:
- {
- v8::String::Value value(toStr);
- sz_ = value.length();
- assert(!(sz_ & 1) && "bad hex data");
- if (to == NULL) {
- to = new char[sz_ / 2 + term_len];
- } else {
- assert(buflen >= sz_ / 2 + term_len && "too small buffer");
- }
- NanSetPointerSafe<size_t>(
- datalen
- , _nan_hex_decode(to, sz_ / 2, *value, value.length()));
- }
- if (term_len) {
- to[sz_ / 2] = '\0';
- }
- return to;
- default:
- assert(0 && "unknown encoding");
- }
- return to;
-}
-
-static NAN_INLINE(char* NanFromV8String(
- v8::Handle<v8::Value> from
- , enum Nan::Encoding encoding = Nan::UTF8
- , size_t *datalen = NULL
- , char *buf = NULL
- , size_t buflen = 0
- , int flags =
- v8::String::NO_NULL_TERMINATION | v8::String::HINT_MANY_WRITES_EXPECTED
-)) {
- return (char *) NanRawString(from, encoding, datalen, buf, buflen, flags);
-}
-
-static NAN_INLINE(char* NanCString(
- v8::Handle<v8::Value> from
- , size_t *datalen
- , char *buf = NULL
- , size_t buflen = 0
- , int flags = v8::String::NO_OPTIONS
-)) {
- return (char *) NanRawString(from, Nan::UTF8, datalen, buf, buflen, flags);
-}
-
-#endif
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/e1a45507/web/demos/package/node_modules/mongodb/node_modules/bson/ext/win32/ia32/bson.node
----------------------------------------------------------------------
diff --git a/web/demos/package/node_modules/mongodb/node_modules/bson/ext/win32/ia32/bson.node b/web/demos/package/node_modules/mongodb/node_modules/bson/ext/win32/ia32/bson.node
deleted file mode 100644
index 7f54835..0000000
Binary files a/web/demos/package/node_modules/mongodb/node_modules/bson/ext/win32/ia32/bson.node and /dev/null differ
http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/e1a45507/web/demos/package/node_modules/mongodb/node_modules/bson/ext/win32/x64/bson.node
----------------------------------------------------------------------
diff --git a/web/demos/package/node_modules/mongodb/node_modules/bson/ext/win32/x64/bson.node b/web/demos/package/node_modules/mongodb/node_modules/bson/ext/win32/x64/bson.node
deleted file mode 100644
index f01f8be..0000000
Binary files a/web/demos/package/node_modules/mongodb/node_modules/bson/ext/win32/x64/bson.node and /dev/null differ
http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/e1a45507/web/demos/package/node_modules/mongodb/node_modules/bson/ext/wscript
----------------------------------------------------------------------
diff --git a/web/demos/package/node_modules/mongodb/node_modules/bson/ext/wscript b/web/demos/package/node_modules/mongodb/node_modules/bson/ext/wscript
deleted file mode 100644
index 40f5317..0000000
--- a/web/demos/package/node_modules/mongodb/node_modules/bson/ext/wscript
+++ /dev/null
@@ -1,39 +0,0 @@
-import Options
-from os import unlink, symlink, popen
-from os.path import exists
-
-srcdir = "."
-blddir = "build"
-VERSION = "0.1.0"
-
-def set_options(opt):
- opt.tool_options("compiler_cxx")
- opt.add_option( '--debug'
- , action='store_true'
- , default=False
- , help='Build debug variant [Default: False]'
- , dest='debug'
- )
-
-def configure(conf):
- conf.check_tool("compiler_cxx")
- conf.check_tool("node_addon")
- conf.env.append_value('CXXFLAGS', ['-O3', '-funroll-loops'])
-
- # conf.env.append_value('CXXFLAGS', ['-DDEBUG', '-g', '-O0', '-Wall', '-Wextra'])
- # conf.check(lib='node', libpath=['/usr/lib', '/usr/local/lib'], uselib_store='NODE')
-
-def build(bld):
- obj = bld.new_task_gen("cxx", "shlib", "node_addon")
- obj.target = "bson"
- obj.source = ["bson.cc"]
- # obj.uselib = "NODE"
-
-def shutdown():
- # HACK to get compress.node out of build directory.
- # better way to do this?
- if Options.commands['clean']:
- if exists('bson.node'): unlink('bson.node')
- else:
- if exists('build/default/bson.node') and not exists('bson.node'):
- symlink('build/default/bson.node', 'bson.node')
http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/e1a45507/web/demos/package/node_modules/mongodb/node_modules/bson/lib/bson/binary.js
----------------------------------------------------------------------
diff --git a/web/demos/package/node_modules/mongodb/node_modules/bson/lib/bson/binary.js b/web/demos/package/node_modules/mongodb/node_modules/bson/lib/bson/binary.js
deleted file mode 100644
index 82d4d04..0000000
--- a/web/demos/package/node_modules/mongodb/node_modules/bson/lib/bson/binary.js
+++ /dev/null
@@ -1,339 +0,0 @@
-/**
- * Module dependencies.
- */
-if(typeof window === 'undefined') {
- var Buffer = require('buffer').Buffer; // TODO just use global Buffer
-}
-
-// Binary default subtype
-var BSON_BINARY_SUBTYPE_DEFAULT = 0;
-
-/**
- * @ignore
- * @api private
- */
-var writeStringToArray = function(data) {
- // Create a buffer
- var buffer = typeof Uint8Array != 'undefined' ? new Uint8Array(new ArrayBuffer(data.length)) : new Array(data.length);
- // Write the content to the buffer
- for(var i = 0; i < data.length; i++) {
- buffer[i] = data.charCodeAt(i);
- }
- // Write the string to the buffer
- return buffer;
-}
-
-/**
- * Convert Array ot Uint8Array to Binary String
- *
- * @ignore
- * @api private
- */
-var convertArraytoUtf8BinaryString = function(byteArray, startIndex, endIndex) {
- var result = "";
- for(var i = startIndex; i < endIndex; i++) {
- result = result + String.fromCharCode(byteArray[i]);
- }
- return result;
-};
-
-/**
- * A class representation of the BSON Binary type.
- *
- * Sub types
- * - **BSON.BSON_BINARY_SUBTYPE_DEFAULT**, default BSON type.
- * - **BSON.BSON_BINARY_SUBTYPE_FUNCTION**, BSON function type.
- * - **BSON.BSON_BINARY_SUBTYPE_BYTE_ARRAY**, BSON byte array type.
- * - **BSON.BSON_BINARY_SUBTYPE_UUID**, BSON uuid type.
- * - **BSON.BSON_BINARY_SUBTYPE_MD5**, BSON md5 type.
- * - **BSON.BSON_BINARY_SUBTYPE_USER_DEFINED**, BSON user defined type.
- *
- * @class Represents the Binary BSON type.
- * @param {Buffer} buffer a buffer object containing the binary data.
- * @param {Number} [subType] the option binary type.
- * @return {Grid}
- */
-function Binary(buffer, subType) {
- if(!(this instanceof Binary)) return new Binary(buffer, subType);
-
- this._bsontype = 'Binary';
-
- if(buffer instanceof Number) {
- this.sub_type = buffer;
- this.position = 0;
- } else {
- this.sub_type = subType == null ? BSON_BINARY_SUBTYPE_DEFAULT : subType;
- this.position = 0;
- }
-
- if(buffer != null && !(buffer instanceof Number)) {
- // Only accept Buffer, Uint8Array or Arrays
- if(typeof buffer == 'string') {
- // Different ways of writing the length of the string for the different types
- if(typeof Buffer != 'undefined') {
- this.buffer = new Buffer(buffer);
- } else if(typeof Uint8Array != 'undefined' || (Object.prototype.toString.call(buffer) == '[object Array]')) {
- this.buffer = writeStringToArray(buffer);
- } else {
- throw new Error("only String, Buffer, Uint8Array or Array accepted");
- }
- } else {
- this.buffer = buffer;
- }
- this.position = buffer.length;
- } else {
- if(typeof Buffer != 'undefined') {
- this.buffer = new Buffer(Binary.BUFFER_SIZE);
- } else if(typeof Uint8Array != 'undefined'){
- this.buffer = new Uint8Array(new ArrayBuffer(Binary.BUFFER_SIZE));
- } else {
- this.buffer = new Array(Binary.BUFFER_SIZE);
- }
- // Set position to start of buffer
- this.position = 0;
- }
-};
-
-/**
- * Updates this binary with byte_value.
- *
- * @param {Character} byte_value a single byte we wish to write.
- * @api public
- */
-Binary.prototype.put = function put(byte_value) {
- // If it's a string and a has more than one character throw an error
- if(byte_value['length'] != null && typeof byte_value != 'number' && byte_value.length != 1) throw new Error("only accepts single character String, Uint8Array or Array");
- if(typeof byte_value != 'number' && byte_value < 0 || byte_value > 255) throw new Error("only accepts number in a valid unsigned byte range 0-255");
-
- // Decode the byte value once
- var decoded_byte = null;
- if(typeof byte_value == 'string') {
- decoded_byte = byte_value.charCodeAt(0);
- } else if(byte_value['length'] != null) {
- decoded_byte = byte_value[0];
- } else {
- decoded_byte = byte_value;
- }
-
- if(this.buffer.length > this.position) {
- this.buffer[this.position++] = decoded_byte;
- } else {
- if(typeof Buffer != 'undefined' && Buffer.isBuffer(this.buffer)) {
- // Create additional overflow buffer
- var buffer = new Buffer(Binary.BUFFER_SIZE + this.buffer.length);
- // Combine the two buffers together
- this.buffer.copy(buffer, 0, 0, this.buffer.length);
- this.buffer = buffer;
- this.buffer[this.position++] = decoded_byte;
- } else {
- var buffer = null;
- // Create a new buffer (typed or normal array)
- if(Object.prototype.toString.call(this.buffer) == '[object Uint8Array]') {
- buffer = new Uint8Array(new ArrayBuffer(Binary.BUFFER_SIZE + this.buffer.length));
- } else {
- buffer = new Array(Binary.BUFFER_SIZE + this.buffer.length);
- }
-
- // We need to copy all the content to the new array
- for(var i = 0; i < this.buffer.length; i++) {
- buffer[i] = this.buffer[i];
- }
-
- // Reassign the buffer
- this.buffer = buffer;
- // Write the byte
- this.buffer[this.position++] = decoded_byte;
- }
- }
-};
-
-/**
- * Writes a buffer or string to the binary.
- *
- * @param {Buffer|String} string a string or buffer to be written to the Binary BSON object.
- * @param {Number} offset specify the binary of where to write the content.
- * @api public
- */
-Binary.prototype.write = function write(string, offset) {
- offset = typeof offset == 'number' ? offset : this.position;
-
- // If the buffer is to small let's extend the buffer
- if(this.buffer.length < offset + string.length) {
- var buffer = null;
- // If we are in node.js
- if(typeof Buffer != 'undefined' && Buffer.isBuffer(this.buffer)) {
- buffer = new Buffer(this.buffer.length + string.length);
- this.buffer.copy(buffer, 0, 0, this.buffer.length);
- } else if(Object.prototype.toString.call(this.buffer) == '[object Uint8Array]') {
- // Create a new buffer
- buffer = new Uint8Array(new ArrayBuffer(this.buffer.length + string.length))
- // Copy the content
- for(var i = 0; i < this.position; i++) {
- buffer[i] = this.buffer[i];
- }
- }
-
- // Assign the new buffer
- this.buffer = buffer;
- }
-
- if(typeof Buffer != 'undefined' && Buffer.isBuffer(string) && Buffer.isBuffer(this.buffer)) {
- string.copy(this.buffer, offset, 0, string.length);
- this.position = (offset + string.length) > this.position ? (offset + string.length) : this.position;
- // offset = string.length
- } else if(typeof Buffer != 'undefined' && typeof string == 'string' && Buffer.isBuffer(this.buffer)) {
- this.buffer.write(string, 'binary', offset);
- this.position = (offset + string.length) > this.position ? (offset + string.length) : this.position;
- // offset = string.length;
- } else if(Object.prototype.toString.call(string) == '[object Uint8Array]'
- || Object.prototype.toString.call(string) == '[object Array]' && typeof string != 'string') {
- for(var i = 0; i < string.length; i++) {
- this.buffer[offset++] = string[i];
- }
-
- this.position = offset > this.position ? offset : this.position;
- } else if(typeof string == 'string') {
- for(var i = 0; i < string.length; i++) {
- this.buffer[offset++] = string.charCodeAt(i);
- }
-
- this.position = offset > this.position ? offset : this.position;
- }
-};
-
-/**
- * Reads **length** bytes starting at **position**.
- *
- * @param {Number} position read from the given position in the Binary.
- * @param {Number} length the number of bytes to read.
- * @return {Buffer}
- * @api public
- */
-Binary.prototype.read = function read(position, length) {
- length = length && length > 0
- ? length
- : this.position;
-
- // Let's return the data based on the type we have
- if(this.buffer['slice']) {
- return this.buffer.slice(position, position + length);
- } else {
- // Create a buffer to keep the result
- var buffer = typeof Uint8Array != 'undefined' ? new Uint8Array(new ArrayBuffer(length)) : new Array(length);
- for(var i = 0; i < length; i++) {
- buffer[i] = this.buffer[position++];
- }
- }
- // Return the buffer
- return buffer;
-};
-
-/**
- * Returns the value of this binary as a string.
- *
- * @return {String}
- * @api public
- */
-Binary.prototype.value = function value(asRaw) {
- asRaw = asRaw == null ? false : asRaw;
-
- // If it's a node.js buffer object
- if(typeof Buffer != 'undefined' && Buffer.isBuffer(this.buffer)) {
- return asRaw ? this.buffer.slice(0, this.position) : this.buffer.toString('binary', 0, this.position);
- } else {
- if(asRaw) {
- // we support the slice command use it
- if(this.buffer['slice'] != null) {
- return this.buffer.slice(0, this.position);
- } else {
- // Create a new buffer to copy content to
- var newBuffer = Object.prototype.toString.call(this.buffer) == '[object Uint8Array]' ? new Uint8Array(new ArrayBuffer(this.position)) : new Array(this.position);
- // Copy content
- for(var i = 0; i < this.position; i++) {
- newBuffer[i] = this.buffer[i];
- }
- // Return the buffer
- return newBuffer;
- }
- } else {
- return convertArraytoUtf8BinaryString(this.buffer, 0, this.position);
- }
- }
-};
-
-/**
- * Length.
- *
- * @return {Number} the length of the binary.
- * @api public
- */
-Binary.prototype.length = function length() {
- return this.position;
-};
-
-/**
- * @ignore
- * @api private
- */
-Binary.prototype.toJSON = function() {
- return this.buffer != null ? this.buffer.toString('base64') : '';
-}
-
-/**
- * @ignore
- * @api private
- */
-Binary.prototype.toString = function(format) {
- return this.buffer != null ? this.buffer.slice(0, this.position).toString(format) : '';
-}
-
-Binary.BUFFER_SIZE = 256;
-
-/**
- * Default BSON type
- *
- * @classconstant SUBTYPE_DEFAULT
- **/
-Binary.SUBTYPE_DEFAULT = 0;
-/**
- * Function BSON type
- *
- * @classconstant SUBTYPE_DEFAULT
- **/
-Binary.SUBTYPE_FUNCTION = 1;
-/**
- * Byte Array BSON type
- *
- * @classconstant SUBTYPE_DEFAULT
- **/
-Binary.SUBTYPE_BYTE_ARRAY = 2;
-/**
- * OLD UUID BSON type
- *
- * @classconstant SUBTYPE_DEFAULT
- **/
-Binary.SUBTYPE_UUID_OLD = 3;
-/**
- * UUID BSON type
- *
- * @classconstant SUBTYPE_DEFAULT
- **/
-Binary.SUBTYPE_UUID = 4;
-/**
- * MD5 BSON type
- *
- * @classconstant SUBTYPE_DEFAULT
- **/
-Binary.SUBTYPE_MD5 = 5;
-/**
- * User BSON type
- *
- * @classconstant SUBTYPE_DEFAULT
- **/
-Binary.SUBTYPE_USER_DEFINED = 128;
-
-/**
- * Expose.
- */
-exports.Binary = Binary;
-
http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/e1a45507/web/demos/package/node_modules/mongodb/node_modules/bson/lib/bson/binary_parser.js
----------------------------------------------------------------------
diff --git a/web/demos/package/node_modules/mongodb/node_modules/bson/lib/bson/binary_parser.js b/web/demos/package/node_modules/mongodb/node_modules/bson/lib/bson/binary_parser.js
deleted file mode 100644
index d2fc811..0000000
--- a/web/demos/package/node_modules/mongodb/node_modules/bson/lib/bson/binary_parser.js
+++ /dev/null
@@ -1,385 +0,0 @@
-/**
- * Binary Parser.
- * Jonas Raoni Soares Silva
- * http://jsfromhell.com/classes/binary-parser [v1.0]
- */
-var chr = String.fromCharCode;
-
-var maxBits = [];
-for (var i = 0; i < 64; i++) {
- maxBits[i] = Math.pow(2, i);
-}
-
-function BinaryParser (bigEndian, allowExceptions) {
- if(!(this instanceof BinaryParser)) return new BinaryParser(bigEndian, allowExceptions);
-
- this.bigEndian = bigEndian;
- this.allowExceptions = allowExceptions;
-};
-
-BinaryParser.warn = function warn (msg) {
- if (this.allowExceptions) {
- throw new Error(msg);
- }
-
- return 1;
-};
-
-BinaryParser.decodeFloat = function decodeFloat (data, precisionBits, exponentBits) {
- var b = new this.Buffer(this.bigEndian, data);
-
- b.checkBuffer(precisionBits + exponentBits + 1);
-
- var bias = maxBits[exponentBits - 1] - 1
- , signal = b.readBits(precisionBits + exponentBits, 1)
- , exponent = b.readBits(precisionBits, exponentBits)
- , significand = 0
- , divisor = 2
- , curByte = b.buffer.length + (-precisionBits >> 3) - 1;
-
- do {
- for (var byteValue = b.buffer[ ++curByte ], startBit = precisionBits % 8 || 8, mask = 1 << startBit; mask >>= 1; ( byteValue & mask ) && ( significand += 1 / divisor ), divisor *= 2 );
- } while (precisionBits -= startBit);
-
- return exponent == ( bias << 1 ) + 1 ? significand ? NaN : signal ? -Infinity : +Infinity : ( 1 + signal * -2 ) * ( exponent || significand ? !exponent ? Math.pow( 2, -bias + 1 ) * significand : Math.pow( 2, exponent - bias ) * ( 1 + significand ) : 0 );
-};
-
-BinaryParser.decodeInt = function decodeInt (data, bits, signed, forceBigEndian) {
- var b = new this.Buffer(this.bigEndian || forceBigEndian, data)
- , x = b.readBits(0, bits)
- , max = maxBits[bits]; //max = Math.pow( 2, bits );
-
- return signed && x >= max / 2
- ? x - max
- : x;
-};
-
-BinaryParser.encodeFloat = function encodeFloat (data, precisionBits, exponentBits) {
- var bias = maxBits[exponentBits - 1] - 1
- , minExp = -bias + 1
- , maxExp = bias
- , minUnnormExp = minExp - precisionBits
- , n = parseFloat(data)
- , status = isNaN(n) || n == -Infinity || n == +Infinity ? n : 0
- , exp = 0
- , len = 2 * bias + 1 + precisionBits + 3
- , bin = new Array(len)
- , signal = (n = status !== 0 ? 0 : n) < 0
- , intPart = Math.floor(n = Math.abs(n))
- , floatPart = n - intPart
- , lastBit
- , rounded
- , result
- , i
- , j;
-
- for (i = len; i; bin[--i] = 0);
-
- for (i = bias + 2; intPart && i; bin[--i] = intPart % 2, intPart = Math.floor(intPart / 2));
-
- for (i = bias + 1; floatPart > 0 && i; (bin[++i] = ((floatPart *= 2) >= 1) - 0 ) && --floatPart);
-
- for (i = -1; ++i < len && !bin[i];);
-
- if (bin[(lastBit = precisionBits - 1 + (i = (exp = bias + 1 - i) >= minExp && exp <= maxExp ? i + 1 : bias + 1 - (exp = minExp - 1))) + 1]) {
- if (!(rounded = bin[lastBit])) {
- for (j = lastBit + 2; !rounded && j < len; rounded = bin[j++]);
- }
-
- for (j = lastBit + 1; rounded && --j >= 0; (bin[j] = !bin[j] - 0) && (rounded = 0));
- }
-
- for (i = i - 2 < 0 ? -1 : i - 3; ++i < len && !bin[i];);
-
- if ((exp = bias + 1 - i) >= minExp && exp <= maxExp) {
- ++i;
- } else if (exp < minExp) {
- exp != bias + 1 - len && exp < minUnnormExp && this.warn("encodeFloat::float underflow");
- i = bias + 1 - (exp = minExp - 1);
- }
-
- if (intPart || status !== 0) {
- this.warn(intPart ? "encodeFloat::float overflow" : "encodeFloat::" + status);
- exp = maxExp + 1;
- i = bias + 2;
-
- if (status == -Infinity) {
- signal = 1;
- } else if (isNaN(status)) {
- bin[i] = 1;
- }
- }
-
- for (n = Math.abs(exp + bias), j = exponentBits + 1, result = ""; --j; result = (n % 2) + result, n = n >>= 1);
-
- for (n = 0, j = 0, i = (result = (signal ? "1" : "0") + result + bin.slice(i, i + precisionBits).join("")).length, r = []; i; j = (j + 1) % 8) {
- n += (1 << j) * result.charAt(--i);
- if (j == 7) {
- r[r.length] = String.fromCharCode(n);
- n = 0;
- }
- }
-
- r[r.length] = n
- ? String.fromCharCode(n)
- : "";
-
- return (this.bigEndian ? r.reverse() : r).join("");
-};
-
-BinaryParser.encodeInt = function encodeInt (data, bits, signed, forceBigEndian) {
- var max = maxBits[bits];
-
- if (data >= max || data < -(max / 2)) {
- this.warn("encodeInt::overflow");
- data = 0;
- }
-
- if (data < 0) {
- data += max;
- }
-
- for (var r = []; data; r[r.length] = String.fromCharCode(data % 256), data = Math.floor(data / 256));
-
- for (bits = -(-bits >> 3) - r.length; bits--; r[r.length] = "\0");
-
- return ((this.bigEndian || forceBigEndian) ? r.reverse() : r).join("");
-};
-
-BinaryParser.toSmall = function( data ){ return this.decodeInt( data, 8, true ); };
-BinaryParser.fromSmall = function( data ){ return this.encodeInt( data, 8, true ); };
-BinaryParser.toByte = function( data ){ return this.decodeInt( data, 8, false ); };
-BinaryParser.fromByte = function( data ){ return this.encodeInt( data, 8, false ); };
-BinaryParser.toShort = function( data ){ return this.decodeInt( data, 16, true ); };
-BinaryParser.fromShort = function( data ){ return this.encodeInt( data, 16, true ); };
-BinaryParser.toWord = function( data ){ return this.decodeInt( data, 16, false ); };
-BinaryParser.fromWord = function( data ){ return this.encodeInt( data, 16, false ); };
-BinaryParser.toInt = function( data ){ return this.decodeInt( data, 32, true ); };
-BinaryParser.fromInt = function( data ){ return this.encodeInt( data, 32, true ); };
-BinaryParser.toLong = function( data ){ return this.decodeInt( data, 64, true ); };
-BinaryParser.fromLong = function( data ){ return this.encodeInt( data, 64, true ); };
-BinaryParser.toDWord = function( data ){ return this.decodeInt( data, 32, false ); };
-BinaryParser.fromDWord = function( data ){ return this.encodeInt( data, 32, false ); };
-BinaryParser.toQWord = function( data ){ return this.decodeInt( data, 64, true ); };
-BinaryParser.fromQWord = function( data ){ return this.encodeInt( data, 64, true ); };
-BinaryParser.toFloat = function( data ){ return this.decodeFloat( data, 23, 8 ); };
-BinaryParser.fromFloat = function( data ){ return this.encodeFloat( data, 23, 8 ); };
-BinaryParser.toDouble = function( data ){ return this.decodeFloat( data, 52, 11 ); };
-BinaryParser.fromDouble = function( data ){ return this.encodeFloat( data, 52, 11 ); };
-
-// Factor out the encode so it can be shared by add_header and push_int32
-BinaryParser.encode_int32 = function encode_int32 (number, asArray) {
- var a, b, c, d, unsigned;
- unsigned = (number < 0) ? (number + 0x100000000) : number;
- a = Math.floor(unsigned / 0xffffff);
- unsigned &= 0xffffff;
- b = Math.floor(unsigned / 0xffff);
- unsigned &= 0xffff;
- c = Math.floor(unsigned / 0xff);
- unsigned &= 0xff;
- d = Math.floor(unsigned);
- return asArray ? [chr(a), chr(b), chr(c), chr(d)] : chr(a) + chr(b) + chr(c) + chr(d);
-};
-
-BinaryParser.encode_int64 = function encode_int64 (number) {
- var a, b, c, d, e, f, g, h, unsigned;
- unsigned = (number < 0) ? (number + 0x10000000000000000) : number;
- a = Math.floor(unsigned / 0xffffffffffffff);
- unsigned &= 0xffffffffffffff;
- b = Math.floor(unsigned / 0xffffffffffff);
- unsigned &= 0xffffffffffff;
- c = Math.floor(unsigned / 0xffffffffff);
- unsigned &= 0xffffffffff;
- d = Math.floor(unsigned / 0xffffffff);
- unsigned &= 0xffffffff;
- e = Math.floor(unsigned / 0xffffff);
- unsigned &= 0xffffff;
- f = Math.floor(unsigned / 0xffff);
- unsigned &= 0xffff;
- g = Math.floor(unsigned / 0xff);
- unsigned &= 0xff;
- h = Math.floor(unsigned);
- return chr(a) + chr(b) + chr(c) + chr(d) + chr(e) + chr(f) + chr(g) + chr(h);
-};
-
-/**
- * UTF8 methods
- */
-
-// Take a raw binary string and return a utf8 string
-BinaryParser.decode_utf8 = function decode_utf8 (binaryStr) {
- var len = binaryStr.length
- , decoded = ''
- , i = 0
- , c = 0
- , c1 = 0
- , c2 = 0
- , c3;
-
- while (i < len) {
- c = binaryStr.charCodeAt(i);
- if (c < 128) {
- decoded += String.fromCharCode(c);
- i++;
- } else if ((c > 191) && (c < 224)) {
- c2 = binaryStr.charCodeAt(i+1);
- decoded += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
- i += 2;
- } else {
- c2 = binaryStr.charCodeAt(i+1);
- c3 = binaryStr.charCodeAt(i+2);
- decoded += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
- i += 3;
- }
- }
-
- return decoded;
-};
-
-// Encode a cstring
-BinaryParser.encode_cstring = function encode_cstring (s) {
- return unescape(encodeURIComponent(s)) + BinaryParser.fromByte(0);
-};
-
-// Take a utf8 string and return a binary string
-BinaryParser.encode_utf8 = function encode_utf8 (s) {
- var a = ""
- , c;
-
- for (var n = 0, len = s.length; n < len; n++) {
- c = s.charCodeAt(n);
-
- if (c < 128) {
- a += String.fromCharCode(c);
- } else if ((c > 127) && (c < 2048)) {
- a += String.fromCharCode((c>>6) | 192) ;
- a += String.fromCharCode((c&63) | 128);
- } else {
- a += String.fromCharCode((c>>12) | 224);
- a += String.fromCharCode(((c>>6) & 63) | 128);
- a += String.fromCharCode((c&63) | 128);
- }
- }
-
- return a;
-};
-
-BinaryParser.hprint = function hprint (s) {
- var number;
-
- for (var i = 0, len = s.length; i < len; i++) {
- if (s.charCodeAt(i) < 32) {
- number = s.charCodeAt(i) <= 15
- ? "0" + s.charCodeAt(i).toString(16)
- : s.charCodeAt(i).toString(16);
- process.stdout.write(number + " ")
- } else {
- number = s.charCodeAt(i) <= 15
- ? "0" + s.charCodeAt(i).toString(16)
- : s.charCodeAt(i).toString(16);
- process.stdout.write(number + " ")
- }
- }
-
- process.stdout.write("\n\n");
-};
-
-BinaryParser.ilprint = function hprint (s) {
- var number;
-
- for (var i = 0, len = s.length; i < len; i++) {
- if (s.charCodeAt(i) < 32) {
- number = s.charCodeAt(i) <= 15
- ? "0" + s.charCodeAt(i).toString(10)
- : s.charCodeAt(i).toString(10);
-
- require('util').debug(number+' : ');
- } else {
- number = s.charCodeAt(i) <= 15
- ? "0" + s.charCodeAt(i).toString(10)
- : s.charCodeAt(i).toString(10);
- require('util').debug(number+' : '+ s.charAt(i));
- }
- }
-};
-
-BinaryParser.hlprint = function hprint (s) {
- var number;
-
- for (var i = 0, len = s.length; i < len; i++) {
- if (s.charCodeAt(i) < 32) {
- number = s.charCodeAt(i) <= 15
- ? "0" + s.charCodeAt(i).toString(16)
- : s.charCodeAt(i).toString(16);
- require('util').debug(number+' : ');
- } else {
- number = s.charCodeAt(i) <= 15
- ? "0" + s.charCodeAt(i).toString(16)
- : s.charCodeAt(i).toString(16);
- require('util').debug(number+' : '+ s.charAt(i));
- }
- }
-};
-
-/**
- * BinaryParser buffer constructor.
- */
-function BinaryParserBuffer (bigEndian, buffer) {
- this.bigEndian = bigEndian || 0;
- this.buffer = [];
- this.setBuffer(buffer);
-};
-
-BinaryParserBuffer.prototype.setBuffer = function setBuffer (data) {
- var l, i, b;
-
- if (data) {
- i = l = data.length;
- b = this.buffer = new Array(l);
- for (; i; b[l - i] = data.charCodeAt(--i));
- this.bigEndian && b.reverse();
- }
-};
-
-BinaryParserBuffer.prototype.hasNeededBits = function hasNeededBits (neededBits) {
- return this.buffer.length >= -(-neededBits >> 3);
-};
-
-BinaryParserBuffer.prototype.checkBuffer = function checkBuffer (neededBits) {
- if (!this.hasNeededBits(neededBits)) {
- throw new Error("checkBuffer::missing bytes");
- }
-};
-
-BinaryParserBuffer.prototype.readBits = function readBits (start, length) {
- //shl fix: Henri Torgemane ~1996 (compressed by Jonas Raoni)
-
- function shl (a, b) {
- for (; b--; a = ((a %= 0x7fffffff + 1) & 0x40000000) == 0x40000000 ? a * 2 : (a - 0x40000000) * 2 + 0x7fffffff + 1);
- return a;
- }
-
- if (start < 0 || length <= 0) {
- return 0;
- }
-
- this.checkBuffer(start + length);
-
- var offsetLeft
- , offsetRight = start % 8
- , curByte = this.buffer.length - ( start >> 3 ) - 1
- , lastByte = this.buffer.length + ( -( start + length ) >> 3 )
- , diff = curByte - lastByte
- , sum = ((this.buffer[ curByte ] >> offsetRight) & ((1 << (diff ? 8 - offsetRight : length)) - 1)) + (diff && (offsetLeft = (start + length) % 8) ? (this.buffer[lastByte++] & ((1 << offsetLeft) - 1)) << (diff-- << 3) - offsetRight : 0);
-
- for(; diff; sum += shl(this.buffer[lastByte++], (diff-- << 3) - offsetRight));
-
- return sum;
-};
-
-/**
- * Expose.
- */
-BinaryParser.Buffer = BinaryParserBuffer;
-
-exports.BinaryParser = BinaryParser;