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

choo-log

Package Overview
Dependencies
Maintainers
1
Versions
28
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

choo-log - npm Package Compare versions

Comparing version 1.0.0 to 1.1.0

example.js

106

index.js

@@ -0,3 +1,12 @@

const padRight = require('pad-right')
const padLeft = require('pad-left')
module.exports = chooLog
// colors from http://clrs.cc/
const GREEN = '#2ECC40'
const RED = '#FF4136'
const BLUE = '#7FDBFF'
const GRAY = '#AAAAAA'
// Development logger for choo

@@ -15,5 +24,18 @@ // null -> obj

function onAction (data, state, name, caller, createSend) {
console.groupCollapsed(`Action: ${caller} -> ${name}`)
console.log(data)
console.groupEnd()
const line = []
.concat(colorify('gray', renderType('Action:')))
.concat(' ' + `${caller} -> ${name}`)
if (console.groupCollapsed) {
logGroup(line)
logInner(data)
console.groupEnd()
} else {
log(line)
logInner(data)
}
function logInner (action) {
console.log('action:', data)
}
}

@@ -24,7 +46,14 @@

function onError (err, state, createSend) {
console.groupCollapsed(`Error: ${err.message}`)
console.error(err)
console.groupEnd()
const send = createSend('onError: ')
send('app:error', err)
var line = []
.concat(colorify('red', renderType('Error:')))
.concat(' ' + err.message)
if (console.groupCollapsed) {
logGroup(line)
console.error(err)
console.groupEnd()
} else {
log(line)
console.error(err)
}
}

@@ -35,7 +64,60 @@

function onStateChange (data, state, prev, createSend) {
console.groupCollapsed('State')
console.log(prev)
console.log(state)
console.groupEnd()
const line = []
.concat(colorify('gray', renderType('State:')))
if (console.groupCollapsed) {
logGroup(line)
console.log('state', state)
console.log('prev', prev)
console.groupEnd()
} else {
log(line)
console.log('prev', prev)
console.log('state', state)
}
}
}
// create a collapsedGroup log from an array
// str -> [str, str]
function logGroup (line) {
console.groupCollapsed.apply(console, line)
}
// create a console log from an array
// str -> [str, str]
function log (line) {
console.log.apply(console, line)
}
// indent message types
// str -> str
function renderType (msg) {
return padLeft(msg, 7, ' ')
}
// toHtml + chalk
// (str, str) -> str
function colorify (color, line) {
if (color === 'red') {
return [
'%c ' + line + ' ',
'color: ' + RED
]
} else if (color === 'blue') {
return [
'%c ' + line + ' ',
'color: ' + BLUE
]
} else if (color === 'green') {
return [
'%c ' + line + ' ',
'color: ' + GREEN
]
} else if (color === 'gray') {
return [
'%c ' + line + ' ',
'color: ' + GRAY
]
}
}

13

package.json
{
"name": "choo-log",
"version": "1.0.0",
"version": "1.1.0",
"description": "Development logger for choo",

@@ -9,3 +9,4 @@ "main": "index.js",

"test": "standard && npm run deps && NODE_ENV=test node test",
"test:cov": "standard && npm run deps && NODE_ENV=test istanbul cover test.js"
"test:cov": "standard && npm run deps && NODE_ENV=test istanbul cover test.js",
"example": "budo ./example.js -p 8080"
},

@@ -23,4 +24,10 @@ "repository": "yoshuawuyts/choo-log",

"license": "MIT",
"dependencies": {},
"dependencies": {
"pad-left": "^2.1.0",
"pad-right": "^0.2.2",
"pretty-ms": "^2.1.0"
},
"devDependencies": {
"budo": "^8.3.0",
"choo": "^3.0.1",
"dependency-check": "^2.5.2",

@@ -27,0 +34,0 @@ "istanbul": "^0.4.4",

@@ -14,8 +14,28 @@ # choo-log [![stability][0]][1]

const app = choo({
onAction: logger.onAction(),
onError: logger.onError(),
onStateChange: logger.onStateChange(),
onAction: logger.onAction,
onError: logger.onError,
onStateChange: logger.onStateChange
})
```
And to optimize for production using
[envify](https://github.com/hughsk/envify):
```js
const choo = require('choo')
// this block of code will be eliminated by any minification if
// NODE_ENV is set to "production"
if (process.env.NODE_ENV !== 'production') {
const chooLog = require('choo-log')
const logger = chooLog()
var hooks = {
onAction: logger.onAction(),
onError: logger.onError(),
onStateChange: logger.onStateChange(),
}
}
const app = hooks ? choo(hooks) : choo()
```
## API

@@ -25,10 +45,10 @@ ### logger = chooLog()

### logger.onAction()
Return a new logger for `onAction()`
### logger.onAction
Logger for `onAction()`
### logger.onError()
Return a new logger for `onError()`
### logger.onError
Logger for `onError()`
### logger.onStateChange()
Return a new logger for `onStateChange()`
### logger.onStateChange
Logger for `onStateChange()`

@@ -35,0 +55,0 @@ ## Installation

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