/** * Eq is a data type that determines if two values of the same type are equal, and abides * the following laws: * * 1. Reflexivity: `x === x` * 2. Symmetry: `x === y <=> y === x` * 3. Transitivity: `x === y && y === z => x === z` * * @since 2.0.0 */ import { type Contravariant1 } from 'fp-ts/Contravariant'; import { type Invariant1 } from 'fp-ts/Invariant'; /** * Represents a typeclass and data type that determines if two values of the same type are * equal, and follows the following laws: * * 1. Reflexivity: `x === x` * 2. Symmetry: `x === y <=> y === x` * 3. Transitivity: `x === y && y === z => x === z` * * @since 2.0.0 * @category Model */ export interface Eq { readonly equals: (x: A, y: A) => boolean; } /** * @since 2.0.0 * @category Constructors */ export declare const fromEquals: (equals: (x: A, y: A) => boolean) => Eq; export { /** * Interprets a schema as an `Eq` instance. * * @since 2.0.0 * @category Interpreters */ deriveEq, } from 'schemata-ts/derivations/eq-schemable'; /** * @since 2.0.0 * @category URI */ export declare const URI = "schemata-ts/Eq"; /** * @since 2.0.0 * @category URI */ export type URI = typeof URI; declare module 'fp-ts/lib/HKT' { interface URItoKind { readonly [URI]: Eq; } } /** * @since 2.0.0 * @category Instance Methods */ export declare const imap: (f: (a: A) => B, g: (b: B) => A) => (fa: Eq) => Eq; /** * @since 2.0.0 * @category Instances */ export declare const Invariant: Invariant1; /** * @since 2.0.0 * @category Instance Methods */ export declare const contramap: (f: (b: B) => A) => (fa: Eq) => Eq; /** * @since 2.0.0 * @category Instances */ export declare const Contravariant: Contravariant1; /** * @since 2.0.0 * @category Combinators */ export declare const and: (that: Eq) => (self: Eq) => Eq; /** * @since 2.0.0 * @category Instances */ export declare const always: Eq; /** * @since 2.0.0 * @category Combinators */ export declare const or: (that: Eq) => (self: Eq) => Eq; /** * @since 2.0.0 * @category Instances */ export declare const eqStrict: Eq; //# sourceMappingURL=Eq.d.ts.map