From: 远方os Date: Thu, 5 Sep 2024 08:09:10 +0000 (+0800) Subject: chore(types): removed the Awaited compatibility type tool (#11820) X-Git-Tag: v3.5.2~14 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c518517cb324eb29a89ed29f2f92170a017789bb;p=thirdparty%2Fvuejs%2Fcore.git chore(types): removed the Awaited compatibility type tool (#11820) --- diff --git a/packages/runtime-core/src/scheduler.ts b/packages/runtime-core/src/scheduler.ts index 7f52a77bd5..727eb14e31 100644 --- a/packages/runtime-core/src/scheduler.ts +++ b/packages/runtime-core/src/scheduler.ts @@ -1,5 +1,5 @@ import { ErrorCodes, callWithErrorHandling, handleError } from './errorHandling' -import { type Awaited, NOOP, isArray } from '@vue/shared' +import { NOOP, isArray } from '@vue/shared' import { type ComponentInternalInstance, getComponentName } from './component' export enum SchedulerJobFlags { diff --git a/packages/shared/src/typeUtils.ts b/packages/shared/src/typeUtils.ts index 4846751b84..1fd161ceb0 100644 --- a/packages/shared/src/typeUtils.ts +++ b/packages/shared/src/typeUtils.ts @@ -13,15 +13,6 @@ export type LooseRequired = { [P in keyof (T & Required)]: T[P] } // https://stackoverflow.com/questions/49927523/disallow-call-with-any/49928360#49928360 export type IfAny = 0 extends 1 & T ? Y : N -// To prevent users with TypeScript versions lower than 4.5 from encountering unsupported Awaited type, a copy has been made here. -export type Awaited = T extends null | undefined - ? T // special case for `null | undefined` when not in `--strictNullChecks` mode - : T extends object & { then(onfulfilled: infer F, ...args: infer _): any } // `await` only unwraps object types with a callable `then`. Non-object types are not unwrapped - ? F extends (value: infer V, ...args: infer _) => any // if the argument to `then` is callable, extracts the first argument - ? Awaited // recursively unwrap the value - : never // the argument to `then` was not callable - : T // non-object or non-thenable - /** * Utility for extracting the parameters from a function overload (for typed emits) * https://github.com/microsoft/TypeScript/issues/32164#issuecomment-1146737709