* feat: support std errors functions
add function `Is`, `As` and `Unwrap`, like std errors, so that we can
continue to use pkg/errors with go1.13 compatibility
Signed-off-by: Sherlock Holo <sherlockya@gmail.com>
* style: delete useless comments
Signed-off-by: Sherlock Holo <sherlockya@gmail.com>
* build: update makefile
update makefile to download dependencies before test anything
Signed-off-by: Sherlock Holo <sherlockya@gmail.com>
* build: fix makefile
Signed-off-by: Sherlock Holo <sherlockya@gmail.com>
* chore: delete useless comments
Signed-off-by: Sherlock Holo <sherlockya@gmail.com>
* Restore Makefile
* revert: revert some change
some change are doing by PR #206 and #212 , so I don't need to do it
Signed-off-by: Sherlock Holo <sherlockya@gmail.com>
* test: add more check for As unit test
Signed-off-by: Sherlock Holo <sherlockya@gmail.com>
* revert: only support Is As Unwrap for >=go1.13
Signed-off-by: Sherlock Holo <sherlockya@gmail.com>
* feat(Unwrap): allow <go1.13 can use Unwrap
`Unwrap` just use type assert, it doesn't need go1.13 actually
Signed-off-by: Sherlock Holo <sherlockya@gmail.com>
* test: add go1.13 errors compatibility check
Signed-off-by: Sherlock Holo <sherlockya@gmail.com>
* refactor(Unwrap): don't allow <go1.13 use Unwrap
If we implement Unwrap ourselves, may create a risk of incompatibility
if Go 1.14 subtly changes its `Unwrap` implementation.
<go1.13 users doesn't have `Is` or `As`, if they want, they will use
xerrors and it also provides `Unwrap`
Signed-off-by: Sherlock Holo <sherlockya@gmail.com>