Skip to content

Representation of JavaScript primitives as a Buffer such that binary order matches natural order of primitives

License

Notifications You must be signed in to change notification settings

lobesoftllc/ordered-binary

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The ordered-binary provides a representation of JavaScript primitives as NodeJS Buffers, such that there binary values are naturally ordered such that it matches primitive ordering. For example, since -2.0321 > -2.04, then toBufferKey(-2.0321) will be greater than toBufferKey(-2.04) as a binary representation, in left-to-right evaluation. This is particular useful for storing keys as binaries with something like LevelDB, to avoid any custom sorting.

The main module exports two functions:

toBufferKey(jsPrimitive) - This accepts a string, number, or boolean as the argument, and returns a Buffer. fromBufferKey(bufferKey, multiple) - This accepts a Buffer and returns a JavaScript primitive value. This can also parse buffers that hold multiple values delimited by a byte 30, by setting the second argument to true (in which case it will return an array).

About

Representation of JavaScript primitives as a Buffer such that binary order matches natural order of primitives

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%