typewise

1.0.3 • Public • Published

typewise

Typewise structured sorting for arbirarily complex data structures.

build status

This library defines and implements the collation used by the bytewise encoding library.

NOTE: the core typewise sorting functionality has been completely rewritten and moved to typewise-core. This library extends the data structures and comparators available to support more exotic types like ordered maps and sets, and shortlex-ordered tuples and records.

Type system

In order to properly express the rules for sorting and equality for a wide range of structures typewise defines a simple type system for controlling these properties across a range of data structures.

A typewise type profile can be provide when creating a bytewise codec to control encoding and decoding behavior for specific types. Types may also contain high and low sentinal values that can be used to create range types which may be impossible be instantiate directly as instances.

For example, dates have no valid infinatary instances, but something analogous to the "minimum" and "maximum" dates is a useful construct for defining date intervals.

Issues

Issues should be reported here.

License

MIT

Package Sidebar

Install

npm i typewise

Weekly Downloads

265,895

Version

1.0.3

License

MIT

Last publish

Collaborators

  • deanlandolt