refactor: use Object.fromEntries() instead of in-house implementation (#6401)

* refactor: use Object.fromEntries()
instead of in-house implementation

* Remove extra type assertions
This commit is contained in:
tamaina 2020-05-23 23:21:09 +09:00 committed by GitHub
parent 4df5ec82ce
commit abc296cdcc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 15 additions and 32 deletions

View file

@ -129,21 +129,6 @@ export function cumulativeSum(xs: number[]): number[] {
return ys;
}
// Object.fromEntries()
export function fromEntries<T extends readonly (readonly [PropertyKey, any])[]>(xs: T):
T[number] extends infer U
?
(
U extends readonly any[]
? (x: { [_ in U[0]]: U[1] }) => any
: never
) extends (x: infer V) => any
? V
: never
: never {
return xs.reduce((obj, [k, v]) => Object.assign(obj, { [k]: v }), {} as { [x: string]: any; });
}
export function toArray<T>(x: T | T[] | undefined): T[] {
return Array.isArray(x) ? x : x != null ? [x] : [];
}