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.
		
		
		
		
		
			
		
			
				
					
					
						
							23 lines
						
					
					
						
							581 B
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							23 lines
						
					
					
						
							581 B
						
					
					
				
								'use strict';
							 | 
						|
								
							 | 
						|
								var GetIntrinsic = require('get-intrinsic');
							 | 
						|
								
							 | 
						|
								var $BigInt = GetIntrinsic('%BigInt%', true);
							 | 
						|
								var $TypeError = GetIntrinsic('%TypeError%');
							 | 
						|
								var $SyntaxError = GetIntrinsic('%SyntaxError%');
							 | 
						|
								
							 | 
						|
								// https://262.ecma-international.org/11.0/#sec-stringtobigint
							 | 
						|
								
							 | 
						|
								module.exports = function StringToBigInt(argument) {
							 | 
						|
									if (typeof argument !== 'string') {
							 | 
						|
										throw new $TypeError('`argument` must be a string');
							 | 
						|
									}
							 | 
						|
									if (!$BigInt) {
							 | 
						|
										throw new $SyntaxError('BigInts are not supported in this environment');
							 | 
						|
									}
							 | 
						|
									try {
							 | 
						|
										return $BigInt(argument);
							 | 
						|
									} catch (e) {
							 | 
						|
										return NaN;
							 | 
						|
									}
							 | 
						|
								};
							 | 
						|
								
							 |