import * as callsites from "callsites" ; import * as sourceMapSupport from "source-map-support" ; /**
 * Represents a callsite of where a step binding is being applied.
 */ export class Callsite { param filename param lineNumber constructor ( public filename , public lineNumber ) { } returns public toString ( ) { return `${ this . filename }:${ this . lineNumber }` ; } /**
     * Captures the current [[Callsite]] object.
     */ public static capture ( ) { const stack = callsites ( ) [ 2 ] ; const tsStack = sourceMapSupport . wrapCallSite ( stack ) ; return new Callsite ( tsStack . getFileName ( ) || "" , tsStack . getLineNumber ( ) || - 1 ) ; } }