mirror of
https://github.com/mgerb/mywebsite
synced 2026-01-14 03:22:48 +00:00
Added files
This commit is contained in:
121
mongoui/mongoui-master/node_modules/mongodb/lib/mongodb/utils.js
generated
vendored
Normal file
121
mongoui/mongoui-master/node_modules/mongodb/lib/mongodb/utils.js
generated
vendored
Normal file
@@ -0,0 +1,121 @@
|
||||
/**
|
||||
* Sort functions, Normalize and prepare sort parameters
|
||||
*/
|
||||
var formatSortValue = exports.formatSortValue = function(sortDirection) {
|
||||
var value = ("" + sortDirection).toLowerCase();
|
||||
|
||||
switch (value) {
|
||||
case 'ascending':
|
||||
case 'asc':
|
||||
case '1':
|
||||
return 1;
|
||||
case 'descending':
|
||||
case 'desc':
|
||||
case '-1':
|
||||
return -1;
|
||||
default:
|
||||
throw new Error("Illegal sort clause, must be of the form "
|
||||
+ "[['field1', '(ascending|descending)'], "
|
||||
+ "['field2', '(ascending|descending)']]");
|
||||
}
|
||||
};
|
||||
|
||||
var formattedOrderClause = exports.formattedOrderClause = function(sortValue) {
|
||||
var orderBy = {};
|
||||
|
||||
if (Array.isArray(sortValue)) {
|
||||
for(var i = 0; i < sortValue.length; i++) {
|
||||
if(sortValue[i].constructor == String) {
|
||||
orderBy[sortValue[i]] = 1;
|
||||
} else {
|
||||
orderBy[sortValue[i][0]] = formatSortValue(sortValue[i][1]);
|
||||
}
|
||||
}
|
||||
} else if(Object.prototype.toString.call(sortValue) === '[object Object]') {
|
||||
orderBy = sortValue;
|
||||
} else if (sortValue.constructor == String) {
|
||||
orderBy[sortValue] = 1;
|
||||
} else {
|
||||
throw new Error("Illegal sort clause, must be of the form " +
|
||||
"[['field1', '(ascending|descending)'], ['field2', '(ascending|descending)']]");
|
||||
}
|
||||
|
||||
return orderBy;
|
||||
};
|
||||
|
||||
exports.encodeInt = function(value) {
|
||||
var buffer = new Buffer(4);
|
||||
buffer[3] = (value >> 24) & 0xff;
|
||||
buffer[2] = (value >> 16) & 0xff;
|
||||
buffer[1] = (value >> 8) & 0xff;
|
||||
buffer[0] = value & 0xff;
|
||||
return buffer;
|
||||
}
|
||||
|
||||
exports.encodeIntInPlace = function(value, buffer, index) {
|
||||
buffer[index + 3] = (value >> 24) & 0xff;
|
||||
buffer[index + 2] = (value >> 16) & 0xff;
|
||||
buffer[index + 1] = (value >> 8) & 0xff;
|
||||
buffer[index] = value & 0xff;
|
||||
}
|
||||
|
||||
exports.encodeCString = function(string) {
|
||||
var buf = new Buffer(string, 'utf8');
|
||||
return [buf, new Buffer([0])];
|
||||
}
|
||||
|
||||
exports.decodeUInt32 = function(array, index) {
|
||||
return array[index] | array[index + 1] << 8 | array[index + 2] << 16 | array[index + 3] << 24;
|
||||
}
|
||||
|
||||
// Decode the int
|
||||
exports.decodeUInt8 = function(array, index) {
|
||||
return array[index];
|
||||
}
|
||||
|
||||
/**
|
||||
* Context insensitive type checks
|
||||
*/
|
||||
|
||||
var toString = Object.prototype.toString;
|
||||
|
||||
exports.isObject = function (arg) {
|
||||
return '[object Object]' == toString.call(arg)
|
||||
}
|
||||
|
||||
exports.isArray = function (arg) {
|
||||
return Array.isArray(arg) ||
|
||||
'object' == typeof arg && '[object Array]' == toString.call(arg)
|
||||
}
|
||||
|
||||
exports.isDate = function (arg) {
|
||||
return 'object' == typeof arg && '[object Date]' == toString.call(arg)
|
||||
}
|
||||
|
||||
exports.isRegExp = function (arg) {
|
||||
return 'object' == typeof arg && '[object RegExp]' == toString.call(arg)
|
||||
}
|
||||
|
||||
/**
|
||||
* Wrap a Mongo error document in an Error instance
|
||||
* @ignore
|
||||
* @api private
|
||||
*/
|
||||
exports.toError = function(error) {
|
||||
if (error instanceof Error) return error;
|
||||
|
||||
var msg = error.err || error.errmsg || error;
|
||||
var e = new Error(msg);
|
||||
e.name = 'MongoError';
|
||||
|
||||
// Get all object keys
|
||||
var keys = typeof error == 'object'
|
||||
? Object.keys(error)
|
||||
: [];
|
||||
|
||||
for(var i = 0; i < keys.length; i++) {
|
||||
e[keys[i]] = error[keys[i]];
|
||||
}
|
||||
|
||||
return e;
|
||||
}
|
||||
Reference in New Issue
Block a user