Skip to main content

foundation-utils.objectvisitor

Home > @genesislcap/foundation-utils > ObjectVisitor

ObjectVisitor interface

This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.

Signature:

export interface ObjectVisitor<TVisitorData> 

Example

Reactive visitor example.

const makeObserverVisitor: ObjectVisitor<undefined> = {
visitObject: noop,
visitArray: noop,
visitProperty(object: any, propertyName: string, value: any): void {
Reflect.defineProperty(object, propertyName, {
enumerable: true,
get() {
Observable.track(object, propertyName);
return value;
},
set(newValue: any) {
if (value !== newValue) {
value = newValue;
Observable.notify(object, propertyName);
}
},
});
},
};

Methods

Method

Description

visitArray(array, data)

(BETA)

visitObject(object, data)

(BETA)

visitProperty(object, key, value, data)

(BETA)