UNPKG

rambdax

Version:

Extended version of Rambda - a lightweight, faster alternative to Ramda

37 lines (33 loc) 1.08 kB
import {Equals} from '../Any/Equals' import {_Greater} from './Greater' import {IterationOf} from '../Iteration/IterationOf' import {Iteration} from '../Iteration/Iteration' import {Number} from './Number' import {Or} from '../Boolean/Or' import {NumberMap} from '../Iteration/Maps/Number' import {Map} from '../Iteration/Map' /** @hidden */ export type _GreaterEq<N1 extends Iteration, N2 extends Iteration, IMap extends Map> = Or<Equals<N1, N2>, _Greater<N1, N2, IMap>> /** Check if a [[Number]] is greater or equal to another one @param N1 to compare @param N2 to compare to @param IMap to operate with another set of numbers @returns [[Boolean]] @example ```ts import {N} from 'ts-toolbelt' type test0 = N.GreaterEq<'7', '5'> // True type test1 = N.GreaterEq<'5', '5'> // True type test2 = N.GreaterEq<'5', '7'> // False ``` */ export type GreaterEq<N1 extends Number, N2 extends Number, IMap extends Map = NumberMap> = N1 extends unknown ? N2 extends unknown ? _GreaterEq<IterationOf<N1, IMap>, IterationOf<N2, IMap>, IMap> : never : never