API Reference

SequenceIdFactoryclass

Default singleton service that returns the same id for matching sequence payloads within a context, reuses existing handles, and tracks reference counts.

When to use

Use when you need the same id for the same sequence in the same context object. SequenceIdFactory maps (context + sequence) to one id handle, so repeated calls with identical input return the same handle/id. After create(...), always call dispose() (or release(context, id)) when finished to prevent memory leaks.

Quick facts
Kind
class
Members
5
Package
@rs-x/core

Import

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

Example

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

await InjectionContainer.load(RsXCoreModule);

const sequenceIdFactory = InjectionContainer.get<ISequenceIdFactory>(
  RsXCoreInjectionTokens.ISequenceIdFactory,
);

const context = {};
const handle = sequenceIdFactory.create(context, ['items', 0]);

console.log(handle.id);
handle.dispose(); // Always dispose the handle after use.

Constructor injection example

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

class SequenceService {
  constructor(
    @Inject(RsXCoreInjectionTokens.ISequenceIdFactory)
    private readonly sequenceIdFactory: ISequenceIdFactory,
  ) {}
}

Members

5 members in this class.

constructor
constructorpublic
constructor( @Inject(RsXCoreInjectionTokens.IGuidFactory) guidFactory: IGuidFactory)

Parameters

Name
Type
Required
guidFactory
IGuidFactory
required
create
methodpublic
public create(
  context: unknown,
  sequence: unknown[]
): ISequenceWithId

Parameters

Name
Type
Required
context
unknown
required
sequence
unknown[]
required
get
methodpublic
public get(
  context: unknown,
  sequence: unknown[]
): ISequenceWithId | undefined

Parameters

Name
Type
Required
context
unknown
required
sequence
unknown[]
required

Returns

ISequenceWithId | undefined

has
methodpublic
public has(
  context: unknown,
  id: string
): boolean

Parameters

Name
Type
Required
context
unknown
required
id
string
required

Returns

boolean

release
methodpublic
public release(
  context: unknown,
  id: string
): void

Parameters

Name
Type
Required
context
unknown
required
id
string
required

Returns

void