@@ -8,28 +8,20 @@ export let currentScopeId: string | null = null
|
||||
const scopeIdStack: string[] = []
|
||||
|
||||
export function pushScopeId(id: string) {
|
||||
if (__BUNDLER__) {
|
||||
scopeIdStack.push((currentScopeId = id))
|
||||
}
|
||||
scopeIdStack.push((currentScopeId = id))
|
||||
}
|
||||
|
||||
export function popScopeId() {
|
||||
if (__BUNDLER__) {
|
||||
scopeIdStack.pop()
|
||||
currentScopeId = scopeIdStack[scopeIdStack.length - 1] || null
|
||||
}
|
||||
scopeIdStack.pop()
|
||||
currentScopeId = scopeIdStack[scopeIdStack.length - 1] || null
|
||||
}
|
||||
|
||||
export function withScopeId(id: string): <T extends Function>(fn: T) => T {
|
||||
if (__BUNDLER__) {
|
||||
return ((fn: Function) =>
|
||||
withCtx(function(this: any) {
|
||||
pushScopeId(id)
|
||||
const res = fn.apply(this, arguments)
|
||||
popScopeId()
|
||||
return res
|
||||
})) as any
|
||||
} else {
|
||||
return undefined as any
|
||||
}
|
||||
return ((fn: Function) =>
|
||||
withCtx(function(this: any) {
|
||||
pushScopeId(id)
|
||||
const res = fn.apply(this, arguments)
|
||||
popScopeId()
|
||||
return res
|
||||
})) as any
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user