Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/typekpb/gommander
https://github.com/typekpb/gommander
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/typekpb/gommander
- Owner: typekpb
- License: mit
- Created: 2022-08-27T04:24:52.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2022-09-01T05:45:18.000Z (about 2 years ago)
- Last Synced: 2024-06-21T01:58:50.063Z (5 months ago)
- Language: Go
- Size: 31.3 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# gommander
idea:
pub-sub using golang channels (https://stackoverflow.com/questions/3733761/observer-pattern-in-go-language + https://blog.logrocket.com/how-use-go-channels/)
variable type checking in runtime:
https://stackoverflow.com/questions/6996704/how-to-check-variable-type-at-runtime-in-go-languageevent types:
* https://github.com/google/go-github/blob/master/github/event_types.gouis are:
* event handlers/listeners/observers
* cmd triggerscmds are:
* event publisherevent/event_dispatcher.go responsible for:
* event triggering
* listener registrationtasks are:
* created once event_* triggered
* live until task runs or is cancelled
* trigger progress notification eventsworkflow:
* cmd -> triggers event
* task is an observer for specific event (or cmd?)
* dispatcher calls all the registered listenersfor process dispatch + output reading, used:
* https://github.com/go-cmd/cmdrules for the tasks:
* golang libs
* commands (e.g. unzip/)releases:
https://github.com/wangyoucao577/go-release-action