17 repositorios
Tools for runtime introspection and dynamic type manipulation.
Explore 17 awesome GitHub repositories matching part of an awesome list · Runtime Reflection. Refine with filters or upvote what's useful.
Sea-ORM is an asynchronous SQL object-relational mapper and database toolkit for mapping relational tables to strongly typed objects. It provides a relational database mapper for performing CRUD operations across MySQL, PostgreSQL, and SQLite, and includes a programmatic dynamic query builder for constructing complex SQL statements. The project distinguishes itself by providing a GraphQL schema generator that transforms database entities into typed schemas with built-in pagination and filters. It also features a dedicated database migration tool for defining and applying versioned schema chan
Gets and sets model attributes dynamically at runtime to handle flexible data formats like JSON.
Fx is a dependency injection framework and application lifecycle manager for Go. It functions as a component model container that automates the instantiation and connection of components by analyzing constructor parameters and return values to resolve complex dependency graphs. The framework distinguishes itself through module-based component bundling, which encapsulates related constructors into reusable units to manage visibility and logic. It provides advanced resolution capabilities, including mapping concrete types to interfaces for decoupling, resolving dependency ambiguities via unique
Uses runtime type analysis to match requested dependencies with available providers.
Haxe is a statically typed, multi-target programming language and open-source compiler toolkit that translates a single codebase into native executables and scripts for JavaScript, C++, C#, Java, Python, Lua, PHP, and Flash targets. It provides a unified type system with automatic type inference, a compile-time macro system for code transformation and generation, conditional compilation directives, and a static analysis engine that enforces null safety and eliminates dead code to produce smaller, safer outputs. The language is supported by the HashLink virtual machine, which executes platform
Provides runtime type introspection and dynamic value manipulation through a cross-platform reflection API.
Harmony is a library for modifying, replacing, and decorating compiled .NET and Mono methods during execution without altering binary files on disk. It functions as a runtime method patching tool, a CIL instruction manipulator, and a reflection extension for C#. The project provides mechanisms to intercept method execution, allowing custom code to run before or after original methods while maintaining the existing program flow. It enables the analysis and rewriting of Common Intermediate Language instructions to change the internal logic of compiled methods. The toolkit also includes utiliti
Provides low-level reflection tools to bypass access modifiers and interact with private members.
Object-reflector es una librería de reflexión de objetos en Python y una herramienta de acceso dinámico a atributos. Funciona como un extractor de propiedades de objetos diseñado para recuperar valores del estado interno y de las jerarquías de herencia de un objeto durante el tiempo de ejecución. La librería permite acceder y extraer atributos de objetos privados, protegidos y heredados. Esto facilita la inspección de propiedades internas independientemente de su visibilidad. El proyecto abarca ámbitos como flujos de trabajo de depuración de software, utilidades de pruebas automatizadas y reflexión general en tiempo de ejecución de Python para analizar propiedades de objetos sin modificar el código fuente.
Enables runtime introspection and dynamic retrieval of protected or inherited class properties.
c3c is the compiler for the C3 programming language, transforming source code into executable binaries, static libraries, or dynamic libraries using an LLVM backend. It implements a system based on result-based error handling, scoped memory pooling, and a semantic macro system. The compiler provides first-class support for hardware-backed SIMD vectors that map directly to processor instructions and enables runtime polymorphism through interface-based dynamic dispatch. The project covers a broad set of low-level capabilities, including manual and pooled memory management, inline assembly inte
Provides access to basic type information during program execution.
Autofac es un framework de inyección de dependencias y contenedor de inversión de control para .NET. Funciona como un motor de registro de componentes que desacopla las implementaciones de clases de sus dependencias inyectando los servicios requeridos mediante constructores o propiedades. El proyecto incluye una librería de escaneo de ensamblados para descubrir y registrar automáticamente componentes dentro de binarios compilados basados en criterios de tipo específicos. Proporciona un gestor de ciclo de vida de servicios para controlar la duración de la memoria de los objetos utilizando singletons, instancia por dependencia o alcances de solicitud aislados. El framework cubre un amplio rango de capacidades, incluyendo inyección de dependencias recursiva, resolución de servicios condicional y la organización de registros en módulos reutilizables. También soporta la gestión de alcances de resolución aislados para asegurar que las instancias sean eliminadas correctamente. El sistema se integra con varios entornos, proporcionando mecanismos para el bootstrapping de alojamiento de aplicaciones, inyección de dependencias en funciones serverless y mocking para pruebas automatizadas.
Uses runtime type inspection to automatically identify and inject required services into constructor parameters.
dig es un framework de inyección de dependencias basado en reflexión y un resolvedor de grafos de objetos para Go. Funciona como un contenedor que satisface automáticamente las dependencias de tipo y gestiona la instanciación de redes complejas de objetos durante el inicio de la aplicación. El proyecto utiliza un grafo acíclico dirigido para determinar la secuencia necesaria para la instanciación de objetos y emplea el mapeo de proveedores basado en interfaces para desacoplar las implementaciones concretas de sus interfaces satisfechas. Resuelve la jerarquía de objetos mediante la resolución de tipos basada en reflexión y el cableado de componentes de una sola pasada para garantizar que se cumplan todos los requisitos antes de la ejecución.
Uses runtime type analysis and Go reflection to match dependency requests with available providers.
MvvmCross es un framework .NET MVVM diseñado para construir aplicaciones multiplataforma separando la lógica de negocio de las interfaces de usuario nativas. Funciona como un motor de navegación y una librería de enlace de datos de UI, permitiendo la encapsulación de la lógica dentro de view models que se reutilizan en diferentes sistemas operativos. El framework proporciona una capa de abstracción de hardware nativa y un contenedor de inyección de dependencias para desacoplar componentes y proporcionar una interfaz consistente para acceder a las características del dispositivo. Coordina transiciones seguras de tipo entre pantallas nativas y gestiona la sincronización de datos entre clases de lógica compartida y componentes de UI nativos a través de notificaciones de cambio de propiedad. El proyecto cubre una amplia gama de capacidades, incluyendo la gestión del ciclo de vida de la aplicación, deeplinking de URI y registro de servicios de inversión de control. También incluye utilidades para la internacionalización, mensajería pub-sub a través de un agregador de eventos de referencia débil e integración de hardware para sensores, geolocalización y autenticación biométrica.
Implements dependency resolution by using runtime type analysis to match requests with providers in the IoC container.
Inject is a dependency injection framework for Go that automates the assembly of complex object graphs. By leveraging runtime reflection, the library dynamically inspects object structures to resolve and populate required dependencies, decoupling component initialization from business logic. The framework manages object lifecycles through both singleton and factory-based provisioning. It maintains a central registry to share singletons across an application for consistent state, while also supporting the creation of unique, private instances to isolate state between different components. To
Uses runtime reflection to dynamically inspect object structures and automatically populate dependencies.
A Swift Runtime library for viewing type info, and the dynamic getting and setting of properties.
Viewing type info and dynamic property access.
Inject es una librería de inyección de dependencias para Go que gestiona los ciclos de vida de los objetos y conecta los componentes de la aplicación automatizando la provisión de dependencias. Funciona como un contenedor basado en reflexión que mapea valores específicos a sus tipos correspondientes, permitiendo la recuperación e inyección automática de objetos en la lógica de la aplicación. La librería se distingue por su capacidad para realizar la invocación automática de funciones, donde inspecciona las firmas de funciones en tiempo de ejecución para resolver y proporcionar los argumentos requeridos desde un registro central. También admite la inyección de campos de estructura, que completa las propiedades de los objetos escaneando etiquetas de metadatos específicas durante la inicialización. El framework facilita el diseño modular a través de la gestión jerárquica de contenedores, permitiendo que los contenedores secundarios deleguen las búsquedas de dependencias a los alcances principales cuando falta un tipo solicitado localmente. Este sistema admite la resolución basada en interfaces, asegurando que las implementaciones concretas se emparejen correctamente con los tipos solicitados según la evaluación en tiempo de ejecución.
Matches concrete implementations to requested interface types using runtime reflection.
Reflection based (Dictionary, CKRecord, NSManagedObject, Realm, JSON and XML) object mapping with extensions for Alamofire and Moya with RxSwift or ReactiveSwift
Reflection-based JSON encoding and decoding.
DEPRECATED
Advanced runtime reflection and dynamic type construction.
Auto reflection tool from JSON to Model, user friendly JSON encoder / decoder, aims to never die
Auto-reflection from JSON to models.
Reflection, Dict2Model, Model2Dict, Archive
Reflection and dictionary-to-model mapping.
Key-Value Coding (KVC) for native Swift classes and structs
Key-Value Coding for native Swift types.