package caller

import "runtime"

func CallFilePath() string {
	_, file, _, ok := runtime.Caller(1)
	if !ok {
		return "Unknown"
	}

	return file
}

func CallFunctionName() string {
	pc, _, _, ok := runtime.Caller(1)
	if !ok {
		return "Unknown"
	}

	return runtime.FuncForPC(pc).Name()
}

func CallLineNo() int {
	_, _, line, ok := runtime.Caller(1)
	if !ok {
		return 0
	}

	return line
}