Files
taimed/node_modules/@prantlf/jsonlint/web/formatter.min.js
2025-07-24 17:21:45 +08:00

2 lines
1.4 KiB
JavaScript

(function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?factory(exports):typeof define==="function"&&define.amd?define("jsonlint-formatter",["exports"],factory):(global=global||self,factory(global.jsonlintFormatter={}))})(this,function(exports){"use strict";function repeat(s,count){return new Array(count+1).join(s)}function format(json,indent){var i=0;var length=0;var indentString=indent!==undefined?typeof indent==="number"?new Array(indent+1).join(" "):indent:" ";var outputString="";var indentLevel=0;var inString;var currentChar;for(i=0,length=json.length;i<length;i+=1){currentChar=json.charAt(i);switch(currentChar){case"{":case"[":if(!inString){outputString+=currentChar+"\n"+repeat(indentString,indentLevel+1);indentLevel+=1}else{outputString+=currentChar}break;case"}":case"]":if(!inString){indentLevel-=1;outputString+="\n"+repeat(indentString,indentLevel)+currentChar}else{outputString+=currentChar}break;case",":if(!inString){outputString+=",\n"+repeat(indentString,indentLevel)}else{outputString+=currentChar}break;case":":if(!inString){outputString+=": "}else{outputString+=currentChar}break;case" ":case"\n":case"\t":if(inString){outputString+=currentChar}break;case'"':if(i>0&&json.charAt(i-1)!=="\\"){inString=!inString}outputString+=currentChar;break;default:outputString+=currentChar;break}}return outputString}exports.format=format;Object.defineProperty(exports,"__esModule",{value:true})});
//# sourceMappingURL=formatter.min.js.map