git-subtree-dir: main-site git-subtree-mainline: 4d1daa39101c0a85ca6d916f1c31139faf39632a git-subtree-split: 5cefb4d1618bc54ae0e86830421a8c911900302c
20 lines
687 B
JavaScript
20 lines
687 B
JavaScript
'use strict';
|
|
|
|
var GetIntrinsic = require('get-intrinsic');
|
|
|
|
var callBindBasic = require('call-bind-apply-helpers');
|
|
|
|
/** @type {(thisArg: string, searchString: string, position?: number) => number} */
|
|
var $indexOf = callBindBasic([GetIntrinsic('%String.prototype.indexOf%')]);
|
|
|
|
/** @type {import('.')} */
|
|
module.exports = function callBoundIntrinsic(name, allowMissing) {
|
|
/* eslint no-extra-parens: 0 */
|
|
|
|
var intrinsic = /** @type {(this: unknown, ...args: unknown[]) => unknown} */ (GetIntrinsic(name, !!allowMissing));
|
|
if (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {
|
|
return callBindBasic(/** @type {const} */ ([intrinsic]));
|
|
}
|
|
return intrinsic;
|
|
};
|