FRDIntent is an iOS library designed to decouple view controller navigation through two primary mechanisms: an Intent-like system for internal app navigation (inspired by Android's Intent) and a URL router for handling deep links and app-to-app communication. The library separates these two concerns to avoid the limitations of tightly coupled navigation code, allowing developers to register view controllers against intent actions or URL patterns and launch them without direct dependencies. The architecture employs a protocol-oriented design where view controllers conform to protocols like `FRDIntentReceivable` to declare their ability to handle incoming intents. Core components include a singleton `FRDControllerManager` for managing internal navigation and a `FRDURLRoutes` singleton for processing incoming URLs. The URL routing system utilizes a Trie data structure (implemented in `Trie.swift`) for efficient pattern matching, supporting dynamic placeholders in URL paths (e.g., `/post/:postId`). Additionally, the library provides mechanisms for passing data between view controllers and handling results via callbacks, mirroring Android's `startActivityForResult` pattern. While the library demonstrates solid engineering practices—such as the reusable Trie implementation and clear separation of internal/external navigation concerns—it relies on singletons that may complicate testing and dependency injection. Recent updates (as indicated by the last commit in 2026) show the adoption of modern Swift concurrency features (`@MainActor`, `Task`), though some documentation and configuration files (like the README and podspec) exhibit inconsistencies regarding supported iOS and Swift versions. The inclusion of a demo app and unit tests aids in understanding and verifying the library's functionality.
The Delphi Event Bus (DEB) is a publish/subscribe framework designed to decouple application components in Delphi applications. It provides an attribute-based API for declaring subscribers, supports thread-specific event delivery (main, background, async), and enables contextual routing of events. The library is built on Delphi's RTTI system to automatically discover and register subscriber methods marked with custom attributes. The architecture centers around a central event bus (accessible via a global singleton or multiple instances) that manages subscriptions and dispatches events. Core components include subscription management (EventBus.Core.pas), RTTI helpers for attribute discovery (EventBus.Helpers.pas), and subscription data structures (EventBus.Subscribers.pas). The library demonstrates strong engineering practices through its thread-safe implementation, comprehensive test suite using DUnitX, and multiple sample applications showcasing usage in VCL and FireMonkey contexts. Key features include interface-typed events for type-safe data transfer, channel-based string messaging, and a dedicated thread pool for background operations (introduced in version 2.1). The library targets Delphi 2010 and later, including Alexandria, and is designed with a 'keep it simple' philosophy, minimizing configuration through convention over configuration.
This repository provides a set of PHP interfaces (contracts) for HTTP client operations, extracted from the Symfony framework. It defines the core abstractions: HttpClientInterface for issuing requests, ResponseInterface for lazy response handling, ChunkInterface for streaming response chunks, and ResponseStreamInterface for iterating over chunks from multiple responses. A full hierarchy of exception interfaces (Transport, Client, Server, Redirection, Timeout, Decoding) is included, along with a reference test suite (HttpClientTestCase) that validates any implementation against a set of comprehensive scenarios. The package contains no concrete implementations; it is purely a contract to ensure interoperability among different HTTP client libraries. The code is clean, well-documented, and leverages modern PHP 8.1 features like mixed types and static return types. It is actively maintained with zero open issues and follows semantic versioning as part of the Symfony contracts.