mirror of
https://github.com/wassname/DefinitelyTyped.git
synced 2026-09-09 11:13:57 +08:00
lodash: _.set changed, _.setWith added
This commit is contained in:
Vendored
+35
-10
@@ -13341,40 +13341,65 @@ declare module _ {
|
||||
* @param value The value to set.
|
||||
* @return Returns object.
|
||||
*/
|
||||
set<T>(
|
||||
object: T,
|
||||
set<TResult>(
|
||||
object: Object,
|
||||
path: StringRepresentable|StringRepresentable[],
|
||||
value: any
|
||||
): T;
|
||||
): TResult;
|
||||
|
||||
/**
|
||||
* @see _.set
|
||||
*/
|
||||
set<V, T>(
|
||||
object: T,
|
||||
set<V, TResult>(
|
||||
object: Object,
|
||||
path: StringRepresentable|StringRepresentable[],
|
||||
value: V
|
||||
): T;
|
||||
): TResult;
|
||||
|
||||
/**
|
||||
* @see _.set
|
||||
*/
|
||||
set<O, V, TResult>(
|
||||
object: O,
|
||||
path: StringRepresentable|StringRepresentable[],
|
||||
value: V
|
||||
): TResult;
|
||||
}
|
||||
|
||||
interface LoDashImplicitObjectWrapper<T> {
|
||||
/**
|
||||
* @see _.set
|
||||
*/
|
||||
set<V>(
|
||||
set<TResult>(
|
||||
path: StringRepresentable|StringRepresentable[],
|
||||
value: any
|
||||
): LoDashImplicitObjectWrapper<TResult>;
|
||||
|
||||
/**
|
||||
* @see _.set
|
||||
*/
|
||||
set<V, TResult>(
|
||||
path: StringRepresentable|StringRepresentable[],
|
||||
value: V
|
||||
): LoDashImplicitObjectWrapper<T>;
|
||||
): LoDashImplicitObjectWrapper<TResult>;
|
||||
}
|
||||
|
||||
interface LoDashExplicitObjectWrapper<T> {
|
||||
/**
|
||||
* @see _.set
|
||||
*/
|
||||
set<V>(
|
||||
set<TResult>(
|
||||
path: StringRepresentable|StringRepresentable[],
|
||||
value: any
|
||||
): LoDashExplicitObjectWrapper<TResult>;
|
||||
|
||||
/**
|
||||
* @see _.set
|
||||
*/
|
||||
set<V, TResult>(
|
||||
path: StringRepresentable|StringRepresentable[],
|
||||
value: V
|
||||
): LoDashExplicitObjectWrapper<T>;
|
||||
): LoDashExplicitObjectWrapper<TResult>;
|
||||
}
|
||||
|
||||
//_.transform
|
||||
|
||||
+22
-18
@@ -8676,39 +8676,43 @@ module TestPick {
|
||||
|
||||
// _.set
|
||||
module TestSet {
|
||||
type SampleValue = {a: number; b: string; c: boolean;};
|
||||
type SampleObject = {a: {}};
|
||||
type SampleResult = {a: {b: number[]}};
|
||||
|
||||
let object: TResult;
|
||||
let value = {a: 1, b: '', c: true};
|
||||
let object: SampleObject;
|
||||
let value: number;
|
||||
|
||||
{
|
||||
let result: TResult;
|
||||
let result: SampleResult;
|
||||
|
||||
result = _.set(object, '', any);
|
||||
result = _.set(object, ['a', 'b', 1], any);
|
||||
result = _.set<SampleResult>(object, 'a.b[1]', value);
|
||||
result = _.set<SampleResult>(object, ['a', 'b', 1], value);
|
||||
|
||||
result = _.set<SampleValue>(object, '', value);
|
||||
result = _.set<SampleValue>(object, ['a', 'b', 1], value);
|
||||
result = _.set<number, SampleResult>(object, 'a.b[1]', value);
|
||||
result = _.set<number, SampleResult>(object, ['a', 'b', 1], value);
|
||||
|
||||
result = _.set<SampleObject, number, SampleResult>(object, 'a.b[1]', value);
|
||||
result = _.set<SampleObject, number, SampleResult>(object, ['a', 'b', 1], value);
|
||||
}
|
||||
|
||||
{
|
||||
let result: _.LoDashImplicitObjectWrapper<TResult>;
|
||||
let result: _.LoDashImplicitObjectWrapper<SampleResult>;
|
||||
|
||||
result = _(object).set('', any);
|
||||
result = _(object).set(['a', 'b', 1], any);
|
||||
result = _(object).set<SampleResult>('a.b[1]', value);
|
||||
result = _(object).set<SampleResult>(['a', 'b', 1], value);
|
||||
|
||||
result = _(object).set<SampleValue>('', value);
|
||||
result = _(object).set<SampleValue>(['a', 'b', 1], value);
|
||||
result = _(object).set<number, SampleResult>('a.b[1]', value);
|
||||
result = _(object).set<number, SampleResult>(['a', 'b', 1], value);
|
||||
}
|
||||
|
||||
{
|
||||
let result: _.LoDashExplicitObjectWrapper<TResult>;
|
||||
let result: _.LoDashExplicitObjectWrapper<SampleResult>;
|
||||
|
||||
result = _(object).chain().set('', any);
|
||||
result = _(object).chain().set(['a', 'b', 1], any);
|
||||
result = _(object).chain().set<SampleResult>('a.b[1]', value);
|
||||
result = _(object).chain().set<SampleResult>(['a', 'b', 1], value);
|
||||
|
||||
result = _(object).chain().set<SampleValue>('', value);
|
||||
result = _(object).chain().set<SampleValue>(['a', 'b', 1], value);
|
||||
result = _(object).chain().set<number, SampleResult>('a.b[1]', value);
|
||||
result = _(object).chain().set<number, SampleResult>(['a', 'b', 1], value);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+79
-18
@@ -8745,39 +8745,100 @@ module TestPickBy {
|
||||
|
||||
// _.set
|
||||
module TestSet {
|
||||
type SampleValue = {a: number; b: string; c: boolean;};
|
||||
type SampleObject = {a: {}};
|
||||
type SampleResult = {a: {b: number[]}};
|
||||
|
||||
let object: TResult;
|
||||
let value = {a: 1, b: '', c: true};
|
||||
let object: SampleObject;
|
||||
let value: number;
|
||||
|
||||
{
|
||||
let result: TResult;
|
||||
let result: SampleResult;
|
||||
|
||||
result = _.set(object, '', any);
|
||||
result = _.set(object, ['a', 'b', 1], any);
|
||||
result = _.set<SampleResult>(object, 'a.b[1]', value);
|
||||
result = _.set<SampleResult>(object, ['a', 'b', 1], value);
|
||||
|
||||
result = _.set<SampleValue>(object, '', value);
|
||||
result = _.set<SampleValue>(object, ['a', 'b', 1], value);
|
||||
result = _.set<number, SampleResult>(object, 'a.b[1]', value);
|
||||
result = _.set<number, SampleResult>(object, ['a', 'b', 1], value);
|
||||
|
||||
result = _.set<SampleObject, number, SampleResult>(object, 'a.b[1]', value);
|
||||
result = _.set<SampleObject, number, SampleResult>(object, ['a', 'b', 1], value);
|
||||
}
|
||||
|
||||
{
|
||||
let result: _.LoDashImplicitObjectWrapper<TResult>;
|
||||
let result: _.LoDashImplicitObjectWrapper<SampleResult>;
|
||||
|
||||
result = _(object).set('', any);
|
||||
result = _(object).set(['a', 'b', 1], any);
|
||||
result = _(object).set<SampleResult>('a.b[1]', value);
|
||||
result = _(object).set<SampleResult>(['a', 'b', 1], value);
|
||||
|
||||
result = _(object).set<SampleValue>('', value);
|
||||
result = _(object).set<SampleValue>(['a', 'b', 1], value);
|
||||
result = _(object).set<number, SampleResult>('a.b[1]', value);
|
||||
result = _(object).set<number, SampleResult>(['a', 'b', 1], value);
|
||||
}
|
||||
|
||||
{
|
||||
let result: _.LoDashExplicitObjectWrapper<TResult>;
|
||||
let result: _.LoDashExplicitObjectWrapper<SampleResult>;
|
||||
|
||||
result = _(object).chain().set('', any);
|
||||
result = _(object).chain().set(['a', 'b', 1], any);
|
||||
result = _(object).chain().set<SampleResult>('a.b[1]', value);
|
||||
result = _(object).chain().set<SampleResult>(['a', 'b', 1], value);
|
||||
|
||||
result = _(object).chain().set<SampleValue>('', value);
|
||||
result = _(object).chain().set<SampleValue>(['a', 'b', 1], value);
|
||||
result = _(object).chain().set<number, SampleResult>('a.b[1]', value);
|
||||
result = _(object).chain().set<number, SampleResult>(['a', 'b', 1], value);
|
||||
}
|
||||
}
|
||||
|
||||
// _.setWith
|
||||
module TestSetWith {
|
||||
type SampleObject = {a: {}};
|
||||
type SampleResult = {a: {b: number[]}};
|
||||
|
||||
let object: SampleObject;
|
||||
let value: number;
|
||||
let customizer: (value: any, key: string, object: SampleObject) => number;
|
||||
|
||||
{
|
||||
let result: SampleResult;
|
||||
|
||||
result = _.setWith<SampleResult>(object, 'a.b[1]', value);
|
||||
result = _.setWith<SampleResult>(object, 'a.b[1]', value, customizer);
|
||||
result = _.setWith<SampleResult>(object, ['a', 'b', 1], value);
|
||||
result = _.setWith<SampleResult>(object, ['a', 'b', 1], value, customizer);
|
||||
|
||||
result = _.setWith<number, SampleResult>(object, 'a.b[1]', value);
|
||||
result = _.setWith<number, SampleResult>(object, 'a.b[1]', value, customizer);
|
||||
result = _.setWith<number, SampleResult>(object, ['a', 'b', 1], value);
|
||||
result = _.setWith<number, SampleResult>(object, ['a', 'b', 1], value, customizer);
|
||||
|
||||
result = _.setWith<SampleObject, number, SampleResult>(object, 'a.b[1]', value);
|
||||
result = _.setWith<SampleObject, number, SampleResult>(object, 'a.b[1]', value, customizer);
|
||||
result = _.setWith<SampleObject, number, SampleResult>(object, ['a', 'b', 1], value);
|
||||
result = _.setWith<SampleObject, number, SampleResult>(object, ['a', 'b', 1], value, customizer);
|
||||
}
|
||||
|
||||
{
|
||||
let result: _.LoDashImplicitObjectWrapper<SampleResult>;
|
||||
|
||||
result = _(object).setWith<SampleResult>('a.b[1]', value);
|
||||
result = _(object).setWith<SampleResult>('a.b[1]', value, customizer);
|
||||
result = _(object).setWith<SampleResult>(['a', 'b', 1], value);
|
||||
result = _(object).setWith<SampleResult>(['a', 'b', 1], value, customizer);
|
||||
|
||||
result = _(object).setWith<number, SampleResult>('a.b[1]', value);
|
||||
result = _(object).setWith<number, SampleResult>('a.b[1]', value, customizer);
|
||||
result = _(object).setWith<number, SampleResult>(['a', 'b', 1], value);
|
||||
result = _(object).setWith<number, SampleResult>(['a', 'b', 1], value, customizer);
|
||||
}
|
||||
|
||||
{
|
||||
let result: _.LoDashExplicitObjectWrapper<SampleResult>;
|
||||
|
||||
result = _(object).chain().setWith<SampleResult>('a.b[1]', value);
|
||||
result = _(object).chain().setWith<SampleResult>('a.b[1]', value, customizer);
|
||||
result = _(object).chain().setWith<SampleResult>(['a', 'b', 1], value);
|
||||
result = _(object).chain().setWith<SampleResult>(['a', 'b', 1], value, customizer);
|
||||
|
||||
result = _(object).chain().setWith<number, SampleResult>('a.b[1]', value);
|
||||
result = _(object).chain().setWith<number, SampleResult>('a.b[1]', value, customizer);
|
||||
result = _(object).chain().setWith<number, SampleResult>(['a', 'b', 1], value);
|
||||
result = _(object).chain().setWith<number, SampleResult>(['a', 'b', 1], value, customizer);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Vendored
+124
-12
@@ -14578,47 +14578,159 @@ declare module _ {
|
||||
//_.set
|
||||
interface LoDashStatic {
|
||||
/**
|
||||
* Sets the property value of path on object. If a portion of path does not exist it’s created.
|
||||
* Sets the value at path of object. If a portion of path doesn’t exist it’s created. Arrays are created for
|
||||
* missing index properties while objects are created for all other missing properties. Use _.setWith to
|
||||
* customize path creation.
|
||||
*
|
||||
* @param object The object to augment.
|
||||
* @param object The object to modify.
|
||||
* @param path The path of the property to set.
|
||||
* @param value The value to set.
|
||||
* @return Returns object.
|
||||
*/
|
||||
set<T>(
|
||||
object: T,
|
||||
set<TResult>(
|
||||
object: Object,
|
||||
path: StringRepresentable|StringRepresentable[],
|
||||
value: any
|
||||
): T;
|
||||
): TResult;
|
||||
|
||||
/**
|
||||
* @see _.set
|
||||
*/
|
||||
set<V, T>(
|
||||
object: T,
|
||||
set<V, TResult>(
|
||||
object: Object,
|
||||
path: StringRepresentable|StringRepresentable[],
|
||||
value: V
|
||||
): T;
|
||||
): TResult;
|
||||
|
||||
/**
|
||||
* @see _.set
|
||||
*/
|
||||
set<O, V, TResult>(
|
||||
object: O,
|
||||
path: StringRepresentable|StringRepresentable[],
|
||||
value: V
|
||||
): TResult;
|
||||
}
|
||||
|
||||
interface LoDashImplicitObjectWrapper<T> {
|
||||
/**
|
||||
* @see _.set
|
||||
*/
|
||||
set<V>(
|
||||
set<TResult>(
|
||||
path: StringRepresentable|StringRepresentable[],
|
||||
value: any
|
||||
): LoDashImplicitObjectWrapper<TResult>;
|
||||
|
||||
/**
|
||||
* @see _.set
|
||||
*/
|
||||
set<V, TResult>(
|
||||
path: StringRepresentable|StringRepresentable[],
|
||||
value: V
|
||||
): LoDashImplicitObjectWrapper<T>;
|
||||
): LoDashImplicitObjectWrapper<TResult>;
|
||||
}
|
||||
|
||||
interface LoDashExplicitObjectWrapper<T> {
|
||||
/**
|
||||
* @see _.set
|
||||
*/
|
||||
set<V>(
|
||||
set<TResult>(
|
||||
path: StringRepresentable|StringRepresentable[],
|
||||
value: any
|
||||
): LoDashExplicitObjectWrapper<TResult>;
|
||||
|
||||
/**
|
||||
* @see _.set
|
||||
*/
|
||||
set<V, TResult>(
|
||||
path: StringRepresentable|StringRepresentable[],
|
||||
value: V
|
||||
): LoDashExplicitObjectWrapper<T>;
|
||||
): LoDashExplicitObjectWrapper<TResult>;
|
||||
}
|
||||
|
||||
//_.setWith
|
||||
interface SetWithCustomizer<T> {
|
||||
(nsValue: any, key: string, nsObject: T): any;
|
||||
}
|
||||
|
||||
interface LoDashStatic {
|
||||
/**
|
||||
* This method is like _.set except that it accepts customizer which is invoked to produce the objects of
|
||||
* path. If customizer returns undefined path creation is handled by the method instead. The customizer is
|
||||
* invoked with three arguments: (nsValue, key, nsObject).
|
||||
*
|
||||
* @param object The object to modify.
|
||||
* @param path The path of the property to set.
|
||||
* @param value The value to set.
|
||||
* @parem customizer The function to customize assigned values.
|
||||
* @return Returns object.
|
||||
*/
|
||||
setWith<TResult>(
|
||||
object: Object,
|
||||
path: StringRepresentable|StringRepresentable[],
|
||||
value: any,
|
||||
customizer?: SetWithCustomizer<Object>
|
||||
): TResult;
|
||||
|
||||
/**
|
||||
* @see _.setWith
|
||||
*/
|
||||
setWith<V, TResult>(
|
||||
object: Object,
|
||||
path: StringRepresentable|StringRepresentable[],
|
||||
value: V,
|
||||
customizer?: SetWithCustomizer<Object>
|
||||
): TResult;
|
||||
|
||||
/**
|
||||
* @see _.setWith
|
||||
*/
|
||||
setWith<O, V, TResult>(
|
||||
object: O,
|
||||
path: StringRepresentable|StringRepresentable[],
|
||||
value: V,
|
||||
customizer?: SetWithCustomizer<O>
|
||||
): TResult;
|
||||
}
|
||||
|
||||
interface LoDashImplicitObjectWrapper<T> {
|
||||
/**
|
||||
* @see _.setWith
|
||||
*/
|
||||
setWith<TResult>(
|
||||
path: StringRepresentable|StringRepresentable[],
|
||||
value: any,
|
||||
customizer?: SetWithCustomizer<T>
|
||||
): LoDashImplicitObjectWrapper<TResult>;
|
||||
|
||||
/**
|
||||
* @see _.setWith
|
||||
*/
|
||||
setWith<V, TResult>(
|
||||
path: StringRepresentable|StringRepresentable[],
|
||||
value: V,
|
||||
customizer?: SetWithCustomizer<T>
|
||||
): LoDashImplicitObjectWrapper<TResult>;
|
||||
}
|
||||
|
||||
interface LoDashExplicitObjectWrapper<T> {
|
||||
/**
|
||||
* @see _.setWith
|
||||
*/
|
||||
setWith<TResult>(
|
||||
path: StringRepresentable|StringRepresentable[],
|
||||
value: any,
|
||||
customizer?: SetWithCustomizer<T>
|
||||
): LoDashExplicitObjectWrapper<TResult>;
|
||||
|
||||
/**
|
||||
* @see _.setWith
|
||||
*/
|
||||
setWith<V, TResult>(
|
||||
path: StringRepresentable|StringRepresentable[],
|
||||
value: V,
|
||||
customizer?: SetWithCustomizer<T>
|
||||
): LoDashExplicitObjectWrapper<TResult>;
|
||||
}
|
||||
|
||||
//_.transform
|
||||
|
||||
Reference in New Issue
Block a user