1.0.1 • Published 4 months ago

safely-try v1.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
4 months ago

safely-try

Test npm

safelyTry() is an elegant try-catch replacement for JavaScript / TypeScript inspired by Go error handling

Installation

npm i --save safely-try

Usage

Instead of using ugly native try-catch like this

let result;
try {
  result = somethingMightThrowException();
} catch(e) {
  handleTheError(e);
}

you can use safelyTry to do something like this

import safelyTry from 'safely-try';

const { data: result, error } = safelyTry(somethingMightThrowException);
if (error) {
  handleTheError(error);
  return;
}

// synchronous functions
safelyTry(() => 1) === { data: 1, error: undefined }
safelyTry((x, y) => x + y, 1, 2) === { data: 3, error: undefined }
safelyTry(() => { throw '1' }) === { data: undefined, error: '1' }
safelyTry(() => { throw new Error('1') }) === { data: undefined, error: Error('1') }

// asynchronous functions
await safelyTry(async () => Promise.resolve(1)) === { data: 1, error: undefined }
await safelyTry(async (x, y) => Promise.resolve(x + y), 1, 2) === { data: 3, error: undefined }
await safelyTry(async () => Promise.reject('1')) === { data: undefined, error: '1' }
await safelyTry(async () => Promise.reject(new Error('1'))) === { data: undefined, error: Error('1') }
1.0.1

4 months ago

1.0.0

5 months ago

1.0.0-alpha

5 months ago

0.4.1

10 months ago

0.4.3

10 months ago

0.4.2

10 months ago

0.3.2

1 year ago

0.4.0

1 year ago

0.3.1

1 year ago

0.3.0

1 year ago

0.2.5

1 year ago

0.2.4

1 year ago

0.2.3

1 year ago

0.2.2

1 year ago

0.2.1

1 year ago

0.2.0

1 year ago

0.1.0

1 year ago

0.0.1

1 year ago