obj.js
- Source
Methods
defineLazyProperty(obj, key, getValue, setter)
Object.defineProperty but "lazy", which means that the value is only set after it is retrieved the first time, rather than being set right away.
Name | Type | Description |
---|---|---|
obj | Object | the object to set the property on |
key | string | the key for the property to set |
getValue | function | the function used to get the value when it is needed. |
setter | boolean | whether a setter should be allowed or not |
- Source
each(object, fn)
Array-like iteration for objects.
Name | Type | Description |
---|---|---|
object | Object | The object to iterate over |
fn | obj:EachCallback | The callback function which is called for each key in the object. |
- Source
isObject(value) → {boolean}
Returns whether a value is an object of any kind - including DOM nodes, arrays, regular expressions, etc. Not functions, though.
This avoids the gotcha where using typeof
on a null
value results in 'object'
.
Name | Type | Description |
---|---|---|
value | Object |
- Source
- Type:
- boolean
isPlain(value) → {boolean}
Returns whether an object appears to be a "plain" object - that is, a direct instance of Object
.
Name | Type | Description |
---|---|---|
value | Object |
- Source
- Type:
- boolean
merge(sources) → {Object}
Merge two objects recursively.
Performs a deep merge like lodash.merge, but only merges plain objects (not arrays, elements, or anything else).
Non-plain object values will be copied directly from the right-most argument.
Name | Type | Description |
---|---|---|
sources | Array.<Object> | One or more objects to merge into a new object. |
- Source
A new object that is the merged result of all sources.
- Type:
- Object
reduce(object, fn, initialopt) → {*}
Array-like reduce for objects.
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
object | Object | The Object that you want to reduce. | ||
fn | function | A callback function which is called for each key in the object. It receives the accumulated value and the per-iteration value and key as arguments. | ||
initial | * | <optional> | 0 | Starting value |
- Source
The final accumulated value.
- Type:
- *
values(source) → {Array.<unknown>}
Returns an array of values for a given object
Name | Type | Description |
---|---|---|
source | Object | target object |
- Source
- object values
- Type:
- Array.<unknown>
Type Definitions
obj:EachCallback(value, key)
Name | Type | Description |
---|---|---|
value | * | The current key for the object that is being iterated over. |
key | string | The current key-value for object that is being iterated over |
- Source
obj:ReduceCallback(accum, value, key) → {*}
Name | Type | Description |
---|---|---|
accum | * | The value that is accumulating over the reduce loop. |
value | * | The current key for the object that is being iterated over. |
key | string | The current key-value for object that is being iterated over |
- Source
The new accumulated value.
- Type:
- *