Adds utilities to the YUI instance for working with objects.
()obj
Returns a new object that uses obj as its prototype. This method wraps the
native ES5 Object.create() method if available, but doesn't currently
pass through Object.create()'s second argument (properties) in order to
ensure compatibility with older browsers.
obj
Object
Prototype object.
eachobj
fn
[thisObj]
[proto=false]
Executes a function on each enumerable property in obj. The function receives the value, the key, and the object itself as parameters (in that order).
By default, only properties owned by obj are enumerated. To include
prototype properties, set the proto parameter to true.
getValueo
path
Retrieves the sub value at the provided path, from the value object provided.
hasValueobj
value
Returns true if the object owns an enumerable property with the specified
value.
obj
Object
An object.
value
Any
The value to search for.
isEmptyobj
Returns true if the object has no enumerable properties of its own.
obj
Object
An object.
true if the object is empty.
keysobj
Returns an array containing the object's enumerable keys. Does not include prototype keys or non-enumerable keys.
Note that keys are returned in enumeration order (that is, in the same order
that they would be enumerated by a for-in loop), which may not be the same
as the order in which they were defined.
This method is an alias for the native ES5 Object.keys() method if
available.
obj
Object
An object.
Y.Object.keys({a: 'foo', b: 'bar', c: 'baz'});
// => ['a', 'b', 'c']
ownsobj
key
Returns true if key exists on obj, false if key doesn't exist or
exists only on obj's prototype. This is essentially a safer version of
obj.hasOwnProperty().
setValueo
path
val
Sets the sub-attribute value at the provided path on the value object. Returns the modified value object, or undefined if the path is invalid.
sizeobj
Returns the number of enumerable keys owned by an object.
obj
Object
An object.
someobj
fn
[thisObj]
[proto=false]
Executes a function on each enumerable property in obj, but halts if the function returns a truthy value. The function receives the value, the key, and the object itself as paramters (in that order).
By default, only properties owned by obj are enumerated. To include
prototype properties, set the proto parameter to true.
valuesobj
Returns an array containing the values of the object's enumerable keys.
Note that values are returned in enumeration order (that is, in the same
order that they would be enumerated by a for-in loop), which may not be the
same as the order in which they were defined.
obj
Object
An object.
Y.Object.values({a: 'foo', b: 'bar', c: 'baz'});
// => ['foo', 'bar', 'baz']
_forceEnumProperty names that IE doesn't enumerate in for..in loops, even when they
should be enumerable. When _hasEnumBug is true, it's necessary to
manually enumerate these properties.
_hasEnumBugtrue if this browser has the JScript enumeration bug that prevents
enumeration of the properties named in the _forceEnum array, false
otherwise.
See: - https://developer.mozilla.org/en/ECMAScript_DontEnum_attribute#JScript_DontEnum_Bug - http://whattheheadsaid.com/2010/10/a-safer-object-keys-compatibility-implementation
_hasProtoEnumBugtrue if this browser incorrectly considers the prototype property of
functions to be enumerable. Currently known to affect Opera 11.50.