New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

huggare

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

huggare - npm Package Compare versions

Comparing version 0.3.2 to 0.4.0

156

index.js
'use strict';
const util = require('util');
var util = require('util');
function parseArgs(args) {
var o = {};
let o = {};
var len = args.length;
var err;
if (len > 0) {
if (args[args.length-1] && args[args.length-1].stack) {
err = args.pop();
len--;
}
let len = args.length;
let err;
// Special case for error-ish object (anything with stack)
if (len > 0 && args[args.length - 1] && args[args.length - 1].stack) {
err = args.pop();
len--;
}

@@ -21,3 +20,3 @@

} else if (len >= 1) {
o.message = args.map(function(arg) {
o.message = args.map(arg => {
return util.isPrimitive(arg) ? arg : util.inspect(arg);

@@ -33,34 +32,52 @@ }).join(' ');

function Log() {
if (!(this instanceof Log)) {
return new Log;
}
const Severities = {};
this.transports = [];
this.filters = [];
{
let v = 2;
this.v = this.println.bind(this, this.VERBOSE);
this.d = this.println.bind(this, this.DEBUG);
this.i = this.println.bind(this, this.INFO);
this.w = this.println.bind(this, this.WARN);
this.e = this.println.bind(this, this.ERROR);
this.wtf = this.println.bind(this, this.ASSERT);
for (const s of ['verbose', 'debug', 'info', 'warn', 'error', 'assert']) {
const us = s.toUpperCase();
this.level = this.INFO;
Object.defineProperty(Severities, us, {
value: v,
enumerable: true
});
Object.defineProperty(Severities, v, {
value: us,
enumerable: true
});
v++;
}
}
Log.prototype = {
setLevel: function(severity) {
class Logger {
constructor(level) {
this.transports = [];
this.filters = [];
this.v = this.println.bind(this, Severities.VERBOSE);
this.d = this.println.bind(this, Severities.DEBUG);
this.i = this.println.bind(this, Severities.INFO);
this.w = this.println.bind(this, Severities.WARN);
this.e = this.println.bind(this, Severities.ERROR);
this.wtf = this.println.bind(this, Severities.ASSERT);
this.level = level || Severities.INFO;
}
setLevel(severity) {
this.level = severity;
},
}
addTransport: function(fmt) {
addTransport(fmt) {
this.transports.push(fmt);
},
}
addFilter: function(tag) {
addFilter(tag) {
this.filters.push(tag);
},
}
println: function(severity, tag /*, varargs */) {
println(severity, tag) {
if (severity < this.level || this.filters.indexOf(tag) > -1) {

@@ -70,75 +87,12 @@ return;

var args = [].slice.call(arguments, 2);
args = parseArgs(args);
// pseudo-spread operator
const args = parseArgs([].slice.call(arguments, 2));
const ts = new Date();
var ts = new Date;
var len = this.transports.length;
for (var i = 0; i < len; ++i) {
this.transports[i].call(this, ts, severity, tag, args);
for (const transport of this.transports) {
transport.call(this, ts, severity, tag, args);
}
}
};
var constants = {
'VERBOSE': 2,
'DEBUG': 3,
'INFO': 4,
'WARN': 5,
'ERROR': 6,
'ASSERT': 7,
'SHORT_NAMES': [undefined, undefined, 'V', 'D', 'I', 'W', 'E', 'A']
};
Object.keys(constants).forEach(function(key) {
Object.defineProperty(Log.prototype, key, {
value: constants[key],
enumerable: true
});
});
var instance = new Log;
instance.defaults = function() {
if (this.transports.length || this.filters.length) {
throw new Error('Already configured.');
}
this.addTransport(ConsoleTransport);
return this;
};
function ConsoleTransport(ts, severity, tag, args) {
/*eslint-disable no-console */
var m;
switch (severity) {
case this.VERBOSE:
case this.DEBUG:
case this.INFO:
m = 'log';
break;
case this.WARN:
case this.ERROR:
case this.ASSERT:
m = 'error';
break;
default:
this.wtf('ConsoleTransport', 'invalid severity specified: ', severity, ', logging as error.');
this.e(tag, args);
return;
}
console[m](ts.toISOString() + ' [' + this.SHORT_NAMES[severity] + '] ' + tag + ': ' + (args.message || ''));
if (args.err) {
console[m](args.err.stack);
}
}
// Oh.
instance.Log = Log;
instance.ConsoleTransport = ConsoleTransport;
module.exports = instance;
module.exports = { Logger, Severities };
{
"name": "huggare",
"version": "0.3.2",
"version": "0.4.0",
"description": "Android-style logging for an ECMAScript world.",

@@ -13,5 +13,7 @@ "main": "index.js",

"devDependencies": {
"eslint": "^1.0.0",
"babel-eslint": "^4.1.3",
"eslint": "^1.6.0",
"eslint-plugin-babel": "^2.1.1",
"mocha": "^2.2.5"
}
}

@@ -8,7 +8,8 @@ # Huggare

```javascript
var Log = require('huggare').defaults();
var huggare = require('huggare');
var Log = require('huggare-log');
var TAG = "MyCrapModule";
Log.setLevel(Log.VERBOSE);
Log.setLevel(huggare.Severities.VERBOSE);

@@ -58,2 +59,3 @@ /* Some time passes, nightmares are happening... */

* 0.4.0: **Breaking change**: use `huggare-log` for old `Log#defaults` feature.
* 0.3.2: Fix misplaced constants

@@ -60,0 +62,0 @@ * 0.3.1: Publishing fail

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc