isCircularPlainObject

Test if a value is a plain object containing a circular reference.

Usage

var isCircularPlainObject = require( '@stdlib/assert/is-circular' );

isCircularPlainObject( value )

Tests if a value is a plain object containing a circular reference.

var obj = {
    'beep': 'boop'
};
var bool = isCircularPlainObject( obj );
// returns false

obj.self = obj;
bool = isCircularPlainObject( obj );
// returns true

Examples

var isCircularPlainObject = require( '@stdlib/assert/is-circular' );

var obj1 = {
    'a': 'beep',
    'b': {
        'c': 'boop'
    }
};
obj1.b.self = obj1;
var bool = isCircularPlainObject( obj1 );
// returns true

var obj2 = {
    'a': {},
    'b': obj1
};
bool = isCircularPlainObject( obj2 );
// returns true

var arr = [ 1, 2, 3 ];
arr.push( arr );
bool = isCircularPlainObject( arr );
// returns false

var obj3 = {
    'beep': 'boop'
};
bool = isCircularPlainObject({
    'a': obj3,
    'b': obj3
});
// returns false

bool = isCircularPlainObject( {} );
// returns false

bool = isCircularPlainObject( null );
// returns false
Did you find this page helpful?