A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/cabinjs/parse-err below:

cabinjs/parse-err: Parse errors to provide a consistent metadata object across Browser and Node environments. Made for Cabin and Lad.

Parse errors to provide a consistent metadata object across Browser and Node environments. Made for Cabin.

npm:

This package exports a function that accepts two arguments (err, props).

This function iterates over the prototype of the error and the error itself to get all non-Function properties and returns these properties as an object.

Normally if you console.log(err) it will not show you all fields such as type, statusCode, or code (e.g. if you're using Stripe).

In our case, we wanted to store these properties in our logs with Cabin.

As of v1.0.0 it now parses err.errors Array too – which adds support for packages such as maybe-combine-errors and combine-errors. This is useful if you combine multiple errors into one Error object, and subsequently set a property of err.errors = errors where errors is an Array of the errors combined.

const parseErr = require('parse-err');

const err = new Error('Oops!');

// just a random example
err.name = 'BeepBoop';
err.code = 100;
err.statusCode = 200;

console.error(parseErr(err));
{ name: 'BeepBoop',
  message: 'Oops!',
  stack: 'BeepBoop: Oops!\n    at Object.<anonymous> (/Users/user/Projects/parse-err/test.js:3:13)\n    at Module._compile (module.js:652:30)\n    at Object.Module._extensions..js (module.js:663:10)\n    at Module.load (module.js:565:32)\n    at tryModuleLoad (module.js:505:12)\n    at Function.Module._load (module.js:497:3)\n    at Function.Module.runMain (module.js:693:10)\n    at startup (bootstrap_node.js:188:16)\n    at bootstrap_node.js:609:3',
  code: 100,
  statusCode: 200 }
<script src="https://unpkg.com/parse-err"></script>
<script type="text/javascript">
  (function() {
    var err = new Error('Oops!');
    err.name = 'BeepBoop';
    err.statusCode = 500;
    console.error(parseErr(err));
  })();
</script>

If you are using browserify, webpack, rollup, or another bundler, then you can follow the same usage as Node above.

MIT © Nick Baugh


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4