Import
import { PropertyValueAccessor } from '@rs-x/core';API Reference
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 { PropertyValueAccessor } from '@rs-x/core';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']import { Inject, RsXCoreInjectionTokens, type IPropertyValueAccessor } from '@rs-x/core';
class MyConsumer {
constructor(
@Inject(RsXCoreInjectionTokens.IPropertyValueAccessor)
private readonly dependency: IPropertyValueAccessor,
) {}
}6 members in this class.
public applies(
context: unknown,
index: string
): booleanParameters
Returns
boolean
public getIndexes(context: unknown): IterableIterator<string>Parameters
Returns
IterableIterator<string>
public getResolvedValue(
context: unknown,
index: string
): unknownParameters
Returns
unknown
public getValue(
context: unknown,
index: string
): unknownParameters
Returns
unknown
public hasValue(
context: unknown,
index: string
): booleanParameters
Returns
boolean
public setValue(
context: unknown,
index: string,
value: unknown
): voidParameters
Returns
void