0.0.10 • Published 6 years ago

new-voice-media v0.0.10

Weekly downloads
1
License
MIT
Repository
github
Last release
6 years ago

nvm-api

New Voice Media Node Wrapper - for stats

npm install new-voice-media --save

Usage

Create a global connection to the service using your private keys. Authentication is then handled internally.

	const CONFIG = {
		ACCOUNT_KEY:'ACCOUNT',
		CLIENT_SECRET:'SECRET',
		CLOUD:'cloud11',
		throttling:500 // optional (default: 400ms) reduce the speed of calls centrall from the NVM connection
	};

	const nmv = new NVM(CONFIG);
	// nmv object from which to run reports
	module.exports = nvm;
	// this object will maintain authentication cetrally so other moduels can create reports easily

Streaming

Streaming data from the a report can be achieved. This avoids buffering anything into memory.

	let report = nmv.newReport({
		report:"INBOUND",
		start:'2017-06-01',
		end:'2017-06-04'
	})
	.on('data',function(row){
		console.log(row);
	})
	.on('error',function(err){
		console.log(err)
	})
	.on('end',function(){
		console.log("ALL done");
		console.log(this.results);
	})
	.stream();

Stream Method can be piped directly

	let transform = new Transform({
		writableObjectMode:true,
		transform:(row)=>{return this.push(JSON.stringify(row)+'\n')}
	};)
	let newFile = fs.createWriteStream('./file.txt')
	let report = nmv.newReport({
		report:"INBOUND",
		start:'2017-06-01',
		end:'2017-06-04'
	})
	.stream().pipe(transform).pipe(newFile);

Promises and Callback

If data is not streamed it will be buffered all into memory before the end ofthe call. This should be ok for smaller requests.

	let report = nmv.newReport({
		report:"OUTBOUND",
		start:'2017-06-01',
		end:'2017-06-04'
	})
	.limit(10000)
	.run(function(err,results){
		if(err) return console.log(err);
		console.log(results.rows);
	});
0.0.10

6 years ago

0.0.9

7 years ago

0.0.8

7 years ago

0.0.7

7 years ago

0.0.6

7 years ago

0.0.5

7 years ago

0.0.4

7 years ago

0.0.3

7 years ago

0.0.2

7 years ago

0.0.1

7 years ago