Compare commits
1 Commits
dd8c163379
...
45810382b9
Author | SHA1 | Date | |
---|---|---|---|
45810382b9 |
15
node_modules/@ungap/url-search-params/LICENSE
generated
vendored
Normal file
15
node_modules/@ungap/url-search-params/LICENSE
generated
vendored
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
ISC License
|
||||||
|
|
||||||
|
Copyright (c) 2018, Andrea Giammarchi, @WebReflection
|
||||||
|
|
||||||
|
Permission to use, copy, modify, and/or distribute this software for any
|
||||||
|
purpose with or without fee is hereby granted, provided that the above
|
||||||
|
copyright notice and this permission notice appear in all copies.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
||||||
|
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||||
|
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||||
|
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||||
|
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
|
||||||
|
OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||||
|
PERFORMANCE OF THIS SOFTWARE.
|
22
node_modules/@ungap/url-search-params/README.md
generated
vendored
Normal file
22
node_modules/@ungap/url-search-params/README.md
generated
vendored
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
# URLSearchParams
|
||||||
|
|
||||||
|
[](https://travis-ci.com/ungap/url-search-params) [](https://coveralls.io/github/ungap/url-search-params?branch=master) [](https://greenkeeper.io/) 
|
||||||
|
|
||||||
|
|
||||||
|
The [URLSearchParams](https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams) polyfill.
|
||||||
|
|
||||||
|
Previously known as [url-search-params](https://github.com/WebReflection/url-search-params).
|
||||||
|
|
||||||
|
All detections have been included and the code covered 100% (DOM patches are not measured on NodeJS though).
|
||||||
|
|
||||||
|
* CDN global patch via https://unpkg.com/@ungap/url-search-params
|
||||||
|
* ESM via `import URLSearchParams from '@ungap/url-search-params'`
|
||||||
|
* CJS via `const URLSearchParams = require('@ungap/url-search-params')`
|
||||||
|
|
||||||
|
[Live test](https://ungap.github.io/url-search-params/test/)
|
||||||
|
|
||||||
|
### ⚠ Webpack Users
|
||||||
|
|
||||||
|
If you have issues just requiring `@ungap/url-search-params`, be sure you require `@ungap/url-search-params/cjs` instead.
|
||||||
|
|
||||||
|
No issue should happen if you just `import` the module instead.
|
375
node_modules/@ungap/url-search-params/cjs/index.js
generated
vendored
Normal file
375
node_modules/@ungap/url-search-params/cjs/index.js
generated
vendored
Normal file
@@ -0,0 +1,375 @@
|
|||||||
|
/*! (c) Andrea Giammarchi - ISC */
|
||||||
|
var self = this || /* istanbul ignore next */ {};
|
||||||
|
try {
|
||||||
|
(function (URLSearchParams, plus) {
|
||||||
|
if (
|
||||||
|
new URLSearchParams('q=%2B').get('q') !== plus ||
|
||||||
|
new URLSearchParams({q: plus}).get('q') !== plus ||
|
||||||
|
new URLSearchParams([['q', plus]]).get('q') !== plus ||
|
||||||
|
new URLSearchParams('q=\n').toString() !== 'q=%0A' ||
|
||||||
|
new URLSearchParams({q: ' &'}).toString() !== 'q=+%26' ||
|
||||||
|
new URLSearchParams({q: '%zx'}).toString() !== 'q=%25zx'
|
||||||
|
)
|
||||||
|
throw URLSearchParams;
|
||||||
|
self.URLSearchParams = URLSearchParams;
|
||||||
|
}(URLSearchParams, '+'));
|
||||||
|
} catch(URLSearchParams) {
|
||||||
|
(function (Object, String, isArray) {'use strict';
|
||||||
|
var create = Object.create;
|
||||||
|
var defineProperty = Object.defineProperty;
|
||||||
|
var find = /[!'\(\)~]|%20|%00/g;
|
||||||
|
var findPercentSign = /%(?![0-9a-fA-F]{2})/g;
|
||||||
|
var plus = /\+/g;
|
||||||
|
var replace = {
|
||||||
|
'!': '%21',
|
||||||
|
"'": '%27',
|
||||||
|
'(': '%28',
|
||||||
|
')': '%29',
|
||||||
|
'~': '%7E',
|
||||||
|
'%20': '+',
|
||||||
|
'%00': '\x00'
|
||||||
|
};
|
||||||
|
var proto = {
|
||||||
|
append: function (key, value) {
|
||||||
|
appendTo(this._ungap, key, value);
|
||||||
|
},
|
||||||
|
delete: function (key) {
|
||||||
|
delete this._ungap[key];
|
||||||
|
},
|
||||||
|
get: function (key) {
|
||||||
|
return this.has(key) ? this._ungap[key][0] : null;
|
||||||
|
},
|
||||||
|
getAll: function (key) {
|
||||||
|
return this.has(key) ? this._ungap[key].slice(0) : [];
|
||||||
|
},
|
||||||
|
has: function (key) {
|
||||||
|
return key in this._ungap;
|
||||||
|
},
|
||||||
|
set: function (key, value) {
|
||||||
|
this._ungap[key] = [String(value)];
|
||||||
|
},
|
||||||
|
forEach: function (callback, thisArg) {
|
||||||
|
var self = this;
|
||||||
|
for (var key in self._ungap)
|
||||||
|
self._ungap[key].forEach(invoke, key);
|
||||||
|
function invoke(value) {
|
||||||
|
callback.call(thisArg, value, String(key), self);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
toJSON: function () {
|
||||||
|
return {};
|
||||||
|
},
|
||||||
|
toString: function () {
|
||||||
|
var query = [];
|
||||||
|
for (var key in this._ungap) {
|
||||||
|
var encoded = encode(key);
|
||||||
|
for (var
|
||||||
|
i = 0,
|
||||||
|
value = this._ungap[key];
|
||||||
|
i < value.length; i++
|
||||||
|
) {
|
||||||
|
query.push(encoded + '=' + encode(value[i]));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return query.join('&');
|
||||||
|
}
|
||||||
|
};
|
||||||
|
for (var key in proto)
|
||||||
|
defineProperty(URLSearchParams.prototype, key, {
|
||||||
|
configurable: true,
|
||||||
|
writable: true,
|
||||||
|
value: proto[key]
|
||||||
|
});
|
||||||
|
self.URLSearchParams = URLSearchParams;
|
||||||
|
function URLSearchParams(query) {
|
||||||
|
var dict = create(null);
|
||||||
|
defineProperty(this, '_ungap', {value: dict});
|
||||||
|
switch (true) {
|
||||||
|
case !query:
|
||||||
|
break;
|
||||||
|
case typeof query === 'string':
|
||||||
|
if (query.charAt(0) === '?') {
|
||||||
|
query = query.slice(1);
|
||||||
|
}
|
||||||
|
for (var
|
||||||
|
pairs = query.split('&'),
|
||||||
|
i = 0,
|
||||||
|
length = pairs.length; i < length; i++
|
||||||
|
) {
|
||||||
|
var value = pairs[i];
|
||||||
|
var index = value.indexOf('=');
|
||||||
|
if (-1 < index) {
|
||||||
|
appendTo(
|
||||||
|
dict,
|
||||||
|
decode(value.slice(0, index)),
|
||||||
|
decode(value.slice(index + 1))
|
||||||
|
);
|
||||||
|
} else if (value.length){
|
||||||
|
appendTo(
|
||||||
|
dict,
|
||||||
|
decode(value),
|
||||||
|
''
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case isArray(query):
|
||||||
|
for (var
|
||||||
|
i = 0,
|
||||||
|
length = query.length; i < length; i++
|
||||||
|
) {
|
||||||
|
var value = query[i];
|
||||||
|
appendTo(dict, value[0], value[1]);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'forEach' in query:
|
||||||
|
query.forEach(addEach, dict);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
for (var key in query)
|
||||||
|
appendTo(dict, key, query[key]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function addEach(value, key) {
|
||||||
|
appendTo(this, key, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
function appendTo(dict, key, value) {
|
||||||
|
var res = isArray(value) ? value.join(',') : value;
|
||||||
|
if (key in dict)
|
||||||
|
dict[key].push(res);
|
||||||
|
else
|
||||||
|
dict[key] = [res];
|
||||||
|
}
|
||||||
|
|
||||||
|
function decode(str) {
|
||||||
|
return decodeURIComponent(str.replace(findPercentSign, '%25').replace(plus, ' '));
|
||||||
|
}
|
||||||
|
|
||||||
|
function encode(str) {
|
||||||
|
return encodeURIComponent(str).replace(find, replacer);
|
||||||
|
}
|
||||||
|
|
||||||
|
function replacer(match) {
|
||||||
|
return replace[match];
|
||||||
|
}
|
||||||
|
|
||||||
|
}(Object, String, Array.isArray));
|
||||||
|
}
|
||||||
|
|
||||||
|
(function (URLSearchParamsProto) {
|
||||||
|
|
||||||
|
var iterable = false;
|
||||||
|
try { iterable = !!Symbol.iterator; } catch (o_O) {}
|
||||||
|
|
||||||
|
/* istanbul ignore else */
|
||||||
|
if (!('forEach' in URLSearchParamsProto)) {
|
||||||
|
URLSearchParamsProto.forEach = function forEach(callback, thisArg) {
|
||||||
|
var self = this;
|
||||||
|
var names = Object.create(null);
|
||||||
|
this.toString()
|
||||||
|
.replace(/=[\s\S]*?(?:&|$)/g, '=')
|
||||||
|
.split('=')
|
||||||
|
.forEach(function (name) {
|
||||||
|
if (!name.length || name in names)
|
||||||
|
return;
|
||||||
|
(names[name] = self.getAll(name)).forEach(function(value) {
|
||||||
|
callback.call(thisArg, value, name, self);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
/* istanbul ignore else */
|
||||||
|
if (!('keys' in URLSearchParamsProto)) {
|
||||||
|
URLSearchParamsProto.keys = function keys() {
|
||||||
|
return iterator(this, function(value, key) { this.push(key); });
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
/* istanbul ignore else */
|
||||||
|
if (!('values' in URLSearchParamsProto)) {
|
||||||
|
URLSearchParamsProto.values = function values() {
|
||||||
|
return iterator(this, function(value, key) { this.push(value); });
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
/* istanbul ignore else */
|
||||||
|
if (!('entries' in URLSearchParamsProto)) {
|
||||||
|
URLSearchParamsProto.entries = function entries() {
|
||||||
|
return iterator(this, function(value, key) { this.push([key, value]); });
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
/* istanbul ignore else */
|
||||||
|
if (iterable && !(Symbol.iterator in URLSearchParamsProto)) {
|
||||||
|
URLSearchParamsProto[Symbol.iterator] = URLSearchParamsProto.entries;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* istanbul ignore else */
|
||||||
|
if (!('sort' in URLSearchParamsProto)) {
|
||||||
|
URLSearchParamsProto.sort = function sort() {
|
||||||
|
var
|
||||||
|
entries = this.entries(),
|
||||||
|
entry = entries.next(),
|
||||||
|
done = entry.done,
|
||||||
|
keys = [],
|
||||||
|
values = Object.create(null),
|
||||||
|
i, key, value
|
||||||
|
;
|
||||||
|
while (!done) {
|
||||||
|
value = entry.value;
|
||||||
|
key = value[0];
|
||||||
|
keys.push(key);
|
||||||
|
if (!(key in values)) {
|
||||||
|
values[key] = [];
|
||||||
|
}
|
||||||
|
values[key].push(value[1]);
|
||||||
|
entry = entries.next();
|
||||||
|
done = entry.done;
|
||||||
|
}
|
||||||
|
// not the champion in efficiency
|
||||||
|
// but these two bits just do the job
|
||||||
|
keys.sort();
|
||||||
|
for (i = 0; i < keys.length; i++) {
|
||||||
|
this.delete(keys[i]);
|
||||||
|
}
|
||||||
|
for (i = 0; i < keys.length; i++) {
|
||||||
|
key = keys[i];
|
||||||
|
this.append(key, values[key].shift());
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
function iterator(self, callback) {
|
||||||
|
var items = [];
|
||||||
|
self.forEach(callback, items);
|
||||||
|
return iterable ?
|
||||||
|
items[Symbol.iterator]() :
|
||||||
|
{
|
||||||
|
next: function() {
|
||||||
|
var value = items.shift();
|
||||||
|
return {done: value === undefined, value: value};
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
/* istanbul ignore next */
|
||||||
|
(function (Object) {
|
||||||
|
var
|
||||||
|
dP = Object.defineProperty,
|
||||||
|
gOPD = Object.getOwnPropertyDescriptor,
|
||||||
|
createSearchParamsPollute = function (search) {
|
||||||
|
function append(name, value) {
|
||||||
|
URLSearchParamsProto.append.call(this, name, value);
|
||||||
|
name = this.toString();
|
||||||
|
search.set.call(this._usp, name ? ('?' + name) : '');
|
||||||
|
}
|
||||||
|
function del(name) {
|
||||||
|
URLSearchParamsProto.delete.call(this, name);
|
||||||
|
name = this.toString();
|
||||||
|
search.set.call(this._usp, name ? ('?' + name) : '');
|
||||||
|
}
|
||||||
|
function set(name, value) {
|
||||||
|
URLSearchParamsProto.set.call(this, name, value);
|
||||||
|
name = this.toString();
|
||||||
|
search.set.call(this._usp, name ? ('?' + name) : '');
|
||||||
|
}
|
||||||
|
return function (sp, value) {
|
||||||
|
sp.append = append;
|
||||||
|
sp.delete = del;
|
||||||
|
sp.set = set;
|
||||||
|
return dP(sp, '_usp', {
|
||||||
|
configurable: true,
|
||||||
|
writable: true,
|
||||||
|
value: value
|
||||||
|
});
|
||||||
|
};
|
||||||
|
},
|
||||||
|
createSearchParamsCreate = function (polluteSearchParams) {
|
||||||
|
return function (obj, sp) {
|
||||||
|
dP(
|
||||||
|
obj, '_searchParams', {
|
||||||
|
configurable: true,
|
||||||
|
writable: true,
|
||||||
|
value: polluteSearchParams(sp, obj)
|
||||||
|
}
|
||||||
|
);
|
||||||
|
return sp;
|
||||||
|
};
|
||||||
|
},
|
||||||
|
updateSearchParams = function (sp) {
|
||||||
|
var append = sp.append;
|
||||||
|
sp.append = URLSearchParamsProto.append;
|
||||||
|
URLSearchParams.call(sp, sp._usp.search.slice(1));
|
||||||
|
sp.append = append;
|
||||||
|
},
|
||||||
|
verifySearchParams = function (obj, Class) {
|
||||||
|
if (!(obj instanceof Class)) throw new TypeError(
|
||||||
|
"'searchParams' accessed on an object that " +
|
||||||
|
"does not implement interface " + Class.name
|
||||||
|
);
|
||||||
|
},
|
||||||
|
upgradeClass = function (Class) {
|
||||||
|
var
|
||||||
|
ClassProto = Class.prototype,
|
||||||
|
searchParams = gOPD(ClassProto, 'searchParams'),
|
||||||
|
href = gOPD(ClassProto, 'href'),
|
||||||
|
search = gOPD(ClassProto, 'search'),
|
||||||
|
createSearchParams
|
||||||
|
;
|
||||||
|
if (!searchParams && search && search.set) {
|
||||||
|
createSearchParams = createSearchParamsCreate(
|
||||||
|
createSearchParamsPollute(search)
|
||||||
|
);
|
||||||
|
Object.defineProperties(
|
||||||
|
ClassProto,
|
||||||
|
{
|
||||||
|
href: {
|
||||||
|
get: function () {
|
||||||
|
return href.get.call(this);
|
||||||
|
},
|
||||||
|
set: function (value) {
|
||||||
|
var sp = this._searchParams;
|
||||||
|
href.set.call(this, value);
|
||||||
|
if (sp) updateSearchParams(sp);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
search: {
|
||||||
|
get: function () {
|
||||||
|
return search.get.call(this);
|
||||||
|
},
|
||||||
|
set: function (value) {
|
||||||
|
var sp = this._searchParams;
|
||||||
|
search.set.call(this, value);
|
||||||
|
if (sp) updateSearchParams(sp);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
searchParams: {
|
||||||
|
get: function () {
|
||||||
|
verifySearchParams(this, Class);
|
||||||
|
return this._searchParams || createSearchParams(
|
||||||
|
this,
|
||||||
|
new URLSearchParams(this.search.slice(1))
|
||||||
|
);
|
||||||
|
},
|
||||||
|
set: function (sp) {
|
||||||
|
verifySearchParams(this, Class);
|
||||||
|
createSearchParams(this, sp);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
;
|
||||||
|
try {
|
||||||
|
upgradeClass(HTMLAnchorElement);
|
||||||
|
if (/^function|object$/.test(typeof URL) && URL.prototype)
|
||||||
|
upgradeClass(URL);
|
||||||
|
} catch (meh) {}
|
||||||
|
}(Object));
|
||||||
|
|
||||||
|
}(self.URLSearchParams.prototype, Object));
|
||||||
|
module.exports = self.URLSearchParams;
|
375
node_modules/@ungap/url-search-params/esm/index.js
generated
vendored
Normal file
375
node_modules/@ungap/url-search-params/esm/index.js
generated
vendored
Normal file
@@ -0,0 +1,375 @@
|
|||||||
|
/*! (c) Andrea Giammarchi - ISC */
|
||||||
|
var self = this || /* istanbul ignore next */ {};
|
||||||
|
try {
|
||||||
|
(function (URLSearchParams, plus) {
|
||||||
|
if (
|
||||||
|
new URLSearchParams('q=%2B').get('q') !== plus ||
|
||||||
|
new URLSearchParams({q: plus}).get('q') !== plus ||
|
||||||
|
new URLSearchParams([['q', plus]]).get('q') !== plus ||
|
||||||
|
new URLSearchParams('q=\n').toString() !== 'q=%0A' ||
|
||||||
|
new URLSearchParams({q: ' &'}).toString() !== 'q=+%26' ||
|
||||||
|
new URLSearchParams({q: '%zx'}).toString() !== 'q=%25zx'
|
||||||
|
)
|
||||||
|
throw URLSearchParams;
|
||||||
|
self.URLSearchParams = URLSearchParams;
|
||||||
|
}(URLSearchParams, '+'));
|
||||||
|
} catch(URLSearchParams) {
|
||||||
|
(function (Object, String, isArray) {'use strict';
|
||||||
|
var create = Object.create;
|
||||||
|
var defineProperty = Object.defineProperty;
|
||||||
|
var find = /[!'\(\)~]|%20|%00/g;
|
||||||
|
var findPercentSign = /%(?![0-9a-fA-F]{2})/g;
|
||||||
|
var plus = /\+/g;
|
||||||
|
var replace = {
|
||||||
|
'!': '%21',
|
||||||
|
"'": '%27',
|
||||||
|
'(': '%28',
|
||||||
|
')': '%29',
|
||||||
|
'~': '%7E',
|
||||||
|
'%20': '+',
|
||||||
|
'%00': '\x00'
|
||||||
|
};
|
||||||
|
var proto = {
|
||||||
|
append: function (key, value) {
|
||||||
|
appendTo(this._ungap, key, value);
|
||||||
|
},
|
||||||
|
delete: function (key) {
|
||||||
|
delete this._ungap[key];
|
||||||
|
},
|
||||||
|
get: function (key) {
|
||||||
|
return this.has(key) ? this._ungap[key][0] : null;
|
||||||
|
},
|
||||||
|
getAll: function (key) {
|
||||||
|
return this.has(key) ? this._ungap[key].slice(0) : [];
|
||||||
|
},
|
||||||
|
has: function (key) {
|
||||||
|
return key in this._ungap;
|
||||||
|
},
|
||||||
|
set: function (key, value) {
|
||||||
|
this._ungap[key] = [String(value)];
|
||||||
|
},
|
||||||
|
forEach: function (callback, thisArg) {
|
||||||
|
var self = this;
|
||||||
|
for (var key in self._ungap)
|
||||||
|
self._ungap[key].forEach(invoke, key);
|
||||||
|
function invoke(value) {
|
||||||
|
callback.call(thisArg, value, String(key), self);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
toJSON: function () {
|
||||||
|
return {};
|
||||||
|
},
|
||||||
|
toString: function () {
|
||||||
|
var query = [];
|
||||||
|
for (var key in this._ungap) {
|
||||||
|
var encoded = encode(key);
|
||||||
|
for (var
|
||||||
|
i = 0,
|
||||||
|
value = this._ungap[key];
|
||||||
|
i < value.length; i++
|
||||||
|
) {
|
||||||
|
query.push(encoded + '=' + encode(value[i]));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return query.join('&');
|
||||||
|
}
|
||||||
|
};
|
||||||
|
for (var key in proto)
|
||||||
|
defineProperty(URLSearchParams.prototype, key, {
|
||||||
|
configurable: true,
|
||||||
|
writable: true,
|
||||||
|
value: proto[key]
|
||||||
|
});
|
||||||
|
self.URLSearchParams = URLSearchParams;
|
||||||
|
function URLSearchParams(query) {
|
||||||
|
var dict = create(null);
|
||||||
|
defineProperty(this, '_ungap', {value: dict});
|
||||||
|
switch (true) {
|
||||||
|
case !query:
|
||||||
|
break;
|
||||||
|
case typeof query === 'string':
|
||||||
|
if (query.charAt(0) === '?') {
|
||||||
|
query = query.slice(1);
|
||||||
|
}
|
||||||
|
for (var
|
||||||
|
pairs = query.split('&'),
|
||||||
|
i = 0,
|
||||||
|
length = pairs.length; i < length; i++
|
||||||
|
) {
|
||||||
|
var value = pairs[i];
|
||||||
|
var index = value.indexOf('=');
|
||||||
|
if (-1 < index) {
|
||||||
|
appendTo(
|
||||||
|
dict,
|
||||||
|
decode(value.slice(0, index)),
|
||||||
|
decode(value.slice(index + 1))
|
||||||
|
);
|
||||||
|
} else if (value.length){
|
||||||
|
appendTo(
|
||||||
|
dict,
|
||||||
|
decode(value),
|
||||||
|
''
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case isArray(query):
|
||||||
|
for (var
|
||||||
|
i = 0,
|
||||||
|
length = query.length; i < length; i++
|
||||||
|
) {
|
||||||
|
var value = query[i];
|
||||||
|
appendTo(dict, value[0], value[1]);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'forEach' in query:
|
||||||
|
query.forEach(addEach, dict);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
for (var key in query)
|
||||||
|
appendTo(dict, key, query[key]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function addEach(value, key) {
|
||||||
|
appendTo(this, key, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
function appendTo(dict, key, value) {
|
||||||
|
var res = isArray(value) ? value.join(',') : value;
|
||||||
|
if (key in dict)
|
||||||
|
dict[key].push(res);
|
||||||
|
else
|
||||||
|
dict[key] = [res];
|
||||||
|
}
|
||||||
|
|
||||||
|
function decode(str) {
|
||||||
|
return decodeURIComponent(str.replace(findPercentSign, '%25').replace(plus, ' '));
|
||||||
|
}
|
||||||
|
|
||||||
|
function encode(str) {
|
||||||
|
return encodeURIComponent(str).replace(find, replacer);
|
||||||
|
}
|
||||||
|
|
||||||
|
function replacer(match) {
|
||||||
|
return replace[match];
|
||||||
|
}
|
||||||
|
|
||||||
|
}(Object, String, Array.isArray));
|
||||||
|
}
|
||||||
|
|
||||||
|
(function (URLSearchParamsProto) {
|
||||||
|
|
||||||
|
var iterable = false;
|
||||||
|
try { iterable = !!Symbol.iterator; } catch (o_O) {}
|
||||||
|
|
||||||
|
/* istanbul ignore else */
|
||||||
|
if (!('forEach' in URLSearchParamsProto)) {
|
||||||
|
URLSearchParamsProto.forEach = function forEach(callback, thisArg) {
|
||||||
|
var self = this;
|
||||||
|
var names = Object.create(null);
|
||||||
|
this.toString()
|
||||||
|
.replace(/=[\s\S]*?(?:&|$)/g, '=')
|
||||||
|
.split('=')
|
||||||
|
.forEach(function (name) {
|
||||||
|
if (!name.length || name in names)
|
||||||
|
return;
|
||||||
|
(names[name] = self.getAll(name)).forEach(function(value) {
|
||||||
|
callback.call(thisArg, value, name, self);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
/* istanbul ignore else */
|
||||||
|
if (!('keys' in URLSearchParamsProto)) {
|
||||||
|
URLSearchParamsProto.keys = function keys() {
|
||||||
|
return iterator(this, function(value, key) { this.push(key); });
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
/* istanbul ignore else */
|
||||||
|
if (!('values' in URLSearchParamsProto)) {
|
||||||
|
URLSearchParamsProto.values = function values() {
|
||||||
|
return iterator(this, function(value, key) { this.push(value); });
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
/* istanbul ignore else */
|
||||||
|
if (!('entries' in URLSearchParamsProto)) {
|
||||||
|
URLSearchParamsProto.entries = function entries() {
|
||||||
|
return iterator(this, function(value, key) { this.push([key, value]); });
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
/* istanbul ignore else */
|
||||||
|
if (iterable && !(Symbol.iterator in URLSearchParamsProto)) {
|
||||||
|
URLSearchParamsProto[Symbol.iterator] = URLSearchParamsProto.entries;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* istanbul ignore else */
|
||||||
|
if (!('sort' in URLSearchParamsProto)) {
|
||||||
|
URLSearchParamsProto.sort = function sort() {
|
||||||
|
var
|
||||||
|
entries = this.entries(),
|
||||||
|
entry = entries.next(),
|
||||||
|
done = entry.done,
|
||||||
|
keys = [],
|
||||||
|
values = Object.create(null),
|
||||||
|
i, key, value
|
||||||
|
;
|
||||||
|
while (!done) {
|
||||||
|
value = entry.value;
|
||||||
|
key = value[0];
|
||||||
|
keys.push(key);
|
||||||
|
if (!(key in values)) {
|
||||||
|
values[key] = [];
|
||||||
|
}
|
||||||
|
values[key].push(value[1]);
|
||||||
|
entry = entries.next();
|
||||||
|
done = entry.done;
|
||||||
|
}
|
||||||
|
// not the champion in efficiency
|
||||||
|
// but these two bits just do the job
|
||||||
|
keys.sort();
|
||||||
|
for (i = 0; i < keys.length; i++) {
|
||||||
|
this.delete(keys[i]);
|
||||||
|
}
|
||||||
|
for (i = 0; i < keys.length; i++) {
|
||||||
|
key = keys[i];
|
||||||
|
this.append(key, values[key].shift());
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
function iterator(self, callback) {
|
||||||
|
var items = [];
|
||||||
|
self.forEach(callback, items);
|
||||||
|
return iterable ?
|
||||||
|
items[Symbol.iterator]() :
|
||||||
|
{
|
||||||
|
next: function() {
|
||||||
|
var value = items.shift();
|
||||||
|
return {done: value === undefined, value: value};
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
/* istanbul ignore next */
|
||||||
|
(function (Object) {
|
||||||
|
var
|
||||||
|
dP = Object.defineProperty,
|
||||||
|
gOPD = Object.getOwnPropertyDescriptor,
|
||||||
|
createSearchParamsPollute = function (search) {
|
||||||
|
function append(name, value) {
|
||||||
|
URLSearchParamsProto.append.call(this, name, value);
|
||||||
|
name = this.toString();
|
||||||
|
search.set.call(this._usp, name ? ('?' + name) : '');
|
||||||
|
}
|
||||||
|
function del(name) {
|
||||||
|
URLSearchParamsProto.delete.call(this, name);
|
||||||
|
name = this.toString();
|
||||||
|
search.set.call(this._usp, name ? ('?' + name) : '');
|
||||||
|
}
|
||||||
|
function set(name, value) {
|
||||||
|
URLSearchParamsProto.set.call(this, name, value);
|
||||||
|
name = this.toString();
|
||||||
|
search.set.call(this._usp, name ? ('?' + name) : '');
|
||||||
|
}
|
||||||
|
return function (sp, value) {
|
||||||
|
sp.append = append;
|
||||||
|
sp.delete = del;
|
||||||
|
sp.set = set;
|
||||||
|
return dP(sp, '_usp', {
|
||||||
|
configurable: true,
|
||||||
|
writable: true,
|
||||||
|
value: value
|
||||||
|
});
|
||||||
|
};
|
||||||
|
},
|
||||||
|
createSearchParamsCreate = function (polluteSearchParams) {
|
||||||
|
return function (obj, sp) {
|
||||||
|
dP(
|
||||||
|
obj, '_searchParams', {
|
||||||
|
configurable: true,
|
||||||
|
writable: true,
|
||||||
|
value: polluteSearchParams(sp, obj)
|
||||||
|
}
|
||||||
|
);
|
||||||
|
return sp;
|
||||||
|
};
|
||||||
|
},
|
||||||
|
updateSearchParams = function (sp) {
|
||||||
|
var append = sp.append;
|
||||||
|
sp.append = URLSearchParamsProto.append;
|
||||||
|
URLSearchParams.call(sp, sp._usp.search.slice(1));
|
||||||
|
sp.append = append;
|
||||||
|
},
|
||||||
|
verifySearchParams = function (obj, Class) {
|
||||||
|
if (!(obj instanceof Class)) throw new TypeError(
|
||||||
|
"'searchParams' accessed on an object that " +
|
||||||
|
"does not implement interface " + Class.name
|
||||||
|
);
|
||||||
|
},
|
||||||
|
upgradeClass = function (Class) {
|
||||||
|
var
|
||||||
|
ClassProto = Class.prototype,
|
||||||
|
searchParams = gOPD(ClassProto, 'searchParams'),
|
||||||
|
href = gOPD(ClassProto, 'href'),
|
||||||
|
search = gOPD(ClassProto, 'search'),
|
||||||
|
createSearchParams
|
||||||
|
;
|
||||||
|
if (!searchParams && search && search.set) {
|
||||||
|
createSearchParams = createSearchParamsCreate(
|
||||||
|
createSearchParamsPollute(search)
|
||||||
|
);
|
||||||
|
Object.defineProperties(
|
||||||
|
ClassProto,
|
||||||
|
{
|
||||||
|
href: {
|
||||||
|
get: function () {
|
||||||
|
return href.get.call(this);
|
||||||
|
},
|
||||||
|
set: function (value) {
|
||||||
|
var sp = this._searchParams;
|
||||||
|
href.set.call(this, value);
|
||||||
|
if (sp) updateSearchParams(sp);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
search: {
|
||||||
|
get: function () {
|
||||||
|
return search.get.call(this);
|
||||||
|
},
|
||||||
|
set: function (value) {
|
||||||
|
var sp = this._searchParams;
|
||||||
|
search.set.call(this, value);
|
||||||
|
if (sp) updateSearchParams(sp);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
searchParams: {
|
||||||
|
get: function () {
|
||||||
|
verifySearchParams(this, Class);
|
||||||
|
return this._searchParams || createSearchParams(
|
||||||
|
this,
|
||||||
|
new URLSearchParams(this.search.slice(1))
|
||||||
|
);
|
||||||
|
},
|
||||||
|
set: function (sp) {
|
||||||
|
verifySearchParams(this, Class);
|
||||||
|
createSearchParams(this, sp);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
;
|
||||||
|
try {
|
||||||
|
upgradeClass(HTMLAnchorElement);
|
||||||
|
if (/^function|object$/.test(typeof URL) && URL.prototype)
|
||||||
|
upgradeClass(URL);
|
||||||
|
} catch (meh) {}
|
||||||
|
}(Object));
|
||||||
|
|
||||||
|
}(self.URLSearchParams.prototype, Object));
|
||||||
|
export default self.URLSearchParams;
|
1
node_modules/@ungap/url-search-params/index.d.ts
generated
vendored
Normal file
1
node_modules/@ungap/url-search-params/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
export = URLSearchParams
|
374
node_modules/@ungap/url-search-params/index.js
generated
vendored
Normal file
374
node_modules/@ungap/url-search-params/index.js
generated
vendored
Normal file
@@ -0,0 +1,374 @@
|
|||||||
|
/*! (c) Andrea Giammarchi - ISC */
|
||||||
|
var self = this || /* istanbul ignore next */ {};
|
||||||
|
try {
|
||||||
|
(function (URLSearchParams, plus) {
|
||||||
|
if (
|
||||||
|
new URLSearchParams('q=%2B').get('q') !== plus ||
|
||||||
|
new URLSearchParams({q: plus}).get('q') !== plus ||
|
||||||
|
new URLSearchParams([['q', plus]]).get('q') !== plus ||
|
||||||
|
new URLSearchParams('q=\n').toString() !== 'q=%0A' ||
|
||||||
|
new URLSearchParams({q: ' &'}).toString() !== 'q=+%26' ||
|
||||||
|
new URLSearchParams({q: '%zx'}).toString() !== 'q=%25zx'
|
||||||
|
)
|
||||||
|
throw URLSearchParams;
|
||||||
|
self.URLSearchParams = URLSearchParams;
|
||||||
|
}(URLSearchParams, '+'));
|
||||||
|
} catch(URLSearchParams) {
|
||||||
|
(function (Object, String, isArray) {'use strict';
|
||||||
|
var create = Object.create;
|
||||||
|
var defineProperty = Object.defineProperty;
|
||||||
|
var find = /[!'\(\)~]|%20|%00/g;
|
||||||
|
var findPercentSign = /%(?![0-9a-fA-F]{2})/g;
|
||||||
|
var plus = /\+/g;
|
||||||
|
var replace = {
|
||||||
|
'!': '%21',
|
||||||
|
"'": '%27',
|
||||||
|
'(': '%28',
|
||||||
|
')': '%29',
|
||||||
|
'~': '%7E',
|
||||||
|
'%20': '+',
|
||||||
|
'%00': '\x00'
|
||||||
|
};
|
||||||
|
var proto = {
|
||||||
|
append: function (key, value) {
|
||||||
|
appendTo(this._ungap, key, value);
|
||||||
|
},
|
||||||
|
delete: function (key) {
|
||||||
|
delete this._ungap[key];
|
||||||
|
},
|
||||||
|
get: function (key) {
|
||||||
|
return this.has(key) ? this._ungap[key][0] : null;
|
||||||
|
},
|
||||||
|
getAll: function (key) {
|
||||||
|
return this.has(key) ? this._ungap[key].slice(0) : [];
|
||||||
|
},
|
||||||
|
has: function (key) {
|
||||||
|
return key in this._ungap;
|
||||||
|
},
|
||||||
|
set: function (key, value) {
|
||||||
|
this._ungap[key] = [String(value)];
|
||||||
|
},
|
||||||
|
forEach: function (callback, thisArg) {
|
||||||
|
var self = this;
|
||||||
|
for (var key in self._ungap)
|
||||||
|
self._ungap[key].forEach(invoke, key);
|
||||||
|
function invoke(value) {
|
||||||
|
callback.call(thisArg, value, String(key), self);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
toJSON: function () {
|
||||||
|
return {};
|
||||||
|
},
|
||||||
|
toString: function () {
|
||||||
|
var query = [];
|
||||||
|
for (var key in this._ungap) {
|
||||||
|
var encoded = encode(key);
|
||||||
|
for (var
|
||||||
|
i = 0,
|
||||||
|
value = this._ungap[key];
|
||||||
|
i < value.length; i++
|
||||||
|
) {
|
||||||
|
query.push(encoded + '=' + encode(value[i]));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return query.join('&');
|
||||||
|
}
|
||||||
|
};
|
||||||
|
for (var key in proto)
|
||||||
|
defineProperty(URLSearchParams.prototype, key, {
|
||||||
|
configurable: true,
|
||||||
|
writable: true,
|
||||||
|
value: proto[key]
|
||||||
|
});
|
||||||
|
self.URLSearchParams = URLSearchParams;
|
||||||
|
function URLSearchParams(query) {
|
||||||
|
var dict = create(null);
|
||||||
|
defineProperty(this, '_ungap', {value: dict});
|
||||||
|
switch (true) {
|
||||||
|
case !query:
|
||||||
|
break;
|
||||||
|
case typeof query === 'string':
|
||||||
|
if (query.charAt(0) === '?') {
|
||||||
|
query = query.slice(1);
|
||||||
|
}
|
||||||
|
for (var
|
||||||
|
pairs = query.split('&'),
|
||||||
|
i = 0,
|
||||||
|
length = pairs.length; i < length; i++
|
||||||
|
) {
|
||||||
|
var value = pairs[i];
|
||||||
|
var index = value.indexOf('=');
|
||||||
|
if (-1 < index) {
|
||||||
|
appendTo(
|
||||||
|
dict,
|
||||||
|
decode(value.slice(0, index)),
|
||||||
|
decode(value.slice(index + 1))
|
||||||
|
);
|
||||||
|
} else if (value.length){
|
||||||
|
appendTo(
|
||||||
|
dict,
|
||||||
|
decode(value),
|
||||||
|
''
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case isArray(query):
|
||||||
|
for (var
|
||||||
|
i = 0,
|
||||||
|
length = query.length; i < length; i++
|
||||||
|
) {
|
||||||
|
var value = query[i];
|
||||||
|
appendTo(dict, value[0], value[1]);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'forEach' in query:
|
||||||
|
query.forEach(addEach, dict);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
for (var key in query)
|
||||||
|
appendTo(dict, key, query[key]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function addEach(value, key) {
|
||||||
|
appendTo(this, key, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
function appendTo(dict, key, value) {
|
||||||
|
var res = isArray(value) ? value.join(',') : value;
|
||||||
|
if (key in dict)
|
||||||
|
dict[key].push(res);
|
||||||
|
else
|
||||||
|
dict[key] = [res];
|
||||||
|
}
|
||||||
|
|
||||||
|
function decode(str) {
|
||||||
|
return decodeURIComponent(str.replace(findPercentSign, '%25').replace(plus, ' '));
|
||||||
|
}
|
||||||
|
|
||||||
|
function encode(str) {
|
||||||
|
return encodeURIComponent(str).replace(find, replacer);
|
||||||
|
}
|
||||||
|
|
||||||
|
function replacer(match) {
|
||||||
|
return replace[match];
|
||||||
|
}
|
||||||
|
|
||||||
|
}(Object, String, Array.isArray));
|
||||||
|
}
|
||||||
|
|
||||||
|
(function (URLSearchParamsProto) {
|
||||||
|
|
||||||
|
var iterable = false;
|
||||||
|
try { iterable = !!Symbol.iterator; } catch (o_O) {}
|
||||||
|
|
||||||
|
/* istanbul ignore else */
|
||||||
|
if (!('forEach' in URLSearchParamsProto)) {
|
||||||
|
URLSearchParamsProto.forEach = function forEach(callback, thisArg) {
|
||||||
|
var self = this;
|
||||||
|
var names = Object.create(null);
|
||||||
|
this.toString()
|
||||||
|
.replace(/=[\s\S]*?(?:&|$)/g, '=')
|
||||||
|
.split('=')
|
||||||
|
.forEach(function (name) {
|
||||||
|
if (!name.length || name in names)
|
||||||
|
return;
|
||||||
|
(names[name] = self.getAll(name)).forEach(function(value) {
|
||||||
|
callback.call(thisArg, value, name, self);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
/* istanbul ignore else */
|
||||||
|
if (!('keys' in URLSearchParamsProto)) {
|
||||||
|
URLSearchParamsProto.keys = function keys() {
|
||||||
|
return iterator(this, function(value, key) { this.push(key); });
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
/* istanbul ignore else */
|
||||||
|
if (!('values' in URLSearchParamsProto)) {
|
||||||
|
URLSearchParamsProto.values = function values() {
|
||||||
|
return iterator(this, function(value, key) { this.push(value); });
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
/* istanbul ignore else */
|
||||||
|
if (!('entries' in URLSearchParamsProto)) {
|
||||||
|
URLSearchParamsProto.entries = function entries() {
|
||||||
|
return iterator(this, function(value, key) { this.push([key, value]); });
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
/* istanbul ignore else */
|
||||||
|
if (iterable && !(Symbol.iterator in URLSearchParamsProto)) {
|
||||||
|
URLSearchParamsProto[Symbol.iterator] = URLSearchParamsProto.entries;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* istanbul ignore else */
|
||||||
|
if (!('sort' in URLSearchParamsProto)) {
|
||||||
|
URLSearchParamsProto.sort = function sort() {
|
||||||
|
var
|
||||||
|
entries = this.entries(),
|
||||||
|
entry = entries.next(),
|
||||||
|
done = entry.done,
|
||||||
|
keys = [],
|
||||||
|
values = Object.create(null),
|
||||||
|
i, key, value
|
||||||
|
;
|
||||||
|
while (!done) {
|
||||||
|
value = entry.value;
|
||||||
|
key = value[0];
|
||||||
|
keys.push(key);
|
||||||
|
if (!(key in values)) {
|
||||||
|
values[key] = [];
|
||||||
|
}
|
||||||
|
values[key].push(value[1]);
|
||||||
|
entry = entries.next();
|
||||||
|
done = entry.done;
|
||||||
|
}
|
||||||
|
// not the champion in efficiency
|
||||||
|
// but these two bits just do the job
|
||||||
|
keys.sort();
|
||||||
|
for (i = 0; i < keys.length; i++) {
|
||||||
|
this.delete(keys[i]);
|
||||||
|
}
|
||||||
|
for (i = 0; i < keys.length; i++) {
|
||||||
|
key = keys[i];
|
||||||
|
this.append(key, values[key].shift());
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
function iterator(self, callback) {
|
||||||
|
var items = [];
|
||||||
|
self.forEach(callback, items);
|
||||||
|
return iterable ?
|
||||||
|
items[Symbol.iterator]() :
|
||||||
|
{
|
||||||
|
next: function() {
|
||||||
|
var value = items.shift();
|
||||||
|
return {done: value === undefined, value: value};
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
/* istanbul ignore next */
|
||||||
|
(function (Object) {
|
||||||
|
var
|
||||||
|
dP = Object.defineProperty,
|
||||||
|
gOPD = Object.getOwnPropertyDescriptor,
|
||||||
|
createSearchParamsPollute = function (search) {
|
||||||
|
function append(name, value) {
|
||||||
|
URLSearchParamsProto.append.call(this, name, value);
|
||||||
|
name = this.toString();
|
||||||
|
search.set.call(this._usp, name ? ('?' + name) : '');
|
||||||
|
}
|
||||||
|
function del(name) {
|
||||||
|
URLSearchParamsProto.delete.call(this, name);
|
||||||
|
name = this.toString();
|
||||||
|
search.set.call(this._usp, name ? ('?' + name) : '');
|
||||||
|
}
|
||||||
|
function set(name, value) {
|
||||||
|
URLSearchParamsProto.set.call(this, name, value);
|
||||||
|
name = this.toString();
|
||||||
|
search.set.call(this._usp, name ? ('?' + name) : '');
|
||||||
|
}
|
||||||
|
return function (sp, value) {
|
||||||
|
sp.append = append;
|
||||||
|
sp.delete = del;
|
||||||
|
sp.set = set;
|
||||||
|
return dP(sp, '_usp', {
|
||||||
|
configurable: true,
|
||||||
|
writable: true,
|
||||||
|
value: value
|
||||||
|
});
|
||||||
|
};
|
||||||
|
},
|
||||||
|
createSearchParamsCreate = function (polluteSearchParams) {
|
||||||
|
return function (obj, sp) {
|
||||||
|
dP(
|
||||||
|
obj, '_searchParams', {
|
||||||
|
configurable: true,
|
||||||
|
writable: true,
|
||||||
|
value: polluteSearchParams(sp, obj)
|
||||||
|
}
|
||||||
|
);
|
||||||
|
return sp;
|
||||||
|
};
|
||||||
|
},
|
||||||
|
updateSearchParams = function (sp) {
|
||||||
|
var append = sp.append;
|
||||||
|
sp.append = URLSearchParamsProto.append;
|
||||||
|
URLSearchParams.call(sp, sp._usp.search.slice(1));
|
||||||
|
sp.append = append;
|
||||||
|
},
|
||||||
|
verifySearchParams = function (obj, Class) {
|
||||||
|
if (!(obj instanceof Class)) throw new TypeError(
|
||||||
|
"'searchParams' accessed on an object that " +
|
||||||
|
"does not implement interface " + Class.name
|
||||||
|
);
|
||||||
|
},
|
||||||
|
upgradeClass = function (Class) {
|
||||||
|
var
|
||||||
|
ClassProto = Class.prototype,
|
||||||
|
searchParams = gOPD(ClassProto, 'searchParams'),
|
||||||
|
href = gOPD(ClassProto, 'href'),
|
||||||
|
search = gOPD(ClassProto, 'search'),
|
||||||
|
createSearchParams
|
||||||
|
;
|
||||||
|
if (!searchParams && search && search.set) {
|
||||||
|
createSearchParams = createSearchParamsCreate(
|
||||||
|
createSearchParamsPollute(search)
|
||||||
|
);
|
||||||
|
Object.defineProperties(
|
||||||
|
ClassProto,
|
||||||
|
{
|
||||||
|
href: {
|
||||||
|
get: function () {
|
||||||
|
return href.get.call(this);
|
||||||
|
},
|
||||||
|
set: function (value) {
|
||||||
|
var sp = this._searchParams;
|
||||||
|
href.set.call(this, value);
|
||||||
|
if (sp) updateSearchParams(sp);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
search: {
|
||||||
|
get: function () {
|
||||||
|
return search.get.call(this);
|
||||||
|
},
|
||||||
|
set: function (value) {
|
||||||
|
var sp = this._searchParams;
|
||||||
|
search.set.call(this, value);
|
||||||
|
if (sp) updateSearchParams(sp);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
searchParams: {
|
||||||
|
get: function () {
|
||||||
|
verifySearchParams(this, Class);
|
||||||
|
return this._searchParams || createSearchParams(
|
||||||
|
this,
|
||||||
|
new URLSearchParams(this.search.slice(1))
|
||||||
|
);
|
||||||
|
},
|
||||||
|
set: function (sp) {
|
||||||
|
verifySearchParams(this, Class);
|
||||||
|
createSearchParams(this, sp);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
;
|
||||||
|
try {
|
||||||
|
upgradeClass(HTMLAnchorElement);
|
||||||
|
if (/^function|object$/.test(typeof URL) && URL.prototype)
|
||||||
|
upgradeClass(URL);
|
||||||
|
} catch (meh) {}
|
||||||
|
}(Object));
|
||||||
|
|
||||||
|
}(self.URLSearchParams.prototype, Object));
|
2
node_modules/@ungap/url-search-params/min.js
generated
vendored
Normal file
2
node_modules/@ungap/url-search-params/min.js
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
/*! (c) Andrea Giammarchi - ISC */
|
||||||
|
var self=this||{};try{!function(t,e){if(new t("q=%2B").get("q")!==e||new t({q:e}).get("q")!==e||new t([["q",e]]).get("q")!==e||"q=%0A"!==new t("q=\n").toString()||"q=+%26"!==new t({q:" &"}).toString()||"q=%25zx"!==new t({q:"%zx"}).toString())throw t;self.URLSearchParams=t}(URLSearchParams,"+")}catch(t){!function(t,a,o){"use strict";var u=t.create,h=t.defineProperty,e=/[!'\(\)~]|%20|%00/g,n=/%(?![0-9a-fA-F]{2})/g,r=/\+/g,i={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"},s={append:function(t,e){p(this._ungap,t,e)},delete:function(t){delete this._ungap[t]},get:function(t){return this.has(t)?this._ungap[t][0]:null},getAll:function(t){return this.has(t)?this._ungap[t].slice(0):[]},has:function(t){return t in this._ungap},set:function(t,e){this._ungap[t]=[a(e)]},forEach:function(e,n){var r=this;for(var i in r._ungap)r._ungap[i].forEach(t,i);function t(t){e.call(n,t,a(i),r)}},toJSON:function(){return{}},toString:function(){var t=[];for(var e in this._ungap)for(var n=v(e),r=0,i=this._ungap[e];r<i.length;r++)t.push(n+"="+v(i[r]));return t.join("&")}};for(var c in s)h(f.prototype,c,{configurable:!0,writable:!0,value:s[c]});function f(t){var e=u(null);switch(h(this,"_ungap",{value:e}),!0){case!t:break;case"string"==typeof t:"?"===t.charAt(0)&&(t=t.slice(1));for(var n=t.split("&"),r=0,i=n.length;r<i;r++){var a=(s=n[r]).indexOf("=");-1<a?p(e,g(s.slice(0,a)),g(s.slice(a+1))):s.length&&p(e,g(s),"")}break;case o(t):for(r=0,i=t.length;r<i;r++){var s;p(e,(s=t[r])[0],s[1])}break;case"forEach"in t:t.forEach(l,e);break;default:for(var c in t)p(e,c,t[c])}}function l(t,e){p(this,e,t)}function p(t,e,n){var r=o(n)?n.join(","):n;e in t?t[e].push(r):t[e]=[r]}function g(t){return decodeURIComponent(t.replace(n,"%25").replace(r," "))}function v(t){return encodeURIComponent(t).replace(e,d)}function d(t){return i[t]}self.URLSearchParams=f}(Object,String,Array.isArray)}!function(d){var r=!1;try{r=!!Symbol.iterator}catch(t){}function t(t,e){var n=[];return t.forEach(e,n),r?n[Symbol.iterator]():{next:function(){var t=n.shift();return{done:void 0===t,value:t}}}}"forEach"in d||(d.forEach=function(n,r){var i=this,t=Object.create(null);this.toString().replace(/=[\s\S]*?(?:&|$)/g,"=").split("=").forEach(function(e){!e.length||e in t||(t[e]=i.getAll(e)).forEach(function(t){n.call(r,t,e,i)})})}),"keys"in d||(d.keys=function(){return t(this,function(t,e){this.push(e)})}),"values"in d||(d.values=function(){return t(this,function(t,e){this.push(t)})}),"entries"in d||(d.entries=function(){return t(this,function(t,e){this.push([e,t])})}),!r||Symbol.iterator in d||(d[Symbol.iterator]=d.entries),"sort"in d||(d.sort=function(){for(var t,e,n,r=this.entries(),i=r.next(),a=i.done,s=[],c=Object.create(null);!a;)e=(n=i.value)[0],s.push(e),e in c||(c[e]=[]),c[e].push(n[1]),a=(i=r.next()).done;for(s.sort(),t=0;t<s.length;t++)this.delete(s[t]);for(t=0;t<s.length;t++)e=s[t],this.append(e,c[e].shift())}),function(f){function l(t){var e=t.append;t.append=d.append,URLSearchParams.call(t,t._usp.search.slice(1)),t.append=e}function p(t,e){if(!(t instanceof e))throw new TypeError("'searchParams' accessed on an object that does not implement interface "+e.name)}function t(e){var n,r,i,t=e.prototype,a=v(t,"searchParams"),s=v(t,"href"),c=v(t,"search");function o(t,e){d.append.call(this,t,e),t=this.toString(),i.set.call(this._usp,t?"?"+t:"")}function u(t){d.delete.call(this,t),t=this.toString(),i.set.call(this._usp,t?"?"+t:"")}function h(t,e){d.set.call(this,t,e),t=this.toString(),i.set.call(this._usp,t?"?"+t:"")}!a&&c&&c.set&&(i=c,r=function(t,e){return t.append=o,t.delete=u,t.set=h,g(t,"_usp",{configurable:!0,writable:!0,value:e})},n=function(t,e){return g(t,"_searchParams",{configurable:!0,writable:!0,value:r(e,t)}),e},f.defineProperties(t,{href:{get:function(){return s.get.call(this)},set:function(t){var e=this._searchParams;s.set.call(this,t),e&&l(e)}},search:{get:function(){return c.get.call(this)},set:function(t){var e=this._searchParams;c.set.call(this,t),e&&l(e)}},searchParams:{get:function(){return p(this,e),this._searchParams||n(this,new URLSearchParams(this.search.slice(1)))},set:function(t){p(this,e),n(this,t)}}}))}var g=f.defineProperty,v=f.getOwnPropertyDescriptor;try{t(HTMLAnchorElement),/^function|object$/.test(typeof URL)&&URL.prototype&&t(URL)}catch(t){}}(Object)}(self.URLSearchParams.prototype,Object);
|
23
node_modules/@ungap/url-search-params/package.json
generated
vendored
23
node_modules/@ungap/url-search-params/package.json
generated
vendored
@@ -1,36 +1,39 @@
|
|||||||
{
|
{
|
||||||
"_from": "@ungap/url-search-params@^0.1.4",
|
"_args": [
|
||||||
|
[
|
||||||
|
"@ungap/url-search-params@0.1.4",
|
||||||
|
"/home/s2/Code/vanillajs-seed"
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"_from": "@ungap/url-search-params@0.1.4",
|
||||||
"_id": "@ungap/url-search-params@0.1.4",
|
"_id": "@ungap/url-search-params@0.1.4",
|
||||||
"_inBundle": false,
|
"_inBundle": false,
|
||||||
"_integrity": "sha512-RLwrxCTDNiNev9hpr9rDq8NyeQ8Nn0X1we4Wu7Tlf368I8r+7hBj3uObhifhuLk74egaYaSX5nUsBlWz6kjj+A==",
|
"_integrity": "sha512-RLwrxCTDNiNev9hpr9rDq8NyeQ8Nn0X1we4Wu7Tlf368I8r+7hBj3uObhifhuLk74egaYaSX5nUsBlWz6kjj+A==",
|
||||||
"_location": "/@ungap/url-search-params",
|
"_location": "/@ungap/url-search-params",
|
||||||
"_phantomChildren": {},
|
"_phantomChildren": {},
|
||||||
"_requested": {
|
"_requested": {
|
||||||
"type": "range",
|
"type": "version",
|
||||||
"registry": true,
|
"registry": true,
|
||||||
"raw": "@ungap/url-search-params@^0.1.4",
|
"raw": "@ungap/url-search-params@0.1.4",
|
||||||
"name": "@ungap/url-search-params",
|
"name": "@ungap/url-search-params",
|
||||||
"escapedName": "@ungap%2furl-search-params",
|
"escapedName": "@ungap%2furl-search-params",
|
||||||
"scope": "@ungap",
|
"scope": "@ungap",
|
||||||
"rawSpec": "^0.1.4",
|
"rawSpec": "0.1.4",
|
||||||
"saveSpec": null,
|
"saveSpec": null,
|
||||||
"fetchSpec": "^0.1.4"
|
"fetchSpec": "0.1.4"
|
||||||
},
|
},
|
||||||
"_requiredBy": [
|
"_requiredBy": [
|
||||||
"/"
|
"/"
|
||||||
],
|
],
|
||||||
"_resolved": "https://registry.npmjs.org/@ungap/url-search-params/-/url-search-params-0.1.4.tgz",
|
"_resolved": "https://registry.npmjs.org/@ungap/url-search-params/-/url-search-params-0.1.4.tgz",
|
||||||
"_shasum": "727e9b4c811beaa6be6d7e4cc0516663c884cfd0",
|
"_spec": "0.1.4",
|
||||||
"_spec": "@ungap/url-search-params@^0.1.4",
|
"_where": "/home/s2/Code/vanillajs-seed",
|
||||||
"_where": "F:\\projects\\p\\vanillajs-seed",
|
|
||||||
"author": {
|
"author": {
|
||||||
"name": "Andrea Giammarchi"
|
"name": "Andrea Giammarchi"
|
||||||
},
|
},
|
||||||
"bugs": {
|
"bugs": {
|
||||||
"url": "https://github.com/ungap/url-search-params/issues"
|
"url": "https://github.com/ungap/url-search-params/issues"
|
||||||
},
|
},
|
||||||
"bundleDependencies": false,
|
|
||||||
"deprecated": false,
|
|
||||||
"description": "The URLSearchParams polyfill.",
|
"description": "The URLSearchParams polyfill.",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"coveralls": "^3.0.9",
|
"coveralls": "^3.0.9",
|
||||||
|
Reference in New Issue
Block a user