Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/gastonpereyra/press-f

When an Error happens, press "f" to pay respect
https://github.com/gastonpereyra/press-f

error funny memes

Last synced: 8 days ago
JSON representation

When an Error happens, press "f" to pay respect

Awesome Lists containing this project

README

        

# Press F

![Build Status](https://github.com/gastonpereyra/press-f/workflows/Build%20Status/badge.svg)
[![Coverage Status](https://img.shields.io/coveralls/github/gastonpereyra/press-f/master.svg)](https://coveralls.io/r/gastonpereyra/press-f?branch=master)

![npmF](https://user-images.githubusercontent.com/39351850/90847511-113fe180-e341-11ea-9676-12964f43a55a.png)

## Description
When an Error happens, press "f" to pay respect. A funny replace to Error class.

## Installation

```
npm i press-f
```

## Usage

### new F(message)

Replace of `new Error('some message')`

```js
const F = require('press-f');

if(shouldNotHappen())
throw new F('This should not happen because i don\'t like it');

/*
output:
throw new F(This should not happen because i don\'t like it');
^

Press F: This should not happen because i don't like it
at ...
*/
```

### new F()

Replace of `new Error()`

```js
const F = require('press-f');

if(shouldNotHappen())
throw new F();

/*
output:
throw new F();
^

Press F: Pay Respect
at ...
*/
```

### new F(message, name)

Replace of `new Error(message)` but change Error name for a custom one, if `name` is *string*

```js
const F = require('press-f');

if(shouldNotHappen())
throw new F('I don\'t care', 'This is not an Error');

/*
output:
throw new F();
^

This is not an Error: I don't care
at ...
*/
```

## Utils

### previousError

If `F` create from another Error can get this one using the getter `previousError`

```js
const F = require('press-f');

try {

shouldNotHappen();

} catch (error) {
throw new F(error, 'Custom');
}

/*
output:
throw new F(error, 'Custom');
^

Custom: Error: 'Old Error'
at ...

name: 'Custom',
previousError: Error: 'Old Error'
at ...
*/
```