13 repositorios
Objects that wrap other objects to intercept and redefine fundamental runtime operations.
Distinct from Method Interception Proxies: Candidates focus on AOP method interception or API proxies rather than the JS Proxy primitive.
Explore 13 awesome GitHub repositories matching programming languages & runtimes · Proxy Objects. Refine with filters or upvote what's useful.
This project is a comprehensive reference guide and technical documentation for the features, syntax updates, and APIs introduced in ECMAScript 6. It serves as a language specification and overview for modern JavaScript development. The guide covers a wide range of language enhancements, including the implementation of classes and prototype-based inheritance, the use of arrow functions for lexical scope binding, and the introduction of block-scoped variables. It details the module system for organizing independent code components via import and export statements. The documentation extends to
Documents the use of proxies to trap and customize runtime-level meta-operations.
Mockito is a Java mocking framework and JUnit testing library used to create simulated objects and stub method calls to isolate components during unit tests. It functions as a dynamic proxy generator and bytecode instrumentation tool, allowing for the creation of runtime substitutes that mimic the behavior of real classes. The framework distinguishes itself by providing the ability to mock final classes and methods, bypassing standard language restrictions through bytecode modification. This capability enables the testing of legacy code that lacks interfaces. The toolset covers behavioral mo
Generates runtime proxy objects that intercept and redefine method operations to mimic real classes.
q is a JavaScript promise library and asynchronous flow controller designed to manage non-blocking operations. It serves as a system for coordinating parallel tasks and sequencing asynchronous workflows through task chaining and error propagation. The library distinguishes itself with specialized debugging tools that capture long stack traces across asynchronous jumps and monitor unhandled rejections to prevent silent failures. It also functions as a remote object proxy, forwarding method calls to remote targets and routing responses back through promises. The project provides comprehensive
Allows asynchronous manipulation of proxied object properties and methods using promise-based getters and setters.
Comlink is a remote procedure call library that transforms message-based communication into asynchronous function calls between the main thread and web workers. It provides a proxy-based interface that allows multiple threads to interact with a single object instance without manual message handling. The project enables the execution of functions across separate browser windows, iframes, and web workers, making external calls behave like local asynchronous operations. It supports the transfer of non-cloneable data through custom serialization handlers and allows for the movement of ownership f
Manages memory by explicitly detaching proxies from remote objects to trigger garbage collection.
Android Tech Frontier is a project that periodically translates high-quality English Android development articles into Chinese for the developer community. Its core identity is as a translation pipeline that covers topics including Android internals, open-source libraries, software architecture, and testing methodologies. The project distinguishes itself by providing Chinese translations of technical content that spans Android view hierarchy analysis, HTTP request execution patterns, proxy creation techniques, and image loading configuration. It also covers UI layout solutions such as nesting
Wraps a real object inside a proxy that adds extra behavior before or after method calls.
Goja is a JavaScript engine and ECMAScript compliant interpreter implemented entirely in Go. It serves as an embedded scripting engine that allows Go applications to execute JavaScript code and integrate a programmable scripting layer without relying on Cgo or external native dependencies. The project functions as a bridge between Go and JavaScript, enabling bidirectional data exchange and function invocation. It allows Go hosts to expose native structs, slices, and maps as JavaScript objects and arrays, while providing mechanisms to export script values and functions back into native Go type
Implements proxy objects that wrap target objects to intercept and redefine operations like property access.
Draper es un framework de capa de presentación y biblioteca de decoradores para Ruby on Rails que implementa el patrón view-model. Funciona como un sistema basado en proxies para separar la lógica de presentación de los modelos de negocio, permitiendo aislar las transformaciones de datos específicas de la vista de los datos subyacentes. El framework ofrece capacidades especializadas para gestionar cómo se muestran los datos, incluyendo la capacidad de envolver objetos individuales o colecciones completas. Soporta decoración recursiva para modelos asociados y la inyección del contexto de vista y el estado de la solicitud en los decoradores para permitir presentaciones condicionales. Su funcionalidad adicional incluye la delegación de métodos y buscadores de nivel de clase al modelo envuelto, integración con helpers de vista para el formato de datos y el uso de identificadores globales para mantener el estado de la decoración durante la serialización de trabajos en segundo plano. Se incluye una herramienta de línea de comandos para generar archivos de decoradores.
Uses a proxy-based system to intercept and extend the behavior of model objects for presentation.
ProxyManager es una biblioteca de envoltorio de proxy de JavaScript y utilidad orientada a objetos para interceptar y modificar el comportamiento de los objetos. Funciona como un interceptor de comportamiento de objetos que envuelve objetos objetivo para monitorear, restringir o modificar llamadas a métodos y acceso a propiedades en tiempo de ejecución. La biblioteca proporciona mecanismos para la inicialización perezosa (lazy initialization) y carga perezosa (lazy loading), difiriendo la creación de objetos que consumen muchos recursos hasta que se accede por primera vez a una propiedad o método para reducir la sobrecarga de memoria. Utiliza una estructura orientada a objetos para gestionar estos envoltorios de proxy y sus objetos objetivo asociados. La herramienta cubre capacidades para el control de acceso dinámico y la optimización de la gestión de recursos. Permite la encapsulación de objetos crudos para implementar lógica de ejecución personalizada y control de acceso centralizado.
Wraps target objects in proxies to intercept and redefine fundamental runtime operations.
Radash es una librería de utilidades funcionales de TypeScript diseñada para la transformación de datos, validación y gestión de flujos de trabajo. Proporciona una colección de funciones auxiliares tipadas para manipular arrays, objetos y cadenas. El proyecto cuenta con un toolkit de flujo de trabajo asíncrono para gestionar promesas, reintentos y límites de concurrencia, junto con una suite de validadores booleanos para verificar tipos primitivos, objetos y promesas. También implementa patrones de programación funcional como composición de funciones, aplicación parcial y patrones de respuesta de error primero. La librería cubre una amplia superficie de capacidades, incluyendo gestión de estado de objetos con clonación profunda y fusión, manipulaciones complejas de arrays y formateo de cadenas. Adicionalmente proporciona herramientas para la optimización de ejecución, como limitación de tasa (rate limiting) y caché de resultados.
Simplifies the creation of proxy objects to intercept and redefine property access and function calls.
Workerize es un cargador de módulos de web worker y descargador del hilo principal. Funciona como un envoltorio de proxy asíncrono que permite que los módulos de JavaScript se ejecuten en workers en segundo plano, evitando bloqueos de la UI del navegador al delegar tareas computacionalmente costosas a hilos separados. El proyecto utiliza una interfaz basada en proxy para llamar a funciones dentro de un worker en segundo plano como si fueran llamadas asíncronas locales. Este mecanismo permite la ejecución de módulos en workers paralelos para mantener la capacidad de respuesta del hilo principal. El sistema cubre la ejecución asíncrona de módulos y la integración de web workers, centrándose en la optimización del hilo principal al mover la lógica pesada fuera del hilo de ejecución primario.
Provides a proxy-based interface that allows worker functions to be called as if they were local asynchronous calls.
This project is an ECMAScript 2015 reference guide and JavaScript language cheat sheet. It provides a concise summary of the language specifications, syntax updates, and new features introduced in the 2015 standard. The guide serves as a technical overview of modern language patterns used to manage modular code structures and asynchronous operations. It functions as a reference for implementing current coding standards and studying core updates to the language. The content covers a wide range of capabilities, including asynchronous programming, object modeling, and module management. It deta
Provides a reference for using Proxy objects to intercept and redefine object operations.
Este proyecto es un repositorio instructivo y recurso de aprendizaje que proporciona una colección completa de notas de estudio, guías de programación y ejemplos de código ejecutables. Sirve como guía para el desarrollo web y de Java SE, presentando una biblioteca de muestras de código que demuestran algoritmos comunes e implementaciones técnicas. El repositorio se centra en el análisis del núcleo y el tiempo de ejecución del lenguaje, con tutoriales detallados sobre multihilo y concurrencia. Proporciona implementaciones prácticas de arquitectura de software y patrones de diseño, como los patrones singleton y strategy, así como exploraciones de la Java Virtual Machine y el bytecode. El proyecto cubre una amplia gama de capacidades, incluyendo fundamentos del lenguaje como genéricos y anotaciones, conceptos básicos de desarrollo web que involucran el manejo de solicitudes HTTP y gestión de sesiones, y primitivas de concurrencia para el ciclo de vida de hilos y sincronización de recursos. También incluye utilidades para seguridad, procesamiento de datos y generación dinámica de páginas.
Provides proxy objects that wrap target objects to intercept and redefine runtime operations for preprocessing or filtering.
vm2 es un sandbox de JavaScript para Node.js y virtualizador de runtime diseñado para ejecutar código no confiable. Funciona como un evaluador de código seguro y aislador de módulos que protege el proceso host creando un entorno de ejecución aislado con acceso restringido al runtime de Node.js. El sistema se distingue por un framework de seguridad que utiliza proxying de objetos y congelación profunda (deep freezing) para evitar que los scripts en sandbox modifiquen el contexto global del host o los objetos compartidos. Implementa un control de acceso a módulos estricto utilizando listas de permitidos y restricciones de ruta para gobernar qué dependencias integradas o externas pueden cargarse. El proyecto cubre áreas de capacidad amplias, incluyendo la gestión de recursos, donde limita la asignación de memoria para búferes y aplica tiempos de espera de ejecución para prevenir ataques de denegación de servicio. También proporciona restricciones de acceso al sistema de archivos y herramientas para la interoperabilidad entre sandboxes y redirección de salida de consola. Está disponible una interfaz de línea de comandos para ejecutar archivos JavaScript directamente dentro del entorno de sandbox aislado.
Wraps host objects in proxies to intercept property access and prevent unauthorized mutations or leaks.