API Reference

ObservableAccessorclass

Observable accessor implementation used by the index-value-accessor pipeline. It returns raw observable values and can return the last resolved/emitted value through cache-backed resolved reads.

Import

import { ObservableAccessor } from '@rs-x/core';

Example

import { BehaviorSubject } from 'rxjs';
import {
  InjectionContainer,
  RsXCoreInjectionTokens,
  RsXCoreModule,
  type IObservableAccessor,
} from '@rs-x/core';

await InjectionContainer.load(RsXCoreModule);

const accessor = InjectionContainer.get<IObservableAccessor>(
  RsXCoreInjectionTokens.IObservableAccessor,
);

const model = { stream: new BehaviorSubject<number>(10) };

console.log(accessor.getValue(model, 'stream') instanceof BehaviorSubject); // true
console.log(accessor.getResolvedValue(model, 'stream')); // 10

accessor.setValue(model, 'stream', 11);
console.log(accessor.getResolvedValue(model, 'stream')); // 11

Constructor injection example

import { Inject, RsXCoreInjectionTokens, type IObservableAccessor } from '@rs-x/core';

class MyConsumer {
  constructor(
    @Inject(RsXCoreInjectionTokens.IObservableAccessor)
    private readonly dependency: IObservableAccessor,
  ) {}
}

Members

9 members in this class.

constructor
constructorpublic
constructor(
  @Inject(RsXCoreInjectionTokens.IResolvedValueCache) private readonly _resolvedValueCache: IResolvedValueCache
)

Parameters

Name
Type
Required
_resolvedValueCache
IResolvedValueCache
required
applies
methodpublic
public applies(
  context: unknown,
  index: string
): boolean

Parameters

Name
Type
Required
context
unknown
required
index
string
required

Returns

boolean

clearLastValue
methodpublic
public clearLastValue(observable: LastValueObservable): void

Parameters

Name
Type
Required
observable
LastValueObservable
required

Returns

void

getIndexes
methodpublic
public getIndexes(): IterableIterator<string>

Parameters

No parameters.

Returns

IterableIterator<string>

getResolvedValue
methodpublic
public getResolvedValue(
  context: unknown,
  index: string
): unknown

Parameters

Name
Type
Required
context
unknown
required
index
string
required

Returns

unknown

getValue
methodpublic
public getValue(
  context: unknown,
  index: string
): unknown

Parameters

Name
Type
Required
context
unknown
required
index
string
required

Returns

unknown

hasValue
methodpublic
public hasValue(
  context: unknown,
  index: string
): boolean

Parameters

Name
Type
Required
context
unknown
required
index
string
required

Returns

boolean

setLastValue
methodpublic
public setLastValue(
  observable: LastValueObservable,
  value: unknown
): void

Parameters

Name
Type
Required
observable
LastValueObservable
required
value
unknown
required

Returns

void

setValue
methodpublic
public setValue(
  context: unknown,
  index: string,
  value: unknown
): void

Parameters

Name
Type
Required
context
unknown
required
index
string
required
value
unknown
required

Returns

void