etf.js
v1.0.1
Published
An External Term Format Encoder/Decoder, written in pure JavaScript
Downloads
11
Readme
etf.js
About
External Text Format
is the format Erlang uses when sending and receiving data. This module implements packing and unpacking of said format in pure, native JavaScript.
Usage
This module is plug-and-play, it exposes two functions, pack
and unpack
, and would be used in the following way:
const { pack, unpack } = require('etf.js');
const serialized = pack({ hello: 'world' });
const deserialized = unpack(serialized);
console.log(deserialized); // { hello: 'world' }
What can be packed
- [x] Null (Primitive Tests)
- [x] Booleans (Primitive Tests)
- [x] Strings (Primitive Tests)
- [x] Atoms (Atom Tests)
- [x] Unicode Strings (String Tests)
- [x] Floats (Primitive Tests)
- [x] Integers (Primitive Tests)
- [x] Longs (Primitive Tests)
- [x] Longs over 64 bits (Primitive Tests)
- [x] Objects
- [x] Arrays
- [ ] Tuples
- [ ] PIDs
- [ ] Ports
- [ ] Exports
- [ ] References
Plus added support for Maps (will be converted into Objects) and Sets (will be converted into Arrays)
Credits
etf.js
is heavily based of binarytf
for the structure, and could not have been done without the help from it's author:
Contributing
- Fork it!
- Create your feature branch:
git checkout -b my-new-feature
- Commit your changes:
git commit -am 'Add some feature'
- Push to the branch:
git push origin my-new-feature
- Submit a pull request!
Author
etf.js © vladfrangu, released under the MIT License. Authored and maintained by vladfrangu.
Github vladfrangu - Twitter @KingDGrizzle