You've already forked wakapi-readme-stats
Bar graph added.
This commit is contained in:
99
node_modules/json-stringify-pretty-compact/index.js
generated
vendored
Normal file
99
node_modules/json-stringify-pretty-compact/index.js
generated
vendored
Normal file
@@ -0,0 +1,99 @@
|
||||
"use strict";
|
||||
|
||||
// Note: This regex matches even invalid JSON strings, but since we’re
|
||||
// working on the output of `JSON.stringify` we know that only valid strings
|
||||
// are present (unless the user supplied a weird `options.indent` but in
|
||||
// that case we don’t care since the output would be invalid anyway).
|
||||
var stringOrChar = /("(?:[^\\"]|\\.)*")|[:,]/g;
|
||||
|
||||
module.exports = function stringify(passedObj, options) {
|
||||
var indent, maxLength, replacer;
|
||||
|
||||
options = options || {};
|
||||
indent = JSON.stringify(
|
||||
[1],
|
||||
undefined,
|
||||
options.indent === undefined ? 2 : options.indent
|
||||
).slice(2, -3);
|
||||
maxLength =
|
||||
indent === ""
|
||||
? Infinity
|
||||
: options.maxLength === undefined
|
||||
? 80
|
||||
: options.maxLength;
|
||||
replacer = options.replacer;
|
||||
|
||||
return (function _stringify(obj, currentIndent, reserved) {
|
||||
// prettier-ignore
|
||||
var end, index, items, key, keyPart, keys, length, nextIndent, prettified, start, string, value;
|
||||
|
||||
if (obj && typeof obj.toJSON === "function") {
|
||||
obj = obj.toJSON();
|
||||
}
|
||||
|
||||
string = JSON.stringify(obj, replacer);
|
||||
|
||||
if (string === undefined) {
|
||||
return string;
|
||||
}
|
||||
|
||||
length = maxLength - currentIndent.length - reserved;
|
||||
|
||||
if (string.length <= length) {
|
||||
prettified = string.replace(stringOrChar, function(match, stringLiteral) {
|
||||
return stringLiteral || match + " ";
|
||||
});
|
||||
if (prettified.length <= length) {
|
||||
return prettified;
|
||||
}
|
||||
}
|
||||
|
||||
if (replacer != null) {
|
||||
obj = JSON.parse(string);
|
||||
replacer = undefined;
|
||||
}
|
||||
|
||||
if (typeof obj === "object" && obj !== null) {
|
||||
nextIndent = currentIndent + indent;
|
||||
items = [];
|
||||
index = 0;
|
||||
|
||||
if (Array.isArray(obj)) {
|
||||
start = "[";
|
||||
end = "]";
|
||||
length = obj.length;
|
||||
for (; index < length; index++) {
|
||||
items.push(
|
||||
_stringify(obj[index], nextIndent, index === length - 1 ? 0 : 1) ||
|
||||
"null"
|
||||
);
|
||||
}
|
||||
} else {
|
||||
start = "{";
|
||||
end = "}";
|
||||
keys = Object.keys(obj);
|
||||
length = keys.length;
|
||||
for (; index < length; index++) {
|
||||
key = keys[index];
|
||||
keyPart = JSON.stringify(key) + ": ";
|
||||
value = _stringify(
|
||||
obj[key],
|
||||
nextIndent,
|
||||
keyPart.length + (index === length - 1 ? 0 : 1)
|
||||
);
|
||||
if (value !== undefined) {
|
||||
items.push(keyPart + value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (items.length > 0) {
|
||||
return [start, indent + items.join(",\n" + nextIndent), end].join(
|
||||
"\n" + currentIndent
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
return string;
|
||||
})(passedObj, "", 0);
|
||||
};
|
||||
Reference in New Issue
Block a user