/usr/lib/nodejs/node-redis/utils.js is in node-node-redis 0.1.6-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 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 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 | // The MIT License
//
// Copyright (c) 2013 Tim Smart
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files
// (the "Software"), to deal in the Software without restriction,
// including without limitation the rights to use, copy, modify, merge,
// publish, distribute, sublicense, and/or sell copies of the Software, and
// to permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be included
// in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
// noop to keep references low.
exports.noop = function () {};
// Logger function.
exports.log = function log (error, results) {
if (error) return console.error(error);
var ret;
if (results instanceof Array) {
var result;
ret = [];
for (var i = 0, il = results.length; i < il; i++) {
result = results[i];
if (result instanceof Buffer) {
ret.push(result.toString());
} else {
ret.push(result);
}
}
} else if (results instanceof Buffer) {
ret = results.toString();
} else ret = results;
console.log(ret);
};
// Fast copyBuffer method for small buffers.
exports.copyBuffer = function copyBuffer (source, target, start, s_start, s_end) {
s_end || (s_end = source.length);
for (var i = s_start; i < s_end; i++) {
target[i - s_start + start] = source[i];
}
return target;
};
// Fast write buffer for small uns.
var writeBuffer = exports.writeBuffer = function writeBuffer (buffer, string, offset) {
for (var i = 0, il = string.length; i < il; i++) {
buffer[i + offset] = string.charCodeAt(i);
}
return il;
};
var toArray = exports.toArray = function toArray (args) {
var len = args.length,
arr = new Array(len), i;
for (i = 0; i < len; i++) {
arr[i] = args[i];
}
return arr;
};
// Queue class adapted from Tim Caswell's pattern library
// http://github.com/creationix/pattern/blob/master/lib/pattern/queue.js
var Queue = function () {
this.array = Array.prototype.slice.call(arguments);
this.offset = 0;
};
exports.Queue = Queue;
Queue.prototype.shift = function () {
if (this.array.length === 0) return;
var ret = this.array[this.offset];
this.array[this.offset++] = undefined;
if (this.offset === this.array.length) {
this.array.length = 0;
this.offset = 0;
}
return ret;
}
Queue.prototype.push = function (item) {
return this.array.push(item);
};
Object.defineProperty(Queue.prototype, 'length', {
get: function () {
return this.array.length;
}
});
;
|