/wrtc-ice-cand-parse

WRTC Ice Candidate parse

Primary LanguageJavaScriptMIT LicenseMIT

npm version Build Status Coverage Status Code Climate Inch CI

Dependency Status devDependency Status

wrtc-ice-cand-parse

WRTC Ice Candidate parse

This package is part of WRTC project.

Not yet ready for public usage.

Small helper to parse WebRTC ICE candidates string

'candidate:2 1 UDP 92274687 12.123.12.123 12345 typ relay raddr 12.123.12.123 rport 54321'

to JSON object

{ foundation: '2',
  component_id: '1',
  transport: 'UDP',
  priority: '92274687',
  localIP: '12.123.12.123',
  localPort: '12345',
  type: 'relay',
  remoteIP: '12.123.12.123',
  remotePort: '54321',
  generation: undefined }

and stringify it back.

If some field is not present in original strig,

If you have different needs regarding the functionality, please add a feature request.

Installation

npm install --save wrtc-ice-cand-parse

Usage

Not yet ready for public usage.

'type' and 'transport' properties are case-sensitive, i.e. type 'TCP' and type 'tcp' are different, to compare you need to lowerCase them.

Methods

parse

stringify

validate

Example

File examples/parse.js:

//iceParse = require('wrtc-ice-cand-parse');
var iceParse = require('../index.js');

var origStr = 'candidate:2 1 UDP 92274687 12.123.12.123 12345 typ relay raddr 12.123.12.123 rport 54321';
console.log('origStr:', origStr);

var candObj = iceParse.parse(origStr);
console.log('candObj:', candObj);

console.log('validate(candObj):',  iceParse.validate(candObj));

console.log('stringify(candObj):', iceParse.stringify(candObj));
node examples/parse.js 
origStr: candidate:2 1 UDP 92274687 12.123.12.123 12345 typ relay raddr 12.123.12.123 rport 54321
candObj: { foundation: '2',
  component_id: '1',
  transport: 'UDP',
  priority: '92274687',
  localIP: '12.123.12.123',
  localPort: '12345',
  type: 'relay',
  remoteIP: '12.123.12.123',
  remotePort: '54321',
  generation: undefined }
validate(candObj): true
stringify(candObj): candidate:2 1 UDP 92274687 12.123.12.123 12345 typ relay raddr 12.123.12.123 rport 54321

Links to package pages:

github.com   npmjs.com   travis-ci.org   coveralls.io   inch-ci.org