From 5a294c8646452d6e49339d145faeae4f31dcd0fc Mon Sep 17 00:00:00 2001 From: Greg Thornton Date: Sun, 23 Jun 2013 14:04:59 -0500 Subject: feat(Angular.js): skip JSON.stringify for undefined Return early in `angular.toJson` if the object to be stringified is `undefined`. IE8 stringifies `undefined` to `'undefined'` whereas other browsers return `undefined`. This normalizes behavior and passes currently broken unit tests in IE8. --- src/Angular.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/Angular.js') diff --git a/src/Angular.js b/src/Angular.js index 589929a4..746f1134 100644 --- a/src/Angular.js +++ b/src/Angular.js @@ -775,9 +775,10 @@ function toJsonReplacer(key, value) { * * @param {Object|Array|Date|string|number} obj Input to be serialized into JSON. * @param {boolean=} pretty If set to true, the JSON output will contain newlines and whitespace. - * @returns {string} Jsonified string representing `obj`. + * @returns {string|undefined} Jsonified string representing `obj`. */ function toJson(obj, pretty) { + if (typeof obj === 'undefined') return undefined; return JSON.stringify(obj, toJsonReplacer, pretty ? ' ' : null); } -- cgit v1.2.3