export function toJSON ( value ) { if ( hasProperty ( value , "toJSON" ) ) { return value . toJSON ( ) ; } else { return value ; } } function hasProperty ( value , name ) { while ( value !== null ) { if ( typeof ( value ) !== "object" ) { return false ; } if ( value . hasOwnProperty ( name ) ) { return true ; } value = Object . getPrototypeOf ( value ) ; } return false ; }