typewise

Typewise-structured sorting for arbitrarily complex data structures

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
typewise
1521.0.37 years ago10 years agoMinified + gzip package size for typewise in KB

Readme

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