Skip to content

Go data structures / utilities: backoff, broadcast, concurrent queue, fswatcher, keyed routine manager, linkedlist, promise, memoize, ccontainer, retry, refcount, commonprefix, padding, start/stop/restart goroutines, prng.

License

Notifications You must be signed in to change notification settings

aperturerobotics/util

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Utilities

GoDoc Widget Go Report Card Widget DeepWiki Widget

Various utilities for Go and TypeScript including:

  • backoff: configurable backoff
  • broadcast: channel-based broadcast (similar to sync.Cond)
  • bufio: SplitOnNul is a bufio.SplitFunc that splits on NUL characters
  • ccall: call a set of functions concurrently and wait for error or exit
  • ccontainer: concurrent container for objects
  • commonprefix: find common prefix between strings
  • conc: concurrent processing queue
  • cqueue: concurrent atomic queues (LIFO)
  • csync: sync primitives supporting context arguments
  • debounce-fswatcher: debounce fs watcher events
  • enabled: three-way boolean proto enum
  • exec: wrapper around Go os exec
  • filter: filter strings by regex, prefix, suffix, etc.
  • fsutil: utilities for os filesystem
  • gitcmd: running git from Go
  • gitroot: git repository root finder
  • httplog/fetch: JS Fetch API wrapper with logging for WASM
  • httplog: HTTP request and response logging utilities
  • iocloser: wrap reader/writer with a close function
  • ioproxy: read/write between two different Go streams
  • ioseek: ReaderAtSeeker wraps an io.ReaderAt to provide io.Seeker behavior
  • iosizer: read/writer with metrics for size
  • iowriter: io.Writer implementation with callback function
  • js/fetch: Fetch API wrapper for WASM
  • js/readable-stream: ReadableStream wrapper for WASM
  • js: syscall/js utils for go
  • keyed: key/value based routine management
  • linkedlist: linked list with head/tail
  • memo: memoize a function: call it once and remember results
  • padding: pad / unpad a byte array slice
  • prng: psuedorandom generator with seed
  • promise: promise mechanics for Go (like JS)
  • refcount: reference counter ccontainer
  • result: contains the result tuple from an operation
  • retry: retry an operation in Go
  • routine: start, stop, restart, reset a goroutine
  • scrub: zero a buffer after usage
  • unique: deduplicated list of items by key
  • vmime: validate mime type

License

MIT

About

Go data structures / utilities: backoff, broadcast, concurrent queue, fswatcher, keyed routine manager, linkedlist, promise, memoize, ccontainer, retry, refcount, commonprefix, padding, start/stop/restart goroutines, prng.

Resources

License

Stars

Watchers

Forks

Contributors 4

  •  
  •  
  •  
  •  

Languages