From 11c87274a945677e5d6cb9c045abb26331c21c3e Mon Sep 17 00:00:00 2001 From: Ilya Mochalov Date: Sat, 14 Nov 2015 19:02:31 +0500 Subject: [PATCH] lodash: signatures of the method _.set have been changed --- lodash/lodash-tests.ts | 43 ++++++++++++++++++++++++++++++++++-------- lodash/lodash.d.ts | 23 ++++++++++++++++++++-- 2 files changed, 56 insertions(+), 10 deletions(-) diff --git a/lodash/lodash-tests.ts b/lodash/lodash-tests.ts index 4c587b57b..6030a4fa0 100644 --- a/lodash/lodash-tests.ts +++ b/lodash/lodash-tests.ts @@ -5488,14 +5488,41 @@ interface TestPickFn { } // _.set -{ - let testSetObject: TResult; - let testSetPath: {toSting(): string}; - let result: TResult; - result = _.set(testSetObject, testSetPath, any); - result = _.set(testSetObject, [testSetPath], any); - result = _(testSetObject).set(testSetPath, any).value(); - result = _(testSetObject).set([testSetPath], any).value(); +module TestSet { + type SampleValue = {a: number; b: string; c: boolean;}; + + let object: TResult; + let value = {a: 1, b: '', c: true}; + + { + let result: TResult; + + result = _.set(object, '', any); + result = _.set(object, ['a', 'b', 1], any); + + result = _.set(object, '', value); + result = _.set(object, ['a', 'b', 1], value); + } + + { + let result: _.LoDashImplicitObjectWrapper; + + result = _(object).set('', any); + result = _(object).set(['a', 'b', 1], any); + + result = _(object).set('', value); + result = _(object).set(['a', 'b', 1], value); + } + + { + let result: _.LoDashExplicitObjectWrapper; + + result = _(object).chain().set('', any); + result = _(object).chain().set(['a', 'b', 1], any); + + result = _(object).chain().set('', value); + result = _(object).chain().set(['a', 'b', 1], value); + } } // _.transform diff --git a/lodash/lodash.d.ts b/lodash/lodash.d.ts index 98d8bf55d..610932a1f 100644 --- a/lodash/lodash.d.ts +++ b/lodash/lodash.d.ts @@ -10622,18 +10622,37 @@ declare module _ { path: StringRepresentable|StringRepresentable[], value: any ): T; + + /** + * @see _.set + */ + set( + object: T, + path: StringRepresentable|StringRepresentable[], + value: V + ): T; } interface LoDashImplicitObjectWrapper { /** * @see _.set */ - set( + set( path: StringRepresentable|StringRepresentable[], - value: any + value: V ): LoDashImplicitObjectWrapper; } + interface LoDashExplicitObjectWrapper { + /** + * @see _.set + */ + set( + path: StringRepresentable|StringRepresentable[], + value: V + ): LoDashExplicitObjectWrapper; + } + //_.transform interface LoDashStatic { /**