1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- // Generated by CoffeeScript 1.12.4
- var Dumper, Inline, Utils;
- Utils = require('./Utils');
- Inline = require('./Inline');
- Dumper = (function() {
- function Dumper() {}
- Dumper.indentation = 4;
- Dumper.prototype.dump = function(input, inline, indent, exceptionOnInvalidType, objectEncoder) {
- var i, key, len, output, prefix, value, willBeInlined;
- if (inline == null) {
- inline = 0;
- }
- if (indent == null) {
- indent = 0;
- }
- if (exceptionOnInvalidType == null) {
- exceptionOnInvalidType = false;
- }
- if (objectEncoder == null) {
- objectEncoder = null;
- }
- output = '';
- prefix = (indent ? Utils.strRepeat(' ', indent) : '');
- if (inline <= 0 || typeof input !== 'object' || input instanceof Date || Utils.isEmpty(input)) {
- output += prefix + Inline.dump(input, exceptionOnInvalidType, objectEncoder);
- } else {
- if (input instanceof Array) {
- for (i = 0, len = input.length; i < len; i++) {
- value = input[i];
- willBeInlined = inline - 1 <= 0 || typeof value !== 'object' || Utils.isEmpty(value);
- output += prefix + '-' + (willBeInlined ? ' ' : "\n") + this.dump(value, inline - 1, (willBeInlined ? 0 : indent + this.indentation), exceptionOnInvalidType, objectEncoder) + (willBeInlined ? "\n" : '');
- }
- } else {
- for (key in input) {
- value = input[key];
- willBeInlined = inline - 1 <= 0 || typeof value !== 'object' || Utils.isEmpty(value);
- output += prefix + Inline.dump(key, exceptionOnInvalidType, objectEncoder) + ':' + (willBeInlined ? ' ' : "\n") + this.dump(value, inline - 1, (willBeInlined ? 0 : indent + this.indentation), exceptionOnInvalidType, objectEncoder) + (willBeInlined ? "\n" : '');
- }
- }
- }
- return output;
- };
- return Dumper;
- })();
- module.exports = Dumper;
|