DefinitelyTyped/types/jasmine-data-provider/index.d.ts
Tomek Łaziuk cc7d8d21ae [jasmine-data-provider] definitions for undocumented behaviour (#29835)
* improve type defs

* undocumented types

* change type

* satisfy the linter
2018-10-18 08:58:14 -07:00

17 lines
773 B
TypeScript

// Type definitions for jasmine-data-provider 2.2
// Project: https://github.com/MortalFlesh/jasmine-data-provider
// Definitions by: Tomek Łaziuk <https://github.com/tlaziuk>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
// TypeScript Version: 2.8
declare function using<T extends any[]>(values: using.ValueType<T[]>, func: (...data: Array<using.ArrayFuncArgType<T>>) => void): void;
declare function using<T>(values: using.ValueType<T[]>, func: (data: T) => void): void;
declare function using<T>(values: using.ValueType<Record<string, T>>, func: (data: T, description: string) => void): void;
declare namespace using {
type ValueType<T> = T | (() => T);
type ArrayFuncArgType<T> = T extends Array<infer U> ? U : never;
}
export = using;