1
0
Fork 0

util.canFreeze removed, replaced with util.freeze()

closure/master
Mike Gerwitz 2010-12-01 20:41:54 -05:00
parent c29bd010b0
commit b3c4b757e7
3 changed files with 18 additions and 19 deletions

View File

@ -22,8 +22,7 @@
* @package core
*/
var util = require( './util' ),
can_freeze = require( './util' ).canFreeze();
var util = require( './util' );
/**
@ -132,10 +131,7 @@ var extend = ( function( extending )
// lock down the new class (if supported) to ensure that we can't add
// members at runtime
if ( can_freeze )
{
Object.freeze( new_class );
}
util.freeze( new_class );
// we're done with the extension process
extending = false;

View File

@ -22,7 +22,7 @@
* @package core
*/
var can_freeze = require( './util' ).canFreeze();
var util = require( './util' );
/**
@ -53,11 +53,8 @@ function extend()
var new_interface = {};
// freeze the interface (preventing additions) if supported
if ( can_freeze )
{
Object.freeze( new_interface );
}
// freeze the interface (preventing additions), if supported
util.freeze( new_interface );
return new_interface;
}

View File

@ -34,16 +34,22 @@ var getset = ( Object.prototype.__defineGetter__ === undefined )
/**
* Whether the Object.freeze() method is available
* Freezes an object if freezing is supported
*
* @return {boolean}
* @param {Object} obj object to freeze
*
* @return {Object} object passed to function
*/
exports.canFreeze = function()
exports.freeze = function( obj )
{
return ( Object.seal === undefined )
? false
: true
;
// if freezing is not supported (ES5), do nothing
if ( Object.freeze === undefined )
{
return;
}
Object.freeze( obj );
return obj;
}