Access to v8\textquotesingle{}s \char`\"{}raw\char`\"{} {\ttfamily Call\+Site}s.\hypertarget{md_sfcode_node_modules_callsite_Readme_autotoc_md4965}{}\doxysection{Installation}\label{md_sfcode_node_modules_callsite_Readme_autotoc_md4965}
\begin{DoxyVerb}$ npm install callsite
\end{DoxyVerb}
 \hypertarget{md_sfcode_node_modules_callsite_Readme_autotoc_md4966}{}\doxysection{Example}\label{md_sfcode_node_modules_callsite_Readme_autotoc_md4966}

\begin{DoxyCode}{0}
\DoxyCodeLine{var stack = require('callsite');}
\DoxyCodeLine{}
\DoxyCodeLine{foo();}
\DoxyCodeLine{}
\DoxyCodeLine{function foo() \{}
\DoxyCodeLine{  bar();}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{function bar() \{}
\DoxyCodeLine{  baz();}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{function baz() \{}
\DoxyCodeLine{  console.log();}
\DoxyCodeLine{  stack().forEach(function(site)\{}
\DoxyCodeLine{    console.log('  \(\backslash\)033[36m\%s\(\backslash\)033[90m in \%s:\%d\(\backslash\)033[0m'}
\DoxyCodeLine{      , site.getFunctionName() || 'anonymous'}
\DoxyCodeLine{      , site.getFileName()}
\DoxyCodeLine{      , site.getLineNumber());}
\DoxyCodeLine{  \});}
\DoxyCodeLine{  console.log();}
\DoxyCodeLine{\} }

\end{DoxyCode}
\hypertarget{md_sfcode_node_modules_callsite_Readme_autotoc_md4967}{}\doxysection{Why?}\label{md_sfcode_node_modules_callsite_Readme_autotoc_md4967}
Because you can do weird, stupid, clever, wacky things such as\+:


\begin{DoxyItemize}
\item \href{https://github.com/visionmedia/better-assert}{\texttt{ better-\/assert}}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_callsite_Readme_autotoc_md4968}{}\doxysection{License}\label{md_sfcode_node_modules_callsite_Readme_autotoc_md4968}
MIT 