index.js
1 'use strict'; 2 3 var GetIntrinsic = require('get-intrinsic'); 4 5 var callBindBasic = require('call-bind-apply-helpers'); 6 7 /** @type {(thisArg: string, searchString: string, position?: number) => number} */ 8 var $indexOf = callBindBasic([GetIntrinsic('%String.prototype.indexOf%')]); 9 10 /** @type {import('.')} */ 11 module.exports = function callBoundIntrinsic(name, allowMissing) { 12 /* eslint no-extra-parens: 0 */ 13 14 var intrinsic = /** @type {(this: unknown, ...args: unknown[]) => unknown} */ (GetIntrinsic(name, !!allowMissing)); 15 if (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) { 16 return callBindBasic(/** @type {const} */ ([intrinsic])); 17 } 18 return intrinsic; 19 };