first
This commit is contained in:
28
node_modules/core-js/modules/web.url-search-params.has.js
generated
vendored
Normal file
28
node_modules/core-js/modules/web.url-search-params.has.js
generated
vendored
Normal file
@ -0,0 +1,28 @@
|
||||
'use strict';
|
||||
var defineBuiltIn = require('../internals/define-built-in');
|
||||
var uncurryThis = require('../internals/function-uncurry-this');
|
||||
var toString = require('../internals/to-string');
|
||||
var validateArgumentsLength = require('../internals/validate-arguments-length');
|
||||
|
||||
var $URLSearchParams = URLSearchParams;
|
||||
var URLSearchParamsPrototype = $URLSearchParams.prototype;
|
||||
var getAll = uncurryThis(URLSearchParamsPrototype.getAll);
|
||||
var $has = uncurryThis(URLSearchParamsPrototype.has);
|
||||
var params = new $URLSearchParams('a=1');
|
||||
|
||||
// `undefined` case is a Chromium 117 bug
|
||||
// https://bugs.chromium.org/p/v8/issues/detail?id=14222
|
||||
if (params.has('a', 2) || !params.has('a', undefined)) {
|
||||
defineBuiltIn(URLSearchParamsPrototype, 'has', function has(name /* , value */) {
|
||||
var length = arguments.length;
|
||||
var $value = length < 2 ? undefined : arguments[1];
|
||||
if (length && $value === undefined) return $has(this, name);
|
||||
var values = getAll(this, name); // also validates `this`
|
||||
validateArgumentsLength(length, 1);
|
||||
var value = toString($value);
|
||||
var index = 0;
|
||||
while (index < values.length) {
|
||||
if (values[index++] === value) return true;
|
||||
} return false;
|
||||
}, { enumerable: true, unsafe: true });
|
||||
}
|
Reference in New Issue
Block a user