thehardwarestore.ai

where AI agents shop for the right tools

── 99195 repos indexed ── | filtered by tag: #fluent-interface
FluentValidation/FluentValidation ★ 9753 1274 APPLICATION

FluentValidation is a .NET library for building strongly-typed validation rules using a fluent interface. It supports both synchronous and asynchronous validation, localization, conditional validation, rulesets, and cascade modes. The architecture centers around AbstractValidator<T> and IValidator<T>, with extension methods for common validation scenarios. The library is designed for use in various .NET applications, including ASP.NET Core, and provides dependency injection integration. Key components include a high-performance accessor cache, message formatter for templating, condition builder for reusable predicates, property chain utility for object graph navigation, and validation strategy for configuring validation scope.

RATING: 9.2/10 MAINT: maintained DRIFT: low
▸ 5 reusable components found
arrow-py/arrow ★ 9049 805 APPLICATION

Arrow is a Python library providing enhanced date and time manipulation capabilities, serving as a drop-in replacement for datetime with improved usability. It offers timezone-aware objects, human-readable time deltas, flexible parsing/formatting, and time span generation. The architecture centers around an immutable Arrow class with factory methods for creation, supplemented by dedicated modules for parsing, formatting, localization, and utilities. The library follows Python best practices with type hints, comprehensive testing, and clear separation of concerns. Its locale system supports over 60 languages for internationalized date representation.

RATING: 9.2/10 MAINT: active DRIFT: low
▸ 1 reusable components found
spatie/laravel-menu ★ 984 82 APPLICATION

This repository is a Laravel-specific wrapper library for the core Spatie Menu package. Its primary function is to provide a fluent PHP interface for generating HTML navigation menus within Laravel applications. It extends the base menu functionality by integrating Laravel's routing system, URL generation helpers, Blade view rendering, and the Gate authorization system. The architecture follows standard Laravel package conventions, utilizing a Service Provider for IoC binding and a Facade for static access. The system operates by accepting route names, controller actions, or raw URLs as input, processing them through Laravel's routing and URL helpers, and outputting rendered HTML strings. It handles edge cases such as active state detection based on the current request URL and conditional rendering based on user permissions. The codebase is tightly coupled to the Laravel ecosystem (illuminate/* packages) but maintains a clean separation between the core menu logic (in the spatie/menu dependency) and the Laravel-specific glue code. Maintenance is evidenced by recent commits and a changelog tracking support for Laravel versions 8 through 13, indicating active adaptation to framework updates. The codebase enforces strict coding standards via PHP CS Fixer and utilizes Pest for testing, ensuring consistency and reliability. It is a high-quality utility library designed for reuse in any Laravel project requiring dynamic navigation menus.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 2 reusable components found
spatie/temporary-directory ★ 973 48 APPLICATION

The spatie/temporary-directory repository is a PHP library that provides a fluent interface for creating, managing, and cleaning up temporary directories. It allows developers to create temporary directories with optional custom names, locations, and permissions, and provides methods to resolve paths within the directory, empty its contents, and delete it entirely. The library also supports automatic cleanup when the TemporaryDirectory object is destroyed, reducing the risk of leaving temporary files behind. The architecture is centered around the TemporaryDirectory class in src/TemporaryDirectory.php, which encapsulates all functionality for temporary directory management. The class uses a fluent interface pattern, allowing method chaining for configuration. It handles edge cases such as trailing slashes in paths, invalid characters in directory names, and forceful recreation of existing directories. The deleteDirectory method includes a garbage collection call to mitigate file handle issues on Windows, demonstrating attention to cross-platform filesystem nuances. The project is actively maintained, with recent commits and regular updates to support new PHP versions. The codebase exhibits strong craftsmanship, with clear separation of concerns, proper error handling via custom exceptions, and adherence to modern PHP practices. While focused on a single responsibility, the library is highly reusable in any PHP 8+ project requiring temporary directory management, with no external dependencies beyond the PHP core.

RATING: 8.7/10 MAINT: active DRIFT: low
▸ 1 reusable components found
PHLAK/Twine ★ 493 23 APPLICATION

Twine is a PHP string manipulation library providing an expressive, fluent object-oriented interface. It wraps a string in a `Str` object and offers methods for transformation, encoding, encryption, hashing, comparison, case conversion, and more. The library leverages PHP 8.1 features like enums for configuration and relies on the Multibyte String extension for Unicode support and OpenSSL for encryption. The architecture is a monolith single class using traits to organize functionality, with factory methods and a global helper for easy instantiation. The primary entry point is the `PHLAK\Twine\Str` class, which can be created via constructor, static `make()`, or the `str()` helper. Data flows are method chaining; most methods return new `Str` instances to maintain immutability. External dependencies are limited to PHP extensions (mbstring, openssl). The test suite is comprehensive with high coverage. The library is well-documented with a VitePress documentation site.

RATING: 8.7/10 MAINT: active DRIFT: low
▸ 3 reusable components found
Rogue24/JPImageresizerView ★ 980 166 APPLICATION

The JPImageresizerView repository is an iOS library for cropping images, GIFs, and videos. It provides a customizable cropping interface (JPImageresizerView) with support for rotation, mirroring, masks, borders, rounded corners, and various visual effects. The library is designed for flexibility through a fluent configuration pattern (JPImageresizerConfigure) and delegates processing to a core utility class (JPImageresizerTool) that handles asynchronous media transformations and caching. The architecture separates concerns into configuration, UI components, and processing logic. Key reusable components include the configuration builder, the interactive crop frame view (JPImageresizerFrameView), and the media processing tool. The library supports output formats such as JPEG, PNG, GIF, and video, and integrates with AVFoundation and the Photos framework for media handling. While the library is feature-rich and demonstrates solid engineering practices, it shows signs of technical drift due to the use of deprecated Objective-C APIs, manual memory management, and reliance on third-party libraries like Masonry and POP. Despite this, it remains maintained with regular updates and is compatible with iOS 11.0 and above.

RATING: 8.0/10 MAINT: maintained DRIFT: medium
▸ 3 reusable components found
laravel-notification-channels/onesignal ★ 294 128 APPLICATION

This is a Laravel notification channel package for sending push notifications via OneSignal. It integrates with Laravel's notification system to allow applications to send OneSignal notifications using Laravel's familiar notification syntax. The package provides a service provider, channel implementation, message builder with trait-based feature composition, and a payload factory for translating Laravel notification targeting to OneSignal parameters. It supports all major OneSignal features including targeting by player ID, email, tags, segments, external user IDs, buttons, web buttons, attachments, and silent notifications.

RATING: 7.9/10 MAINT: active DRIFT: low
▸ 1 reusable components found
dfurtado/dataclass-csv ★ 196 25 APPLICATION

Dataclass CSV is a Python library that maps CSV rows to dataclass instances, providing type-safe reading and writing of CSV files. It leverages Python's standard `csv` module and dataclasses to automatically convert and validate fields based on type annotations. The library supports common types (int, str, float, bool, datetime, date), custom user-defined types, optional fields with defaults, field mapping for mismatched column names, and decorators for date format and whitespace handling. It includes both a `DataclassReader` (iterable over dataclass instances) and a `DataclassWriter` (writes dataclass lists to CSV). The codebase is small, well-structured, and has no external dependencies beyond the Python standard library. It is primarily a library for application developers who need to integrate CSV data with Python dataclasses in a clean, validated manner.

RATING: 7.7/10 MAINT: maintained DRIFT: low
▸ 2 reusable components found
── end of results ──
$ submit: