Skip to content
This repository has been archived by the owner on Oct 25, 2023. It is now read-only.

dodancs/asterisk-ami-event-utils

 
 

Repository files navigation

Asterisk AMI Event Utils for NodeJS \w TypeScript support

Coverage Status npm version

Fork of asterisk-ami-event-utils and dafik/asterisk-ami-event-utils

Some service functions for parse\stringify raw data packages (events, actions, responses, extended responses) from Asterisk AMI's socket. This library is a part of Asterisk's AMI Client library.

Install

$ npm i @dodancs/asterisk-ami-event-utils

NodeJS versions

support >=4.0.0

Available methods

  • .toString(buffer) - converts raw AMI's data package from buffer to utf-8 string and trim all CRLF in start or end of this string;
  • .toObject(buffer) - converts raw AMI's data package from buffer to object;
  • .toJson(buffer) - converts raw AMI's data package from buffer to json-string;
  • .toArray(buffer) - converts raw AMI's data package from buffer to paired-array,
    like this: [['prop_name_1', 'prop_val_1'], ..., ['prop_name_n', 'prop_val_n']];
  • .fromObject(obj) - converts data package from object to string, which ready for send into
    socket of Asterisk AMI socket;
  • .fromArray(arr) - converts data package from paired-array to string, which ready for send into
    socket of Asterisk AMI socket;
  • .fromString(str) - prepares data package's string into correct form for send into socket of Asterisk AMI socket;

Usage

const amiUtils = require('asterisk-ami-event-utils');
let eventBuffer = '...'; // any buffer or string of event from AMI's socket or from other place
let eventObject = amiUtils.toObject(eventBuffer);

Examples

For examples, please, see tests ./test/*.

Tests

Tests require Mocha.

mocha ./test

or with npm

npm test 

Test coverage with Istanbul

npm run coverage

License

Licensed under the MIT License

About

Asterisk AMI Event Utils for NodeJS \w TypeScript support

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 100.0%