| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 | 
							- 'use strict';
 
- var BEEP_DELAY = 500;
 
- function beep() {
 
- 	process.stdout.write('\u0007');
 
- }
 
- function melodicalBeep(val, cb) {
 
- 	if (val.length === 0) {
 
- 		cb();
 
- 		return;
 
- 	}
 
- 	setTimeout(function () {
 
- 		if (val.shift() === '*') {
 
- 			beep();
 
- 		}
 
- 		melodicalBeep(val, cb);
 
- 	}, BEEP_DELAY);
 
- }
 
- module.exports = function (val, cb) {
 
- 	if (!process.stdout.isTTY ||
 
- 		process.argv.indexOf('--no-beep') !== -1 ||
 
- 		process.argv.indexOf('--beep=false') !== -1) {
 
- 		return;
 
- 	}
 
- 	cb = cb || function () {};
 
- 	if (val === parseInt(val)) {
 
- 		if (val < 0) {
 
- 			throw new TypeError('Negative numbers are not accepted');
 
- 		}
 
- 		if (val === 0) {
 
- 			cb();
 
- 			return;
 
- 		}
 
- 		for (var i = 0; i < val; i++) {
 
- 			setTimeout(function (i) {
 
- 				beep();
 
- 				if (i === val - 1) {
 
- 					cb();
 
- 				}
 
- 			}, BEEP_DELAY * i, i);
 
- 		}
 
- 	} else if (!val) {
 
- 		beep();
 
- 		cb();
 
- 	} else if (typeof val === 'string') {
 
- 		melodicalBeep(val.split(''), cb);
 
- 	} else {
 
- 		throw new TypeError('Not an accepted type');
 
- 	}
 
- };
 
 
  |