0.4.0-alpha • Published 5 years ago

@perfective/real v0.4.0-alpha

Weekly downloads
70
License
MIT
Repository
github
Last release
5 years ago

Perfective Real Numbers

The @perfective/real package declares types and functions to work with real numbers, including the JavaScript Number class.

Read the full documentation on the Github.

Number

  • TypeGuards:
    • isNumber<T>(value: number | T): value is number
    • isNotNumber<T>(value: number | T): value is T
  • Number methods:
    • exponential(fraction: Digits): Unary<number, string>
    • fixed(fraction: Digits): Unary<number, string>
    • precision(precision: Precision): Unary<number, string>

Integer

  • Types:
    • Integer — an alias to the number type
  • Predicates:
    • isInteger(value: number): boolean
    • isSafeInteger(value: number): boolean
    • isNonNegativeInteger(value: number): boolean
    • isPositiveInteger(value: number): boolean
    • isNonPositiveInteger(value: number): boolean
    • isNegativeInteger(value: number): boolean

Base (Radix)

The parseFloat(), parseInt(), and Number.prototype.toString() functions are combined into polymorphic shortcuts for readability:

  • Decimal (radix = 10):
    • decimal(value: number): string
    • decimal(value: string): number
  • Binary (radix = 2):
    • binary(value: Integer): string
    • binary(value: string): Integer
  • Octal (radix = 8):
    • octal(value: Integer): string
    • octal(value: string): Integer
  • Hexadecimal (radix = 16):
    • hexadecimal(value: Integer): string
    • hexadecimal(value: string): Integer

Order

  • Predicates:
    • isEqualTo(value: number): Predicate<number>
    • isNotEqualTo(value: number): Predicate<number>
    • isGreaterThan(value: number): Predicate<number>
    • isGreaterThanOrEqualTo(value: number): Predicate<number>
    • isLessThan(value: number): Predicate<number>
    • isLessThanOrEqualTo(value: number): Predicate<number>
  • Sorting:
    • ascending(a: number, b: number): number
    • descending(a: number, b: number): number

Interval

  • Types:
    • Interval — represents a range from Interval.min to Interval.max.
  • Unit functions:
    • interval(a: number, b: number): Interval
    • intervalFromPair(pair: readonly [number, number]): Interval
  • Predicates:
    • isInInterval(interval: Interval): Predicate<number>
    • isInOpenInterval(interval: Interval): Predicate<number>
    • isInLeftOpenInterval(interval: Interval): Predicate<number>
    • isInRightOpenInterval(interval: Interval): Predicate<number>
0.6.0

5 years ago

0.5.1

5 years ago

0.5.0

5 years ago

0.4.1

5 years ago

0.4.0

5 years ago

0.4.0-beta

5 years ago

0.4.0-alpha.2

5 years ago

0.4.0-alpha.1

5 years ago

0.4.0-alpha

5 years ago

0.3.0

6 years ago

0.2.1

6 years ago

0.2.0

6 years ago

0.1.1

6 years ago

0.1.0

6 years ago