| '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; | 
|     } | 
| }; |