All files / src/interfaces/DataType IEquatable.ts

0% Statements 0/2
0% Branches 0/3
0% Functions 0/1
0% Lines 0/2

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25                                                 
/**
 * Interface for equatable objects.
 */
export interface IEquatable {
    /**
     * Checks if this object is equal to another object.
     * @param other The other object to compare.
     * @returns Whether this object is equal to the other object.
     */
    equals(other: unknown): boolean;
}
 
/**
 * Checks if the object is an {@link IEquatable}.
 * @param obj The object to check.
 * @returns Whether the object is an {@link IEquatable}.
 */
export function isIEquatable(obj: unknown): obj is IEquatable {
    return (
        obj != null &&
        typeof obj === 'object' &&
        typeof (obj as IEquatable).equals === 'function'
    );
}
 
Zur TypeDoc-Dokumentation