@neotype/extensions
v0.3.0
Published
Default implementations for Neotype equivalence relations, total orders, and semigroups for built-in JavaScript objects
Downloads
2
Maintainers
Readme
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
, andsymbol
- Generic containers:
Array
andReadonlyArray
- Tuple literals and
readonly
tuple literals Set
andReadonlySet
Map
andReadonlyMap
- 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.