Skip to content

Commit f967ce9

Browse files
committed
fix(core): getCallerInfo()
1 parent 987fd89 commit f967ce9

File tree

1 file changed

+21
-12
lines changed
  • packages/core/src/lib/callstack

1 file changed

+21
-12
lines changed

packages/core/src/lib/callstack/util.ts

+21-12
Original file line numberDiff line numberDiff line change
@@ -149,20 +149,10 @@ export function getCallerInfo(callerDistance = 0): CallerInfo {
149149
}
150150
}
151151

152-
const stacks = getStackCallerSites(depth + 1)
153-
const site = stacks[depth]
152+
const stacks = getStackCallerSites(depth + 5)
153+
const site = pickSite(stacks.slice(depth - 1), ret)
154154
assert(site, 'stack empty')
155155

156-
// // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
157-
// const enclosingLineNumber: number | undefined = site.getEnclosingLineNumber
158-
// ? site.getEnclosingLineNumber() as unknown as number
159-
// : 0
160-
161-
// // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
162-
// const enclosingColNumber: number | undefined = site.getEnclosingColumnNumber
163-
// ? site.getEnclosingColumnNumber() as unknown as number
164-
// : 0
165-
166156
const funcName = site.getFunctionName() ?? ''
167157
const methodName = site.getMethodName() ?? ''
168158
const typeName = site.getTypeName() ?? ''
@@ -188,6 +178,25 @@ export function getCallerInfo(callerDistance = 0): CallerInfo {
188178
return ret
189179
}
190180

181+
function pickSite(data: NodeJS.CallSite[], needle: CallerInfo): NodeJS.CallSite | undefined {
182+
const site = data.find((item) => {
183+
const fileName = item.getFileName() ?? ''
184+
const funcName = item.getFunctionName() ?? ''
185+
const lineNumber = item.getLineNumber() ?? -1
186+
const columnNumber = item.getColumnNumber() ?? -1
187+
188+
if (fileName === needle.path
189+
&& funcName === needle.funcName
190+
&& lineNumber === needle.lineNumber
191+
&& columnNumber === needle.columnNumber
192+
) {
193+
return true
194+
}
195+
return false
196+
})
197+
return site
198+
}
199+
191200

192201
/**
193202
* Get stack string, line/column number transformed with source-map

0 commit comments

Comments
 (0)