PluginProbe
Gutenberg / 22.7.0
Gutenberg v22.7.0
24.0.0 23.9.1 23.9.0 23.8.0 23.7.2 23.7.1 23.7.0 23.6.1 23.6.2 23.6.0 23.5.3 23.5.2 23.5.1 23.5.0 23.4.0 23.3.2 23.3.1 23.3.0 23.2.0 23.2.1 23.2.2 23.1.1 23.1.0 23.0.1 12.6.0 All 403 releases
← All changes | build/scripts/api-fetch/index.js +12 -78 23.6.2 → 22.7.0 View file →
@@ -38,15 +38,8 @@
38 38 module.exports = window.wp.i18n;
39 39 }
40 40 });
41 41
42 - // package-external:@wordpress/private-apis
43 - var require_private_apis = __commonJS({
44 - "package-external:@wordpress/private-apis"(exports, module) {
45 - module.exports = window.wp.privateApis;
46 - }
47 - });
48 -
49 42 // package-external:@wordpress/url
50 43 var require_url = __commonJS({
51 44 "package-external:@wordpress/url"(exports, module) {
52 45 module.exports = window.wp.url;
@@ -59,15 +52,8 @@
59 52 default: () => index_default
60 53 });
61 54 var import_i18n3 = __toESM(require_i18n(), 1);
62 55
63 - // packages/api-fetch/build-module/lock-unlock.mjs
64 - var import_private_apis = __toESM(require_private_apis(), 1);
65 - var { lock, unlock } = (0, import_private_apis.__dangerousOptInToUnstableAPIsOnlyForCoreModules)(
66 - "I acknowledge private features are not for use in themes or plugins and doing so will break in the next version of WordPress.",
67 - "@wordpress/api-fetch"
68 - );
69 -
70 56 // packages/api-fetch/build-module/middlewares/nonce.mjs
71 57 function createNonceMiddleware(nonce) {
72 58 const middleware = (options, next) => {
73 59 const { headers = {} } = options;
@@ -137,21 +123,16 @@
137 123 var root_url_default = createRootURLMiddleware;
138 124
139 125 // packages/api-fetch/build-module/middlewares/preloading.mjs
140 126 var import_url = __toESM(require_url(), 1);
141 - var ENABLE_MULTI_USE = /* @__PURE__ */ Symbol("preloadingEnableMultiUse");
142 - var CLEAR = /* @__PURE__ */ Symbol("preloadingClear");
143 127 function createPreloadingMiddleware(preloadedData) {
144 - const { OPTIONS = {}, ...GET } = Object.fromEntries(
128 + const cache = Object.fromEntries(
145 129 Object.entries(preloadedData).map(([path, data]) => [
146 130 (0, import_url.normalizePath)(path),
147 131 data
148 132 ])
149 133 );
150 - const unusedGet = new Set(Object.keys(GET));
151 - const unusedOptions = new Set(Object.keys(OPTIONS));
152 - let multiUse = false;
153 - const middleware = (options, next) => {
134 + return (options, next) => {
154 135 const { parse = true } = options;
155 136 let rawPath = options.path;
156 137 if (!rawPath && options.url) {
157 138 const { rest_route: pathFromQuery, ...queryArgs } = (0, import_url.getQueryArgs)(
@@ -165,51 +146,19 @@
165 146 return next(options);
166 147 }
167 148 const method = options.method || "GET";
168 149 const path = (0, import_url.normalizePath)(rawPath);
169 - if ("GET" === method && GET[path]) {
170 - const data = GET[path];
171 - if (!multiUse) {
172 - delete GET[path];
173 - }
174 - unusedGet.delete(path);
175 - return prepareResponse(data, !!parse);
176 - } else if ("OPTIONS" === method && OPTIONS[path]) {
177 - const data = OPTIONS[path];
178 - if (!multiUse) {
179 - delete OPTIONS[path];
180 - }
181 - unusedOptions.delete(path);
182 - return prepareResponse(data, !!parse);
150 + if ("GET" === method && cache[path]) {
151 + const cacheData = cache[path];
152 + delete cache[path];
153 + return prepareResponse(cacheData, !!parse);
154 + } else if ("OPTIONS" === method && cache[method] && cache[method][path]) {
155 + const cacheData = cache[method][path];
156 + delete cache[method][path];
157 + return prepareResponse(cacheData, !!parse);
183 158 }
184 159 return next(options);
185 160 };
186 - middleware[ENABLE_MULTI_USE] = () => {
187 - multiUse = true;
188 - };
189 - middleware[CLEAR] = () => {
190 - const tags = [
191 - ...Array.from(unusedGet, (p) => `GET ${p}`),
192 - ...Array.from(unusedOptions, (p) => `OPTIONS ${p}`)
193 - ];
194 - if (tags.length) {
195 - console.warn(
196 - "[api-fetch][preload] Some preloads were never consumed:",
197 - tags
198 - );
199 - } else {
200 - console.log("[api-fetch][preload] All preloads consumed.");
201 - }
202 - unusedGet.clear();
203 - unusedOptions.clear();
204 - for (const key of Object.keys(GET)) {
205 - delete GET[key];
206 - }
207 - for (const key of Object.keys(OPTIONS)) {
208 - delete OPTIONS[key];
209 - }
210 - };
211 - return middleware;
212 161 }
213 162 function prepareResponse(responseData, parse) {
214 163 if (parse) {
215 164 return Promise.resolve(responseData.body);
@@ -318,11 +267,11 @@
318 267 if (OVERRIDE_METHODS.has(method.toUpperCase())) {
319 268 options = {
320 269 ...options,
321 270 headers: {
322 - "Content-Type": "application/json",
323 271 ...options.headers,
324 - "X-HTTP-Method-Override": method
272 + "X-HTTP-Method-Override": method,
273 + "Content-Type": "application/json"
325 274 },
326 275 method: "POST"
327 276 };
328 277 }
@@ -489,18 +438,8 @@
489 438 ];
490 439 function registerMiddleware(middleware) {
491 440 middlewares.unshift(middleware);
492 441 }
493 - function enablePreloadMultiUse() {
494 - for (const middleware of middlewares) {
495 - middleware[ENABLE_MULTI_USE]?.();
496 - }
497 - }
498 - function clearPreloadedData() {
499 - for (const middleware of middlewares) {
500 - middleware[CLEAR]?.();
501 - }
502 - }
503 442 var defaultFetchHandler = (nextOptions) => {
504 443 const { url, path, data, parse = true, ...remainingOptions } = nextOptions;
505 444 let { body, headers } = nextOptions;
506 445 headers = { ...DEFAULT_HEADERS, ...headers };
@@ -573,13 +512,8 @@
573 512 });
574 513 };
575 514 apiFetch.use = registerMiddleware;
576 515 apiFetch.setFetchHandler = setFetchHandler;
577 - apiFetch.privateApis = {};
578 - lock(apiFetch.privateApis, {
579 - enablePreloadMultiUse,
580 - clearPreloadedData
581 - });
582 516 apiFetch.createNonceMiddleware = nonce_default;
583 517 apiFetch.createPreloadingMiddleware = preloading_default;
584 518 apiFetch.createRootURLMiddleware = root_url_default;
585 519 apiFetch.fetchAllMiddleware = fetch_all_middleware_default;