All Projects → donutloop → Toolkit

donutloop / Toolkit

Licence: mit
Collection of useful patterns

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Toolkit

Dogen
Reference implementation of the MASD Code Generator.
Stars: ✭ 44 (-67.88%)
Mutual labels:  code-generation, code-generator
Flowa
🔥Service level control flow for Node.js
Stars: ✭ 66 (-51.82%)
Mutual labels:  api, promise
Before After Hook
wrap methods with before/after hooks
Stars: ✭ 49 (-64.23%)
Mutual labels:  api, promise
Go Swagger
Swagger 2.0 implementation for go
Stars: ✭ 7,058 (+5051.82%)
Mutual labels:  api, code-generator
Blizzard.js
A promise-based Node.JS library for the Blizzard Battle.net Community Platform API
Stars: ✭ 113 (-17.52%)
Mutual labels:  api, promise
Fritzbox.js
☎️ The leading AVM Fritz!Box API for NodeJS and JavaScript.
Stars: ✭ 36 (-73.72%)
Mutual labels:  api, promise
Gollback
Go asynchronous simple function utilities, for managing execution of closures and callbacks
Stars: ✭ 55 (-59.85%)
Mutual labels:  promise, retry
Event bus
🏄 Traceable, extendable and minimalist **event bus** implementation for Elixir with built-in **event store** and **event watcher** based on ETS.
Stars: ✭ 563 (+310.95%)
Mutual labels:  event-sourcing, message-bus
Geco
Simple code generator based on a console project, running on .Net core and using C# interpolated strings
Stars: ✭ 97 (-29.2%)
Mutual labels:  code-generation, code-generator
Goreuse
Generic Code for Go
Stars: ✭ 93 (-32.12%)
Mutual labels:  code-generation, code-generator
Rapid.js
An ORM-like Interface and a Router For Your API Requests
Stars: ✭ 700 (+410.95%)
Mutual labels:  api, promise
Fluentmediator
🔀 FluentMediator is an unobtrusive library that allows developers to build custom pipelines for Commands, Queries and Events.
Stars: ✭ 128 (-6.57%)
Mutual labels:  event-sourcing, message-bus
Arq
Fast job queuing and RPC in python with asyncio and redis.
Stars: ✭ 695 (+407.3%)
Mutual labels:  concurrent, worker
Routine
go routine control, abstraction of the Main and some useful Executors.如果你不会管理Goroutine的话,用它
Stars: ✭ 40 (-70.8%)
Mutual labels:  concurrent, retry
Colfer
binary serialization format
Stars: ✭ 597 (+335.77%)
Mutual labels:  code-generation, code-generator
Scala Db Codegen
Scala code/boilerplate generator from a db schema
Stars: ✭ 49 (-64.23%)
Mutual labels:  code-generation, code-generator
Laravel Code Generator
An intelligent code generator for Laravel framework that will save you time! This awesome tool will help you generate resources like views, controllers, routes, migrations, languages and/or form-requests! It is extremely flexible and customizable to cover many on the use cases. It is shipped with cross-browsers compatible template, along with a client-side validation to modernize your application.
Stars: ✭ 485 (+254.01%)
Mutual labels:  code-generation, code-generator
Hamsters.js
100% Vanilla Javascript Multithreading & Parallel Execution Library
Stars: ✭ 517 (+277.37%)
Mutual labels:  concurrent, worker
Mid
mid is a generic domain-specific language for generating code and documentation
Stars: ✭ 68 (-50.36%)
Mutual labels:  code-generation, code-generator
Artman
Artifact Manager, a build and packaging tool for Google API client libraries.
Stars: ✭ 123 (-10.22%)
Mutual labels:  api, code-generation

toolkit

Build Status Coverage Status Go Report Card

Introduction

These patterns can you use to solve common problems when designing an application or system.

Requirements

  • golang >=1.11.x - The Go Programming Language

Installation

go get github.com/donutloop/toolkit/{any_package}

Example

go get github.com/donutloop/toolkit/worker

Patterns

Examples

In each sub directory is a set of examples

Code generation

Currently, it's only compatiable with version 2.x.x

The code generation tool generates for a pattern an none generic version for spefici type

Supported pattern

Build

mkdir -p $GOPATH/src/github.com/donutloop/ && cd $GOPATH/src/github.com/donutloop/

git clone [email protected]:donutloop/toolkit.git

cd toolkit

go install ./cmd/xcode

Usage

USAGE
  xcode [flags]

FLAGS
  -in     input file
  -out    output file
  -pkg    package name
  -type   type

Example generation

xcode -in $GOPATH/src/github.com/donutloop/toolkit/worker/worker.go -out $GOPATH/src/github.com/donutloop/toolkit/worker/new_worker.go -pkg test -type int32 

Example call for generated code

workerHandler := func(v int32) {
    fmt.Println(v)
}

queue := worker.New(2, workerHandler, 10)

queue <- int32(3)

Contribution

Thank you for considering to help out with the source code! We welcome contributions from anyone on the internet, and are grateful for even the smallest of fixes!

If you'd like to contribute to toolkit, please fork, fix, commit and send a pull request for the maintainers to review and merge into the main code base to ensure those changes are in line with the general philosophy of the project and/or get some early feedback which can make both your efforts much lighter as well as our review and merge procedures quick and simple.

Please read and follow our Contributing.

Code of Conduct

Please read and follow our Code of Conduct.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].