@neotype/extensions

0.3.0 • Public • Published

Neotype Extensions

Default implementations for Neotype equivalence relations, total orders, and semigroups for built-in JavaScript objects

Features

Neotype Extensions provides default implementations for the Neotype Eq, Ord, and Semigroup interfaces for built-in JavaScript objects and their corresponding TypeScript definitions, including:

  • Primitives: boolean, number, bigint, string, and symbol
  • Generic containers:
    • Array and ReadonlyArray
    • Tuple literals and readonly tuple literals
    • Set and ReadonlySet
    • Map and ReadonlyMap
  • Dates, Promises, and Functions
  • Typed arrays

The specific implementations are as follows:

Type Eq Ord Semigroup
Array
BigInt
BigInt64Array
BigUint64Array
Boolean
Date
Float32Array
Float64Array
Function
Int8Array
Int16Array
Int32Array
Map
Number
Promise
readonly tuple literal
ReadonlyArray
ReadonlyMap
ReadonlySet
Set
String
Symbol
tuple literal
Uint8Array
Uint8ClampedArray
Uint16Array
Uint32Array

Install

Neotype Extensions is available on NPM.

npm install @neotype/extensions

Working with modules

This library provides a suite of ES6 modules. A .js suffix is required in all import statements. There are no exports. When imported, each module will augment a global object.

import "@neotype/extensions/number.js";
import "@neotype/extensions/string.js";
import "@neotype/extensions/boolean.js";
import "@neotype/extensions/promise.js";
// etc.

See each module's documentation for recommended import practices.

Package Sidebar

Install

npm i @neotype/extensions

Weekly Downloads

1

Version

0.3.0

License

Apache-2.0

Unpacked Size

158 kB

Total Files

113

Last publish

Collaborators

  • jmartinezmaes