13 Repos
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 ist ein Presentation-Layer-Framework und eine Decorator-Bibliothek für Ruby on Rails, die das View-Model-Pattern implementiert. Es dient als Proxy-basiertes System zur Trennung von Präsentationslogik und Business-Modellen, wodurch View-spezifische Datentransformationen von den zugrunde liegenden Daten isoliert werden. Das Framework bietet spezialisierte Funktionen zur Steuerung der Datendarstellung, einschließlich der Möglichkeit, einzelne Objekte oder ganze Kollektionen zu kapseln. Es unterstützt rekursive Dekoration für assoziierte Modelle sowie die Injektion von View-Kontext und Request-Status in Decorators, um eine bedingte Präsentation zu ermöglichen. Zusätzliche Funktionen umfassen die Delegation von Methoden und Class-Level-Findern an das gekapselte Modell, die Integration von View-Helpern zur Datenformatierung sowie die Verwendung globaler Identifikatoren, um den Dekorationsstatus während der Serialisierung von Hintergrund-Jobs beizubehalten. Ein CLI-Tool zur Generierung von Decorator-Dateien ist enthalten.
Uses a proxy-based system to intercept and extend the behavior of model objects for presentation.
ProxyManager ist eine JavaScript-Proxy-Wrapper-Bibliothek und ein objektorientiertes Utility zum Abfangen und Modifizieren von Objektverhalten. Es fungiert als Interzeptor für Objektverhalten, der Zielobjekte umschließt, um Methodenaufrufe und Eigenschaftszugriffe zur Laufzeit zu überwachen, einzuschränken oder zu modifizieren. Die Bibliothek bietet Mechanismen für Lazy-Initialization und Lazy-Loading, wobei die Erstellung ressourcenintensiver Objekte verzögert wird, bis eine Eigenschaft oder Methode zum ersten Mal aufgerufen wird, um den Speicher-Overhead zu reduzieren. Sie verwendet eine objektorientierte Struktur, um diese Proxy-Wrapper und die zugehörigen Zielobjekte zu verwalten. Das Tool deckt Funktionen für dynamische Zugriffskontrolle und Optimierung des Ressourcenmanagements ab. Es ermöglicht die Kapselung roher Objekte, um benutzerdefinierte Ausführungslogik und zentralisierte Zugriffskontrolle zu implementieren.
Wraps target objects in proxies to intercept and redefine fundamental runtime operations.
Radash is a TypeScript functional utility library designed for data transformation, validation, and workflow management. It provides a collection of typed helper functions to manipulate arrays, objects, and strings. The project features an asynchronous workflow toolkit for managing promises, retries, and concurrency limits, alongside a suite of boolean validators for verifying primitive types, objects, and promises. It also implements functional programming patterns such as function composition, partial application, and error-first response patterns. The library covers a broad surface of cap
Simplifies the creation of proxy objects to intercept and redefine property access and function calls.
Workerize is a web worker module loader and main thread offloader. It functions as an asynchronous proxy wrapper that allows JavaScript modules to run in background workers, preventing browser UI freezes by delegating computationally expensive tasks to separate threads. The project utilizes a proxy-based interface to call functions inside a background worker as if they were local asynchronous calls. This mechanism enables the execution of modules in parallel workers to maintain main thread responsiveness. The system covers asynchronous module execution and web worker integration, focusing on
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.
Dieses Projekt ist ein instruktives Repository und eine Lernressource, die eine umfassende Sammlung von Studiennotizen, Programmierleitfäden und ausführbaren Codebeispielen bietet. Es dient als Leitfaden für Java SE- und Java-Webentwicklung und enthält eine Bibliothek mit Code-Samples, die gängige Algorithmen und technische Implementierungen demonstrieren. Das Repository konzentriert sich auf die Analyse des Sprachkerns und der Laufzeitumgebung, mit detaillierten Tutorials zu Multithreading und Concurrency. Es bietet praktische Implementierungen von Softwarearchitekturen und Entwurfsmustern, wie etwa Singleton- oder Strategie-Pattern, sowie Einblicke in die Java Virtual Machine und Bytecode. Das Projekt deckt ein breites Spektrum an Fähigkeiten ab, darunter Sprachgrundlagen wie Generics und Annotations, Grundlagen der Webentwicklung wie HTTP-Request-Handling und Session-Management sowie Concurrency-Primitive für Thread-Lebenszyklen und Ressourcen-Synchronisation. Zudem sind Hilfsprogramme für Sicherheit, Datenverarbeitung und dynamische Seitengenerierung enthalten.
Provides proxy objects that wrap target objects to intercept and redefine runtime operations for preprocessing or filtering.
vm2 ist eine Node.js-JavaScript-Sandbox und Laufzeit-Virtualisierer, der für die Ausführung von nicht vertrauenswürdigem Code entwickelt wurde. Er fungiert als sicherer Code-Evaluator und Modul-Isolator, der den Host-Prozess durch die Schaffung einer isolierten Ausführungsumgebung mit eingeschränktem Zugriff auf die Node.js-Runtime schützt. Das System zeichnet sich durch ein Sicherheitsframework aus, das Objekt-Proxying und Deep-Freezing nutzt, um zu verhindern, dass sandboxed Skripte den globalen Host-Kontext oder gemeinsam genutzte Objekte modifizieren. Es implementiert eine strikte Modul-Zugriffskontrolle unter Verwendung von Allow-Lists und Pfadbeschränkungen, um zu steuern, welche integrierten oder externen Abhängigkeiten geladen werden können. Das Projekt deckt breite Funktionsbereiche ab, einschließlich Ressourcenmanagement, bei dem es die Speicherzuweisung für Puffer begrenzt und Ausführungs-Timeouts erzwingt, um Denial-of-Service-Angriffe zu verhindern. Es bietet zudem Dateisystem-Zugriffsbeschränkungen und Tools für Interoperabilität zwischen Sandboxes sowie die Umleitung von Konsolenausgaben. Eine Befehlszeilenschnittstelle ist für die direkte Ausführung von JavaScript-Dateien innerhalb der isolierten Sandbox-Umgebung verfügbar.
Wraps host objects in proxies to intercept property access and prevent unauthorized mutations or leaks.