Overview
Contains object-level observer contracts and managers used to detect structural and nested changes.
API Reference
Chooses an object observer/proxy factory by type and priority.
import { ObjectObserverProxyPairManager } from '@rs-x/state-manager';import { InjectionContainer } from '@rs-x/core';
import {
RsXStateManagerInjectionTokens,
RsXStateManagerModule,
type IObjectObserverProxyPairManager,
} from '@rs-x/state-manager';
await InjectionContainer.load(RsXStateManagerModule);
// Resolve from DI container (do not construct this service directly).
const objectObserverProxyPairManager = InjectionContainer.get<IObjectObserverProxyPairManager>(
RsXStateManagerInjectionTokens.IObjectObserverProxyPairManager,
);
console.log(objectObserverProxyPairManager);import { Inject } from '@rs-x/core';
import {
RsXStateManagerInjectionTokens,
type IObjectObserverProxyPairManager,
} from '@rs-x/state-manager';
class MyConsumer {
constructor(
@Inject(RsXStateManagerInjectionTokens.IObjectObserverProxyPairManager)
private readonly dependency: IObjectObserverProxyPairManager,
) {}
}6 members in this class.
constructor(
@Inject( RsXStateManagerInjectionTokens.IObjectObserverProxyPairFactoryProviderFactory) private readonly getObserverFactoryProvider: () => IObjectObserverProxyPairFactoryProvider,
@Inject(RsXCoreInjectionTokens.IProxyRegistry) private readonly _proxyRegistry: IProxyRegistry
)Parameters
| Name | Type | Required |
|---|---|---|
| getObserverFactoryProvider | () | required |
protected createInstance(
objectObserverInfo: IProxyTarget<unknown>,
id: number
): IObserverProxyPairParameters
| Name | Type | Required |
|---|---|---|
| objectObserverInfo | IProxyTarget<unknown> | required |
| id | number | required |
Returns
protected override createUniqueId(_data: IProxyTarget<unknown>): numberParameters
| Name | Type | Required |
|---|---|---|
| _data | IProxyTarget<unknown> | required |
Returns
number
protected override getGroupId(data: IProxyTarget<unknown>): unknownParameters
| Name | Type | Required |
|---|---|---|
| data | IProxyTarget<unknown> | required |
Returns
unknown
protected override getGroupMemberId( data: IProxyTarget<unknown>): IIndexWatchRule | undefinedParameters
| Name | Type | Required |
|---|---|---|
| data | IProxyTarget<unknown> | required |
Returns
IIndexWatchRule | undefined
protected override releaseInstance( observerProxyPair: IObserverProxyPair): voidParameters
| Name | Type | Required |
|---|---|---|
| observerProxyPair | IObserverProxyPair | required |
Returns
void