API Reference

MapProxyFactoryclass

Creates map proxies that emit key-scoped changes for set/delete/clear operations.

Overview

Map proxy factory and contracts that emit semantic key/mutation changes.
Quick facts
Kind
class
Base class
KeyedInstanceFactory< Map<unknown, unknown>, IMapProxifyData, IMapObserverProxyPair >
Members
5
Package
@rs-x/core

Import

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

Example

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

await InjectionContainer.load(RsXStateManagerModule);

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

Constructor injection example

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

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

Members

5 members in this class.

constructor
constructorpublic
constructor( @Inject(RsXCoreInjectionTokens.IProxyRegistry) private readonly _proxyRegistry: IProxyRegistry)

Parameters

NameTypeRequired
_proxyRegistryIProxyRegistryrequired
getId
methodpublic
public override getId(data: IMapProxifyData): Map<unknown, unknown>

Parameters

NameTypeRequired
dataIMapProxifyDatarequired

Returns

Map<unknown, unknown>

createId
methodprotected
protected override createId(data: IMapProxifyData): Map<unknown, unknown>

Parameters

NameTypeRequired
dataIMapProxifyDatarequired

Returns

Map<unknown, unknown>

createInstance
methodprotected
protected override createInstance(
  data: IMapProxifyData,
  id: Map<unknown, unknown>
): IMapObserverProxyPair

Parameters

NameTypeRequired
dataIMapProxifyDatarequired
idMap<unknown, unknown>required
releaseInstance
methodprotected
protected override releaseInstance( mapObserverWithProxy: IMapObserverProxyPair): void

Parameters

NameTypeRequired
mapObserverWithProxyIMapObserverProxyPairrequired

Returns

void