mirror of
https://github.com/wassname/DefinitelyTyped.git
synced 2026-09-09 11:13:57 +08:00
Merge pull request #6653 from chrootsu/lodash-defaults
lodash: signatures of the method _.defaults have been changed
This commit is contained in:
+123
-6
@@ -4510,13 +4510,130 @@ result = <{}>_(testCreateProto).create(testCreateProps).value();
|
||||
result = <TestCreateProto>_(testCreateProto).create<TestCreateProto>().value();
|
||||
result = <TestCreateTResult>_(testCreateProto).create<TestCreateTResult>(testCreateProps).value();
|
||||
|
||||
interface Food {
|
||||
name: string;
|
||||
type: string;
|
||||
// _.defaults
|
||||
module TestDefaults {
|
||||
interface Obj {a: string};
|
||||
interface S1 {a: number};
|
||||
interface S2 {b: number};
|
||||
interface S3 {c: number};
|
||||
interface S4 {d: number};
|
||||
interface S5 {e: number};
|
||||
|
||||
let obj: Obj;
|
||||
let s1: S1;
|
||||
let s2: S2;
|
||||
let s3: S3;
|
||||
let s4: S4;
|
||||
let s5: S5;
|
||||
|
||||
{
|
||||
let result: Obj;
|
||||
|
||||
result = _.defaults<Obj>(obj);
|
||||
}
|
||||
|
||||
{
|
||||
let result: {a: string};
|
||||
|
||||
result = _.defaults<Obj, S1, {a: string}>(obj, s1);
|
||||
}
|
||||
|
||||
{
|
||||
let result: {a: string, b: number};
|
||||
|
||||
result = _.defaults<Obj, S1, S2, {a: string, b: number}>(obj, s1, s2);
|
||||
}
|
||||
|
||||
{
|
||||
let result: {a: string, b: number, c: number};
|
||||
|
||||
result = _.defaults<Obj, S1, S2, S3, {a: string, b: number, c: number}>(obj, s1, s2, s3);
|
||||
}
|
||||
|
||||
{
|
||||
let result: {a: string, b: number, c: number, d: number};
|
||||
|
||||
result = _.defaults<Obj, S1, S2, S3, S4, {a: string, b: number, c: number, d: number}>(obj, s1, s2, s3, s4);
|
||||
}
|
||||
|
||||
{
|
||||
let result: {a: string, b: number, c: number, d: number, e: number};
|
||||
|
||||
result = _.defaults<Obj, {a: string, b: number, c: number, d: number, e: number}>(obj, s1, s2, s3, s4, s5);
|
||||
}
|
||||
|
||||
{
|
||||
let result: _.LoDashImplicitObjectWrapper<Obj>;
|
||||
|
||||
result = _(obj).defaults();
|
||||
}
|
||||
|
||||
{
|
||||
let result: _.LoDashImplicitObjectWrapper<{a: string}>;
|
||||
|
||||
result = _(obj).defaults<S1, {a: string}>(s1);
|
||||
}
|
||||
|
||||
{
|
||||
let result: _.LoDashImplicitObjectWrapper<{a: string, b: number}>;
|
||||
|
||||
result = _(obj).defaults<S1, S2, {a: string, b: number}>(s1, s2);
|
||||
}
|
||||
|
||||
{
|
||||
let result: _.LoDashImplicitObjectWrapper<{a: string, b: number, c: number}>;
|
||||
|
||||
result = _(obj).defaults<S1, S2, S3, {a: string, b: number, c: number}>(s1, s2, s3);
|
||||
}
|
||||
|
||||
{
|
||||
let result: _.LoDashImplicitObjectWrapper<{a: string, b: number, c: number, d: number}>;
|
||||
|
||||
result = _(obj).defaults<S1, S2, S3, S4, {a: string, b: number, c: number, d: number}>(s1, s2, s3, s4);
|
||||
}
|
||||
|
||||
{
|
||||
let result: _.LoDashImplicitObjectWrapper<{a: string, b: number, c: number, d: number, e: number}>;
|
||||
|
||||
result = _(obj).defaults<{a: string, b: number, c: number, d: number, e: number}>(s1, s2, s3, s4, s5);
|
||||
}
|
||||
|
||||
{
|
||||
let result: _.LoDashExplicitObjectWrapper<Obj>;
|
||||
|
||||
result = _(obj).chain().defaults();
|
||||
}
|
||||
|
||||
{
|
||||
let result: _.LoDashExplicitObjectWrapper<{a: string}>;
|
||||
|
||||
result = _(obj).chain().defaults<S1, {a: string}>(s1);
|
||||
}
|
||||
|
||||
{
|
||||
let result: _.LoDashExplicitObjectWrapper<{a: string, b: number}>;
|
||||
|
||||
result = _(obj).chain().defaults<S1, S2, {a: string, b: number}>(s1, s2);
|
||||
}
|
||||
|
||||
{
|
||||
let result: _.LoDashExplicitObjectWrapper<{a: string, b: number, c: number}>;
|
||||
|
||||
result = _(obj).chain().defaults<S1, S2, S3, {a: string, b: number, c: number}>(s1, s2, s3);
|
||||
}
|
||||
|
||||
{
|
||||
let result: _.LoDashExplicitObjectWrapper<{a: string, b: number, c: number, d: number}>;
|
||||
|
||||
result = _(obj).chain().defaults<S1, S2, S3, S4, {a: string, b: number, c: number, d: number}>(s1, s2, s3, s4);
|
||||
}
|
||||
|
||||
{
|
||||
let result: _.LoDashExplicitObjectWrapper<{a: string, b: number, c: number, d: number, e: number}>;
|
||||
|
||||
result = _(obj).chain().defaults<{a: string, b: number, c: number, d: number, e: number}>(s1, s2, s3, s4, s5);
|
||||
}
|
||||
}
|
||||
var foodDefaults = { 'name': 'apple' };
|
||||
result = <Food>_.defaults(foodDefaults, { 'name': 'banana', 'type': 'fruit' });
|
||||
result = <_.LoDashImplicitObjectWrapper<Food>>_(foodDefaults).defaults({ 'name': 'banana', 'type': 'fruit' });
|
||||
|
||||
//_.defaultsDeep
|
||||
interface DefaultsDeepResult {
|
||||
|
||||
Vendored
+160
-13
@@ -9154,23 +9154,170 @@ declare module _ {
|
||||
//_.defaults
|
||||
interface LoDashStatic {
|
||||
/**
|
||||
* Assigns own enumerable properties of source object(s) to the destination object for all
|
||||
* destination properties that resolve to undefined. Once a property is set, additional defaults
|
||||
* of the same property will be ignored.
|
||||
* @param object The destination object.
|
||||
* @param sources The source objects.
|
||||
* @return The destination object.
|
||||
**/
|
||||
defaults<T, TResult>(
|
||||
object: T,
|
||||
...sources: any[]): TResult;
|
||||
* Assigns own enumerable properties of source object(s) to the destination object for all destination
|
||||
* properties that resolve to undefined. Once a property is set, additional values of the same property are
|
||||
* ignored.
|
||||
*
|
||||
* Note: This method mutates object.
|
||||
*
|
||||
* @param object The destination object.
|
||||
* @param sources The source objects.
|
||||
* @return The destination object.
|
||||
*/
|
||||
defaults<Obj extends {}, TResult extends {}>(
|
||||
object: Obj,
|
||||
...sources: {}[]
|
||||
): TResult;
|
||||
|
||||
/**
|
||||
* @see _.defaults
|
||||
*/
|
||||
defaults<Obj extends {}, S1 extends {}, TResult extends {}>(
|
||||
object: Obj,
|
||||
source1: S1,
|
||||
...sources: {}[]
|
||||
): TResult;
|
||||
|
||||
/**
|
||||
* @see _.defaults
|
||||
*/
|
||||
defaults<Obj extends {}, S1 extends {}, S2 extends {}, TResult extends {}>(
|
||||
object: Obj,
|
||||
source1: S1,
|
||||
source2: S2,
|
||||
...sources: {}[]
|
||||
): TResult;
|
||||
|
||||
/**
|
||||
* @see _.defaults
|
||||
*/
|
||||
defaults<Obj extends {}, S1 extends {}, S2 extends {}, S3 extends {}, TResult extends {}>(
|
||||
object: Obj,
|
||||
source1: S1,
|
||||
source2: S2,
|
||||
source3: S3,
|
||||
...sources: {}[]
|
||||
): TResult;
|
||||
|
||||
/**
|
||||
* @see _.defaults
|
||||
*/
|
||||
defaults<Obj extends {}, S1 extends {}, S2 extends {}, S3 extends {}, S4 extends {}, TResult extends {}>(
|
||||
object: Obj,
|
||||
source1: S1,
|
||||
source2: S2,
|
||||
source3: S3,
|
||||
source4: S4,
|
||||
...sources: {}[]
|
||||
): TResult;
|
||||
|
||||
/**
|
||||
* @see _.defaults
|
||||
*/
|
||||
defaults<TResult extends {}>(
|
||||
object: {},
|
||||
...sources: {}[]
|
||||
): TResult;
|
||||
}
|
||||
|
||||
interface LoDashImplicitObjectWrapper<T> {
|
||||
/**
|
||||
* @see _.defaults
|
||||
**/
|
||||
defaults<T, TResult>(...sources: any[]): LoDashImplicitObjectWrapper<TResult>
|
||||
* @see _.defaults
|
||||
*/
|
||||
defaults<S1 extends {}, TResult extends {}>(
|
||||
source1: S1,
|
||||
...sources: {}[]
|
||||
): LoDashImplicitObjectWrapper<TResult>;
|
||||
|
||||
/**
|
||||
* @see _.defaults
|
||||
*/
|
||||
defaults<S1 extends {}, S2 extends {}, TResult extends {}>(
|
||||
source1: S1,
|
||||
source2: S2,
|
||||
...sources: {}[]
|
||||
): LoDashImplicitObjectWrapper<TResult>;
|
||||
|
||||
/**
|
||||
* @see _.defaults
|
||||
*/
|
||||
defaults<S1 extends {}, S2 extends {}, S3 extends {}, TResult extends {}>(
|
||||
source1: S1,
|
||||
source2: S2,
|
||||
source3: S3,
|
||||
...sources: {}[]
|
||||
): LoDashImplicitObjectWrapper<TResult>;
|
||||
|
||||
/**
|
||||
* @see _.defaults
|
||||
*/
|
||||
defaults<S1 extends {}, S2 extends {}, S3 extends {}, S4 extends {}, TResult extends {}>(
|
||||
source1: S1,
|
||||
source2: S2,
|
||||
source3: S3,
|
||||
source4: S4,
|
||||
...sources: {}[]
|
||||
): LoDashImplicitObjectWrapper<TResult>;
|
||||
|
||||
/**
|
||||
* @see _.defaults
|
||||
*/
|
||||
defaults(): LoDashImplicitObjectWrapper<T>;
|
||||
|
||||
/**
|
||||
* @see _.defaults
|
||||
*/
|
||||
defaults<TResult>(...sources: {}[]): LoDashImplicitObjectWrapper<TResult>;
|
||||
}
|
||||
|
||||
interface LoDashExplicitObjectWrapper<T> {
|
||||
/**
|
||||
* @see _.defaults
|
||||
*/
|
||||
defaults<S1 extends {}, TResult extends {}>(
|
||||
source1: S1,
|
||||
...sources: {}[]
|
||||
): LoDashExplicitObjectWrapper<TResult>;
|
||||
|
||||
/**
|
||||
* @see _.defaults
|
||||
*/
|
||||
defaults<S1 extends {}, S2 extends {}, TResult extends {}>(
|
||||
source1: S1,
|
||||
source2: S2,
|
||||
...sources: {}[]
|
||||
): LoDashExplicitObjectWrapper<TResult>;
|
||||
|
||||
/**
|
||||
* @see _.defaults
|
||||
*/
|
||||
defaults<S1 extends {}, S2 extends {}, S3 extends {}, TResult extends {}>(
|
||||
source1: S1,
|
||||
source2: S2,
|
||||
source3: S3,
|
||||
...sources: {}[]
|
||||
): LoDashExplicitObjectWrapper<TResult>;
|
||||
|
||||
/**
|
||||
* @see _.defaults
|
||||
*/
|
||||
defaults<S1 extends {}, S2 extends {}, S3 extends {}, S4 extends {}, TResult extends {}>(
|
||||
source1: S1,
|
||||
source2: S2,
|
||||
source3: S3,
|
||||
source4: S4,
|
||||
...sources: {}[]
|
||||
): LoDashExplicitObjectWrapper<TResult>;
|
||||
|
||||
/**
|
||||
* @see _.defaults
|
||||
*/
|
||||
defaults(): LoDashExplicitObjectWrapper<T>;
|
||||
|
||||
/**
|
||||
* @see _.defaults
|
||||
*/
|
||||
defaults<TResult>(...sources: {}[]): LoDashExplicitObjectWrapper<TResult>;
|
||||
}
|
||||
|
||||
//_.defaultsDeep
|
||||
|
||||
Reference in New Issue
Block a user