diff --git a/INSTALL.md b/INSTALL.md index 9839e44..efb7e46 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -19,7 +19,7 @@ npm install gh-badges ```js var badge = require('gh-badges'); badge({ text: [ "build", "passed" ], colorscheme: "green" }, - function(svg) { + function(svg, err) { // svg is a String… of your badge. }); ``` diff --git a/badge.js b/badge.js index 4b59036..84c4350 100644 --- a/badge.js +++ b/badge.js @@ -52,6 +52,10 @@ function makeImage(data, cb) { if (!(data.template + '-' + data.format in templates)) { data.template = 'default'; } + // String coercion. + data.text[0] = '' + data.text[0]; + data.text[1] = '' + data.text[1]; + var template = templates[data.template + '-' + data.format]; if (data.colorscheme) { data.colorA = colorscheme[data.colorscheme].colorA; @@ -63,7 +67,12 @@ function makeImage(data, cb) { ]; addEscapers(data); - var result = template(data); + try { + var result = template(data); + } catch(e) { + cb('', e); + return; + } if (data.format === 'json') { cb(result);