13 个仓库
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 是一个用于 Ruby on Rails 的表现层框架和装饰器库,实现了视图模型(View-Model)模式。它作为一个基于代理的系统,将表现逻辑与业务模型分离,从而使视图特定的数据转换能够从底层数据中隔离出来。 该框架提供了管理数据展示的专业功能,包括包装单个对象或整个集合的能力。它支持关联模型的递归装饰,并能将视图上下文和请求状态注入装饰器,以实现条件化展示。 其他功能包括将方法和类级查找器委托给包装后的模型、集成视图助手进行数据格式化,以及在后台任务序列化期间使用全局标识符来维护装饰状态。 项目提供了一个用于生成装饰器文件的命令行工具。
Uses a proxy-based system to intercept and extend the behavior of model objects for presentation.
ProxyManager 是一个 JavaScript 代理包装库和面向对象工具,用于拦截和修改对象行为。它充当对象行为拦截器,包装目标对象以在运行时监控、限制或修改方法调用和属性访问。 该库提供了延迟初始化和延迟加载的机制,将资源密集型对象的创建推迟到首次访问属性或方法时,以减少内存开销。它使用面向对象的结构来管理这些代理包装器及其关联的目标对象。 该工具涵盖了动态访问控制和资源管理优化的功能。它允许封装原始对象以实现自定义执行逻辑和集中式访问控制。
Wraps target objects in proxies to intercept and redefine fundamental runtime operations.
Radash 是一个 TypeScript 函数式实用工具库,专为数据转换、验证和工作流管理而设计。它提供了一系列类型化的辅助函数来操作数组、对象和字符串。 该项目具有用于管理 Promise、重试和并发限制的异步工作流工具包,以及一套用于验证原始类型、对象和 Promise 的布尔验证器。它还实现了函数式编程模式,如函数组合、偏函数应用和错误优先响应模式。 该库涵盖了广泛的功能,包括具有深克隆和合并的对象状态管理、复杂的数组操作和字符串格式化。它还提供了用于执行优化的工具,如速率限制和结果缓存。
Simplifies the creation of proxy objects to intercept and redefine property access and function calls.
Workerize 是一个 Web Worker 模块加载器和主线程卸载器。它作为一个异步代理包装器,允许 JavaScript 模块在后台 Worker 中运行,通过将计算密集型任务委托给单独的线程来防止浏览器 UI 冻结。 该项目利用基于代理的接口来调用后台 Worker 内部的函数,就像它们是本地异步调用一样。这种机制使得能够在并行 Worker 中执行模块,以保持主线程的响应性。 该系统涵盖了异步模块执行和 Web Worker 集成,专注于通过将繁重逻辑移出主执行线程来优化主线程。
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.
该项目是一个教学仓库和学习资源,提供了全面的学习笔记、编程指南和可运行的源码示例。它作为 Java SE 和 Java Web 开发的指南,包含一个代码示例库,演示了常见的算法和技术实现。 该仓库专注于语言核心和运行时分析,并提供有关多线程和并发的详细教程。它提供了软件架构和设计模式(如单例模式和策略模式)的实际实现,以及对 Java 虚拟机 (JVM) 和字节码的探索。 该项目涵盖了广泛的能力,包括泛型和注解等语言基础、涉及 HTTP 请求处理和会话管理的 Web 开发基础,以及用于线程生命周期和资源同步的并发原语。它还包括用于安全、数据处理和动态页面生成的实用程序。
Provides proxy objects that wrap target objects to intercept and redefine runtime operations for preprocessing or filtering.
vm2 是一个 Node.js JavaScript 沙箱和运行时虚拟化器,旨在执行不受信任的代码。它作为一个安全的代码评估器和模块隔离器,通过创建一个对 Node.js 运行时访问受限的隔离执行环境来保护宿主进程。 该系统通过一个安全框架脱颖而出,该框架利用对象代理和深度冻结来防止沙箱脚本修改宿主全局上下文或共享对象。它使用允许列表和路径限制来实现严格的模块访问控制,以管理可以加载哪些内置或外部依赖项。 该项目涵盖了广泛的功能领域,包括资源管理,其中它限制了缓冲区的内存分配并强制执行执行超时以防止拒绝服务攻击。它还提供文件系统访问限制,以及用于跨沙箱互操作性和控制台输出重定向的工具。 提供了一个命令行界面,用于直接在隔离的沙箱环境中执行 JavaScript 文件。
Wraps host objects in proxies to intercept property access and prevent unauthorized mutations or leaks.