{"repo":"bradenaw/juniper","free":true,"listed":false,"github":"https://github.com/bradenaw/juniper","clone":"git clone https://github.com/bradenaw/juniper.git","description":"Juniper is an extension to the Go standard library using generics, including containers, iterators, and streams.","language":"Go","stars":512,"topics":["golang","go","data-structures","library"],"license":"MIT","category":"deployment-docker-iac","readme_excerpt":"Juniper Juniper is a library of extensions to the Go standard library using generics, including containers, iterators, and streams. - container/tree contains a Map and Set that keep elements in sorted order. They are implemented using a B-tree, which performs better than a binary search tree. - container/deque contains a double-ended queue implemented with a ring buffer. - container/xheap contains a min-heap similar to the standard library's container/heap but more ergonomic, along with a PriorityQueue that allows setting priorities by key. - container/xlist contains a linked-list similar to the standard library's container/list , but type-safe. - xslices contains some commonly-used slice operations, like Chunk , Reverse , Clear , and Join . - iterator contains an iterator interface used by the containers, along with functions to manipulate them, like Map , While , and Reduce . - stream contains a stream interface, which is an iterator that can fail. Useful for iterating over collections that require I/O. It has most of the same combinators as iterator , plus some extras like Pipe and Batch . - parallel contains some shorthand for common uses of goroutines to process slices, iterators, and streams in parallel, like parallel.MapStream . - xsort contains extensions to the standard library package sort . Notably, it also has the definition for xsort.Less , which is how custom orderings can be defined for sorting and also for ordered collections like from container/tree . - You c","default_branch":null,"files":null,"tree":[],"storefront":"/r/bradenaw","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/bradenaw/juniper/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}