let _ = require( 'wTools' );
/*
null serves as an identifier, that we should not change object property's value, but make it constant.
*/
console.log( '6_ImplementationAddConstantFieldWithEscape.s' );
function objectSetFieldConstantWithEscape( object, field, value )
{
if( _.escape.is( value ) )
{
Object.defineProperty
(
object,
field,
{
enumerable : true,
configurable : false,
writable : false,
value : _.escape.right( value )
}
);
}
else if( value === null )
{
Object.defineProperty
(
object,
field,
{
enumerable : true,
configurable : false,
writable : false,
value : object[ field ]
}
);
}
else
{
Object.defineProperty
(
object,
field,
{
enumerable : true,
configurable : false,
writable : false,
value
}
);
}
return object;
}
module.exports = objectSetFieldConstantWithEscape;