object
This module groups together utility functions that can be used to manipulate
Object values.
It also exposes Symbols that can be used to customise an Object's
behavior.
Functions
hasKey(obj, key)
Checks if the provided object has the requested key defined. This can be used to be sure that an object has a key even if the associated value is null.
| Argument | Description |
|---|---|
| obj | The object holding the key |
| key | The key to check |
Returns: true if the key is present, false otherwise.
removeKey(obj, key)
Removes a given key from an Object. This may cause some internal re-allocation to be triggered and it's not the same as setting a key to null as the key will not appear in enumeration.
| Argument | Description |
|---|---|
| obj | The object holding the key |
| key | The key to remove |
Returns: true if the key could be found, false otherwise.
clone(obj, [deep])
Clones an Object returning a copy of the original. When a deep clone is performed only objects will be cloned, values which are not objects but are managed by the GC (eg: arrays) will still point to the same value and will be reference assigned.
| Argument | Description |
|---|---|
| obj | The object to be cloned |
| deep  Optional | true if it should be cloned recursively |
Returns: The cloned object.
merge(target, with, [deep])
Merges two objects adding to target any key that is missing from it but that was found in with.
| Argument | Description |
|---|---|
| target | The object that will be modified |
| with | The object with the keys to add to target is any is missing |
| deep  Optional | true if the merging should be done recursively. Defaults to false |
Returns: true if the two objects were merged successfuly, false otherwise.
Properties
symbols.sumOperator
A symbol that can be used to overload the sum operator
symbols.subOperator
A symbol that can be used to overload the subtraction operator
symbols.mulOperator
A symbol that can be used to overload the multiplication operator
symbols.divOperator
A symbol that can be used to overload the division operator
symbols.concatOperator
A symbol that can be used to overload the concatenation operator
symbols.compareOperator
A symbol that can be used to provide custom comparison
symbols.getIndexOperator
A symbol that can be used to overload the indexed access operator
symbols.setIndexOperator
A symbol that can be used to overload the indexed set operator
symbols.negOperator
A symbol that can be used to overload the negation operator
symbols.sizeOperator
A symbol that can be used to overload the size operator
symbols.powOperator
A symbol that can be used to overload the power operator
symbols.callOperator
A symbol that can be used to overload the call operator
symbols.hashingFunction
A symbol that can be used provide custom hashing mechanism
symbols.iterator
A symbol that can be used to overload the get iterator operator
symbols.nextFunction
A symbol that can be used to overload the next iterator's value operator
symbols.getPropertyOperator
A symbol that can be used to overload the dot operator for property reading
symbols.setPropertyOperator
A symbol that can be used to overload the dot operator for property writing