Methods
(static) mixIn(source) → {object}
Mix source
members into this
.
Parameters:
Name | Type | Description |
---|---|---|
source |
Returns:
The target object (this
)
- Type
- object
Examples
// A. Simple usage (using .call):
var mixIn = require('overrider').mixIn;
var target = { a: 1 }, source = { b: 2 };
target === overrider.mixIn.call(target, source) // true
// target object now has both a and b; source object untouched
// B. Semantic usage (when the target hosts the method):
var mixIn = require('overrider').mixIn;
var target = { a: 1, mixIn: mixIn }, source = { b: 2 };
target === target.mixIn(source) // true
// target now has both a and b (and mixIn); source untouched
(static) mixInTo(target) → {object}
Mix this
members into target
.
This:
- {object}
Parameters:
Name | Type | Description |
---|---|---|
target |
Returns:
The target object (target
)
- Type
- object
Examples
// A. Simple usage (using .call):
var mixInTo = require('overrider').mixInTo;
var target = { a: 1 }, source = { b: 2 };
target === overrider.mixInTo.call(source, target); // true
// target object now has both a and b; source object untouched
// B. Semantic usage (when the source hosts the method):
var mixInTo = require('overrider').mixInTo;
var target = { a: 1 }, source = { b: 2, mixInTo: mixInTo };
target === source.mixInTo(target); // true
// target object now has both a and b; source object untouched
(inner) overrider(object, …sourcesopt) → {object}
Mixes members of all sources
into target
, handling getters and setters properly.
Any number of sources
objects may be given and each is copied in turn.
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
object |
object | The target object to receive sources. |
|
sources |
object |
<optional> <repeatable> |
Object(s) containing members to copy to |
Returns:
The target object (target
)
- Type
- object
Example
var overrider = require('overrider');
var target = { a: 1 }, source1 = { b: 2 }, source2 = { c: 3 };
target === overrider(target, source1, source2); // true
// target object now has a, b, and c; source objects untouched