138 lines
2.6 KiB
TypeScript
138 lines
2.6 KiB
TypeScript
|
import * as E from 'fp-ts/es6/Eq'
|
||
|
import { Schemable1, WithRefine1, WithUnknownContainers1 } from './Schemable'
|
||
|
import Eq = E.Eq
|
||
|
/**
|
||
|
* @since 2.2.3
|
||
|
*/
|
||
|
export declare type URI = E.URI
|
||
|
/**
|
||
|
* @since 2.2.2
|
||
|
*/
|
||
|
export declare type TypeOf<E> = E extends Eq<infer A> ? A : never
|
||
|
/**
|
||
|
* @category primitives
|
||
|
* @since 2.2.2
|
||
|
*/
|
||
|
export declare const string: Eq<string>
|
||
|
/**
|
||
|
* @category primitives
|
||
|
* @since 2.2.2
|
||
|
*/
|
||
|
export declare const number: Eq<number>
|
||
|
/**
|
||
|
* @category primitives
|
||
|
* @since 2.2.2
|
||
|
*/
|
||
|
export declare const boolean: Eq<boolean>
|
||
|
/**
|
||
|
* @category primitives
|
||
|
* @since 2.2.2
|
||
|
*/
|
||
|
export declare const UnknownArray: Eq<Array<unknown>>
|
||
|
/**
|
||
|
* @category primitives
|
||
|
* @since 2.2.2
|
||
|
*/
|
||
|
export declare const UnknownRecord: Eq<Record<string, unknown>>
|
||
|
/**
|
||
|
* @category combinators
|
||
|
* @since 2.2.2
|
||
|
*/
|
||
|
export declare function nullable<A>(or: Eq<A>): Eq<null | A>
|
||
|
/**
|
||
|
* @category combinators
|
||
|
* @since 2.2.15
|
||
|
*/
|
||
|
export declare const struct: <A>(
|
||
|
eqs: {
|
||
|
[K in keyof A]: Eq<A[K]>
|
||
|
}
|
||
|
) => Eq<
|
||
|
{
|
||
|
[K in keyof A]: A[K]
|
||
|
}
|
||
|
>
|
||
|
/**
|
||
|
* Use `struct` instead.
|
||
|
*
|
||
|
* @category combinators
|
||
|
* @since 2.2.2
|
||
|
* @deprecated
|
||
|
*/
|
||
|
export declare const type: <A>(eqs: { [K in keyof A]: E.Eq<A[K]> }) => E.Eq<{ [K_1 in keyof A]: A[K_1] }>
|
||
|
/**
|
||
|
* @category combinators
|
||
|
* @since 2.2.2
|
||
|
*/
|
||
|
export declare function partial<A>(
|
||
|
properties: {
|
||
|
[K in keyof A]: Eq<A[K]>
|
||
|
}
|
||
|
): Eq<
|
||
|
Partial<
|
||
|
{
|
||
|
[K in keyof A]: A[K]
|
||
|
}
|
||
|
>
|
||
|
>
|
||
|
/**
|
||
|
* @category combinators
|
||
|
* @since 2.2.2
|
||
|
*/
|
||
|
export declare const record: <A>(codomain: Eq<A>) => Eq<Record<string, A>>
|
||
|
/**
|
||
|
* @category combinators
|
||
|
* @since 2.2.2
|
||
|
*/
|
||
|
export declare const array: <A>(eq: Eq<A>) => Eq<Array<A>>
|
||
|
/**
|
||
|
* @category combinators
|
||
|
* @since 2.2.2
|
||
|
*/
|
||
|
export declare const tuple: <A extends ReadonlyArray<unknown>>(
|
||
|
...components: {
|
||
|
[K in keyof A]: Eq<A[K]>
|
||
|
}
|
||
|
) => Eq<A>
|
||
|
/**
|
||
|
* @category combinators
|
||
|
* @since 2.2.2
|
||
|
*/
|
||
|
export declare const intersect: <B>(right: E.Eq<B>) => <A>(left: E.Eq<A>) => E.Eq<A & B>
|
||
|
/**
|
||
|
* @category combinators
|
||
|
* @since 2.2.2
|
||
|
*/
|
||
|
export declare function sum<T extends string>(
|
||
|
tag: T
|
||
|
): <A>(
|
||
|
members: {
|
||
|
[K in keyof A]: Eq<A[K] & Record<T, K>>
|
||
|
}
|
||
|
) => Eq<A[keyof A]>
|
||
|
/**
|
||
|
* @category combinators
|
||
|
* @since 2.2.2
|
||
|
*/
|
||
|
export declare function lazy<A>(f: () => Eq<A>): Eq<A>
|
||
|
/**
|
||
|
* @category combinators
|
||
|
* @since 2.2.15
|
||
|
*/
|
||
|
export declare const readonly: <A>(eq: Eq<A>) => Eq<Readonly<A>>
|
||
|
/**
|
||
|
* @category instances
|
||
|
* @since 2.2.8
|
||
|
*/
|
||
|
export declare const Schemable: Schemable1<E.URI>
|
||
|
/**
|
||
|
* @category instances
|
||
|
* @since 2.2.8
|
||
|
*/
|
||
|
export declare const WithUnknownContainers: WithUnknownContainers1<E.URI>
|
||
|
/**
|
||
|
* @category instances
|
||
|
* @since 2.2.8
|
||
|
*/
|
||
|
export declare const WithRefine: WithRefine1<E.URI>
|