/util

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.

Primary LanguageGoMIT LicenseMIT

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