default-proxy-handler
Interfaces
Variables
DefaultProxyHandler
• Const
DefaultProxyHandler: <T>() => DefaultProxyHandler
<T
>
Type declaration
• new DefaultProxyHandler<T
>(): DefaultProxyHandler
<T
>
A class of proxy handler that forward all properties and methods to the original target.
DefaultProxyHandler
can be used as the super class for creating a more
sophisticated proxy handler.
Example
A proxy whose handler is an DefaultProxyHandler
should have the same
properties as the original object.
import { DefaultProxyHandler } from 'default-proxy-handler';
const helloWorld = { hello: 'world' };
const helloWorldProxy = new Proxy(helloWorld, new DefaultProxyHandler());
expect(helloWorldProxy.hello).toBe(helloWorld.hello);
Example
You can extend DefaultProxyHandler
to change the behavior of the proxy.
import { DefaultProxyHandler } from 'default-proxy-handler';
class RepeatedProxyHandler extends DefaultProxyHandler<{ hello: string }> {
override get(target: { hello: string; }, p: string | symbol, receiver: any) {
const originalValue: unknown =
super.get(target, p, receiver);
return [ originalValue, originalValue ];
}
}
const helloWorld = { hello: 'world' };
const helloWorldProxy = new Proxy(helloWorld, new RepeatedProxyHandler());
expect(helloWorldProxy.hello).toEqual(['world', 'world']);
Type parameters
Name | Type |
---|---|
T |
extends object
|
Returns
Defined in
Interfaces
Interface: DefaultProxyHandler<T>
Type parameters
Name | Type |
---|---|
T |
extends object
|
Hierarchy
-
ProxyHandler
<T
>↳
DefaultProxyHandler
Methods
apply
▸ apply(target
, thisArg
, argArray
): any
Parameters
Name | Type |
---|---|
target |
T |
thisArg |
any |
argArray |
any [] |
Returns
any
Overrides
ProxyHandler.apply
Defined in
construct
▸ construct(target
, argArray
, newTarget
): object
Parameters
Name | Type |
---|---|
target |
T |
argArray |
any [] |
newTarget |
Function |
Returns
object
Overrides
ProxyHandler.construct
Defined in
defineProperty
▸ defineProperty(target
, property
, attributes
): boolean
Parameters
Name | Type |
---|---|
target |
T |
property |
string | symbol
|
attributes |
PropertyDescriptor |
Returns
boolean
Overrides
ProxyHandler.defineProperty
Defined in
deleteProperty
▸ deleteProperty(target
, p
): boolean
Parameters
Name | Type |
---|---|
target |
T |
p |
string | symbol
|
Returns
boolean
Overrides
ProxyHandler.deleteProperty
Defined in
get
▸ get(target
, p
, receiver
): any
Parameters
Name | Type |
---|---|
target |
T |
p |
string | symbol
|
receiver |
any |
Returns
any
Overrides
ProxyHandler.get
Defined in
getOwnPropertyDescriptor
▸ getOwnPropertyDescriptor(target
, p
): undefined
| PropertyDescriptor
Parameters
Name | Type |
---|---|
target |
T |
p |
string | symbol
|
Returns
undefined
| PropertyDescriptor
Overrides
ProxyHandler.getOwnPropertyDescriptor
Defined in
getPrototypeOf
▸ getPrototypeOf(target
): null
| object
Parameters
Name | Type |
---|---|
target |
T |
Returns
null
| object
Overrides
ProxyHandler.getPrototypeOf
Defined in
has
▸ has(target
, p
): boolean
Parameters
Name | Type |
---|---|
target |
T |
p |
string | symbol
|
Returns
boolean
Overrides
ProxyHandler.has
Defined in
isExtensible
▸ isExtensible(target
): boolean
Parameters
Name | Type |
---|---|
target |
T |
Returns
boolean
Overrides
ProxyHandler.isExtensible
Defined in
ownKeys
▸ ownKeys(target
): ArrayLike
<string
| symbol
>
Parameters
Name | Type |
---|---|
target |
T |
Returns
ArrayLike
<string
| symbol
>
Overrides
ProxyHandler.ownKeys
Defined in
preventExtensions
▸ preventExtensions(target
): boolean
Parameters
Name | Type |
---|---|
target |
T |
Returns
boolean
Overrides
ProxyHandler.preventExtensions
Defined in
set
▸ set(target
, p
, newValue
, receiver
): boolean
Parameters
Name | Type |
---|---|
target |
T |
p |
string | symbol
|
newValue |
any |
receiver |
any |
Returns
boolean
Overrides
ProxyHandler.set
Defined in
setPrototypeOf
▸ setPrototypeOf(target
, v
): boolean
Parameters
Name | Type |
---|---|
target |
T |
v |
null | object
|
Returns
boolean
Overrides
ProxyHandler.setPrototypeOf