Socket
Socket
Sign inDemoInstall

callsite-record

Package Overview
Dependencies
Maintainers
1
Versions
19
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

callsite-record - npm Package Compare versions

Comparing version 3.2.2 to 4.0.0

22

lib/index.js

@@ -77,3 +77,7 @@ var fs = require('fs');

function processFrames (stackFrames, processFn) {
return processFn ? stackFrames.map(processFn) : stackFrames;
}
// CallsiteRecord

@@ -234,3 +238,3 @@ var CallsiteRecord = function (filename, lineNum, callsiteFrameIdx, stackFrames) {

// Static
CallsiteRecord.fromStackFrames = function (stackFrames, fnName, typeName) {
CallsiteRecord.fromStackFrames = function (stackFrames, fnName, typeName, processFrameFn) {
if (typeName && fnName === 'constructor')

@@ -248,2 +252,4 @@ fnName = typeName;

if (callsiteFrameIdx !== null) {
stackFrames = processFrames(stackFrames, processFrameFn);
var callsiteFrame = stackFrames[callsiteFrameIdx];

@@ -263,3 +269,3 @@ var filename = callsiteFrame.getFileName();

CallsiteRecord.fromError = function (error, isCallsiteFrame) {
CallsiteRecord.fromError = function (error, isCallsiteFrame, processFrameFn) {
var stackFrames = parseStack(error);

@@ -278,2 +284,4 @@

if (stackFrames.length) {
stackFrames = processFrames(stackFrames, processFrameFn);
var filename = stackFrames[0].getFileName();

@@ -290,7 +298,7 @@ var lineNum = stackFrames[0].getLineNumber() - 1;

// API
module.exports = function createCallsiteRecord (/* err, isCallsiteFrame || fnName, typeName */) {
if (arguments[0] instanceof Error)
return CallsiteRecord.fromError(arguments[0], arguments[1]);
module.exports = function createCallsiteRecord (options) { /*{ forError, isCallsiteFrame, byFunctionName, typeName, processFrameFn }*/
if (options.forError)
return CallsiteRecord.fromError(options.forError, options.isCallsiteFrame, options.processFrameFn);
else if (typeof arguments[0] === 'string') {
else if (options.byFunctionName) {
var stackFrames = callsite();

@@ -301,3 +309,3 @@

return CallsiteRecord.fromStackFrames(stackFrames, arguments[0], arguments[1]);
return CallsiteRecord.fromStackFrames(stackFrames, options.byFunctionName, options.typeName, options.processFrameFn);
}

@@ -304,0 +312,0 @@

{
"name": "callsite-record",
"version": "3.2.2",
"version": "4.0.0",
"description": "Create fancy log entries for errors and function call sites.",

@@ -5,0 +5,0 @@ "main": "lib/index.js",

@@ -20,3 +20,3 @@ # callsite-record

catch(err) {
console.log(createCallsiteRecord(err).renderSync());
console.log(createCallsiteRecord({ forError: err }).renderSync());
}

@@ -41,3 +41,3 @@

(function func1 () {
console.log(createCallsiteRecord('func2').renderSync());
console.log(createCallsiteRecord({ byFunctionName: 'func2' }).renderSync());
})();

@@ -63,3 +63,3 @@ }

## API
### createCallsiteRecord(error, [isCallsiteFrame]) → CallsiteRecord
### createCallsiteRecord( { forError, isCallsiteFrame, processFrameFn }) → CallsiteRecord

@@ -78,10 +78,10 @@ You can generate a callsite for any stack frame, not only the topmost one. Use the `isCallsiteFrame` function to select

catch(err) {
const record = createCallsiteRecord(err);
const record = createCallsiteRecord({ forError: err });
}
```
### createCallsiteRecord(functionName, [typeName]) → CallsiteRecord
### createCallsiteRecord({ byFunctionName, typeName, processFrameFn }) → CallsiteRecord
Creates `CallsiteRecord` for the function up in the call stack specified by `functionName`. You can optionally specify a
`typeName` if the function is a method. If the function is a constructor set `functionName` to `constructor`.
Creates `CallsiteRecord` for the function up in the call stack specified by `byFunctionName`. You can optionally specify a
`typeName` if the function is a method. If the function is a constructor set `byFunctionName` to `constructor`.

@@ -95,3 +95,3 @@ *Example:*

(function func3() {
const record = createCallsiteRecord('func2');
const record = createCallsiteRecord({ byFunctionName: 'func2' });
})();

@@ -102,2 +102,26 @@ })();

You can specify `processFrameFn` function, which will process every frame in callstack. It's usefull when you need to
enable frame processing like `source-maps-support`.
*Example:*
```js
const createCallsiteRecord = require('callsite-record');
const wrapCallSite = require('source-map-support').wrapCallSite;
try {
throw new Error("We're doomed");
}
catch(err) {
const record = createCallsiteRecord({ forError: err, processFrameFn: wrapCallSite });
}
(function func1() {
(function func2() {
(function func3() {
const record = createCallsiteRecord({ byFunctionName: 'func2', processFrameFn: wrapCallSite });
})();
})();
})();
```
### CallsiteRecord

@@ -104,0 +128,0 @@ #### CallsiteRecord.render([renderOptions]) → Promise<String>

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc