Refactor
This commit is contained in:
		| @@ -7,16 +7,17 @@ type AwaitAll<T> = { | ||||
| export async function awaitAll<T>(obj: T): Promise<AwaitAll<T>> { | ||||
| 	const target = {} as any; | ||||
| 	const keys = Object.keys(obj); | ||||
| 	const rawValues = Object.values(obj); | ||||
| 	const retValues = ((values: any[]): any[] => | ||||
| 		values.map(value => { | ||||
| 			if (!value || !value.constructor || value.constructor.name !== 'Object') return value; | ||||
| 			return awaitAll(value); | ||||
| 		}) | ||||
| 	)(rawValues); | ||||
| 	const values = await Promise.all(retValues); | ||||
| 	for (let i = 0; i < values.length; i++) { | ||||
| 		target[keys[i]] = values[i]; | ||||
| 	const values = Object.values(obj); | ||||
|  | ||||
| 	const resolvedValues = await Promise.all(values.map(value => | ||||
| 		(value || !value.constructor || value.constructor.name !== 'Object') | ||||
| 			? value | ||||
| 			: awaitAll(value) | ||||
| 	)); | ||||
|  | ||||
| 	for (let i = 0; i < keys.length; i++) { | ||||
| 		target[keys[i]] = resolvedValues[i]; | ||||
| 	} | ||||
|  | ||||
| 	return target; | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 syuilo
					syuilo