API Reference

PropertyValueAccessorclass

Object-property accessor implementation used by the index-value-accessor pipeline. It handles plain object properties, excluding Date, Promise, and Observable property values so more specific accessors can handle those cases.

Import

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

Example

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

await InjectionContainer.load(RsXCoreModule);

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

const model = { name: undefined, count: 1, fn: () => 123 };

console.log(accessor.hasValue(model, 'name')); // true (property exists)
console.log(accessor.getValue(model, 'count')); // 1

accessor.setValue(model, 'count', 2);
console.log(model.count); // 2
console.log([...accessor.getIndexes(model)]); // ['name', 'count']

Constructor injection example

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

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

Members

6 members in this class.

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

Parameters

Name
Type
Required
context
unknown
required
index
string
required

Returns

boolean

getIndexes
methodpublic
public getIndexes(context: unknown): IterableIterator<string>

Parameters

Name
Type
Required
context
unknown
required

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

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