demo/dist/demo.js
function stringifyError(value) {
	    var err = {
	      // These properties are implemented as magical getters and don't show up in for in
	      stack: value.stack,
	      message: value.message,
	      name: value.name
	    };

	    for (var i in value) {
	      if (Object.prototype.hasOwnProperty.call(value, i)) {
	        err[i] = value[i];
	      }
	    }

	    return err;
	  }
function stringifyError(value) {
	    var err = {
	      // These properties are implemented as magical getters and don't show up in for in
	      stack: value.stack,
	      message: value.message,
	      name: value.name
	    };

	    for (var i in value) {
	      if (Object.prototype.hasOwnProperty.call(value, i)) {
	        err[i] = value[i];
	      }
	    }

	    return err;
	  }
https://github.com/ftlabs/js-abbreviate/blob/fa709e5f139e7770a71827b1893f22418097fbda/index.js#L95-L106