PHP WebShell
Текущая директория: /usr/lib/node_modules/bitgo/node_modules/@celo/contractkit/node_modules/fp-ts/es6
Просмотр файла: Ord.d.ts
/**
* @file The `Ord` type class represents types which support comparisons with a _total order_.
*
* Instances should satisfy the laws of total orderings:
*
* 1. Reflexivity: `S.compare(a, a) <= 0`
* 2. Antisymmetry: if `S.compare(a, b) <= 0` and `S.compare(b, a) <= 0` then `a <-> b`
* 3. Transitivity: if `S.compare(a, b) <= 0` and `S.compare(b, c) <= 0` then `S.compare(a, c) <= 0`
*
* See [Getting started with fp-ts: Ord](https://dev.to/gcanti/getting-started-with-fp-ts-ord-5f1e)
*/
import { Ordering } from './Ordering';
import { Semigroup } from './Semigroup';
import { Eq } from './Eq';
import { Contravariant1 } from './Contravariant';
declare module './HKT' {
interface URItoKind<A> {
Ord: Ord<A>;
}
}
/**
* @since 2.0.0
*/
export declare const URI = "Ord";
/**
* @since 2.0.0
*/
export declare type URI = typeof URI;
/**
* @since 2.0.0
*/
export interface Ord<A> extends Eq<A> {
readonly compare: (x: A, y: A) => Ordering;
}
/**
* @since 2.0.0
*/
export declare const ordString: Ord<string>;
/**
* @since 2.0.0
*/
export declare const ordNumber: Ord<number>;
/**
* @since 2.0.0
*/
export declare const ordBoolean: Ord<boolean>;
/**
* Test whether one value is _strictly less than_ another
*
* @since 2.0.0
*/
export declare function lt<A>(O: Ord<A>): (x: A, y: A) => boolean;
/**
* Test whether one value is _strictly greater than_ another
*
* @since 2.0.0
*/
export declare function gt<A>(O: Ord<A>): (x: A, y: A) => boolean;
/**
* Test whether one value is _non-strictly less than_ another
*
* @since 2.0.0
*/
export declare function leq<A>(O: Ord<A>): (x: A, y: A) => boolean;
/**
* Test whether one value is _non-strictly greater than_ another
*
* @since 2.0.0
*/
export declare function geq<A>(O: Ord<A>): (x: A, y: A) => boolean;
/**
* Take the minimum of two values. If they are considered equal, the first argument is chosen
*
* @since 2.0.0
*/
export declare function min<A>(O: Ord<A>): (x: A, y: A) => A;
/**
* Take the maximum of two values. If they are considered equal, the first argument is chosen
*
* @since 2.0.0
*/
export declare function max<A>(O: Ord<A>): (x: A, y: A) => A;
/**
* Clamp a value between a minimum and a maximum
*
* @since 2.0.0
*/
export declare function clamp<A>(O: Ord<A>): (low: A, hi: A) => (x: A) => A;
/**
* Test whether a value is between a minimum and a maximum (inclusive)
*
* @since 2.0.0
*/
export declare function between<A>(O: Ord<A>): (low: A, hi: A) => (x: A) => boolean;
/**
* @since 2.0.0
*/
export declare function fromCompare<A>(compare: (x: A, y: A) => Ordering): Ord<A>;
/**
* @since 2.0.0
*/
export declare function getSemigroup<A = never>(): Semigroup<Ord<A>>;
/**
* Given a tuple of `Ord`s returns an `Ord` for the tuple
*
* @example
* import { getTupleOrd, ordString, ordNumber, ordBoolean } from 'fp-ts/lib/Ord'
*
* const O = getTupleOrd(ordString, ordNumber, ordBoolean)
* assert.strictEqual(O.compare(['a', 1, true], ['b', 2, true]), -1)
* assert.strictEqual(O.compare(['a', 1, true], ['a', 2, true]), -1)
* assert.strictEqual(O.compare(['a', 1, true], ['a', 1, false]), 1)
*
* @since 2.0.0
*/
export declare function getTupleOrd<T extends Array<Ord<any>>>(...ords: T): Ord<{
[K in keyof T]: T[K] extends Ord<infer A> ? A : never;
}>;
/**
* @since 2.0.0
*/
export declare function getDualOrd<A>(O: Ord<A>): Ord<A>;
/**
* @since 2.0.0
*/
export declare const ord: Contravariant1<URI>;
declare const contramap: <A, B>(f: (b: B) => A) => (fa: Ord<A>) => Ord<B>;
export {
/**
* @since 2.0.0
*/
contramap };
/**
* @since 2.0.0
*/
export declare const ordDate: Ord<Date>;
Выполнить команду
Для локальной разработки. Не используйте в интернете!