Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

lester

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

lester

In-page tracking facade

  • 1.0.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
1
Maintainers
1
Weekly downloads
 
Created
Source

Lester

 “I keep asking myself... Who could have done a thing like this?”

— Lester Nygaard, Fargo S01


Usage

You must initialize either TrackJS or Sentry on the page before calling any of the capture/logging functions, e.g:

<script>
  window._trackJs = {
    token: "YOUR_TOKEN_HERE"
  }
</script>
<script type="text/javascript" src="https://.../tracker.js"></script>
<script type="text/javascript" src="./lester.js"></script>
<script>
  var lester = new Lester();
  lester.log('Now this will work!');
</script>

Multiple Instances

It is possible to use multiple instances within a single web page, each using whichever backend you prefer. For example:

const lester1 = new Lester({backend: Lester.TRACKJS});
const lester2 = new Lester({backend: Lester.SENTRY});

This way you can incrementally update code to use Lester and whichever backend you prefer.

API Reference

Lester

Creates a new Lester instance, allowing you to pass in options.

const lester = new Lester({
  backend: 'auto'
});
Options
NameDescriptionDefault
backendBackend to use. Set to 'sentry' or 'trackjs' to disable autodetection.'auto'

capture

lester.capture(new Error('An error occurred.'));
Mapping
TrackJSSentry
trackJs.trackraven.captureException

attempt

lester.attempt allows you to wrap any function to be immediately executed. Behind the scenes, Lester is just wrapping your code in a try...catch block to record the exception before re-throwing it.

lester.attempt(function() {
  foo(bar.baz);
});
Mapping
TrackJSSentry
trackJs.attemptraven.context

wrap

lester.wrap wraps a function in a similar way to lester.context, but instead of executing the function, it returns a new function.

var myFunction = lester.wrap(function() {
  foo(bar.baz);
});

myFunction()
Mapping
TrackJSSentry
trackJs.watchraven.wrap

wrapAll

lester.wrapAll wraps all functions within a given object.

lester.wrapAll(myModel);
lester.wrapAll(new Model());
Mapping
TrackJSSentry
trackJs.watchAllraven.wrap for each item

log

Log data to the console.

lester.log('Some data');
Mapping
TrackJSSentry
trackJs.console.lograven.captureMessage

set

Set additional metadata to be logged with errors.

lester.set('role', 'editor');
lester.set({ role: 'editor' });
Mapping
TrackJSSentry
trackJs.addMetadataraven.setExtraContext

FAQs

Package last updated on 19 Apr 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

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