{ "_args": [ [ { "raw": "stack-trace@0.0.9", "scope": null, "escapedName": "stack-trace", "name": "stack-trace", "rawSpec": "0.0.9", "spec": "0.0.9", "type": "version" }, "/home/jdaugherty/work/GT2/GT2-Android/node_modules/raven" ] ], "_from": "stack-trace@0.0.9", "_id": "stack-trace@0.0.9", "_inCache": true, "_location": "/stack-trace", "_npmUser": { "name": "sebastianhoitz", "email": "hoitz@komola.de" }, "_npmVersion": "1.3.24", "_phantomChildren": {}, "_requested": { "raw": "stack-trace@0.0.9", "scope": null, "escapedName": "stack-trace", "name": "stack-trace", "rawSpec": "0.0.9", "spec": "0.0.9", "type": "version" }, "_requiredBy": [ "/raven" ], "_resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz", "_shasum": "a8f6eaeca90674c333e7c43953f275b451510695", "_shrinkwrap": null, "_spec": "stack-trace@0.0.9", "_where": "/home/jdaugherty/work/GT2/GT2-Android/node_modules/raven", "author": { "name": "Felix Geisendörfer", "email": "felix@debuggable.com", "url": "http://debuggable.com/" }, "bugs": { "url": "https://github.com/felixge/node-stack-trace/issues" }, "dependencies": {}, "description": "Get v8 stack traces as an array of CallSite objects.", "devDependencies": { "far": "0.0.3", "long-stack-traces": "0.1.2" }, "directories": {}, "dist": { "shasum": "a8f6eaeca90674c333e7c43953f275b451510695", "tarball": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz" }, "engines": { "node": "*" }, "homepage": "https://github.com/felixge/node-stack-trace", "main": "./lib/stack-trace", "maintainers": [ { "name": "felixge", "email": "felix@debuggable.com" }, { "name": "tim-smart", "email": "tim@fostle.com" }, { "name": "sebastianhoitz", "email": "hoitz@komola.de" } ], "name": "stack-trace", "optionalDependencies": {}, "readme": "# stack-trace\n\nGet v8 stack traces as an array of CallSite objects.\n\n## Install\n\n``` bash\nnpm install stack-trace\n```\n\n## Usage\n\nThe stack-trace module makes it easy for you to capture the current stack:\n\n``` javascript\nvar stackTrace = require('stack-trace');\nvar trace = stackTrace.get();\n\nrequire('assert').strictEqual(trace[0].getFileName(), __filename);\n```\n\nHowever, sometimes you have already popped the stack you are interested in,\nand all you have left is an `Error` object. This module can help:\n\n``` javascript\nvar stackTrace = require('stack-trace');\nvar err = new Error('something went wrong');\nvar trace = stackTrace.parse(err);\n\nrequire('assert').strictEqual(trace[0].getFileName(), __filename);\n```\n\nPlease note that parsing the `Error#stack` property is not perfect, only\ncertain properties can be retrieved with it as noted in the API docs below.\n\n## Long stack traces\n\nstack-trace works great with [long-stack-traces][], when parsing an `err.stack`\nthat has crossed the event loop boundary, a `CallSite` object returning\n`'----------------------------------------'` for `getFileName()` is created.\nAll other methods of the event loop boundary call site return `null`.\n\n[long-stack-traces]: https://github.com/tlrobinson/long-stack-traces\n\n## API\n\n### stackTrace.get([belowFn])\n\nReturns an array of `CallSite` objects, where element `0` is the current call\nsite.\n\nWhen passing a function on the current stack as the `belowFn` parameter, the\nreturned array will only include `CallSite` objects below this function.\n\n### stackTrace.parse(err)\n\nParses the `err.stack` property of an `Error` object into an array compatible\nwith those returned by `stackTrace.get()`. However, only the following methods\nare implemented on the returned `CallSite` objects.\n\n* getTypeName\n* getFunctionName\n* getMethodName\n* getFileName\n* getLineNumber\n* getColumnNumber\n* isNative\n\nNote: Except `getFunctionName()`, all of the above methods return exactly the\nsame values as you would get from `stackTrace.get()`. `getFunctionName()`\nis sometimes a little different, but still useful.\n\n### CallSite\n\nThe official v8 CallSite object API can be found [here][v8stackapi]. A quick\nexcerpt:\n\n> A CallSite object defines the following methods:\n>\n> * **getThis**: returns the value of this\n> * **getTypeName**: returns the type of this as a string. This is the name of the function stored in the constructor field of this, if available, otherwise the object's [[Class]] internal property.\n> * **getFunction**: returns the current function\n> * **getFunctionName**: returns the name of the current function, typically its name property. If a name property is not available an attempt will be made to try to infer a name from the function's context.\n> * **getMethodName**: returns the name of the property of this or one of its prototypes that holds the current function\n> * **getFileName**: if this function was defined in a script returns the name of the script\n> * **getLineNumber**: if this function was defined in a script returns the current line number\n> * **getColumnNumber**: if this function was defined in a script returns the current column number\n> * **getEvalOrigin**: if this function was created using a call to eval returns a CallSite object representing the location where eval was called\n> * **isToplevel**: is this a toplevel invocation, that is, is this the global object?\n> * **isEval**: does this call take place in code defined by a call to eval?\n> * **isNative**: is this call in native V8 code?\n> * **isConstructor**: is this a constructor call?\n\n[v8stackapi]: http://code.google.com/p/v8/wiki/JavaScriptStackTraceApi\n\n## License\n\nstack-trace is licensed under the MIT license.\n", "readmeFilename": "Readme.md", "repository": { "type": "git", "url": "git://github.com/felixge/node-stack-trace.git" }, "version": "0.0.9" }