]> gerrit.simantics Code Review - simantics/district.git/blob - org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/node_modules/char-spinner/spin.js
Adding integrated tile server
[simantics/district.git] / org.simantics.maps.server / node / node-v4.8.0-win-x64 / node_modules / npm / node_modules / char-spinner / spin.js
1 module.exports = spinner
2
3 function spinner(opt) {
4   opt = opt || {}
5   var str = opt.stream || process.stderr
6   var tty = typeof opt.tty === 'boolean' ? opt.tty : true
7   var string = opt.string || '/-\\|'
8   var ms = typeof opt.interval === 'number' ? opt.interval : 50
9   if (ms < 0) ms = 0
10   if (tty && !str.isTTY) return false
11   var CR = str.isTTY ? '\u001b[0G' : '\u000d';
12   var CLEAR = str.isTTY ? '\u001b[2K' : '\u000d \u000d';
13
14   var s = 0
15   var sprite = string.split('')
16   var wrote = false
17
18   var delay = typeof opt.delay === 'number' ? opt.delay : 2
19
20   var interval = setInterval(function() {
21     if (--delay >= 0) return
22     s = ++s % sprite.length
23     var c = sprite[s]
24     str.write(c + CR)
25     wrote = true
26   }, ms)
27
28   var unref = typeof opt.unref === 'boolean' ? opt.unref : true
29   if (unref && typeof interval.unref === 'function') {
30     interval.unref()
31   }
32
33   var cleanup = typeof opt.cleanup === 'boolean' ? opt.cleanup : true
34   if (cleanup) {
35     process.on('exit', function() {
36       if (wrote) {
37           str.write(CLEAR);
38       }
39     })
40   }
41
42   module.exports.clear = function () {
43     str.write(CLEAR);
44   };
45   
46   return interval
47 }
48
49 module.exports.clear = function () {};
50
51