MCPcopy Create free account
hub / github.com/RubyLouvre/anu / internalStringify

Function internalStringify

test/babel.js:50562–50642  ·  view source on GitHub ↗
(holder, key, isTopLevel)

Source from the content-addressed store, hash-verified

50560 // End
50561
50562 function internalStringify(holder, key, isTopLevel) {
50563 var buffer, res;
50564
50565 // Replace the value, if necessary
50566 var obj_part = getReplacedValueOrUndefined(holder, key, isTopLevel);
50567
50568 if (obj_part && !isDate(obj_part)) {
50569 // unbox objects
50570 // don't unbox dates, since will turn it into number
50571 obj_part = obj_part.valueOf();
50572 }
50573 switch (typeof obj_part === "undefined" ? "undefined" : _typeof(obj_part)) {
50574 case "boolean":
50575 return obj_part.toString();
50576
50577 case "number":
50578 if (isNaN(obj_part) || !isFinite(obj_part)) {
50579 return "null";
50580 }
50581 return obj_part.toString();
50582
50583 case "string":
50584 return escapeString(obj_part.toString());
50585
50586 case "object":
50587 if (obj_part === null) {
50588 return "null";
50589 } else if (isArray(obj_part)) {
50590 checkForCircular(obj_part);
50591 buffer = "[";
50592 objStack.push(obj_part);
50593
50594 for (var i = 0; i < obj_part.length; i++) {
50595 res = internalStringify(obj_part, i, false);
50596 buffer += makeIndent(indentStr, objStack.length);
50597 if (res === null || typeof res === "undefined") {
50598 buffer += "null";
50599 } else {
50600 buffer += res;
50601 }
50602 if (i < obj_part.length - 1) {
50603 buffer += ",";
50604 } else if (indentStr) {
50605 buffer += "\n";
50606 }
50607 }
50608 objStack.pop();
50609 if (obj_part.length) {
50610 buffer += makeIndent(indentStr, objStack.length, true);
50611 }
50612 buffer += "]";
50613 } else {
50614 checkForCircular(obj_part);
50615 buffer = "{";
50616 var nonEmpty = false;
50617 objStack.push(obj_part);
50618 for (var prop in obj_part) {
50619 if (obj_part.hasOwnProperty(prop)) {

Callers 1

babel.jsFile · 0.85

Calls 7

isArrayFunction · 0.85
checkForCircularFunction · 0.85
makeIndentFunction · 0.85
isWordFunction · 0.85
isDateFunction · 0.70
escapeStringFunction · 0.70

Tested by

no test coverage detected