var GetIntrinsic =require('get-intrinsic');var assert =require('assert');// static methodsassert.equal(GetIntrinsic('%Math.pow%'),Math.pow);assert.equal(Math.pow(2,3),8);assert.equal(GetIntrinsic('%Math.pow%')(2,3),8);deleteMath.pow;assert.equal(GetIntrinsic('%Math.pow%')(2,3),8);// instance methodsvar arr = [1];assert.equal(GetIntrinsic('%Array.prototype.push%'),Array.prototype.push);assert.deepEqual(arr, [1]);arr.push(2);assert.deepEqual(arr, [1,2]);GetIntrinsic('%Array.prototype.push%').call(arr,3);assert.deepEqual(arr, [1,2,3]);deleteArray.prototype.push;GetIntrinsic('%Array.prototype.push%').call(arr,4);assert.deepEqual(arr, [1,2,3,4]);// missing featuresdeleteJSON.parse; // to simulate a real intrinsic that is missing in the environmentassert.throws(() =>GetIntrinsic('%JSON.parse%'));assert.equal(undefined,GetIntrinsic('%JSON.parse%',true));
Tests
Simply clone the repo, npm install, and run npm test
Security
Please email @ljharb or see https://tidelift.com/security if you have a potential security vulnerability to report.