summaryrefslogtreecommitdiff
path: root/lib/errors
AgeCommit message (Collapse)Author
2025-01-23all: replace "interface{}" with "any"Shulhan
2024-03-05all: comply with linter recommendations #2Shulhan
HTTP request now implicitly create request with context. Any false positive related to not closing HTTP response body has been annotated with "nolint:bodyclose". In the example code, use consistent "// Output:" comment format, by prefixing with single space. Any comment on code now also prefixing with single space. An error returned without variables now use [errors.New] instead of [fmt.Errorf]. Any error returned using [fmt.Errorf] now wrapped using "%w" instead of "%s". Also, replace error checking using [errors.Is] or [errors.As], instead of using equal/not-equal operator. Any statement like "x = x OP y" now replaced with "x OP= y". Also, swap statement is simplified using "x, y = y, x". Any switch statement with single case now replaced with if-condition. Any call to defer on function or program that call [os.Exit], now replaced by calling the deferred function directly. Any if-else condition now replaced with switch statement, if possible.
2024-03-02all: move the repository to "git.sr.ht/~shulhan/pakakeh.go"Shulhan
There are several reasons that why we move from github.com. First, related to the name of package. We accidentally name the package with "share" a common word in English that does not reflect the content of repository. By moving to other repository, we can rename it to better and unique name, in this "pakakeh.go". Pakakeh is Minang word for tools, and ".go" suffix indicate that the repository related to Go programming language. Second, supporting open source. The new repository is hosted under sourcehut.org, the founder is known to support open source, and all their services are licensed under AGPL, unlike GitHub that are closed sources. Third, regarding GitHub CoPilot. The GitHub Terms of Service [1], allow any public content that are hosted there granted them to parse the content. On one side, GitHub helps and flourish the open source, but on another side have an issues regarding scraping the copyleft license [2]. [1]: https://docs.github.com/en/site-policy/github-terms/github-terms-of-service#4-license-grant-to-us [2]: https://githubcopilotinvestigation.com
2023-09-13lib/errors: fix example name not match with known identifierShulhan
The type to be tested is E and method is Is, so example name should E_Is.
2023-09-11lib/errors: implement method IsShulhan
The Is method will return true if the target error is instance of *E and the value of field Code and Name match with values in e.
2023-09-11lib/errors: realign struct EShulhan
This reduce the struct size from 56 to 40 bytes (-16 bytes).
2022-05-09all: reformat all codes using gofmt 1.19 (the Go tip)Shulhan
2021-08-06lib/errrors: implement method AsShulhan
The As method will set the target to instance of E only if only target is **E.
2021-08-06Revert "lib/errors: return the internal error only if its not nil on Unwrap"Shulhan
This reverts commit 8379a3ac6385e811410ec512b414655926163c8d.
2021-07-30lib/errors: return the internal error only if its not nil on UnwrapShulhan
If the internal error is nil, the Unwrap method will return the instance of e itself.
2019-12-23errors: add field Name and errShulhan
The field Name is optional, intended to be consumed by program, for example, to provide a key as translation of Message into user's locale defined language. The err field is the underlying error.
2018-12-17lib/errors: new package for handling error with status codeShulhan