From fa8da6088a10927b8bcdbd6bc8ba9337755927f4 Mon Sep 17 00:00:00 2001 From: TJ Holowaychuk Date: Tue, 9 Oct 2012 22:16:20 -0700 Subject: [PATCH] Initial commit --- .gitignore | 2 ++ Makefile | 11 +++++++++++ Readme.md | 12 ++++++++++++ component.json | 12 ++++++++++++ index.js | 23 +++++++++++++++++++++++ 5 files changed, 60 insertions(+) create mode 100644 .gitignore create mode 100644 Makefile create mode 100644 Readme.md create mode 100644 component.json create mode 100644 index.js diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..48a2e24 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +components +build diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..84395cd --- /dev/null +++ b/Makefile @@ -0,0 +1,11 @@ + +build: components index.js + @component build --dev + +components: + @component install --dev + +clean: + rm -fr build components template.js + +.PHONY: clean diff --git a/Readme.md b/Readme.md new file mode 100644 index 0000000..5eb8690 --- /dev/null +++ b/Readme.md @@ -0,0 +1,12 @@ + +# stack + + Get a stack of `CallSite` objects + +## Installation + + $ component install component/stack + +## License + + MIT diff --git a/component.json b/component.json new file mode 100644 index 0000000..4c84147 --- /dev/null +++ b/component.json @@ -0,0 +1,12 @@ +{ + "name": "stack", + "repo": "component/stack", + "description": "Get a stack of CallSite objects", + "version": "0.0.1", + "keywords": ["stack", "error", "callsite", "debug"], + "dependencies": {}, + "development": {}, + "scripts": [ + "index.js" + ] +} \ No newline at end of file diff --git a/index.js b/index.js new file mode 100644 index 0000000..4741054 --- /dev/null +++ b/index.js @@ -0,0 +1,23 @@ + +/** + * Expose `stack()`. + */ + +module.exports = stack; + +/** + * Return the stack. + * + * @return {Array} + * @api public + */ + +function stack() { + var orig = Error.prepareStackTrace; + Error.prepareStackTrace = function(_, stack){ return stack; }; + var err = new Error; + Error.captureStackTrace(err, arguments.callee); + var stack = err.stack; + Error.prepareStackTrace = orig; + return stack; +} \ No newline at end of file