erlang-term-format

Erlang External Term Format parser

Usage no npm install needed!

<script type="module">
  import erlangTermFormat from 'https://cdn.skypack.dev/erlang-term-format';
</script>

README

Erlang External Term Format

npm version Build Status Coverage Status js-standard-style semantic-release

This module implements a parser for the External Term Format of Erlang.

Installation

$ npm install erlang-term-format

Usage

See test.js for some examples.

const Parser = require('erlang-term-format')
const parser = new Parser()

parser.on('readable', () => {
    console.log(parser.read())
})

const pid = [
    103,                               // 103 = PID type
    100, 0x00, 0x03, 0x66, 0x6f, 0x6f, // atom 'foo'
    0x00, 0x00, 0x00, 0x01,            // id 1
    0x00, 0x00, 0x00, 0x01,            // serial 1
    0x01                               // creation 1
]

parser.write(new Buffer(pid))

// The following structure will be logged:
/*
{
  name: 'pid',
  value: {
    node: {
      name: 'atom',
      value: {
        atom: 'foo',
        len: 3
      }
    },
    id: 1,
    serial: 1,
    creation: 1
  }
}
*/

Contributing

See CONTRIBUTING.md.