API Reference

AbstractObjectObserverProxyPairFactoryabstract class

Base class for object observer/proxy pair factories with shared wiring and observer-group integration.

Overview

Factory set that selects observer/proxy strategies for arrays, maps, sets, dates, promises, observables, and plain objects.

Import

import { AbstractObjectObserverProxyPairFactory } from '@rs-x/state-manager';

Example

import { AbstractObjectObserverProxyPairFactory } from '@rs-x/state-manager';

class MyAbstractObjectObserverProxyPairFactory extends AbstractObjectObserverProxyPairFactory {
  // implement abstract members
}

Members

6 members in this abstract class.

constructor
constructorprotected
protected constructor(
  public readonly priority: number,
  private readonly _observerRootObserver: boolean,
  protected readonly _errorLog: IErrorLog,
  protected readonly _indexAccessor: IIndexValueAccessor,
  protected readonly _objectPropertyObserverProxyPairManager: IObjectPropertyObserverProxyPairManager
)

Parameters

NameTypeRequired
prioritynumberrequired
_observerRootObserverbooleanrequired
_errorLogIErrorLogrequired
_indexAccessorIIndexValueAccessorrequired
_objectPropertyObserverProxyPairManagerIObjectPropertyObserverProxyPairManagerrequired
applies
methodpublicabstract
public abstract applies(object: object): boolean

Parameters

NameTypeRequired
objectobjectrequired

Returns

boolean

create
methodpublic
public create(
  owner: IDisposableOwner,
  data: TData
): IObserverProxyPair<TTarget>

Parameters

NameTypeRequired
ownerIDisposableOwnerrequired
dataTDatarequired

Returns

IObserverProxyPair<TTarget>

createDisposableOwner
methodprotected
protected createDisposableOwner(
  owner: IDisposableOwner,
  _data: TData
): IDisposableOwner

Parameters

NameTypeRequired
ownerIDisposableOwnerrequired
_dataTDatarequired
createRootObserver
methodprotectedabstract
protected abstract createRootObserver( data: TData): IObserverProxyPair<TTarget> | undefined

Parameters

NameTypeRequired
dataTDatarequired

Returns

IObserverProxyPair<TTarget> | undefined

onObserverGroupCreate
methodprotected
protected onObserverGroupCreate(
  target: TTarget,
  observerGroup: ObserverGroup,
  indexWatchRule?: IIndexWatchRule
): void

Parameters

NameTypeRequired
targetTTargetrequired
observerGroupObserverGrouprequired
indexWatchRule?IIndexWatchRuleoptional

Returns

void