| @@ -1,4 +1,5 @@ | ||
| 1 | +(function() { | |
| 1 | 2 | "use strict"; |
| 2 | 3 | var wp; |
| 3 | 4 | (wp ||= {}).apiFetch = (() => { |
| 4 | 5 | var __create = Object.create; |
| @@ -347,11 +348,18 @@ | ||
| 347 | 348 | var import_i18n2 = __toESM(require_i18n(), 1); |
| 348 | 349 | |
| 349 | 350 | // packages/api-fetch/build-module/utils/response.mjs |
| 350 | 351 | var import_i18n = __toESM(require_i18n(), 1); |
| 351 | - async function parseJsonAndNormalizeError(response) { | |
| 352 | + async function parseJsonAndNormalizeError(response, allowEmptyBody = false) { | |
| 352 | 353 | try { |
| 353 | - return await response.json(); | |
| 354 | + if (typeof response.text !== "function") { | |
| 355 | + return await response.json(); | |
| 356 | + } | |
| 357 | + const text = await response.text(); | |
| 358 | + if (allowEmptyBody && text === "") { | |
| 359 | + return null; | |
| 360 | + } | |
| 361 | + return JSON.parse(text); | |
| 354 | 362 | } catch { |
| 355 | 363 | throw { |
| 356 | 364 | code: "invalid_json", |
| 357 | 365 | message: (0, import_i18n.__)("The response is not a valid JSON response.") |
| @@ -364,9 +372,9 @@ | ||
| 364 | 372 | } |
| 365 | 373 | if (response.status === 204) { |
| 366 | 374 | return null; |
| 367 | 375 | } |
| 368 | - return await parseJsonAndNormalizeError(response); | |
| 376 | + return await parseJsonAndNormalizeError(response, true); | |
| 369 | 377 | } |
| 370 | 378 | async function parseAndThrowError(response, shouldParseResponse = true) { |
| 371 | 379 | if (!shouldParseResponse) { |
| 372 | 380 | throw response; |
| @@ -489,8 +497,16 @@ | ||
| 489 | 497 | ]; |
| 490 | 498 | function registerMiddleware(middleware) { |
| 491 | 499 | middlewares.unshift(middleware); |
| 492 | 500 | } |
| 501 | + function unregisterMiddleware(middleware) { | |
| 502 | + const index = middlewares.indexOf(middleware); | |
| 503 | + if (index === -1) { | |
| 504 | + return false; | |
| 505 | + } | |
| 506 | + middlewares.splice(index, 1); | |
| 507 | + return true; | |
| 508 | + } | |
| 493 | 509 | function enablePreloadMultiUse() { |
| 494 | 510 | for (const middleware of middlewares) { |
| 495 | 511 | middleware[ENABLE_MULTI_USE]?.(); |
| 496 | 512 | } |
| @@ -499,11 +515,11 @@ | ||
| 499 | 515 | for (const middleware of middlewares) { |
| 500 | 516 | middleware[CLEAR]?.(); |
| 501 | 517 | } |
| 502 | 518 | } |
| 503 | - var defaultFetchHandler = (nextOptions) => { | |
| 504 | - const { url, path, data, parse = true, ...remainingOptions } = nextOptions; | |
| 505 | - let { body, headers } = nextOptions; | |
| 519 | + var defaultFetchHandler = (options) => { | |
| 520 | + const { url, path, data, parse = true, ...remainingOptions } = options; | |
| 521 | + let { body, headers } = options; | |
| 506 | 522 | headers = { ...DEFAULT_HEADERS, ...headers }; |
| 507 | 523 | if (data) { |
| 508 | 524 | body = JSON.stringify(data); |
| 509 | 525 | headers["Content-Type"] = "application/json"; |
| @@ -572,9 +588,11 @@ | ||
| 572 | 588 | }); |
| 573 | 589 | }); |
| 574 | 590 | }; |
| 575 | 591 | apiFetch.use = registerMiddleware; |
| 592 | + apiFetch.unregister = unregisterMiddleware; | |
| 576 | 593 | apiFetch.setFetchHandler = setFetchHandler; |
| 594 | + apiFetch.defaultFetchHandler = defaultFetchHandler; | |
| 577 | 595 | apiFetch.privateApis = {}; |
| 578 | 596 | lock(apiFetch.privateApis, { |
| 579 | 597 | enablePreloadMultiUse, |
| 580 | 598 | clearPreloadedData |
| @@ -582,11 +600,14 @@ | ||
| 582 | 600 | apiFetch.createNonceMiddleware = nonce_default; |
| 583 | 601 | apiFetch.createPreloadingMiddleware = preloading_default; |
| 584 | 602 | apiFetch.createRootURLMiddleware = root_url_default; |
| 585 | 603 | apiFetch.fetchAllMiddleware = fetch_all_middleware_default; |
| 604 | + apiFetch.httpV1Middleware = http_v1_default; | |
| 586 | 605 | apiFetch.mediaUploadMiddleware = media_upload_default; |
| 587 | 606 | apiFetch.createThemePreviewMiddleware = theme_preview_default; |
| 588 | 607 | var index_default = apiFetch; |
| 589 | 608 | return __toCommonJS(index_exports); |
| 590 | 609 | })(); |
| 591 | -if (typeof wp.apiFetch === 'object' && wp.apiFetch.default) { wp.apiFetch = wp.apiFetch.default; }if(wp.apiFetch&&typeof wp.apiFetch==='object'){wp.apiFetch=Object.assign({},wp.apiFetch);} | |
| 610 | +if (typeof wp.apiFetch === 'object' && wp.apiFetch.default) { wp.apiFetch = wp.apiFetch.default; } | |
| 611 | +(window.wp ||= {}).apiFetch = wp.apiFetch; | |
| 612 | +})(); | |
| 592 | 613 | //# sourceMappingURL=index.js.map |