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
MIT