API Reference

ObjectPropertyObserverProxyPairManagerclass

Creates per-property observers and proxy pairs for a given object context.

Overview

Resolves observer/proxy pair managers by value type and coordinates observer lifecycle.

Import

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

Example

import { InjectionContainer } from '@rs-x/core';
import {
  RsXStateManagerInjectionTokens,
  RsXStateManagerModule,
  type IObjectPropertyObserverProxyPairManager,
} from '@rs-x/state-manager';

await InjectionContainer.load(RsXStateManagerModule);

// Resolve from DI container (do not construct this service directly).
const objectPropertyObserverProxyPairManager = InjectionContainer.get<IObjectPropertyObserverProxyPairManager>(
  RsXStateManagerInjectionTokens.IObjectPropertyObserverProxyPairManager,
);
console.log(objectPropertyObserverProxyPairManager);

Constructor injection example

import { Inject } from '@rs-x/core';
import {
  RsXStateManagerInjectionTokens,
  type IObjectPropertyObserverProxyPairManager,
} from '@rs-x/state-manager';

class MyConsumer {
  constructor(
    @Inject(RsXStateManagerInjectionTokens.IObjectPropertyObserverProxyPairManager)
    private readonly dependency: IObjectPropertyObserverProxyPairManager,
  ) {}
}

Members

4 members in this class.

constructor
constructorpublic
constructor(
  @MultiInject( RsXStateManagerInjectionTokens.IPropertyObserverProxyPairFactoryList) private readonly _factories: IIndexObserverProxyPairFactory[]
)

Parameters

NameTypeRequired
_factoriesIIndexObserverProxyPairFactory[]required
getId
methodpublic
public getId(context: unknown): unknown

Parameters

NameTypeRequired
contextunknownrequired

Returns

unknown

createId
methodprotected
protected createId(context: unknown): unknown

Parameters

NameTypeRequired
contextunknownrequired

Returns

unknown

createInstance
methodprotected
protected createInstance( context: unknown): IPropertyObserverProxyPairManager

Parameters

NameTypeRequired
contextunknownrequired