1.0.2 • Published 1 year ago

default-proxy-handler v1.0.2

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

default-proxy-handler

npm package Build Status Downloads Issues Code Coverage Commitizen Friendly Semantic Release

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
NameType
Textends object
Returns

DefaultProxyHandler<T>

Defined in

index.ts:68

index.ts:77

Interfaces

Interface: DefaultProxyHandler<T>

Type parameters

NameType
Textends object

Hierarchy

  • ProxyHandler<T>

    DefaultProxyHandler

Methods

apply

apply(target, thisArg, argArray): any

Parameters
NameType
targetT
thisArgany
argArrayany[]
Returns

any

Overrides

ProxyHandler.apply

Defined in

index.ts:78


construct

construct(target, argArray, newTarget): object

Parameters
NameType
targetT
argArrayany[]
newTargetFunction
Returns

object

Overrides

ProxyHandler.construct

Defined in

index.ts:80


defineProperty

defineProperty(target, property, attributes): boolean

Parameters
NameType
targetT
propertystring | symbol
attributesPropertyDescriptor
Returns

boolean

Overrides

ProxyHandler.defineProperty

Defined in

index.ts:82


deleteProperty

deleteProperty(target, p): boolean

Parameters
NameType
targetT
pstring | symbol
Returns

boolean

Overrides

ProxyHandler.deleteProperty

Defined in

index.ts:88


get

get(target, p, receiver): any

Parameters
NameType
targetT
pstring | symbol
receiverany
Returns

any

Overrides

ProxyHandler.get

Defined in

index.ts:90


getOwnPropertyDescriptor

getOwnPropertyDescriptor(target, p): undefined | PropertyDescriptor

Parameters
NameType
targetT
pstring | symbol
Returns

undefined | PropertyDescriptor

Overrides

ProxyHandler.getOwnPropertyDescriptor

Defined in

index.ts:92


getPrototypeOf

getPrototypeOf(target): null | object

Parameters
NameType
targetT
Returns

null | object

Overrides

ProxyHandler.getPrototypeOf

Defined in

index.ts:97


has

has(target, p): boolean

Parameters
NameType
targetT
pstring | symbol
Returns

boolean

Overrides

ProxyHandler.has

Defined in

index.ts:99


isExtensible

isExtensible(target): boolean

Parameters
NameType
targetT
Returns

boolean

Overrides

ProxyHandler.isExtensible

Defined in

index.ts:101


ownKeys

ownKeys(target): ArrayLike<string | symbol>

Parameters
NameType
targetT
Returns

ArrayLike<string | symbol>

Overrides

ProxyHandler.ownKeys

Defined in

index.ts:103


preventExtensions

preventExtensions(target): boolean

Parameters
NameType
targetT
Returns

boolean

Overrides

ProxyHandler.preventExtensions

Defined in

index.ts:105


set

set(target, p, newValue, receiver): boolean

Parameters
NameType
targetT
pstring | symbol
newValueany
receiverany
Returns

boolean

Overrides

ProxyHandler.set

Defined in

index.ts:107


setPrototypeOf

setPrototypeOf(target, v): boolean

Parameters
NameType
targetT
vnull | object
Returns

boolean

Overrides

ProxyHandler.setPrototypeOf

Defined in

index.ts:109