You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					25 lines
				
				401 B
			
		
		
			
		
	
	
					25 lines
				
				401 B
			| 
								 
											4 years ago
										 
									 | 
							
								'use strict';
							 | 
						||
| 
								 | 
							
								var isFinite = require('is-finite');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								module.exports = function (str, n) {
							 | 
						||
| 
								 | 
							
									if (typeof str !== 'string') {
							 | 
						||
| 
								 | 
							
										throw new TypeError('Expected `input` to be a string');
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									if (n < 0 || !isFinite(n)) {
							 | 
						||
| 
								 | 
							
										throw new TypeError('Expected `count` to be a positive finite number');
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									var ret = '';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									do {
							 | 
						||
| 
								 | 
							
										if (n & 1) {
							 | 
						||
| 
								 | 
							
											ret += str;
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										str += str;
							 | 
						||
| 
								 | 
							
									} while ((n >>= 1));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									return ret;
							 | 
						||
| 
								 | 
							
								};
							 |