buildDefValue function
Implementation
void buildDefValue(
dynamic value,
BuildingContext context,
int level
)
{
var indent = ' ' * ( level * context.levelSpaceCount );
if ( value == undefined )
{
context.lineArray.add( indent + 'undefined' );
}
else if ( value == null )
{
context.lineArray.add( indent + 'null' );
}
else if ( value is bool )
{
context.lineArray.add( indent + value.toString() );
}
else if ( value is num )
{
if ( value.isNaN )
{
context.lineArray.add( indent + 'NaN' );
}
else if ( !value.isFinite )
{
context.lineArray.add( indent + ( value > 0 ? 'Infinity' : '-Infinity' ) );
}
else
{
context.lineArray.add( indent + value.toString() );
}
}
else if ( value is String )
{
buildDefString( value, context, level );
}
else if ( value is List )
{
context.lineArray.add( indent + '[' );
for ( var item in value )
{
buildDefValue( item, context, level + 1 );
}
context.lineArray.add( indent + ']' );
}
else if ( value is Map<String, dynamic> )
{
context.lineArray.add( indent + '{' );
for ( var key in value.keys )
{
if ( value.containsKey( key ) )
{
buildDefString( key, context, level + 1 );
buildDefValue( value[ key ], context, level + 2 );
}
}
context.lineArray.add( indent + '}' );
}
else if ( value is Map<dynamic, dynamic> )
{
context.lineArray.add( indent + '(' );
for ( var entry in value.entries )
{
buildDefValue( entry.key, context, level + 1 );
buildDefValue( entry.value, context, level + 2 );
}
context.lineArray.add( indent + ')' );
}
}