diff --git a/types/backbone/index.d.ts b/types/backbone/index.d.ts index 806086943e..42a322e4c2 100644 --- a/types/backbone/index.d.ts +++ b/types/backbone/index.d.ts @@ -219,7 +219,7 @@ declare namespace Backbone { /** * Specify a model attribute name (string) or function that will be used to sort the collection. */ - comparator: string | ((element: TModel) => number | string) | ((compare: TModel, to?: TModel) => number); + comparator: string | { bivarianceHack(element: TModel): number | string }["bivarianceHack"] | { bivarianceHack(compare: TModel, to?: TModel): number }["bivarianceHack"]; add(model: {}|TModel, options?: AddOptions): TModel; add(models: ({}|TModel)[], options?: AddOptions): TModel[]; diff --git a/types/bootbox/index.d.ts b/types/bootbox/index.d.ts index ba5cc8c23b..c2fe427d6c 100644 --- a/types/bootbox/index.d.ts +++ b/types/bootbox/index.d.ts @@ -7,9 +7,9 @@ /// /** Bootbox options shared by all modal types */ -interface BootboxBaseOptions { +interface BootboxBaseOptions { title?: string | Element; - callback?: (result: boolean | string) => any; + callback?: (result: T) => any; onEscape?: (() => any) | boolean; show?: boolean; backdrop?: boolean; @@ -22,24 +22,24 @@ interface BootboxBaseOptions { } /** Bootbox options available for custom modals */ -interface BootboxDialogOptions extends BootboxBaseOptions { +interface BootboxDialogOptions extends BootboxBaseOptions { message: string | Element; } /** Bootbox options available for alert modals */ -interface BootboxAlertOptions extends BootboxDialogOptions { +interface BootboxAlertOptions extends BootboxDialogOptions { callback?: () => any; buttons?: BootboxAlertButtonMap; } /** Bootbox options available for confirm modals */ -interface BootboxConfirmOptions extends BootboxDialogOptions { +interface BootboxConfirmOptions extends BootboxDialogOptions { callback: (result: boolean) => any; buttons?: BootboxConfirmPromptButtonMap; } /** Bootbox options available for prompt modals */ -interface BootboxPromptOptions extends BootboxBaseOptions { +interface BootboxPromptOptions extends BootboxBaseOptions { title: string; value?: string; inputType?: "text" | "textarea" | "email" | "select" | "checkbox" | "date" | "time" | "number" | "password"; @@ -93,7 +93,7 @@ interface BootboxStatic { prompt(message: string, callback: (result: string) => void): JQuery; prompt(options: BootboxPromptOptions): JQuery; dialog(message: string, callback?: (result: string) => void): JQuery; - dialog(options: BootboxDialogOptions): JQuery; + dialog(options: BootboxDialogOptions): JQuery; setDefaults(options: BootboxDefaultOptions): void; hideAll(): void; diff --git a/types/bootbox/tsconfig.json b/types/bootbox/tsconfig.json index e9bedd04f7..7d84efdd82 100644 --- a/types/bootbox/tsconfig.json +++ b/types/bootbox/tsconfig.json @@ -20,4 +20,4 @@ "index.d.ts", "bootbox-tests.ts" ] -} \ No newline at end of file +} diff --git a/types/cordova-plugin-inappbrowser/index.d.ts b/types/cordova-plugin-inappbrowser/index.d.ts index b266fbab44..1cf2c67642 100644 --- a/types/cordova-plugin-inappbrowser/index.d.ts +++ b/types/cordova-plugin-inappbrowser/index.d.ts @@ -25,7 +25,7 @@ interface Window { * NOTE: The InAppBrowser window behaves like a standard web browser, and can't access Cordova APIs. */ interface InAppBrowser extends Window { - onloadstart(type: InAppBrowserEvent): void; + onloadstart(type: Event): void; onloadstop(type: InAppBrowserEvent): void; onloaderror(type: InAppBrowserEvent): void; onexit(type: InAppBrowserEvent): void; diff --git a/types/cordova-plugin-inappbrowser/tsconfig.json b/types/cordova-plugin-inappbrowser/tsconfig.json index fc11c3516e..aea375a6ca 100644 --- a/types/cordova-plugin-inappbrowser/tsconfig.json +++ b/types/cordova-plugin-inappbrowser/tsconfig.json @@ -20,4 +20,4 @@ "index.d.ts", "cordova-plugin-inappbrowser-tests.ts" ] -} \ No newline at end of file +} diff --git a/types/ibm-mobilefirst/index.d.ts b/types/ibm-mobilefirst/index.d.ts index 4da0cbf3b1..2577b0972b 100644 --- a/types/ibm-mobilefirst/index.d.ts +++ b/types/ibm-mobilefirst/index.d.ts @@ -61,8 +61,8 @@ declare namespace WL { getHeader(name: any): string; } interface Options { - onSuccess?: (response: IResponse) => void; - onFailure?: (response: IResponse) => void; + onSuccess?(response: IResponse): void; + onFailure?(response: IResponse): void; invocationContext?: any; } interface ResponseHandler { diff --git a/types/ibm-mobilefirst/tsconfig.json b/types/ibm-mobilefirst/tsconfig.json index 0e4e6e45d9..89d222469f 100644 --- a/types/ibm-mobilefirst/tsconfig.json +++ b/types/ibm-mobilefirst/tsconfig.json @@ -20,4 +20,4 @@ "index.d.ts", "ibm-mobilefirst-tests.ts" ] -} \ No newline at end of file +} diff --git a/types/jointjs/tsconfig.json b/types/jointjs/tsconfig.json index 8a67eaf271..cb169471f2 100644 --- a/types/jointjs/tsconfig.json +++ b/types/jointjs/tsconfig.json @@ -19,4 +19,4 @@ "files": [ "index.d.ts" ] -} \ No newline at end of file +} diff --git a/types/jquery/index.d.ts b/types/jquery/index.d.ts index 4a835896ed..e557103e47 100644 --- a/types/jquery/index.d.ts +++ b/types/jquery/index.d.ts @@ -85,7 +85,7 @@ interface JQueryStatic { * @since 1.3 */ off: boolean; - step: JQuery.PlainObject>; + step: JQuery.PlainObject>; }; /** * A Promise-like object (or "thenable") that resolves when the document is ready. @@ -4754,7 +4754,7 @@ interface JQuery extends Iterable * @see {@link https://api.jquery.com/queue/} * @since 1.2 */ - queue(queueName?: string): JQuery.Queue; + queue(queueName?: string): JQuery.Queue; /** * Specify a function to execute when the DOM is fully loaded. * diff --git a/types/jquery/test/example-tests.ts b/types/jquery/test/example-tests.ts index 5d4e27d970..f32a2c3723 100644 --- a/types/jquery/test/example-tests.ts +++ b/types/jquery/test/example-tests.ts @@ -3061,7 +3061,7 @@ function examples() { type: 'dog', // Note that event comes *after* one and two - test: function(one: typeof you, two: typeof they, event: JQuery.Event) { + test: function(one: typeof you, two: typeof they, event: JQuery.Event) { $('#log') // `one` maps to `you`, the 1st additional @@ -3081,7 +3081,7 @@ function examples() { // The clicked element is `event.target`, // and its type is "button" - .append('the ' + event.target.type + '.'); + .append('the ' + (event.target as HTMLButtonElement).type + '.'); }, }; diff --git a/types/jquery/test/longdesc-tests.ts b/types/jquery/test/longdesc-tests.ts index d77823ff78..bf63445c16 100644 --- a/types/jquery/test/longdesc-tests.ts +++ b/types/jquery/test/longdesc-tests.ts @@ -1332,7 +1332,7 @@ function longdesc() { function jquery_css_hooks_6() { $.fx.step.someCSSProp = function(fx) { - $.cssHooks.someCSSProp.set(fx.elem, fx.now + fx.unit); + $.cssHooks.someCSSProp.set(fx.elem as HTMLElement, fx.now + fx.unit); }; } diff --git a/types/knockout/index.d.ts b/types/knockout/index.d.ts index 3a206fd04c..4ef3bc8739 100644 --- a/types/knockout/index.d.ts +++ b/types/knockout/index.d.ts @@ -151,8 +151,8 @@ interface KnockoutAllBindingsAccessor { interface KnockoutBindingHandler { after?: Array; - init?: (element: any, valueAccessor: () => any, allBindingsAccessor?: KnockoutAllBindingsAccessor, viewModel?: any, bindingContext?: KnockoutBindingContext) => void | { controlsDescendantBindings: boolean; }; - update?: (element: any, valueAccessor: () => any, allBindingsAccessor?: KnockoutAllBindingsAccessor, viewModel?: any, bindingContext?: KnockoutBindingContext) => void; + init?: (element: any, valueAccessor: () => any, allBindingsAccessor: KnockoutAllBindingsAccessor, viewModel: any, bindingContext: KnockoutBindingContext) => void | { controlsDescendantBindings: boolean; }; + update?: (element: any, valueAccessor: () => any, allBindingsAccessor: KnockoutAllBindingsAccessor, viewModel: any, bindingContext: KnockoutBindingContext) => void; options?: any; preprocess?: (value: string, name: string, addBindingCallback?: (name: string, value: string) => void) => string; [s: string]: any; diff --git a/types/knockout/tsconfig.json b/types/knockout/tsconfig.json index f6f1635804..c5dd9f2ae7 100644 --- a/types/knockout/tsconfig.json +++ b/types/knockout/tsconfig.json @@ -21,4 +21,4 @@ "test/templatingBehaviors.ts", "test/index.ts" ] -} \ No newline at end of file +} diff --git a/types/lodash/index.d.ts b/types/lodash/index.d.ts index d487135799..58698cb4f3 100644 --- a/types/lodash/index.d.ts +++ b/types/lodash/index.d.ts @@ -4794,6 +4794,14 @@ declare namespace _ { * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x'); * // => [{ 'x': 1 }, { 'x': 2 }] */ + uniqBy( + array: TString, + iteratee: StringIterator + ): TString[]; + + /** + * @see _.uniqBy + */ uniqBy( array: List | null | undefined, iteratee: ListIterator @@ -4832,6 +4840,24 @@ declare namespace _ { ): T[]; } + interface LoDashImplicitStringWrapper { + /** + * @see _.uniqBy + */ + uniqBy( + iteratee: StringIterator + ): LoDashImplicitArrayWrapper; + } + + interface LoDashExplicitStringWrapper { + /** + * @see _.uniqBy + */ + uniqBy( + iteratee: StringIterator + ): LoDashExplicitArrayWrapper; + } + interface LoDashImplicitWrapper { /** * @see _.uniqBy @@ -5074,6 +5100,14 @@ declare namespace _ { * _.sortedUniqBy([1.1, 1.2, 2.3, 2.4], Math.floor); * // => [1.1, 2.2] */ + sortedUniqBy( + array: TString, + iteratee: StringIterator + ): TString[]; + + /** + * @see _.sortedUniqBy + */ sortedUniqBy( array: List | null | undefined, iteratee: ListIterator @@ -5112,6 +5146,24 @@ declare namespace _ { ): T[]; } + interface LoDashImplicitStringWrapper { + /** + * @see _.sortedUniqBy + */ + sortedUniqBy( + iteratee: StringIterator + ): LoDashImplicitArrayWrapper; + } + + interface LoDashExplicitStringWrapper { + /** + * @see _.sortedUniqBy + */ + sortedUniqBy( + iteratee: StringIterator + ): LoDashExplicitArrayWrapper; + } + interface LoDashImplicitWrapper { /** * @see _.sortedUniqBy @@ -5823,6 +5875,13 @@ declare namespace _ { chain(value: any): LoDashExplicitWrapper; } + interface LoDashImplicitStringWrapper { + /** + * @see _.chain + */ + chain(): LoDashExplicitStringWrapper; + } + interface LoDashImplicitWrapper { /** * @see _.chain @@ -7796,6 +7855,14 @@ declare namespace _ { * @param thisArg The this binding of iteratee. * @return Returns the composed aggregate object. */ + groupBy( + collection: TString, + iteratee?: StringIterator + ): Dictionary; + + /** + * @see _.groupBy + */ groupBy( collection: List | null | undefined, iteratee?: ListIterator @@ -8165,6 +8232,24 @@ declare namespace _ { ): Dictionary; } + interface LoDashImplicitStringWrapper { + /** + * @see _.keyBy + */ + keyBy( + iteratee?: StringIterator | undefined + ): LoDashImplicitObjectWrapper> + } + + interface LoDashExplicitStringWrapper { + /** + * @see _.keyBy + */ + keyBy( + iteratee?: StringIterator | undefined + ): LoDashExplicitObjectWrapper> + } + interface LoDashImplicitWrapper { /** * @see _.keyBy @@ -8849,53 +8934,53 @@ declare namespace _ { accumulator: TResult): TResult; /** - * @see _.reduce - **/ + * @see _.reduce + **/ reduce( collection: List | null | undefined, callback: MemoIterator, accumulator: TResult): TResult; /** - * @see _.reduce - **/ + * @see _.reduce + **/ reduce( collection: Dictionary | null | undefined, callback: MemoIterator, accumulator: TResult): TResult; /** - * @see _.reduce - **/ + * @see _.reduce + **/ reduce( collection: NumericDictionary | null | undefined, callback: MemoIterator, accumulator: TResult): TResult; /** - * @see _.reduce - **/ + * @see _.reduce + **/ reduce( collection: T[] | null | undefined, callback: MemoIterator): TResult | undefined; /** - * @see _.reduce - **/ + * @see _.reduce + **/ reduce( collection: List | null | undefined, callback: MemoIterator): TResult | undefined; /** - * @see _.reduce - **/ + * @see _.reduce + **/ reduce( collection: Dictionary | null | undefined, callback: MemoIterator): TResult | undefined; /** - * @see _.reduce - **/ + * @see _.reduce + **/ reduce( collection: NumericDictionary | null | undefined, callback: MemoIterator): TResult | undefined; @@ -12606,7 +12691,7 @@ declare namespace _ { } //_.isMatchWith - type isMatchWithCustomizer = (value: any, other: any, indexOrKey?: number|string) => boolean; + type isMatchWithCustomizer = (value: any, other: any, indexOrKey: number|string) => boolean; interface LoDashStatic { /** @@ -14155,7 +14240,7 @@ declare namespace _ { * @see _.sumBy */ sumBy( - iteratee: ListIterator<{}, number> + iteratee: ListIterator ): number; /** @@ -14198,7 +14283,7 @@ declare namespace _ { * @see _.sumBy */ sumBy( - iteratee: ListIterator<{}, number> + iteratee: ListIterator ): LoDashExplicitWrapper; /** @@ -16955,7 +17040,7 @@ declare namespace _ { } //_.mergeWith - type MergeWithCustomizer = (value: any, srcValue: any, key?: string, object?: Object, source?: Object) => any; + type MergeWithCustomizer = { bivariantHack(value: any, srcValue: any, key: string, object: any, source: any): any; }["bivariantHack"] interface LoDashStatic { /** @@ -17438,31 +17523,31 @@ declare namespace _ { * @parem customizer The function to customize assigned values. * @return Returns object. */ + setWith( + object: O, + path: Many, + value: V, + customizer?: SetWithCustomizer + ): TResult; + + /** + * @see _.setWith + */ setWith( - object: Object, + object: any, path: Many, value: any, - customizer?: SetWithCustomizer + customizer?: SetWithCustomizer ): TResult; /** * @see _.setWith */ setWith( - object: Object, + object: any, path: Many, value: V, - customizer?: SetWithCustomizer - ): TResult; - - /** - * @see _.setWith - */ - setWith( - object: O, - path: Many, - value: V, - customizer?: SetWithCustomizer + customizer?: SetWithCustomizer ): TResult; } @@ -17782,22 +17867,22 @@ declare namespace _ { * _.updateWith(object, '[0][1]', _.constant('a'), Object); * // => { '0': { '1': 'a' } } */ - updateWith( - object: Object, - path: Many, - updater: (oldValue: any) => any, - customizer?: SetWithCustomizer - ): TResult; - - /** - * @see _.updateWith - */ updateWith( object: O, path: Many, updater: (oldValue: any) => any, customizer?: SetWithCustomizer ): TResult; + + /** + * @see _.updateWith + */ + updateWith( + object: any, + path: Many, + updater: (oldValue: any) => any, + customizer?: SetWithCustomizer + ): TResult; } interface LoDashImplicitObjectWrapper { diff --git a/types/lodash/lodash-tests.ts b/types/lodash/lodash-tests.ts index ed80175d6f..3e13b70ac8 100644 --- a/types/lodash/lodash-tests.ts +++ b/types/lodash/lodash-tests.ts @@ -2256,7 +2256,7 @@ namespace TestUniqBy { let result: string[]; result = _.uniqBy('abc', stringIterator); - result = _.uniqBy('abc', stringIterator); + result = _.uniqBy('abc', stringIterator); } { @@ -2278,7 +2278,7 @@ namespace TestUniqBy { { let result: _.LoDashImplicitArrayWrapper; - result = _('abc').uniqBy(stringIterator); + result = _('abc').uniqBy(stringIterator); } { @@ -2298,7 +2298,7 @@ namespace TestUniqBy { { let result: _.LoDashExplicitArrayWrapper; - result = _('abc').chain().uniqBy(stringIterator); + result = _('abc').chain().uniqBy(stringIterator); } { @@ -2371,7 +2371,7 @@ namespace TestSortedUniqBy { let result: string[]; result = _.sortedUniqBy('abc', stringIterator); - result = _.sortedUniqBy('abc', stringIterator); + result = _.sortedUniqBy('abc', stringIterator); } { @@ -2393,7 +2393,7 @@ namespace TestSortedUniqBy { { let result: _.LoDashImplicitArrayWrapper; - result = _('abc').sortedUniqBy(stringIterator); + result = _('abc').sortedUniqBy(stringIterator); } { @@ -2413,7 +2413,7 @@ namespace TestSortedUniqBy { { let result: _.LoDashExplicitArrayWrapper; - result = _('abc').chain().sortedUniqBy(stringIterator); + result = _('abc').chain().sortedUniqBy(stringIterator); } { @@ -3345,7 +3345,7 @@ namespace TestCountBy { let dictionary: _.Dictionary | null | undefined = obj; let numericDictionary: _.NumericDictionary | null | undefined = obj; - let stringIterator: (value: string, index: number, collection: string) => any = (value: string, index: number, collection: string) => 1; + let stringIterator: (value: string, index: number, collection: ArrayLike) => any = (value: string, index: number, collection: ArrayLike) => 1; let listIterator: (value: TResult, index: number, collection: _.List) => any = (value: TResult, index: number, collection: _.List) => 1; let dictionaryIterator: (value: TResult, key: string, collection: _.Dictionary) => any = (value: TResult, key: string, collection: _.Dictionary) => 1; let numericDictionaryIterator: (value: TResult, key: number, collection: _.NumericDictionary) => any = (value: TResult, key: number, collection: _.NumericDictionary) => 1; @@ -4557,7 +4557,7 @@ namespace TestForEach { { let result: TResult[]; - result = _.forEach(array, (value, index, collection: TResult[]) => { + result = _.forEach(array, (value, index, collection: ArrayLike) => { value; // $ExpectType TResult index; // $ExpectType number }); @@ -4572,7 +4572,7 @@ namespace TestForEach { { let result: TResult[] | null | undefined; - result = _.forEach(array, (value, index, collection: TResult[]) => { + result = _.forEach(array, (value, index, collection: ArrayLike) => { value; // $ExpectType TResult index; // $ExpectType number }); @@ -4990,7 +4990,7 @@ namespace TestGroupBy { let result: _.LoDashImplicitObjectWrapper<_.Dictionary>; result = _('').groupBy(); - result = _('').groupBy(stringIterator); + result = _('').groupBy((char: string, index: number, string: ArrayLike) => 0); } { @@ -5025,7 +5025,7 @@ namespace TestGroupBy { let result: _.LoDashExplicitObjectWrapper<_.Dictionary>; result = _('').chain().groupBy(); - result = _('').chain().groupBy(stringIterator); + result = _('').chain().groupBy((char: string, index: number, string: ArrayLike) => 0); } { @@ -5547,7 +5547,7 @@ namespace TestReduce { result = _.reduce({ 'a': 1, 'b': 2, 'c': 3 }, (r: ABC, num: number, key: string) => { r[key] = num * 3; return r; - }, {}); + }, {} as ABC); result = _([1, 2, 3]).reduce((sum: number, num: number) => sum + num); result = _({ 'a': 1, 'b': 2, 'c': 3 }).reduce((r: ABC, num: number, key: string) => { @@ -6487,6 +6487,7 @@ namespace TestDebounce { interface ResultFunc { (n: number, s: string): boolean; cancel(): void; + flush(): void; } let func: SampleFunc = (a, b) => true; @@ -6959,6 +6960,7 @@ namespace TestThrottle { interface ResultFunc { (n: number, s: string): boolean; cancel(): void; + flush(): void; } let func: SampleFunc = (a, b) => true; @@ -8980,7 +8982,7 @@ namespace TestSumBy { result = _(array).sumBy(listIterator); result = _(objectArray).sumBy('age'); - result = _(list).sumBy(listIterator); + result = _(list).sumBy((value: _.List | null | undefined, index: number, collection: _.List<_.List | null | undefined>) => 0); result = _(objectList).sumBy('age'); } @@ -8990,7 +8992,7 @@ namespace TestSumBy { result = _(array).chain().sumBy(listIterator); result = _(objectArray).chain().sumBy('age'); - result = _(list).chain().sumBy(listIterator); + result = _(list).chain().sumBy((value: _.List | null | undefined, index: number, collection: _.List<_.List | null | undefined>) => 0); result = _(objectList).chain().sumBy('age'); } } @@ -9146,25 +9148,25 @@ namespace TestAssign { } { - let result: _.LoDashImplicitObjectWrapper<{ a: number }>; + let result: _.LoDashImplicitObjectWrapper<{ a: number & string }>; result = _(obj).assign(s1); } { - let result: _.LoDashImplicitObjectWrapper<{ a: number, b: number }>; + let result: _.LoDashImplicitObjectWrapper<{ a: number & string, b: number }>; result = _(obj).assign(s1, s2); } { - let result: _.LoDashImplicitObjectWrapper<{ a: number, b: number, c: number }>; + let result: _.LoDashImplicitObjectWrapper<{ a: number & string, b: number, c: number }>; result = _(obj).assign(s1, s2, s3); } { - let result: _.LoDashImplicitObjectWrapper<{ a: number, b: number, c: number, d: number }>; + let result: _.LoDashImplicitObjectWrapper<{ a: number & string, b: number, c: number, d: number }>; result = _(obj).assign(s1, s2, s3, s4); } @@ -9182,25 +9184,25 @@ namespace TestAssign { } { - let result: _.LoDashExplicitObjectWrapper<{ a: number }>; + let result: _.LoDashExplicitObjectWrapper<{ a: number & string }>; result = _(obj).chain().assign(s1); } { - let result: _.LoDashExplicitObjectWrapper<{ a: number, b: number }>; + let result: _.LoDashExplicitObjectWrapper<{ a: number & string, b: number }>; result = _(obj).chain().assign(s1, s2); } { - let result: _.LoDashExplicitObjectWrapper<{ a: number, b: number, c: number }>; + let result: _.LoDashExplicitObjectWrapper<{ a: number & string, b: number, c: number }>; result = _(obj).chain().assign(s1, s2, s3); } { - let result: _.LoDashExplicitObjectWrapper<{ a: number, b: number, c: number, d: number }>; + let result: _.LoDashExplicitObjectWrapper<{ a: number & string, b: number, c: number, d: number }>; result = _(obj).chain().assign(s1, s2, s3, s4); } @@ -9268,22 +9270,22 @@ namespace TestAssignWith { } { - let result: _.LoDashImplicitObjectWrapper<{ a: number }>; + let result: _.LoDashImplicitObjectWrapper<{ a: number & string }>; result = _(obj).assignWith(s1, customizer); } { - let result: _.LoDashImplicitObjectWrapper<{ a: number, b: number }>; + let result: _.LoDashImplicitObjectWrapper<{ a: number & string, b: number }>; result = _(obj).assignWith(s1, s2, customizer); } { - let result: _.LoDashImplicitObjectWrapper<{ a: number, b: number, c: number }>; + let result: _.LoDashImplicitObjectWrapper<{ a: number & string, b: number, c: number }>; result = _(obj).assignWith(s1, s2, s3, customizer); } { - let result: _.LoDashImplicitObjectWrapper<{ a: number, b: number, c: number, d: number }>; + let result: _.LoDashImplicitObjectWrapper<{ a: number & string, b: number, c: number, d: number }>; result = _(obj).assignWith(s1, s2, s3, s4, customizer); } @@ -9299,22 +9301,22 @@ namespace TestAssignWith { } { - let result: _.LoDashExplicitObjectWrapper<{ a: number }>; + let result: _.LoDashExplicitObjectWrapper<{ a: number & string }>; result = _(obj).chain().assignWith(s1, customizer); } { - let result: _.LoDashExplicitObjectWrapper<{ a: number, b: number }>; + let result: _.LoDashExplicitObjectWrapper<{ a: number & string, b: number }>; result = _(obj).chain().assignWith(s1, s2, customizer); } { - let result: _.LoDashExplicitObjectWrapper<{ a: number, b: number, c: number }>; + let result: _.LoDashExplicitObjectWrapper<{ a: number & string, b: number, c: number }>; result = _(obj).chain().assignWith(s1, s2, s3, customizer); } { - let result: _.LoDashExplicitObjectWrapper<{ a: number, b: number, c: number, d: number }>; + let result: _.LoDashExplicitObjectWrapper<{ a: number & string, b: number, c: number, d: number }>; result = _(obj).chain().assignWith(s1, s2, s3, s4, customizer); } @@ -9385,25 +9387,25 @@ namespace TestAssignIn { } { - let result: _.LoDashImplicitObjectWrapper<{ a: number }>; + let result: _.LoDashImplicitObjectWrapper<{ a: number & string }>; result = _(obj).assignIn(s1); } { - let result: _.LoDashImplicitObjectWrapper<{ a: number, b: number }>; + let result: _.LoDashImplicitObjectWrapper<{ a: number & string, b: number }>; result = _(obj).assignIn(s1, s2); } { - let result: _.LoDashImplicitObjectWrapper<{ a: number, b: number, c: number }>; + let result: _.LoDashImplicitObjectWrapper<{ a: number & string, b: number, c: number }>; result = _(obj).assignIn(s1, s2, s3); } { - let result: _.LoDashImplicitObjectWrapper<{ a: number, b: number, c: number, d: number }>; + let result: _.LoDashImplicitObjectWrapper<{ a: number & string, b: number, c: number, d: number }>; result = _(obj).assignIn(s1, s2, s3, s4); } @@ -9421,25 +9423,25 @@ namespace TestAssignIn { } { - let result: _.LoDashExplicitObjectWrapper<{ a: number }>; + let result: _.LoDashExplicitObjectWrapper<{ a: number & string }>; result = _(obj).chain().assignIn(s1); } { - let result: _.LoDashExplicitObjectWrapper<{ a: number, b: number }>; + let result: _.LoDashExplicitObjectWrapper<{ a: number & string, b: number }>; result = _(obj).chain().assignIn(s1, s2); } { - let result: _.LoDashExplicitObjectWrapper<{ a: number, b: number, c: number }>; + let result: _.LoDashExplicitObjectWrapper<{ a: number & string, b: number, c: number }>; result = _(obj).chain().assignIn(s1, s2, s3); } { - let result: _.LoDashExplicitObjectWrapper<{ a: number, b: number, c: number, d: number }>; + let result: _.LoDashExplicitObjectWrapper<{ a: number & string, b: number, c: number, d: number }>; result = _(obj).chain().assignIn(s1, s2, s3, s4); } @@ -9507,22 +9509,22 @@ namespace TestAssignInWith { } { - let result: _.LoDashImplicitObjectWrapper<{ a: number }>; + let result: _.LoDashImplicitObjectWrapper<{ a: number & string }>; result = _(obj).assignInWith(s1, customizer); } { - let result: _.LoDashImplicitObjectWrapper<{ a: number, b: number }>; + let result: _.LoDashImplicitObjectWrapper<{ a: number & string, b: number }>; result = _(obj).assignInWith(s1, s2, customizer); } { - let result: _.LoDashImplicitObjectWrapper<{ a: number, b: number, c: number }>; + let result: _.LoDashImplicitObjectWrapper<{ a: number & string, b: number, c: number }>; result = _(obj).assignInWith(s1, s2, s3, customizer); } { - let result: _.LoDashImplicitObjectWrapper<{ a: number, b: number, c: number, d: number }>; + let result: _.LoDashImplicitObjectWrapper<{ a: number & string, b: number, c: number, d: number }>; result = _(obj).assignInWith(s1, s2, s3, s4, customizer); } @@ -9538,22 +9540,22 @@ namespace TestAssignInWith { } { - let result: _.LoDashExplicitObjectWrapper<{ a: number }>; + let result: _.LoDashExplicitObjectWrapper<{ a: number & string }>; result = _(obj).chain().assignInWith(s1, customizer); } { - let result: _.LoDashExplicitObjectWrapper<{ a: number, b: number }>; + let result: _.LoDashExplicitObjectWrapper<{ a: number & string, b: number }>; result = _(obj).chain().assignInWith(s1, s2, customizer); } { - let result: _.LoDashExplicitObjectWrapper<{ a: number, b: number, c: number }>; + let result: _.LoDashExplicitObjectWrapper<{ a: number & string, b: number, c: number }>; result = _(obj).chain().assignInWith(s1, s2, s3, customizer); } { - let result: _.LoDashExplicitObjectWrapper<{ a: number, b: number, c: number, d: number }>; + let result: _.LoDashExplicitObjectWrapper<{ a: number & string, b: number, c: number, d: number }>; result = _(obj).chain().assignInWith(s1, s2, s3, s4, customizer); } @@ -9652,25 +9654,25 @@ namespace TestDefaults { } { - let result: _.LoDashImplicitObjectWrapper<{ a: string }>; + let result: _.LoDashImplicitObjectWrapper<{ a: string & number }>; result = _(obj).defaults(s1); } { - let result: _.LoDashImplicitObjectWrapper<{ a: string, b: number }>; + let result: _.LoDashImplicitObjectWrapper<{ a: string & number, b: number }>; result = _(obj).defaults(s1, s2); } { - let result: _.LoDashImplicitObjectWrapper<{ a: string, b: number, c: number }>; + let result: _.LoDashImplicitObjectWrapper<{ a: string & number, b: number, c: number }>; result = _(obj).defaults(s1, s2, s3); } { - let result: _.LoDashImplicitObjectWrapper<{ a: string, b: number, c: number, d: number }>; + let result: _.LoDashImplicitObjectWrapper<{ a: string & number, b: number, c: number, d: number }>; result = _(obj).defaults(s1, s2, s3, s4); } @@ -9688,25 +9690,25 @@ namespace TestDefaults { } { - let result: _.LoDashExplicitObjectWrapper<{ a: string }>; + let result: _.LoDashExplicitObjectWrapper<{ a: string & number }>; result = _(obj).chain().defaults(s1); } { - let result: _.LoDashExplicitObjectWrapper<{ a: string, b: number }>; + let result: _.LoDashExplicitObjectWrapper<{ a: string & number, b: number }>; result = _(obj).chain().defaults(s1, s2); } { - let result: _.LoDashExplicitObjectWrapper<{ a: string, b: number, c: number }>; + let result: _.LoDashExplicitObjectWrapper<{ a: string & number, b: number, c: number }>; result = _(obj).chain().defaults(s1, s2, s3); } { - let result: _.LoDashExplicitObjectWrapper<{ a: string, b: number, c: number, d: number }>; + let result: _.LoDashExplicitObjectWrapper<{ a: string & number, b: number, c: number, d: number }>; result = _(obj).chain().defaults(s1, s2, s3, s4); } @@ -9873,25 +9875,25 @@ namespace TestExtend { } { - let result: _.LoDashImplicitObjectWrapper<{ a: number }>; + let result: _.LoDashImplicitObjectWrapper<{ a: number & string }>; result = _(obj).extend(s1); } { - let result: _.LoDashImplicitObjectWrapper<{ a: number, b: number }>; + let result: _.LoDashImplicitObjectWrapper<{ a: number & string, b: number }>; result = _(obj).extend(s1, s2); } { - let result: _.LoDashImplicitObjectWrapper<{ a: number, b: number, c: number }>; + let result: _.LoDashImplicitObjectWrapper<{ a: number & string, b: number, c: number }>; result = _(obj).extend(s1, s2, s3); } { - let result: _.LoDashImplicitObjectWrapper<{ a: number, b: number, c: number, d: number }>; + let result: _.LoDashImplicitObjectWrapper<{ a: number & string, b: number, c: number, d: number }>; result = _(obj).extend(s1, s2, s3, s4); } @@ -9909,25 +9911,25 @@ namespace TestExtend { } { - let result: _.LoDashExplicitObjectWrapper<{ a: number }>; + let result: _.LoDashExplicitObjectWrapper<{ a: number & string }>; result = _(obj).chain().extend(s1); } { - let result: _.LoDashExplicitObjectWrapper<{ a: number, b: number }>; + let result: _.LoDashExplicitObjectWrapper<{ a: number & string, b: number }>; result = _(obj).chain().extend(s1, s2); } { - let result: _.LoDashExplicitObjectWrapper<{ a: number, b: number, c: number }>; + let result: _.LoDashExplicitObjectWrapper<{ a: number & string, b: number, c: number }>; result = _(obj).chain().extend(s1, s2, s3); } { - let result: _.LoDashExplicitObjectWrapper<{ a: number, b: number, c: number, d: number }>; + let result: _.LoDashExplicitObjectWrapper<{ a: number & string, b: number, c: number, d: number }>; result = _(obj).chain().extend(s1, s2, s3, s4); } @@ -10000,25 +10002,25 @@ namespace TestExtendWith { } { - let result: _.LoDashImplicitObjectWrapper<{ a: number }>; + let result: _.LoDashImplicitObjectWrapper<{ a: number & string }>; result = _(obj).extendWith(s1, customizer); } { - let result: _.LoDashImplicitObjectWrapper<{ a: number, b: number }>; + let result: _.LoDashImplicitObjectWrapper<{ a: number & string, b: number }>; result = _(obj).extendWith(s1, s2, customizer); } { - let result: _.LoDashImplicitObjectWrapper<{ a: number, b: number, c: number }>; + let result: _.LoDashImplicitObjectWrapper<{ a: number & string, b: number, c: number }>; result = _(obj).extendWith(s1, s2, s3, customizer); } { - let result: _.LoDashImplicitObjectWrapper<{ a: number, b: number, c: number, d: number }>; + let result: _.LoDashImplicitObjectWrapper<{ a: number & string, b: number, c: number, d: number }>; result = _(obj).extendWith(s1, s2, s3, s4, customizer); } @@ -10036,25 +10038,25 @@ namespace TestExtendWith { } { - let result: _.LoDashExplicitObjectWrapper<{ a: number }>; + let result: _.LoDashExplicitObjectWrapper<{ a: number & string }>; result = _(obj).chain().extendWith(s1, customizer); } { - let result: _.LoDashExplicitObjectWrapper<{ a: number, b: number }>; + let result: _.LoDashExplicitObjectWrapper<{ a: number & string, b: number }>; result = _(obj).chain().extendWith(s1, s2, customizer); } { - let result: _.LoDashExplicitObjectWrapper<{ a: number, b: number, c: number }>; + let result: _.LoDashExplicitObjectWrapper<{ a: number & string, b: number, c: number }>; result = _(obj).chain().extendWith(s1, s2, s3, customizer); } { - let result: _.LoDashExplicitObjectWrapper<{ a: number, b: number, c: number, d: number }>; + let result: _.LoDashExplicitObjectWrapper<{ a: number & string, b: number, c: number, d: number }>; result = _(obj).chain().extendWith(s1, s2, s3, s4, customizer); } @@ -10986,7 +10988,7 @@ namespace TestMergeWith { type ExpectedResult = { a: number, b: string }; let result: ExpectedResult; - let customizer: (value: any, srcValue: any, key?: string, object?: InitialValue, source?: MergingValue) => any = (value: any, srcValue: any, key?: string, object?: InitialValue, source?: MergingValue) => 1; + let customizer: (value: any, srcValue: any, key: string, object: InitialValue, source: MergingValue) => any = (value: any, srcValue: any, key: string, object: InitialValue, source: MergingValue) => 1; // Test for basic merging result = _.mergeWith(initialValue, mergingValue, customizer); @@ -11003,7 +11005,7 @@ namespace TestMergeWith { result = _(initialValue).mergeWith({}, {}, mergingValue, customizer).value(); result = _(initialValue).mergeWith({}, {}, {}, mergingValue, customizer).value(); - // Once we get to the varargs version, you have to specify the result explicitl + // Once we get to the varargs version, you have to specify the result explicitly result = _(initialValue).mergeWith({}, {}, {}, {}, mergingValue, customizer).value(); } diff --git a/types/lodash/tsconfig.json b/types/lodash/tsconfig.json index 8239e4f277..9947bcc8e6 100644 --- a/types/lodash/tsconfig.json +++ b/types/lodash/tsconfig.json @@ -315,4 +315,4 @@ "zipObjectDeep.d.ts", "zipWith.d.ts" ] -} \ No newline at end of file +} diff --git a/types/log4js/log4js-tests.ts b/types/log4js/log4js-tests.ts index af4a706e1c..9ab50d3344 100644 --- a/types/log4js/log4js-tests.ts +++ b/types/log4js/log4js-tests.ts @@ -90,10 +90,10 @@ var myAppender: log4js.AppenderModule = { return cb(null); }, - configure: function (config: MyAppenderConfig, options?: { [key: string]: any }): log4js.Appender { + configure: function (config: log4js.CustomAppenderConfig, options?: { [key: string]: any }): log4js.Appender { var mycfg = config.mycfg; return this.appender(mycfg); } } -log4js.loadAppender("my-log4js-appender", myAppender); \ No newline at end of file +log4js.loadAppender("my-log4js-appender", myAppender); diff --git a/types/log4js/tsconfig.json b/types/log4js/tsconfig.json index a71e03c82a..ed31cb93c7 100644 --- a/types/log4js/tsconfig.json +++ b/types/log4js/tsconfig.json @@ -19,4 +19,4 @@ "index.d.ts", "log4js-tests.ts" ] -} \ No newline at end of file +} diff --git a/types/node/node-tests.ts b/types/node/node-tests.ts index 84bdba51fd..ca62a4a6c2 100644 --- a/types/node/node-tests.ts +++ b/types/node/node-tests.ts @@ -2252,8 +2252,8 @@ namespace process_tests { process.once("warning", (warning: Error) => { }); process.prependListener("message", (message: any, sendHandle: any) => { }); process.prependOnceListener("SIGBREAK", () => { }); - process.on("newListener", (event: string, listener: Function) => { }); - process.once("removeListener", (event: string, listener: Function) => { }); + process.on("newListener", (event: string | symbol, listener: Function) => { }); + process.once("removeListener", (event: string | symbol, listener: Function) => { }); const listeners = process.listeners('uncaughtException'); const oldHandler = listeners[listeners.length - 1]; diff --git a/types/q/q-tests.ts b/types/q/q-tests.ts index cb9e46e5a7..f54f913e07 100644 --- a/types/q/q-tests.ts +++ b/types/q/q-tests.ts @@ -144,13 +144,13 @@ const nodeStyle = (input: string, cb: (error: any, success: any) => void) => { cb(null, input); }; -Q.nfapply(nodeStyle, ["foo"]).done((result: string) => { +Q.nfapply(nodeStyle, ["foo"]).done((result: string) => { }); -Q.nfcall(nodeStyle, "foo").done((result: string) => { +Q.nfcall(nodeStyle, "foo").done((result: string) => { }); -Q.denodeify(nodeStyle)('foo').done((result: string) => { +Q.denodeify(nodeStyle)('foo').done((result: string) => { }); -Q.nfbind(nodeStyle)('foo').done((result: string) => { +Q.nfbind(nodeStyle)('foo').done((result: string) => { }); class Repo { @@ -171,7 +171,7 @@ class Repo { } const kitty = new Repo(); -Q.nbind(kitty.find, kitty)({cute: true}).done((kitties: any[]) => { +Q.nbind(kitty.find, kitty)({cute: true}).done((kitties: any[]) => { }); /** diff --git a/types/ramda/index.d.ts b/types/ramda/index.d.ts index 1aeaab905d..209d61a35f 100644 --- a/types/ramda/index.d.ts +++ b/types/ramda/index.d.ts @@ -225,9 +225,9 @@ declare namespace R { /** * Returns a new list containing the contents of the given list, followed by the given element. */ + append(el: U): (list: T[]) => Array<(T & U)>; append(el: U, list: T[]): Array<(T & U)>; - append(el: U): (list: T[]) => Array<(T & U)>; - append(el: U): (list: T[]) => Array<(T & U)>; + append(el: T, list: string): Array; /** * Applies function fn to the argument list args. This is useful for creating a fixed-arity function from diff --git a/types/ramda/ramda-tests.ts b/types/ramda/ramda-tests.ts index 0998930d42..7ecd3e5f60 100644 --- a/types/ramda/ramda-tests.ts +++ b/types/ramda/ramda-tests.ts @@ -151,9 +151,9 @@ class F2 { }; () => { - const truncate = R.when( + const truncate = R.when( R.propSatisfies(R.flip(R.gt)(10), "length"), - R.pipe(R.take(10), R.append("…"), R.join("")) + R.pipe(R.take(10), R.append("…") as (wrong: any) => string[], R.join("")) ); const a: string = truncate("12345"); // => '12345' const b: string = truncate("0123456789ABC"); // => '0123456789…' @@ -317,8 +317,7 @@ R.times(i, 5); (() => { const numbers = [1, 2, 3]; - const add = (a: number, b: number) => a + b; - R.reduce(add, 10, numbers); // => 16; + R.reduce((a,b) => a + b, 10, numbers); // => 16; })(); (() => { @@ -326,7 +325,7 @@ R.times(i, 5); })(); (() => { - const pairs = [["a", 1], ["b", 2], ["c", 3]]; + const pairs = [["a", 1], ["b", 2], ["c", 3]] as [string, number][]; function flattenPairs(pair: [string, number], acc: Array): Array { return acc.concat(pair); @@ -854,13 +853,9 @@ interface Obj { () => { const numbers = [1, 2, 3]; - function add(a: number, b: number) { - return a + b; - } - - R.reduce(add, 10, numbers); // => 16 + R.reduce((a,b) => a + b, 10, numbers); // => 16 R.reduce(add)(10, numbers); // => 16 - R.reduce(add, 10)(numbers); // => 16 + R.reduce((a,b) => a + b, 10)(numbers); // => 16 }; interface Student { @@ -1086,7 +1081,7 @@ type Pair = KeyValuePair; R.transduce(transducer, fn, [], numbers); // => [2, 3] R.transduce(transducer, fn, [])(numbers); // => [2, 3] R.transduce(transducer, fn)([], numbers); // => [2, 3] - R.transduce(transducer)(fn, [], numbers); // => [2, 3] + R.transduce(transducer)(fn, [], numbers); // => [2, 3] }; () => { @@ -1101,7 +1096,7 @@ type Pair = KeyValuePair; const list = [1, 2, 3]; R.traverse(of, fn, list); R.traverse(of, fn)(list); - R.traverse(of)(fn, list); + R.traverse(of)(fn, list); }; () => { @@ -1691,7 +1686,7 @@ class Rectangle { const format = R.converge( R.call, [ - R.pipe(R.prop("indent"), indentN), + R.pipe<{}, number, (s: string) => string>(R.prop("indent"), indentN), R.prop("value") ] ); @@ -1841,7 +1836,7 @@ class Rectangle { }; () => { - const sortByAgeDescending = R.sortBy(R.compose(R.negate, R.prop("age"))); + const sortByAgeDescending = R.sortBy(R.compose<{}, number, number>(R.negate, R.prop("age"))); const alice = { name: "ALICE", age : 101 @@ -1859,7 +1854,7 @@ class Rectangle { }; () => { - const sortByNameCaseInsensitive = R.sortBy(R.compose(R.toLower, R.prop("name"))); + const sortByNameCaseInsensitive = R.sortBy(R.compose(R.toLower, R.prop("name"))); const alice = { name: "ALICE", age : 101 diff --git a/types/react-native/test/index.tsx b/types/react-native/test/index.tsx index 15f86af6c3..85c798bee6 100644 --- a/types/react-native/test/index.tsx +++ b/types/react-native/test/index.tsx @@ -299,7 +299,7 @@ class ScrollerListComponentTest extends React.Component<{}, { dataSource: ListVi return }} - renderRow={({ type, data }, _, row: number) => { + renderRow={({ type, data }, _, row) => { return Filler } } /> diff --git a/types/react-redux/react-redux-tests.tsx b/types/react-redux/react-redux-tests.tsx index 1b10f6d645..e726bf104f 100644 --- a/types/react-redux/react-redux-tests.tsx +++ b/types/react-redux/react-redux-tests.tsx @@ -381,6 +381,7 @@ interface DispatchProps { declare var actionCreators: () => { action: Function; } +declare var dispatchActionCreators: () => DispatchProps; declare var addTodo: () => { type: string; }; declare var todoActionCreators: { [type: string]: (...args: any[]) => any; }; declare var counterActionCreators: { [type: string]: (...args: any[]) => any; }; @@ -521,7 +522,7 @@ function mergeProps(stateProps: TodoState, dispatchProps: DispatchProps, ownProp }); } -connect(mapStateToProps2, actionCreators, mergeProps)(MyRootComponent); +connect(mapStateToProps2, dispatchActionCreators, mergeProps)(MyRootComponent); //https://github.com/DefinitelyTyped/DefinitelyTyped/issues/14622#issuecomment-279820358 diff --git a/types/react/index.d.ts b/types/react/index.d.ts index f3b2d30884..f811bf488b 100644 --- a/types/react/index.d.ts +++ b/types/react/index.d.ts @@ -74,7 +74,7 @@ declare namespace React { type ComponentType

= ComponentClass

| StatelessComponent

; type Key = string | number; - type Ref = string | ((instance: T | null) => any); + type Ref = string | { bivarianceHack(instance: T | null): any }["bivarianceHack"]; // tslint:disable-next-line:interface-over-type-literal type ComponentState = {}; @@ -557,7 +557,7 @@ declare namespace React { // Event Handler Types // ---------------------------------------------------------------------- - type EventHandler> = (event: E) => void; + type EventHandler> = { bivarianceHack(event: E): void }["bivarianceHack"]; type ReactEventHandler = EventHandler>; @@ -3371,7 +3371,7 @@ declare namespace React { // React.PropTypes // ---------------------------------------------------------------------- - type Validator = (object: T, key: string, componentName: string, ...rest: any[]) => Error | null; + type Validator = { bivarianceHack(object: T, key: string, componentName: string, ...rest: any[]): Error | null }["bivarianceHack"]; interface Requireable extends Validator { isRequired: Validator; diff --git a/types/sharepoint/sharepoint-tests.ts b/types/sharepoint/sharepoint-tests.ts index 8d62972490..b41c38f97d 100644 --- a/types/sharepoint/sharepoint-tests.ts +++ b/types/sharepoint/sharepoint-tests.ts @@ -530,7 +530,8 @@ namespace CSR { .onPreRender(hookFormContext) .onPostRender(fixCsrCustomLayout); - function hookFormContext(ctx: FormRenderContexWithHook) { + function hookFormContext(preRenderContext: SPClientTemplates.RenderContext /* FormRenderContexWithHook */) { + let ctx = preRenderContext as FormRenderContexWithHook; if (ctx.ControlMode === SPClientTemplates.ClientControlMode.EditForm || ctx.ControlMode === SPClientTemplates.ClientControlMode.NewForm) { for (const fieldSchemaInForm of ctx.ListSchema.Field) { @@ -561,7 +562,8 @@ namespace CSR { } } - function fixCsrCustomLayout(ctx: SPClientTemplates.RenderContext_Form) { + function fixCsrCustomLayout(postRenderContext: SPClientTemplates.RenderContext /* SPClientTemplates.RenderContext_Form */) { + let ctx = postRenderContext as SPClientTemplates.RenderContext_Form; if (ctx.ControlMode === SPClientTemplates.ClientControlMode.Invalid || ctx.ControlMode === SPClientTemplates.ClientControlMode.View) { return; @@ -817,7 +819,8 @@ namespace CSR { } } }) - .onPostRenderField(fieldName, (schema: SPClientTemplates.FieldSchema_InForm_User, ctx) => { + .onPostRenderField(fieldName, (postRenderSchema, ctx) => { + let schema = postRenderSchema as SPClientTemplates.FieldSchema_InForm_User; if (ctx.ControlMode === SPClientTemplates.ClientControlMode.EditForm || ctx.ControlMode === SPClientTemplates.ClientControlMode.NewForm) { if (schema.Type === 'User' || schema.Type === 'UserMulti') { @@ -1148,7 +1151,9 @@ namespace CSR { computedValue(targetField: string, transform: (...values: string[]) => string, ...sourceField: string[]): CSR { const dependentValues: { [field: string]: string } = {}; - return this.onPostRenderField(targetField, (schema: SPClientTemplates.FieldSchema_InForm, ctx: SPClientTemplates.RenderContext_FieldInForm) => { + return this.onPostRenderField(targetField, (postRenderSchema, postRenderContext) => { + let schema = postRenderSchema as SPClientTemplates.FieldSchema_InForm; + let ctx = postRenderContext as SPClientTemplates.RenderContext_FieldInForm; if (ctx.ControlMode === SPClientTemplates.ClientControlMode.EditForm || ctx.ControlMode === SPClientTemplates.ClientControlMode.NewForm) { const targetControl = CSR.getControl(schema as SPClientTemplates.FieldSchema_InForm); @@ -1165,8 +1170,8 @@ namespace CSR { setInitialValue(fieldName: string, value: any, ignoreNull?: boolean): CSR { if (value || !ignoreNull) { - return this.onPreRenderField(fieldName, (schema, ctx: SPClientTemplates.RenderContext_FieldInForm) => { - ctx.ListData.Items[0][fieldName] = value; + return this.onPreRenderField(fieldName, (schema, ctx) => { + (ctx as SPClientTemplates.RenderContext_FieldInForm).ListData.Items[0][fieldName] = value; }); } else { return this; @@ -1335,8 +1340,9 @@ namespace CSR { } lookupAddNew(fieldName: string, prompt: string, showDialog?: boolean, contentTypeId?: string): CSR { - return this.onPostRenderField(fieldName, - (schema: SPClientTemplates.FieldSchema_InForm_Lookup, ctx: SPClientTemplates.RenderContext_FieldInForm) => { + return this.onPostRenderField(fieldName, (postRenderSchema, postRenderContext) => { + let schema = postRenderSchema as SPClientTemplates.FieldSchema_InForm_Lookup; + let ctx = postRenderContext as SPClientTemplates.RenderContext_FieldInForm; let control: HTMLInputElement; if (ctx.ControlMode === SPClientTemplates.ClientControlMode.EditForm || ctx.ControlMode === SPClientTemplates.ClientControlMode.NewForm) @@ -2271,7 +2277,8 @@ namespace SampleReputation { SP.SOD.registerSod('typescripttemplates.ts', '/SPTypeScript/Extensions/typescripttemplates.js'); SP.SOD.executeFunc('typescripttemplates.ts', 'CSR', () => { CSR.override(10004, 1) - .onPreRender((ctx: MyList) => { + .onPreRender(preRenderContext => { + let ctx = preRenderContext as MyList; ctx.listId = ctx.listName.substring(1, 37); }) .header('

    ') @@ -2287,7 +2294,8 @@ namespace SampleReputation { SP.SOD.notifyScriptLoadedAndExecuteWaitingJobs('likes.js'); } - function renderTemplate(ctx: MyList) { + function renderTemplate(renderContext: SPClientTemplates.RenderContext) { + let ctx = renderContext as MyList; const rows = ctx.ListData.Row; let result = ''; for (const row of rows) { diff --git a/types/webpack/webpack-tests.ts b/types/webpack/webpack-tests.ts index fe52321f79..09405f3271 100644 --- a/types/webpack/webpack-tests.ts +++ b/types/webpack/webpack-tests.ts @@ -631,7 +631,7 @@ configuration = { performance, }; -function loader(this: webpack.loader.LoaderContext, source: string, sourcemap: string): void { +function loader(this: webpack.loader.LoaderContext, source: string | Buffer, sourcemap: string | Buffer): void { this.cacheable(); this.async();