Skip to content

Turn your boring errors into expressive outbursts (╯°□°)╯︵ ┻━┻

License

Notifications You must be signed in to change notification settings

markets/flip-on-fail

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Flip On Fail

Turn your boring errors into expressive outbursts (╯°□°)╯︵ ┻━┻

A JavaScript package that adds fun prefixes to error messages. Designed to run seamlessly in both browser environments and Node.js.

⚙️ Installation

npm install flip-on-fail

Or using Yarn:

yarn add flip-on-fail

📚 Usage

// Import the package at the entry point of your application
import flip from 'flip-on-fail'

// Will throw: (╯°□°)╯︵ ┻━┻ This is an error!
throw new Error('This is an error!')

Flips are also enabled when using console.error, because who doesn't love a dramatic table flip during debugging?

// Will throw: (╯°□°)╯︵ ┻━┻ This is a console error message!
console.error('This is a console error message!')

Customizing the prefix

You can define a custom prefix for your error messages. Maybe you like emojis too?

flip.setPrefix('💥')

// Will throw: 💥 This is an error!
throw new Error('This is an error!')

But if you prefer the original ASCII art (you probably do!), here are some alternative table flippers for inspiration:

  • (ノಥ益ಥ)ノ ┻━┻
  • (╯'□')╯︵ ┻━┻
  • ┻━┻ ︵ヽ(`Д´)ノ︵ ┻━┻
  • (┛ಠ_ಠ)┛ 彡 ┻━┻
  • (╯ರ ~ ರ)╯︵ ┻━┻
  • (/¯◡ ‿ ◡)/¯ ~ ┻━┻
  • (┛◉Д◉)┛彡 ┻━┻
  • (╯°.°)╯ ┻━┻
  • (┛✧ω✧)┛ 彡 ┻━┻
flip.setPrefix('┻━┻ ︵ヽ(`Д´)ノ︵ ┻━┻')

At this point you probably messed up enough with the prefix. You can come back to the default one by:

flip.resetPrefix()

Disabling/Enabling

You can temporarily disable or re-enable error flipping:

// Disable error flipping
flip.disable()

// Will throw: This is an error!
throw new Error('This is an error!')

// Re-enable error flipping
flip.enable()

// Will throw: (╯°□°)╯︵ ┻━┻ This is an error!
throw new Error('This is an error!')

🙇 Acknowledgements

  • This project was inspired by the table_flipper Ruby gem.
  • This project was pair-programmed with Copilot and the Claude 3.7 Sonnet model.

👀 Disclaimer

This project is intended as a light-hearted joke and should be used for fun. It adds a bit of humor, but please do not take it too seriously. Feel free to use it to bring some joy and laughter into your coding sessions! Remember, even your code needs a break sometimes, so let it flip out!

🤝 Contributing

(╯°□°)╯︵ ┻━┻ CONTRIBUTIONS? BRING 'EM ON!

We welcome all contributions, whether it's bug fixes or new features. Don't forget to add tests for behaviour changes and run the test suite by:

npm test

Thanks for contributing! Now go fix some errors! ┻━┻ ︵ ¯\(ツ)/¯ ︵ ┻━┻

📜 License

Copyright (c) Marc Anguera Insa. Flip On Fail is released under the MIT License.