An open API service indexing awesome lists of open source software.

https://github.com/shaack/svjs-observe

Observe properties, Arrays, Sets and Maps of an Object. Can also intercept function calls.
https://github.com/shaack/svjs-observe

Last synced: about 2 months ago
JSON representation

Observe properties, Arrays, Sets and Maps of an Object. Can also intercept function calls.

Awesome Lists containing this project

README

          

# svjs-observe

An ES6 Module to observe properties (simple properties, Arrays, Sets and Maps)
of an Object. Can also intercept function calls.

Observing means to call a callback-function every value change of an Object property.

## Methods

### Observe.property(object, propertyName, callback)

Observe properties (attributes) of an object. Works also with Arrays, Maps and Sets.
The parameter `propertyName` can be an array of names to observe multiple properties.

#### callback params

`{ propertyName: propertyName, oldValue: oldValue, newValue: newValue }`

#### Example

``` JavaScript
Observe.property(model, ["property1","property2"], (params) => {
console.log("property changed", params.propertyName);
console.log("oldValue", params.oldValue);
console.log("newValue", params.newValue);
})
```

### Observe.preFunction(object, functionName, callback)

Intercept a function call, before the function is executed. Can manipulate
arguments in the callback.

#### callback params

`{functionName: functionName, arguments: functionArguments}`

### Observe.postFunction(object, functionName, callback)

Intercept a function call, after the function is executed. Can manipulate
returnValue in callback.

#### callback params

`{functionName: functionName, arguments: functionArguments, returnValue: returnValue}`