@typed/fp
Version:
Data Structures and Resources for fp-ts
117 lines • 2.83 kB
TypeScript
/**
* Eq Instance for some common scenarios including deep equality.
*
* @since 0.9.2
*/
import * as Eq from 'fp-ts/Eq';
import { Schemable1 } from './Schemable';
/**
* @since 0.9.2
* @category Instance
*/
export declare const alwaysEqualsEq: Eq.Eq<any>;
/**
* @since 0.9.2
* @category Instance
*/
export declare const neverEqualsEq: Eq.Eq<any>;
/**
* A deep-equality Eq instance.
* Supports Reference equality, all JavaScript Primitives including `RegExp`, `Set` and `Map`.
* @since 0.9.2
* @category Instance
*/
export declare const deepEqualsEq: Eq.Eq<unknown>;
/**
* @category primitives
* @since 0.9.5
*/
export declare const string: Eq.Eq<string>;
/**
* @category primitives
* @since 0.9.5
*/
export declare const number: Eq.Eq<number>;
/**
* @category primitives
* @since 0.9.5
*/
export declare const boolean: Eq.Eq<boolean>;
/**
* @category primitives
* @since 0.9.5
*/
export declare const unknownArray: Eq.Eq<ReadonlyArray<unknown>>;
/**
* @category primitives
* @since 0.9.5
*/
export declare const unknownRecord: Eq.Eq<Readonly<Record<string, unknown>>>;
/**
* @category Combinator
* @since 0.9.5
*/
export declare const nullable: <A>(or: Eq.Eq<A>) => Eq.Eq<A | null>;
/**
* @category Combinator
* @since 0.9.5
*/
export declare const optional: <A>(or: Eq.Eq<A>) => Eq.Eq<A | undefined>;
/**
* @category Combinator
* @since 0.9.5
*/
export declare const tuple: <A extends ReadonlyArray<unknown>>(...components: {
[K in keyof A]: Eq.Eq<A[K]>;
}) => Eq.Eq<A>;
/**
* @category Combinator
* @since 2.2.15
*/
export declare const struct: <A>(properties: {
[K in keyof A]: Eq.Eq<A[K]>;
}) => Eq.Eq<{
[K in keyof A]: A[K];
}>;
/**
* @category Combinator
* @since 0.9.5
*/
export declare const partial: <A>(properties: { [K in keyof A]: Eq.Eq<A[K]>; }) => Eq.Eq<Partial<{ [K_1 in keyof A]: A[K_1]; }>>;
/**
* @category Combinator
* @since 0.9.5
*/
export declare const array: <A>(item: Eq.Eq<A>) => Eq.Eq<Array<A>>;
/**
* @category Combinator
* @since 0.9.5
*/
export declare const record: <A>(codomain: Eq.Eq<A>) => Eq.Eq<Record<string, A>>;
/**
* @category Combinator
* @since 0.9.5
*/
export declare const intersect: <B>(right: Eq.Eq<B>) => <A>(left: Eq.Eq<A>) => Eq.Eq<A & B>;
/**
* @category Combinator
* @since 0.9.5
*/
export declare function lazy<A>(f: () => Eq.Eq<A>): Eq.Eq<A>;
/**
* @category Combinator
* @since 0.9.5
*/
export declare const sum: <T extends string>(tag: T) => <A>(members: { [K in keyof A]: Eq.Eq<A[K] & Record<T, K>>; }) => Eq.Eq<A[keyof A]>;
declare module 'fp-ts/HKT' {
interface URItoKind<A> {
readonly '@typed/fp/ToEq': Eq.Eq<A>;
}
}
/**
* @category Instance
* @since 0.9.4
*/
export declare const Schemable: Schemable1<'@typed/fp/ToEq'>;
export * from 'fp-ts/Eq';
//# sourceMappingURL=Eq.d.ts.map