custom-log
Advanced tools
Sorry, the diff of this file is not supported yet
+15
| customLog= require './custom-log.min.js' | ||
| # customLog.assertMessage= '' | ||
| log= customLog | ||
| # assert: '!! ' | ||
| log: 'LOG:' | ||
| info: 'INFO: ' | ||
| log.info.disable() | ||
| log.assert '1 > 1' | ||
| log.info.assert typeof true is 'object' | ||
| log.info.enable() | ||
| log.info.assert "0 == false" |
+32
-10
@@ -23,4 +23,8 @@ # custom-log.coffee - A tiny console.log wrapper, written in Coffeescript. | ||
| CUSTOM_LOG= 'custom-log: ' | ||
| class Log | ||
| log= console.log | ||
| constructor: ( @level= 'log', @message= '' ) -> | ||
@@ -31,3 +35,3 @@ @enabled= true | ||
| if @enabled | ||
| console.log.apply console, [ @message ].concat arguments... | ||
| log.apply console, [ @message ].concat arguments... | ||
@@ -41,26 +45,44 @@ for name, prop of @ | ||
| @enabled= false | ||
| console.log 'CUSTOM-LOG: '+ @level+ ' has been disabled.' | ||
| log CUSTOM_LOG+ '.'+ @level+ ' has been disabled' | ||
| enable: => | ||
| @enabled= true | ||
| console.log 'CUSTOM-LOG: '+ @level+ ' is now enabled.' | ||
| log CUSTOM_LOG+ '.'+ @level+ ' is now enabled' | ||
| assert: ( predicate, description= '' ) => | ||
| if description | ||
| description= '"'+ description+ '"' | ||
| else if typeof predicate is 'string' | ||
| description= predicate | ||
| if typeof predicate is 'string' | ||
| predicate= eval predicate | ||
| prefixMsg = init if typeof init is 'string' | ||
| log = new Log( 'log', prefixMsg ).log | ||
| if predicate then predicate= 'TRUE' else predicate= 'FALSE' | ||
| @log '\n\t'+ customLog.assertMessage+ '('+ description+ ') == '+ predicate+ '\n' | ||
| # end of Log | ||
| prefixMsg = init if typeof init is 'string' | ||
| logInstance = new Log 'log', prefixMsg | ||
| log = logInstance.log | ||
| if typeof init is 'object' | ||
| for level, message of init then do (level, message) -> | ||
| if level is 'log' | ||
| log= new Log( level, message ).log | ||
| else | ||
| log[ level ]= new Log( level, message ).log | ||
| switch level | ||
| when 'log' then logInstance.message= message | ||
| when 'assert' then customLog.assertMessage= message | ||
| else log[ level ]= new Log( level, message ).log | ||
| return log | ||
| customLog.assertMessage= 'Assert: ' | ||
| # end of customLog | ||
| if define? and ( 'function' is typeof define ) and define.amd | ||
@@ -67,0 +89,0 @@ define 'customLog', [], -> customLog |
+41
-9
@@ -8,4 +8,9 @@ // Generated by CoffeeScript 1.9.1 | ||
| customLog = function(init) { | ||
| var Log, fn, level, log, message, prefixMsg; | ||
| var CUSTOM_LOG, Log, fn, level, log, logInstance, message, prefixMsg; | ||
| CUSTOM_LOG = 'custom-log: '; | ||
| Log = (function() { | ||
| var log; | ||
| log = console.log; | ||
| function Log(level1, message1) { | ||
@@ -15,2 +20,3 @@ var name, prop; | ||
| this.message = message1 != null ? message1 : ''; | ||
| this.assert = bind(this.assert, this); | ||
| this.enable = bind(this.enable, this); | ||
@@ -23,3 +29,3 @@ this.disable = bind(this.disable, this); | ||
| if (_this.enabled) { | ||
| return console.log.apply(console, (ref = [_this.message]).concat.apply(ref, arguments)); | ||
| return log.apply(console, (ref = [_this.message]).concat.apply(ref, arguments)); | ||
| } | ||
@@ -38,3 +44,3 @@ }; | ||
| this.enabled = false; | ||
| return console.log('CUSTOM-LOG: ' + this.level + ' has been disabled.'); | ||
| return log(CUSTOM_LOG + '.' + this.level + ' has been disabled'); | ||
| }; | ||
@@ -44,5 +50,25 @@ | ||
| this.enabled = true; | ||
| return console.log('CUSTOM-LOG: ' + this.level + ' is now enabled.'); | ||
| return log(CUSTOM_LOG + '.' + this.level + ' is now enabled'); | ||
| }; | ||
| Log.prototype.assert = function(predicate, description) { | ||
| if (description == null) { | ||
| description = ''; | ||
| } | ||
| if (description) { | ||
| description = '"' + description + '"'; | ||
| } else if (typeof predicate === 'string') { | ||
| description = predicate; | ||
| } | ||
| if (typeof predicate === 'string') { | ||
| predicate = eval(predicate); | ||
| } | ||
| if (predicate) { | ||
| predicate = 'TRUE'; | ||
| } else { | ||
| predicate = 'FALSE'; | ||
| } | ||
| return this.log('\n\t' + customLog.assertMessage + '(' + description + ') == ' + predicate + '\n'); | ||
| }; | ||
| return Log; | ||
@@ -54,9 +80,13 @@ | ||
| } | ||
| log = new Log('log', prefixMsg).log; | ||
| logInstance = new Log('log', prefixMsg); | ||
| log = logInstance.log; | ||
| if (typeof init === 'object') { | ||
| fn = function(level, message) { | ||
| if (level === 'log') { | ||
| return log = new Log(level, message).log; | ||
| } else { | ||
| return log[level] = new Log(level, message).log; | ||
| switch (level) { | ||
| case 'log': | ||
| return logInstance.message = message; | ||
| case 'assert': | ||
| return customLog.assertMessage = message; | ||
| default: | ||
| return log[level] = new Log(level, message).log; | ||
| } | ||
@@ -72,2 +102,4 @@ }; | ||
| customLog.assertMessage = 'Assert: '; | ||
| if ((typeof define !== "undefined" && define !== null) && ('function' === typeof define) && define.amd) { | ||
@@ -74,0 +106,0 @@ define('customLog', [], function() { |
@@ -1,1 +0,1 @@ | ||
| (function(){"use strict";var e,n=function(e,n){return function(){return e.apply(n,arguments)}};e=function(e){var t,o,i,l,s,u;if(t=function(){function e(e,t){var o,i;this.level=null!=e?e:"log",this.message=null!=t?t:"",this.enable=n(this.enable,this),this.disable=n(this.disable,this),this.enabled=!0,this.log=function(e){return function(){var n;return e.enabled?console.log.apply(console,(n=[e.message]).concat.apply(n,arguments)):void 0}}(this);for(o in this)i=this[o],this.hasOwnProperty(o)&&"log"!==o&&(this.log[o]=i)}return e.prototype.disable=function(){return this.enabled=!1,console.log("CUSTOM-LOG: "+this.level+" has been disabled.")},e.prototype.enable=function(){return this.enabled=!0,console.log("CUSTOM-LOG: "+this.level+" is now enabled.")},e}(),"string"==typeof e&&(u=e),l=new t("log",u).log,"object"==typeof e){o=function(e,n){return"log"===e?l=new t(e,n).log:l[e]=new t(e,n).log};for(i in e)s=e[i],o(i,s)}return l},"undefined"!=typeof define&&null!==define&&"function"==typeof define&&define.amd?define("customLog",[],function(){return e}):"undefined"!=typeof module?module.exports=e:"undefined"!=typeof window&&(window.customLog=e)}).call(this); | ||
| (function(){"use strict";var customLog,bind=function(e,t){return function(){return e.apply(t,arguments)}};customLog=function(init){var CUSTOM_LOG,Log,fn,level,log,logInstance,message,prefixMsg;if(CUSTOM_LOG="custom-log: ",Log=function(){function Log(e,t){var n,i;this.level=null!=e?e:"log",this.message=null!=t?t:"",this.assert=bind(this.assert,this),this.enable=bind(this.enable,this),this.disable=bind(this.disable,this),this.enabled=!0,this.log=function(e){return function(){var t;return e.enabled?log.apply(console,(t=[e.message]).concat.apply(t,arguments)):void 0}}(this);for(n in this)i=this[n],this.hasOwnProperty(n)&&"log"!==n&&(this.log[n]=i)}var log;return log=console.log,Log.prototype.disable=function(){return this.enabled=!1,log(CUSTOM_LOG+"."+this.level+" has been disabled")},Log.prototype.enable=function(){return this.enabled=!0,log(CUSTOM_LOG+"."+this.level+" is now enabled")},Log.prototype.assert=function(predicate,description){return null==description&&(description=""),description?description='"'+description+'"':"string"==typeof predicate&&(description=predicate),"string"==typeof predicate&&(predicate=eval(predicate)),predicate=predicate?"TRUE":"FALSE",this.log("\n "+customLog.assertMessage+"("+description+") == "+predicate+"\n")},Log}(),"string"==typeof init&&(prefixMsg=init),logInstance=new Log("log",prefixMsg),log=logInstance.log,"object"==typeof init){fn=function(e,t){switch(e){case"log":return logInstance.message=t;case"assert":return customLog.assertMessage=t;default:return log[e]=new Log(e,t).log}};for(level in init)message=init[level],fn(level,message)}return log},customLog.assertMessage="Assert: ","undefined"!=typeof define&&null!==define&&"function"==typeof define&&define.amd?define("customLog",[],function(){return customLog}):"undefined"!=typeof module?module.exports=customLog:"undefined"!=typeof window&&(window.customLog=customLog)}).call(this); |
+1
-1
| { | ||
| "name": "custom-log", | ||
| "version": "0.1.5", | ||
| "version": "0.1.6", | ||
| "description": "A tiny flexible logger", | ||
@@ -5,0 +5,0 @@ "main": "custom-log.min.js", |
+1
-1
| custom-log | ||
| ========== | ||
| A tiny (~1kb) flexible logger, very basic, simple and fast. Will add some features over time. | ||
| A tiny (~2kb) flexible logger, very basic, simple and fast. Will add some features over time. | ||
@@ -6,0 +6,0 @@ For browser, node, amd. |
Uses eval
Supply chain riskPackage uses dynamic code execution (e.g., eval()), which is a dangerous practice. This can prevent the code from running in certain environments and increases the risk that the code may contain exploits or malicious behavior.
Found 1 instance in 1 package
46928
9.52%8
33.33%97
40.58%2
Infinity%