Guava is Google's production-grade core Java library, consumed as a dependency by thousands of projects. It provides high-performance collection types (immutable collections, multimaps, multisets, bimaps, tables), concurrency utilities (ListenableFuture, Futures, RateLimiter, Monitor, Service), a graph model and traversal APIs, caching, hashing, I/O, math, primitives, and string utilities. There are no application entry points, web endpoints, or CLI tools; the repository's "entry points" are the public APIs under com.google.common.*. Architecturally it is a multi-module Maven project with separate JRE and Android flavors, plus GWT/J2CL emulation sources and a dedicated test-support module, guava-testlib. The codebase demonstrates exceptionally high craftsmanship: lock-free concurrency, carefully memory-tuned immutable data structures, custom heap algorithms, and a generic collection-contract testing framework. It is actively maintained with regular releases, GitHub Actions CI, and security scorecard automation. The dual JRE/Android source trees and cross-platform emulation layers require deliberate synchronization, but this complexity is managed rigorously rather than showing signs of abandonment. No data-research or pipeline elements exist; this is a pure library/application dependency, not a data project.
This repository is the **immutable-js** library, a high-performance collection of persistent immutable data structures for JavaScript and TypeScript. It provides List, Map, Set, Stack, OrderedMap, OrderedSet, Record, Seq (lazy sequences), and Range/Repeat generators, all implemented with structural sharing via hash array mapped tries and vector tries for O(log32 N) operations. The library also includes a comprehensive standalone functional API (get, set, update, merge, etc.) that works on plain JS objects/arrays, value equality (Immutable.is), hashing, and deep conversion utilities (fromJS/toJS). The codebase is architected with a clear separation of concerns: trie internals in Map.js/List.js, lazy evaluation in Seq.js, shared mixins in CollectionImpl.js, and utility functions in src/utils/. Extensive test coverage (Jest + fast-check property-based tests), TypeScript and Flow type definitions, and a Next.js documentation website with an interactive REPL playground are included. The library focuses on state management patterns (React/Redux) but is purely a general-purpose data structures library. Maintenance is active with regular releases and security patches.