dev/dev.js
function(value) {
		var flagUndefined = function flagUndefined(key, value) {
			return value === undefined ?
				 "/* void(undefined) */" : value;
		};
		
		return JSON.stringify(value, flagUndefined, "  ").replace(
			/"\/\* void\(undefined\) \*\/"/g, "undefined");
	}
function(value) {
		var flagUndefined = function flagUndefined(key, value) {
			return value === undefined ?
				 "/* void(undefined) */" : value;
		};
		
		return JSON.stringify(value, flagUndefined, "  ").replace(
			/"\/\* void\(undefined\) \*\/"/g, "undefined");
	}
@function can-log/dev.stringify stringify
@parent can-log
@description
@hide

JSON stringifies a value, but unlike JSON, will output properties with
a value of `undefined` (e.g. `{ "prop": undefined }`, not `{}`).

```
var dev = require('can-log/dev');
var query = { where: undefined };

dev.warn('No records found: ' + dev.stringify(query));
```

@signature `dev.stringify(value)`
@param {Any} value A value to stringify.
@return {String} A stringified representation of the passed in value.