package cz.habarta.typescript.generator.util;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.util.DefaultIndenter;
import com.fasterxml.jackson.core.util.DefaultPrettyPrinter;
import java.io.IOException;
/**
* Jackson2 PrettyPrinter implementation that produces JSON format similar to JSON.stringify() output.
*/
public class StandardJsonPrettyPrinter extends DefaultPrettyPrinter {
private static final long serialVersionUID = 1;
private final String indent;
private final String eol;
public StandardJsonPrettyPrinter() {
this(" ", String.format("%n"));
}
public StandardJsonPrettyPrinter(String indent, String eol) {
this.indent = indent;
this.eol = eol;
final DefaultIndenter indenter = new DefaultIndenter(indent, eol);
this._arrayIndenter = indenter;
this._objectIndenter = indenter;
}
@Override
public DefaultPrettyPrinter createInstance() {
return new StandardJsonPrettyPrinter(indent, eol);
}
@Override
public void writeObjectFieldValueSeparator(JsonGenerator jg) throws IOException {
jg.writeRaw(": ");
}
}