toss-expression

A tiny ponyfill for @babel/plugin-proposal-throw-expressions, the syntax from which TypeScript and VS Code do not (yet) support.

Usage no npm install needed!

<script type="module">
  import tossExpression from 'https://cdn.skypack.dev/toss-expression';
</script>

README

Black Lives Matter! Maintenance status Last commit timestamp Open issues Pull requests codecov Source license NPM version semantic-release

toss-expression

While Babel supports throw expressions via plugins, TypeScript and VS Code do not (yet). Hence this five line ponyfill takes the place of the currently-unavailable @babel/plugin-proposal-throw-expressions syntax.

// Though the following is supported by Babel, VS Code/TypeScript will complain
const userToken = secureRequest() || throw new SecureAccessError('badness occurred');

// No errors
const userToken = secureRequest() || toss(new SecureAccessError('badness occurred'));

Installation and Usage

npm install toss-expression
// ESM
import { toss } from 'toss-expression';
console.log(successMessage() || toss('log operation failed'));
// CJS
const { toss } = require('toss-expression');
console.log(successMessage() || toss('log operation failed'));

Documentation

Further documentation can be found under docs/.

Contributing and Support

New issues and pull requests are always welcome and greatly appreciated! 🤩 Just as well, you can star 🌟 this project to let me know you found it useful! ✊🏿 Thank you!

See CONTRIBUTING.md and SUPPORT.md for more information.