Skip to content

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

License

Notifications You must be signed in to change notification settings

Xunnamius/toss-expression

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.