mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2026-02-03 23:42:50 +00:00
Strict function variance fixes round 1
This commit is contained in:
parent
2fba16f44b
commit
b8ea87c68e
2
types/backbone/index.d.ts
vendored
2
types/backbone/index.d.ts
vendored
@ -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[];
|
||||
|
||||
14
types/bootbox/index.d.ts
vendored
14
types/bootbox/index.d.ts
vendored
@ -7,9 +7,9 @@
|
||||
/// <reference types="jquery" />
|
||||
|
||||
/** Bootbox options shared by all modal types */
|
||||
interface BootboxBaseOptions {
|
||||
interface BootboxBaseOptions<T = any> {
|
||||
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<T = any> extends BootboxBaseOptions<T> {
|
||||
message: string | Element;
|
||||
}
|
||||
|
||||
/** Bootbox options available for alert modals */
|
||||
interface BootboxAlertOptions extends BootboxDialogOptions {
|
||||
interface BootboxAlertOptions extends BootboxDialogOptions<void> {
|
||||
callback?: () => any;
|
||||
buttons?: BootboxAlertButtonMap;
|
||||
}
|
||||
|
||||
/** Bootbox options available for confirm modals */
|
||||
interface BootboxConfirmOptions extends BootboxDialogOptions {
|
||||
interface BootboxConfirmOptions extends BootboxDialogOptions<boolean> {
|
||||
callback: (result: boolean) => any;
|
||||
buttons?: BootboxConfirmPromptButtonMap;
|
||||
}
|
||||
|
||||
/** Bootbox options available for prompt modals */
|
||||
interface BootboxPromptOptions extends BootboxBaseOptions {
|
||||
interface BootboxPromptOptions extends BootboxBaseOptions<string> {
|
||||
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<string>): JQuery;
|
||||
setDefaults(options: BootboxDefaultOptions): void;
|
||||
hideAll(): void;
|
||||
|
||||
|
||||
@ -20,4 +20,4 @@
|
||||
"index.d.ts",
|
||||
"bootbox-tests.ts"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
2
types/cordova-plugin-inappbrowser/index.d.ts
vendored
2
types/cordova-plugin-inappbrowser/index.d.ts
vendored
@ -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;
|
||||
|
||||
@ -20,4 +20,4 @@
|
||||
"index.d.ts",
|
||||
"cordova-plugin-inappbrowser-tests.ts"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
4
types/ibm-mobilefirst/index.d.ts
vendored
4
types/ibm-mobilefirst/index.d.ts
vendored
@ -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<T> {
|
||||
|
||||
@ -20,4 +20,4 @@
|
||||
"index.d.ts",
|
||||
"ibm-mobilefirst-tests.ts"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@ -19,4 +19,4 @@
|
||||
"files": [
|
||||
"index.d.ts"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
4
types/jquery/index.d.ts
vendored
4
types/jquery/index.d.ts
vendored
@ -85,7 +85,7 @@ interface JQueryStatic<TElement extends Node = HTMLElement> {
|
||||
* @since 1.3
|
||||
*/
|
||||
off: boolean;
|
||||
step: JQuery.PlainObject<JQuery.AnimationHook<TElement>>;
|
||||
step: JQuery.PlainObject<JQuery.AnimationHook<Node>>;
|
||||
};
|
||||
/**
|
||||
* A Promise-like object (or "thenable") that resolves when the document is ready.
|
||||
@ -4754,7 +4754,7 @@ interface JQuery<TElement extends Node = HTMLElement> extends Iterable<TElement>
|
||||
* @see {@link https://api.jquery.com/queue/}
|
||||
* @since 1.2
|
||||
*/
|
||||
queue(queueName?: string): JQuery.Queue<TElement>;
|
||||
queue(queueName?: string): JQuery.Queue<Node>;
|
||||
/**
|
||||
* Specify a function to execute when the DOM is fully loaded.
|
||||
*
|
||||
|
||||
@ -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<HTMLButtonElement>) {
|
||||
test: function(one: typeof you, two: typeof they, event: JQuery.Event<HTMLElement>) {
|
||||
$('#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 + '.');
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
@ -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);
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
4
types/knockout/index.d.ts
vendored
4
types/knockout/index.d.ts
vendored
@ -151,8 +151,8 @@ interface KnockoutAllBindingsAccessor {
|
||||
|
||||
interface KnockoutBindingHandler {
|
||||
after?: Array<string>;
|
||||
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;
|
||||
|
||||
@ -21,4 +21,4 @@
|
||||
"test/templatingBehaviors.ts",
|
||||
"test/index.ts"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
169
types/lodash/index.d.ts
vendored
169
types/lodash/index.d.ts
vendored
@ -4794,6 +4794,14 @@ declare namespace _ {
|
||||
* _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');
|
||||
* // => [{ 'x': 1 }, { 'x': 2 }]
|
||||
*/
|
||||
uniqBy<TString extends string | null | undefined>(
|
||||
array: TString,
|
||||
iteratee: StringIterator<any>
|
||||
): TString[];
|
||||
|
||||
/**
|
||||
* @see _.uniqBy
|
||||
*/
|
||||
uniqBy<T>(
|
||||
array: List<T> | null | undefined,
|
||||
iteratee: ListIterator<T, any>
|
||||
@ -4832,6 +4840,24 @@ declare namespace _ {
|
||||
): T[];
|
||||
}
|
||||
|
||||
interface LoDashImplicitStringWrapper {
|
||||
/**
|
||||
* @see _.uniqBy
|
||||
*/
|
||||
uniqBy(
|
||||
iteratee: StringIterator<any>
|
||||
): LoDashImplicitArrayWrapper<string>;
|
||||
}
|
||||
|
||||
interface LoDashExplicitStringWrapper {
|
||||
/**
|
||||
* @see _.uniqBy
|
||||
*/
|
||||
uniqBy(
|
||||
iteratee: StringIterator<any>
|
||||
): LoDashExplicitArrayWrapper<string>;
|
||||
}
|
||||
|
||||
interface LoDashImplicitWrapper<T> {
|
||||
/**
|
||||
* @see _.uniqBy
|
||||
@ -5074,6 +5100,14 @@ declare namespace _ {
|
||||
* _.sortedUniqBy([1.1, 1.2, 2.3, 2.4], Math.floor);
|
||||
* // => [1.1, 2.2]
|
||||
*/
|
||||
sortedUniqBy<TString extends string | null | undefined>(
|
||||
array: TString,
|
||||
iteratee: StringIterator<any>
|
||||
): TString[];
|
||||
|
||||
/**
|
||||
* @see _.sortedUniqBy
|
||||
*/
|
||||
sortedUniqBy<T>(
|
||||
array: List<T> | null | undefined,
|
||||
iteratee: ListIterator<T, any>
|
||||
@ -5112,6 +5146,24 @@ declare namespace _ {
|
||||
): T[];
|
||||
}
|
||||
|
||||
interface LoDashImplicitStringWrapper {
|
||||
/**
|
||||
* @see _.sortedUniqBy
|
||||
*/
|
||||
sortedUniqBy(
|
||||
iteratee: StringIterator<any>
|
||||
): LoDashImplicitArrayWrapper<string>;
|
||||
}
|
||||
|
||||
interface LoDashExplicitStringWrapper {
|
||||
/**
|
||||
* @see _.sortedUniqBy
|
||||
*/
|
||||
sortedUniqBy(
|
||||
iteratee: StringIterator<any>
|
||||
): LoDashExplicitArrayWrapper<string>;
|
||||
}
|
||||
|
||||
interface LoDashImplicitWrapper<T> {
|
||||
/**
|
||||
* @see _.sortedUniqBy
|
||||
@ -5823,6 +5875,13 @@ declare namespace _ {
|
||||
chain(value: any): LoDashExplicitWrapper<any>;
|
||||
}
|
||||
|
||||
interface LoDashImplicitStringWrapper {
|
||||
/**
|
||||
* @see _.chain
|
||||
*/
|
||||
chain(): LoDashExplicitStringWrapper;
|
||||
}
|
||||
|
||||
interface LoDashImplicitWrapper<T> {
|
||||
/**
|
||||
* @see _.chain
|
||||
@ -7796,6 +7855,14 @@ declare namespace _ {
|
||||
* @param thisArg The this binding of iteratee.
|
||||
* @return Returns the composed aggregate object.
|
||||
*/
|
||||
groupBy<TString extends string | null | undefined, TKey>(
|
||||
collection: TString,
|
||||
iteratee?: StringIterator<TKey>
|
||||
): Dictionary<TString[]>;
|
||||
|
||||
/**
|
||||
* @see _.groupBy
|
||||
*/
|
||||
groupBy<T, TKey>(
|
||||
collection: List<T> | null | undefined,
|
||||
iteratee?: ListIterator<T, TKey>
|
||||
@ -8165,6 +8232,24 @@ declare namespace _ {
|
||||
): Dictionary<T>;
|
||||
}
|
||||
|
||||
interface LoDashImplicitStringWrapper {
|
||||
/**
|
||||
* @see _.keyBy
|
||||
*/
|
||||
keyBy(
|
||||
iteratee?: StringIterator<any> | undefined
|
||||
): LoDashImplicitObjectWrapper<Dictionary<string>>
|
||||
}
|
||||
|
||||
interface LoDashExplicitStringWrapper {
|
||||
/**
|
||||
* @see _.keyBy
|
||||
*/
|
||||
keyBy(
|
||||
iteratee?: StringIterator<any> | undefined
|
||||
): LoDashExplicitObjectWrapper<Dictionary<string>>
|
||||
}
|
||||
|
||||
interface LoDashImplicitWrapper<T> {
|
||||
/**
|
||||
* @see _.keyBy
|
||||
@ -8849,53 +8934,53 @@ declare namespace _ {
|
||||
accumulator: TResult): TResult;
|
||||
|
||||
/**
|
||||
* @see _.reduce
|
||||
**/
|
||||
* @see _.reduce
|
||||
**/
|
||||
reduce<T, TResult>(
|
||||
collection: List<T> | null | undefined,
|
||||
callback: MemoIterator<T, TResult>,
|
||||
accumulator: TResult): TResult;
|
||||
|
||||
/**
|
||||
* @see _.reduce
|
||||
**/
|
||||
* @see _.reduce
|
||||
**/
|
||||
reduce<T, TResult>(
|
||||
collection: Dictionary<T> | null | undefined,
|
||||
callback: MemoIterator<T, TResult>,
|
||||
accumulator: TResult): TResult;
|
||||
|
||||
/**
|
||||
* @see _.reduce
|
||||
**/
|
||||
* @see _.reduce
|
||||
**/
|
||||
reduce<T, TResult>(
|
||||
collection: NumericDictionary<T> | null | undefined,
|
||||
callback: MemoIterator<T, TResult>,
|
||||
accumulator: TResult): TResult;
|
||||
|
||||
/**
|
||||
* @see _.reduce
|
||||
**/
|
||||
* @see _.reduce
|
||||
**/
|
||||
reduce<T, TResult>(
|
||||
collection: T[] | null | undefined,
|
||||
callback: MemoIterator<T, TResult>): TResult | undefined;
|
||||
|
||||
/**
|
||||
* @see _.reduce
|
||||
**/
|
||||
* @see _.reduce
|
||||
**/
|
||||
reduce<T, TResult>(
|
||||
collection: List<T> | null | undefined,
|
||||
callback: MemoIterator<T, TResult>): TResult | undefined;
|
||||
|
||||
/**
|
||||
* @see _.reduce
|
||||
**/
|
||||
* @see _.reduce
|
||||
**/
|
||||
reduce<T, TResult>(
|
||||
collection: Dictionary<T> | null | undefined,
|
||||
callback: MemoIterator<T, TResult>): TResult | undefined;
|
||||
|
||||
/**
|
||||
* @see _.reduce
|
||||
**/
|
||||
* @see _.reduce
|
||||
**/
|
||||
reduce<T, TResult>(
|
||||
collection: NumericDictionary<T> | null | undefined,
|
||||
callback: MemoIterator<T, TResult>): 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<TObject, number>
|
||||
): number;
|
||||
|
||||
/**
|
||||
@ -14198,7 +14283,7 @@ declare namespace _ {
|
||||
* @see _.sumBy
|
||||
*/
|
||||
sumBy(
|
||||
iteratee: ListIterator<{}, number>
|
||||
iteratee: ListIterator<TObject, number>
|
||||
): LoDashExplicitWrapper<number>;
|
||||
|
||||
/**
|
||||
@ -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<O, V, TResult>(
|
||||
object: O,
|
||||
path: Many<StringRepresentable>,
|
||||
value: V,
|
||||
customizer?: SetWithCustomizer<O>
|
||||
): TResult;
|
||||
|
||||
/**
|
||||
* @see _.setWith
|
||||
*/
|
||||
setWith<TResult>(
|
||||
object: Object,
|
||||
object: any,
|
||||
path: Many<StringRepresentable>,
|
||||
value: any,
|
||||
customizer?: SetWithCustomizer<Object>
|
||||
customizer?: SetWithCustomizer<any>
|
||||
): TResult;
|
||||
|
||||
/**
|
||||
* @see _.setWith
|
||||
*/
|
||||
setWith<V, TResult>(
|
||||
object: Object,
|
||||
object: any,
|
||||
path: Many<StringRepresentable>,
|
||||
value: V,
|
||||
customizer?: SetWithCustomizer<Object>
|
||||
): TResult;
|
||||
|
||||
/**
|
||||
* @see _.setWith
|
||||
*/
|
||||
setWith<O, V, TResult>(
|
||||
object: O,
|
||||
path: Many<StringRepresentable>,
|
||||
value: V,
|
||||
customizer?: SetWithCustomizer<O>
|
||||
customizer?: SetWithCustomizer<any>
|
||||
): TResult;
|
||||
}
|
||||
|
||||
@ -17782,22 +17867,22 @@ declare namespace _ {
|
||||
* _.updateWith(object, '[0][1]', _.constant('a'), Object);
|
||||
* // => { '0': { '1': 'a' } }
|
||||
*/
|
||||
updateWith<TResult>(
|
||||
object: Object,
|
||||
path: Many<StringRepresentable>,
|
||||
updater: (oldValue: any) => any,
|
||||
customizer?: SetWithCustomizer<Object>
|
||||
): TResult;
|
||||
|
||||
/**
|
||||
* @see _.updateWith
|
||||
*/
|
||||
updateWith<O extends {}, TResult>(
|
||||
object: O,
|
||||
path: Many<StringRepresentable>,
|
||||
updater: (oldValue: any) => any,
|
||||
customizer?: SetWithCustomizer<O>
|
||||
): TResult;
|
||||
|
||||
/**
|
||||
* @see _.updateWith
|
||||
*/
|
||||
updateWith<TResult>(
|
||||
object: any,
|
||||
path: Many<StringRepresentable>,
|
||||
updater: (oldValue: any) => any,
|
||||
customizer?: SetWithCustomizer<any>
|
||||
): TResult;
|
||||
}
|
||||
|
||||
interface LoDashImplicitObjectWrapper<T> {
|
||||
|
||||
@ -2256,7 +2256,7 @@ namespace TestUniqBy {
|
||||
let result: string[];
|
||||
|
||||
result = _.uniqBy<string>('abc', stringIterator);
|
||||
result = _.uniqBy<string, string>('abc', stringIterator);
|
||||
result = _.uniqBy('abc', stringIterator);
|
||||
}
|
||||
|
||||
{
|
||||
@ -2278,7 +2278,7 @@ namespace TestUniqBy {
|
||||
{
|
||||
let result: _.LoDashImplicitArrayWrapper<string>;
|
||||
|
||||
result = _('abc').uniqBy<string>(stringIterator);
|
||||
result = _('abc').uniqBy(stringIterator);
|
||||
}
|
||||
|
||||
{
|
||||
@ -2298,7 +2298,7 @@ namespace TestUniqBy {
|
||||
{
|
||||
let result: _.LoDashExplicitArrayWrapper<string>;
|
||||
|
||||
result = _('abc').chain().uniqBy<string>(stringIterator);
|
||||
result = _('abc').chain().uniqBy(stringIterator);
|
||||
}
|
||||
|
||||
{
|
||||
@ -2371,7 +2371,7 @@ namespace TestSortedUniqBy {
|
||||
let result: string[];
|
||||
|
||||
result = _.sortedUniqBy<string>('abc', stringIterator);
|
||||
result = _.sortedUniqBy<string, string>('abc', stringIterator);
|
||||
result = _.sortedUniqBy('abc', stringIterator);
|
||||
}
|
||||
|
||||
{
|
||||
@ -2393,7 +2393,7 @@ namespace TestSortedUniqBy {
|
||||
{
|
||||
let result: _.LoDashImplicitArrayWrapper<string>;
|
||||
|
||||
result = _('abc').sortedUniqBy<string>(stringIterator);
|
||||
result = _('abc').sortedUniqBy(stringIterator);
|
||||
}
|
||||
|
||||
{
|
||||
@ -2413,7 +2413,7 @@ namespace TestSortedUniqBy {
|
||||
{
|
||||
let result: _.LoDashExplicitArrayWrapper<string>;
|
||||
|
||||
result = _('abc').chain().sortedUniqBy<string>(stringIterator);
|
||||
result = _('abc').chain().sortedUniqBy(stringIterator);
|
||||
}
|
||||
|
||||
{
|
||||
@ -3345,7 +3345,7 @@ namespace TestCountBy {
|
||||
let dictionary: _.Dictionary<TResult> | null | undefined = obj;
|
||||
let numericDictionary: _.NumericDictionary<TResult> | 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<string>) => any = (value: string, index: number, collection: ArrayLike<string>) => 1;
|
||||
let listIterator: (value: TResult, index: number, collection: _.List<TResult>) => any = (value: TResult, index: number, collection: _.List<TResult>) => 1;
|
||||
let dictionaryIterator: (value: TResult, key: string, collection: _.Dictionary<TResult>) => any = (value: TResult, key: string, collection: _.Dictionary<TResult>) => 1;
|
||||
let numericDictionaryIterator: (value: TResult, key: number, collection: _.NumericDictionary<TResult>) => any = (value: TResult, key: number, collection: _.NumericDictionary<TResult>) => 1;
|
||||
@ -4557,7 +4557,7 @@ namespace TestForEach {
|
||||
|
||||
{
|
||||
let result: TResult[];
|
||||
result = _.forEach(array, (value, index, collection: TResult[]) => {
|
||||
result = _.forEach(array, (value, index, collection: ArrayLike<TResult>) => {
|
||||
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<TResult>) => {
|
||||
value; // $ExpectType TResult
|
||||
index; // $ExpectType number
|
||||
});
|
||||
@ -4990,7 +4990,7 @@ namespace TestGroupBy {
|
||||
let result: _.LoDashImplicitObjectWrapper<_.Dictionary<string[]>>;
|
||||
|
||||
result = _('').groupBy();
|
||||
result = _('').groupBy<number>(stringIterator);
|
||||
result = _('').groupBy<number>((char: string, index: number, string: ArrayLike<string>) => 0);
|
||||
}
|
||||
|
||||
{
|
||||
@ -5025,7 +5025,7 @@ namespace TestGroupBy {
|
||||
let result: _.LoDashExplicitObjectWrapper<_.Dictionary<string[]>>;
|
||||
|
||||
result = _('').chain().groupBy();
|
||||
result = _('').chain().groupBy<number>(stringIterator);
|
||||
result = _('').chain().groupBy<number>((char: string, index: number, string: ArrayLike<string>) => 0);
|
||||
}
|
||||
|
||||
{
|
||||
@ -5547,7 +5547,7 @@ namespace TestReduce {
|
||||
result = <ABC>_.reduce({ 'a': 1, 'b': 2, 'c': 3 }, (r: ABC, num: number, key: string) => {
|
||||
r[key] = num * 3;
|
||||
return r;
|
||||
}, {});
|
||||
}, {} as ABC);
|
||||
|
||||
result = <number>_([1, 2, 3]).reduce<number>((sum: number, num: number) => sum + num);
|
||||
result = <ABC>_({ 'a': 1, 'b': 2, 'c': 3 }).reduce<number, ABC>((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<number> | null | undefined, index: number, collection: _.List<_.List<number> | 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<number> | null | undefined, index: number, collection: _.List<_.List<number> | 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<ExpectedResult>({}, {}, {}, {}, mergingValue, customizer).value();
|
||||
}
|
||||
|
||||
|
||||
@ -315,4 +315,4 @@
|
||||
"zipObjectDeep.d.ts",
|
||||
"zipWith.d.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);
|
||||
log4js.loadAppender("my-log4js-appender", myAppender);
|
||||
|
||||
@ -19,4 +19,4 @@
|
||||
"index.d.ts",
|
||||
"log4js-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];
|
||||
|
||||
@ -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<string>(nodeStyle, ["foo"]).done((result: string) => {
|
||||
});
|
||||
Q.nfcall(nodeStyle, "foo").done((result: string) => {
|
||||
Q.nfcall<string>(nodeStyle, "foo").done((result: string) => {
|
||||
});
|
||||
Q.denodeify(nodeStyle)('foo').done((result: string) => {
|
||||
Q.denodeify<string>(nodeStyle)('foo').done((result: string) => {
|
||||
});
|
||||
Q.nfbind(nodeStyle)('foo').done((result: string) => {
|
||||
Q.nfbind<string>(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<any[]>(kitty.find, kitty)({cute: true}).done((kitties: any[]) => {
|
||||
});
|
||||
|
||||
/**
|
||||
|
||||
4
types/ramda/index.d.ts
vendored
4
types/ramda/index.d.ts
vendored
@ -225,9 +225,9 @@ declare namespace R {
|
||||
/**
|
||||
* Returns a new list containing the contents of the given list, followed by the given element.
|
||||
*/
|
||||
append<U>(el: U): <T>(list: T[]) => Array<(T & U)>;
|
||||
append<T, U>(el: U, list: T[]): Array<(T & U)>;
|
||||
append<U>(el: U): <T>(list: T[]) => Array<(T & U)>;
|
||||
append<U>(el: U): <T>(list: T[]) => Array<(T & U)>;
|
||||
append<T>(el: T, list: string): Array<T & string>;
|
||||
|
||||
/**
|
||||
* Applies function fn to the argument list args. This is useful for creating a fixed-arity function from
|
||||
|
||||
@ -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<string,string,string[],string>(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<string|number>): Array<string|number> {
|
||||
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<number,number>((a,b) => a + b, 10)(numbers); // => 16
|
||||
};
|
||||
|
||||
interface Student {
|
||||
@ -1086,7 +1081,7 @@ type Pair = KeyValuePair<string, number>;
|
||||
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<number, number>(transducer)(fn, [], numbers); // => [2, 3]
|
||||
};
|
||||
|
||||
() => {
|
||||
@ -1101,7 +1096,7 @@ type Pair = KeyValuePair<string, number>;
|
||||
const list = [1, 2, 3];
|
||||
R.traverse(of, fn, list);
|
||||
R.traverse(of, fn)(list);
|
||||
R.traverse(of)(fn, list);
|
||||
R.traverse<number, number[], {}>(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<string,string,string>(R.toLower, R.prop("name")));
|
||||
const alice = {
|
||||
name: "ALICE",
|
||||
age : 101
|
||||
|
||||
@ -299,7 +299,7 @@ class ScrollerListComponentTest extends React.Component<{}, { dataSource: ListVi
|
||||
|
||||
return <ScrollView {...props} style={[scrollViewStyle1.scrollView, scrollViewStyle2]}/>
|
||||
}}
|
||||
renderRow={({ type, data }, _, row: number) => {
|
||||
renderRow={({ type, data }, _, row) => {
|
||||
return <Text>Filler</Text>
|
||||
}
|
||||
} />
|
||||
|
||||
@ -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
|
||||
|
||||
6
types/react/index.d.ts
vendored
6
types/react/index.d.ts
vendored
@ -74,7 +74,7 @@ declare namespace React {
|
||||
type ComponentType<P = {}> = ComponentClass<P> | StatelessComponent<P>;
|
||||
|
||||
type Key = string | number;
|
||||
type Ref<T> = string | ((instance: T | null) => any);
|
||||
type Ref<T> = 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<E extends SyntheticEvent<any>> = (event: E) => void;
|
||||
type EventHandler<E extends SyntheticEvent<any>> = { bivarianceHack(event: E): void }["bivarianceHack"];
|
||||
|
||||
type ReactEventHandler<T> = EventHandler<SyntheticEvent<T>>;
|
||||
|
||||
@ -3371,7 +3371,7 @@ declare namespace React {
|
||||
// React.PropTypes
|
||||
// ----------------------------------------------------------------------
|
||||
|
||||
type Validator<T> = (object: T, key: string, componentName: string, ...rest: any[]) => Error | null;
|
||||
type Validator<T> = { bivarianceHack(object: T, key: string, componentName: string, ...rest: any[]): Error | null }["bivarianceHack"];
|
||||
|
||||
interface Requireable<T> extends Validator<T> {
|
||||
isRequired: Validator<T>;
|
||||
|
||||
@ -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('<ul>')
|
||||
@ -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) {
|
||||
|
||||
@ -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();
|
||||
|
||||
Loading…
Reference in New Issue
Block a user