API Reference

EqualityServiceclass

Default implementation of IEqualityService used by @rs-x/core for deep value comparison.

Overview

Checks whether two values are deeply equal.

When to use

Use when you need deep-equality checks in rs-x (for example before emitting updates or committing state changes).

Import

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

Example

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

await InjectionContainer.load(RsXCoreModule);

const equality = InjectionContainer.get<IEqualityService>(
  RsXCoreInjectionTokens.IEqualityService,
);

const a = { id: 1, nested: { name: 'Ada' } };
const b = { id: 1, nested: { name: 'Ada' } };

console.log(equality.isEqual(a, b)); // true

Constructor injection example

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

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