gerror
v1.0.16
Published
Mixer for gRPC Error & ECMAScript Error
Downloads
2,665
Maintainers
Readme
GError
Mixer of gRPC Error & ECMAScript Error
Motivation
We are writing async programs with gRPC with Node.js(ECMAScript) so we need to mix gRPC Error & ECMAScript Error.
In order to make it easy, we build GError module
Features
GError.from(anyting: any)
gerror.toJSON()
Examples
TBW
API Reference
class GError
GError
can be used to replace the standard Error
as a drop in replacement.
import { GError } from 'gerror'
const gerror = GError.from(new Error('test'))
GError.stringify(e: any)
Convert anything to a JSON.stringify()
-ed GError
payload
GError.stringify('this is a string error')
// It acepts any type of args
GError.stringify(new Error() as unknown)
wrapAsyncError()
It has been designed to convert a Async to Sync, for example:
async (...args: any[]) => Promise<any>
will be converted to(...args: any[]) => void
Promise<any>
will be converted tovoid
The error will be send via the onError
callback.
import { wrapAsyncError } from 'gerror'
const onError = (e: any) => console.error(e)
const wrapAsync = wrapAsyncError(onError)
const asyncFunc = async () => Promise.reject('rejection')
const syncFunc = wrapAsync(asyncFunc)
// ReturnType<typeof syncFunc> === 'void'
asyncFunc() // <- nothing happens (no unhandled rejections)
// console.error('Rejection')
Resources
History
master v1.0 (Oct 30, 2021)
- Initial code from
wechaty-puppet
module - Add
timeoutPromise()
function
Author
Huan LI (李卓桓), Google Developer Export (GDE), [email protected]
Copyright & License
- Docs released under Creative Commons
- Code released under the Apache-2.0 License
- Code & Docs © 2021 Huan LI <[email protected]>