--- a/wp/wp-includes/js/dist/vendor/wp-polyfill-fetch.js Thu Sep 29 08:06:27 2022 +0200
+++ b/wp/wp-includes/js/dist/vendor/wp-polyfill-fetch.js Fri Sep 05 18:40:08 2025 +0200
@@ -4,17 +4,20 @@
(factory((global.WHATWGFetch = {})));
}(this, (function (exports) { 'use strict';
- var global =
+ /* eslint-disable no-prototype-builtins */
+ var g =
(typeof globalThis !== 'undefined' && globalThis) ||
(typeof self !== 'undefined' && self) ||
- (typeof global !== 'undefined' && global);
+ // eslint-disable-next-line no-undef
+ (typeof global !== 'undefined' && global) ||
+ {};
var support = {
- searchParams: 'URLSearchParams' in global,
- iterable: 'Symbol' in global && 'iterator' in Symbol,
+ searchParams: 'URLSearchParams' in g,
+ iterable: 'Symbol' in g && 'iterator' in Symbol,
blob:
- 'FileReader' in global &&
- 'Blob' in global &&
+ 'FileReader' in g &&
+ 'Blob' in g &&
(function() {
try {
new Blob();
@@ -23,8 +26,8 @@
return false
}
})(),
- formData: 'FormData' in global,
- arrayBuffer: 'ArrayBuffer' in global
+ formData: 'FormData' in g,
+ arrayBuffer: 'ArrayBuffer' in g
};
function isDataView(obj) {
@@ -95,6 +98,9 @@
}, this);
} else if (Array.isArray(headers)) {
headers.forEach(function(header) {
+ if (header.length != 2) {
+ throw new TypeError('Headers constructor: expected name/value pair to be length 2, found' + header.length)
+ }
this.append(header[0], header[1]);
}, this);
} else if (headers) {
@@ -165,6 +171,7 @@
}
function consumed(body) {
+ if (body._noBody) return
if (body.bodyUsed) {
return Promise.reject(new TypeError('Already read'))
}
@@ -192,7 +199,9 @@
function readBlobAsText(blob) {
var reader = new FileReader();
var promise = fileReaderReady(reader);
- reader.readAsText(blob);
+ var match = /charset=([A-Za-z0-9_-]+)/.exec(blob.type);
+ var encoding = match ? match[1] : 'utf-8';
+ reader.readAsText(blob, encoding);
return promise
}
@@ -230,9 +239,11 @@
semantic of setting Request.bodyUsed in the constructor before
_initBody is called.
*/
+ // eslint-disable-next-line no-self-assign
this.bodyUsed = this.bodyUsed;
this._bodyInit = body;
if (!body) {
+ this._noBody = true;
this._bodyText = '';
} else if (typeof body === 'string') {
this._bodyText = body;
@@ -280,28 +291,29 @@
return Promise.resolve(new Blob([this._bodyText]))
}
};
+ }
- this.arrayBuffer = function() {
- if (this._bodyArrayBuffer) {
- var isConsumed = consumed(this);
- if (isConsumed) {
- return isConsumed
- }
- if (ArrayBuffer.isView(this._bodyArrayBuffer)) {
- return Promise.resolve(
- this._bodyArrayBuffer.buffer.slice(
- this._bodyArrayBuffer.byteOffset,
- this._bodyArrayBuffer.byteOffset + this._bodyArrayBuffer.byteLength
- )
+ this.arrayBuffer = function() {
+ if (this._bodyArrayBuffer) {
+ var isConsumed = consumed(this);
+ if (isConsumed) {
+ return isConsumed
+ } else if (ArrayBuffer.isView(this._bodyArrayBuffer)) {
+ return Promise.resolve(
+ this._bodyArrayBuffer.buffer.slice(
+ this._bodyArrayBuffer.byteOffset,
+ this._bodyArrayBuffer.byteOffset + this._bodyArrayBuffer.byteLength
)
- } else {
- return Promise.resolve(this._bodyArrayBuffer)
- }
+ )
} else {
- return this.blob().then(readBlobAsArrayBuffer)
+ return Promise.resolve(this._bodyArrayBuffer)
}
- };
- }
+ } else if (support.blob) {
+ return this.blob().then(readBlobAsArrayBuffer)
+ } else {
+ throw new Error('could not read as ArrayBuffer')
+ }
+ };
this.text = function() {
var rejected = consumed(this);
@@ -334,7 +346,7 @@
}
// HTTP methods whose capitalization should be normalized
- var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT'];
+ var methods = ['CONNECT', 'DELETE', 'GET', 'HEAD', 'OPTIONS', 'PATCH', 'POST', 'PUT', 'TRACE'];
function normalizeMethod(method) {
var upcased = method.toUpperCase();
@@ -375,7 +387,12 @@
}
this.method = normalizeMethod(options.method || this.method || 'GET');
this.mode = options.mode || this.mode || null;
- this.signal = options.signal || this.signal;
+ this.signal = options.signal || this.signal || (function () {
+ if ('AbortController' in g) {
+ var ctrl = new AbortController();
+ return ctrl.signal;
+ }
+ }());
this.referrer = null;
if ((this.method === 'GET' || this.method === 'HEAD') && body) {
@@ -437,7 +454,11 @@
var key = parts.shift().trim();
if (key) {
var value = parts.join(':').trim();
- headers.append(key, value);
+ try {
+ headers.append(key, value);
+ } catch (error) {
+ console.warn('Response ' + error.message);
+ }
}
});
return headers
@@ -455,6 +476,9 @@
this.type = 'default';
this.status = options.status === undefined ? 200 : options.status;
+ if (this.status < 200 || this.status > 599) {
+ throw new RangeError("Failed to construct 'Response': The status provided (0) is outside the range [200, 599].")
+ }
this.ok = this.status >= 200 && this.status < 300;
this.statusText = options.statusText === undefined ? '' : '' + options.statusText;
this.headers = new Headers(options.headers);
@@ -474,7 +498,8 @@
};
Response.error = function() {
- var response = new Response(null, {status: 0, statusText: ''});
+ var response = new Response(null, {status: 200, statusText: ''});
+ response.status = 0;
response.type = 'error';
return response
};
@@ -489,7 +514,7 @@
return new Response(null, {status: status, headers: {location: url}})
};
- exports.DOMException = global.DOMException;
+ exports.DOMException = g.DOMException;
try {
new exports.DOMException();
} catch (err) {
@@ -550,7 +575,7 @@
function fixUrl(url) {
try {
- return url === '' && global.location.href ? global.location.href : url
+ return url === '' && g.location.href ? g.location.href : url
} catch (e) {
return url
}
@@ -568,18 +593,23 @@
if (support.blob) {
xhr.responseType = 'blob';
} else if (
- support.arrayBuffer &&
- request.headers.get('Content-Type') &&
- request.headers.get('Content-Type').indexOf('application/octet-stream') !== -1
+ support.arrayBuffer
) {
xhr.responseType = 'arraybuffer';
}
}
- if (init && typeof init.headers === 'object' && !(init.headers instanceof Headers)) {
+ if (init && typeof init.headers === 'object' && !(init.headers instanceof Headers || (g.Headers && init.headers instanceof g.Headers))) {
+ var names = [];
Object.getOwnPropertyNames(init.headers).forEach(function(name) {
+ names.push(normalizeName(name));
xhr.setRequestHeader(name, normalizeValue(init.headers[name]));
});
+ request.headers.forEach(function(value, name) {
+ if (names.indexOf(name) === -1) {
+ xhr.setRequestHeader(name, value);
+ }
+ });
} else {
request.headers.forEach(function(value, name) {
xhr.setRequestHeader(name, value);
@@ -603,11 +633,11 @@
fetch.polyfill = true;
- if (!global.fetch) {
- global.fetch = fetch;
- global.Headers = Headers;
- global.Request = Request;
- global.Response = Response;
+ if (!g.fetch) {
+ g.fetch = fetch;
+ g.Headers = Headers;
+ g.Request = Request;
+ g.Response = Response;
}
exports.Headers = Headers;