API Reference

ObjectStateManagerclass

Stores tracked state per context/index with cloned old-value snapshots.

Quick facts
Kind
class
Base class
KeyedInstanceFactory<unknown, unknown, IStateForObjectManager>
Members
6
Package
@rs-x/core

Import

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

Example

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

await InjectionContainer.load(RsXStateManagerModule);

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

Constructor injection example

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

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

Members

6 members in this class.

constructor
constructorpublic
constructor( @Inject(RsXCoreInjectionTokens.IDeepClone) private readonly _deepClone: IDeepClone)

Parameters

NameTypeRequired
_deepCloneIDeepClonerequired
getId
methodpublic
public getId(object: unknown): unknown

Parameters

NameTypeRequired
objectunknownrequired

Returns

unknown

isRegistered
methodpublic
public isRegistered(
  context: unknown,
  key: unknown
): boolean

Parameters

NameTypeRequired
contextunknownrequired
keyunknownrequired

Returns

boolean

replaceState
methodpublic
public replaceState(
  key: unknown,
  newContext: unknown,
  newValue: unknown,
  oldContext: unknown,
  watched: boolean,
  ownerId: unknown
): void

Parameters

NameTypeRequired
keyunknownrequired
newContextunknownrequired
newValueunknownrequired
oldContextunknownrequired
watchedbooleanrequired
ownerIdunknownrequired

Returns

void

createId
methodprotected
protected createId(object: unknown): unknown

Parameters

NameTypeRequired
objectunknownrequired

Returns

unknown

createInstance
methodprotected
protected createInstance(context: unknown): IStateForObjectManager

Parameters

NameTypeRequired
contextunknownrequired