mirror of https://github.com/vuejs/core.git
types: compatible with TS 5.8
This commit is contained in:
parent
8bd9cdb77e
commit
3fdd1c4242
|
@ -263,7 +263,7 @@ export function processFor(
|
|||
dir: DirectiveNode,
|
||||
context: TransformContext,
|
||||
processCodegen?: (forNode: ForNode) => (() => void) | undefined,
|
||||
) {
|
||||
): (() => void) | undefined {
|
||||
if (!dir.exp) {
|
||||
context.onError(
|
||||
createCompilerError(ErrorCodes.X_V_FOR_NO_EXPRESSION, dir.loc),
|
||||
|
|
|
@ -114,7 +114,7 @@ export function processDefineModel(
|
|||
return true
|
||||
}
|
||||
|
||||
export function genModelProps(ctx: ScriptCompileContext) {
|
||||
export function genModelProps(ctx: ScriptCompileContext): string | undefined {
|
||||
if (!ctx.hasDefineModelCall) return
|
||||
|
||||
const isProd = !!ctx.options.isProd
|
||||
|
|
|
@ -275,7 +275,7 @@ export function proxyRefs<T extends object>(
|
|||
objectWithRefs: T,
|
||||
): ShallowUnwrapRef<T> {
|
||||
return isReactive(objectWithRefs)
|
||||
? objectWithRefs
|
||||
? (objectWithRefs as any)
|
||||
: new Proxy(objectWithRefs, shallowUnwrapHandlers)
|
||||
}
|
||||
|
||||
|
|
|
@ -47,16 +47,21 @@ const pendingPostFlushCbs: SchedulerJob[] = []
|
|||
let activePostFlushCbs: SchedulerJob[] | null = null
|
||||
let postFlushIndex = 0
|
||||
|
||||
const resolvedPromise = /*@__PURE__*/ Promise.resolve() as Promise<any>
|
||||
const resolvedPromise = /*@__PURE__*/ Promise.resolve()
|
||||
let currentFlushPromise: Promise<void> | null = null
|
||||
|
||||
const RECURSION_LIMIT = 100
|
||||
type CountMap = Map<SchedulerJob, number>
|
||||
|
||||
export function nextTick<T = void, R = void>(
|
||||
export function nextTick(): Promise<void>
|
||||
export function nextTick<T, R>(
|
||||
this: T,
|
||||
fn?: (this: T) => R,
|
||||
): Promise<Awaited<R>> {
|
||||
fn: (this: T) => R | Promise<R>,
|
||||
): Promise<R>
|
||||
export function nextTick<T, R>(
|
||||
this: T,
|
||||
fn?: (this: T) => R | Promise<R>,
|
||||
): Promise<void | R> {
|
||||
const p = currentFlushPromise || resolvedPromise
|
||||
return fn ? p.then(this ? fn.bind(this) : fn) : p
|
||||
}
|
||||
|
@ -113,7 +118,9 @@ export function queueJob(job: SchedulerJob): void {
|
|||
|
||||
function queueFlush() {
|
||||
if (!currentFlushPromise) {
|
||||
currentFlushPromise = resolvedPromise.then(flushJobs)
|
||||
currentFlushPromise = resolvedPromise.then(() => {
|
||||
flushJobs()
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue