Overview
Promise proxy factory and change contracts for resolved/rejected transitions.
API Reference
Creates promise observers that emit resolved values through promise-accessor caching.
import { PromiseProxyFactory } from '@rs-x/state-manager';import { InjectionContainer } from '@rs-x/core';
import {
RsXStateManagerInjectionTokens,
RsXStateManagerModule,
type IPromiseProxyFactory,
} from '@rs-x/state-manager';
await InjectionContainer.load(RsXStateManagerModule);
// Resolve from DI container (do not construct this service directly).
const promiseProxy = InjectionContainer.get<IPromiseProxyFactory>(
RsXStateManagerInjectionTokens.IPromiseProxyFactory,
);
console.log(promiseProxy);import { Inject } from '@rs-x/core';
import {
RsXStateManagerInjectionTokens,
type IPromiseProxyFactory,
} from '@rs-x/state-manager';
class MyConsumer {
constructor(
@Inject(RsXStateManagerInjectionTokens.IPromiseProxyFactory)
private readonly dependency: IPromiseProxyFactory,
) {}
}5 members in this class.
constructor(
@Inject(RsXCoreInjectionTokens.IPromiseAccessor) private readonly _promiseAccessor: IPromiseAccessor
)Parameters
| Name | Type | Required |
|---|---|---|
| _promiseAccessor | IPromiseAccessor | required |
public override getId(data: IPromiseProxyData): Promise<unknown>Parameters
| Name | Type | Required |
|---|---|---|
| data | IPromiseProxyData | required |
Returns
Promise<unknown>
protected override createId(data: IPromiseProxyData): Promise<unknown>Parameters
| Name | Type | Required |
|---|---|---|
| data | IPromiseProxyData | required |
Returns
Promise<unknown>
protected override createInstance(
data: IPromiseProxyData,
id: Promise<unknown>
): IPromiseObserverProxyPairParameters
| Name | Type | Required |
|---|---|---|
| data | IPromiseProxyData | required |
| id | Promise<unknown> | required |
Returns
protected override releaseInstance( promiseObserverWithProxy: IPromiseObserverProxyPair): voidParameters
| Name | Type | Required |
|---|---|---|
| promiseObserverWithProxy | IPromiseObserverProxyPair | required |
Returns
void