lodash: added _.defaultsDeep() method

This commit is contained in:
Ilya Mochalov
2015-07-28 16:29:59 +05:00
parent 73e4b46719
commit 06593704d4
2 changed files with 32 additions and 0 deletions
+12
View File
@@ -896,6 +896,18 @@ var foodDefaults = { 'name': 'apple' };
result = <Food>_.defaults(foodDefaults, { 'name': 'banana', 'type': 'fruit' });
result = <_.LoDashObjectWrapper<Food>>_(foodDefaults).defaults({ 'name': 'banana', 'type': 'fruit' });
//_.defaultsDeep
interface DefaultsDeepResult {
user: {
name: string;
age: number;
}
}
var TestDefaultsDeepObject = {'user': {'name': 'barney'}};
var TestDefaultsDeepSource = {'user': {'name': 'fred', 'age': 36}};
result = <DefaultsDeepResult>_.defaultsDeep(TestDefaultsDeepObject, TestDefaultsDeepSource);
result = <DefaultsDeepResult>_(TestDefaultsDeepObject).defaultsDeep<DefaultsDeepResult>(TestDefaultsDeepSource).value();
result = <string>_.findKey({ 'a': 1, 'b': 2, 'c': 3, 'd': 4 }, function (num) {
return num % 2 == 0;
});
+20
View File
@@ -5564,6 +5564,26 @@ declare module _ {
defaults<T, TResult>(...sources: any[]): LoDashObjectWrapper<TResult>
}
//_.defaultsDeep
interface LoDashStatic {
/**
* This method is like _.defaults except that it recursively assigns default properties.
* @param object The destination object.
* @param sources The source objects.
* @return Returns object.
**/
defaultsDeep<T, TResult>(
object: T,
...sources: any[]): TResult;
}
interface LoDashObjectWrapper<T> {
/**
* @see _.defaultsDeep
**/
defaultsDeep<TResult>(...sources: any[]): LoDashObjectWrapper<TResult>
}
//_.findKey
interface LoDashStatic {
/**