Skip to content

Instantly share code, notes, and snippets.

@quackingduck
Created December 20, 2012 02:06
Show Gist options
  • Save quackingduck/4342416 to your computer and use it in GitHub Desktop.
Save quackingduck/4342416 to your computer and use it in GitHub Desktop.
Parse a json encoded hashmap or return an empty one and print a warning
# Parse a json encoded hashmap or return an empty one and print a warning
parseMsg = (jsonStr) ->
try json = JSON.parse jsonStr
catch err then handleParseErr err, jsonStr
json ? {}
handleParseErr = (err, jsonStr) ->
console.error '[WARN]','JSON parser:', err, 'input json was:', jsonStr
if process.argv[1] is __filename
assert = require 'assert'
assert.deepEqual (parseMsg '{'), {}
assert.deepEqual (parseMsg 'daskh das'), {}
assert.deepEqual (parseMsg '{ "foo": 1 }'), { foo: 1 }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment