Refactoring Guru: Proxy

Info

Proxy is a structural design pattern that lets you provide a substitute or placeholder for another object. A proxy controls access to the original object, allowing you to perform something either before or after the request gets through to the original object.

kkrpc uses JS proxy heavily. The mean reason kkrpc supports calling RPC functions with native TypeScript intellisense/autocomplete with full type support (parameter type and return type) is because of proxy. See JS Docs for more about proxy.

TODO: discuss how proxy is used in Vue ref().value and React useRef().current (put in another note)