/etf.js

An External Term Format Encoder/Decoder, written in pure JavaScript

Primary LanguageTypeScriptMIT LicenseMIT

etf.js

NPM version NPM downloads Build status Azure DevOps coverage Total alerts Dependabot Status Patreon

npm installnfo

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

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

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request!

Author

etf.js © vladfrangu, released under the MIT License. Authored and maintained by vladfrangu.

Github vladfrangu - Twitter @KingDGrizzle