HEX
Server: nginx/1.28.1
System: Linux VM-0-12-opencloudos 6.6.117-45.oc9.x86_64 #1 SMP Thu Dec 4 10:26:39 CST 2025 x86_64
User: www (1000)
PHP: 7.4.33
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: /www/wwwroot/www.waciwang.com/wp-content/plugins/gutenberg/build/scripts/api-fetch/index.js.map
{
  "version": 3,
  "sources": ["package-external:@wordpress/i18n", "package-external:@wordpress/url", "../../../packages/api-fetch/src/index.ts", "../../../packages/api-fetch/src/middlewares/nonce.ts", "../../../packages/api-fetch/src/middlewares/namespace-endpoint.ts", "../../../packages/api-fetch/src/middlewares/root-url.ts", "../../../packages/api-fetch/src/middlewares/preloading.ts", "../../../packages/api-fetch/src/middlewares/fetch-all-middleware.ts", "../../../packages/api-fetch/src/middlewares/http-v1.ts", "../../../packages/api-fetch/src/middlewares/user-locale.ts", "../../../packages/api-fetch/src/middlewares/media-upload.ts", "../../../packages/api-fetch/src/utils/response.ts", "../../../packages/api-fetch/src/middlewares/theme-preview.ts"],
  "sourcesContent": ["module.exports = window.wp.i18n;", "module.exports = window.wp.url;", "/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport createNonceMiddleware from './middlewares/nonce';\nimport createRootURLMiddleware from './middlewares/root-url';\nimport createPreloadingMiddleware from './middlewares/preloading';\nimport fetchAllMiddleware from './middlewares/fetch-all-middleware';\nimport namespaceEndpointMiddleware from './middlewares/namespace-endpoint';\nimport httpV1Middleware from './middlewares/http-v1';\nimport userLocaleMiddleware from './middlewares/user-locale';\nimport mediaUploadMiddleware from './middlewares/media-upload';\nimport createThemePreviewMiddleware from './middlewares/theme-preview';\nimport {\n\tparseResponseAndNormalizeError,\n\tparseAndThrowError,\n} from './utils/response';\nimport type {\n\tAPIFetchMiddleware,\n\tAPIFetchOptions,\n\tFetchHandler,\n} from './types';\n\n/**\n * Default set of header values which should be sent with every request unless\n * explicitly provided through apiFetch options.\n */\nconst DEFAULT_HEADERS: APIFetchOptions[ 'headers' ] = {\n\t// The backend uses the Accept header as a condition for considering an\n\t// incoming request as a REST request.\n\t//\n\t// See: https://core.trac.wordpress.org/ticket/44534\n\tAccept: 'application/json, */*;q=0.1',\n};\n\n/**\n * Default set of fetch option values which should be sent with every request\n * unless explicitly provided through apiFetch options.\n */\nconst DEFAULT_OPTIONS: APIFetchOptions = {\n\tcredentials: 'include',\n};\n\nconst middlewares: Array< APIFetchMiddleware > = [\n\tuserLocaleMiddleware,\n\tnamespaceEndpointMiddleware,\n\thttpV1Middleware,\n\tfetchAllMiddleware,\n];\n\n/**\n * Register a middleware\n *\n * @param middleware\n */\nfunction registerMiddleware( middleware: APIFetchMiddleware ) {\n\tmiddlewares.unshift( middleware );\n}\n\nconst defaultFetchHandler: FetchHandler = ( nextOptions ) => {\n\tconst { url, path, data, parse = true, ...remainingOptions } = nextOptions;\n\tlet { body, headers } = nextOptions;\n\n\t// Merge explicitly-provided headers with default values.\n\theaders = { ...DEFAULT_HEADERS, ...headers };\n\n\t// The `data` property is a shorthand for sending a JSON body.\n\tif ( data ) {\n\t\tbody = JSON.stringify( data );\n\t\theaders[ 'Content-Type' ] = 'application/json';\n\t}\n\n\tconst responsePromise = globalThis.fetch(\n\t\t// Fall back to explicitly passing `window.location` which is the behavior if `undefined` is passed.\n\t\turl || path || window.location.href,\n\t\t{\n\t\t\t...DEFAULT_OPTIONS,\n\t\t\t...remainingOptions,\n\t\t\tbody,\n\t\t\theaders,\n\t\t}\n\t);\n\n\treturn responsePromise.then(\n\t\t( response ) => {\n\t\t\t// If the response is not 2xx, still parse the response body as JSON\n\t\t\t// but throw the JSON as error.\n\t\t\tif ( ! response.ok ) {\n\t\t\t\treturn parseAndThrowError( response, parse );\n\t\t\t}\n\n\t\t\treturn parseResponseAndNormalizeError( response, parse );\n\t\t},\n\t\t( err ) => {\n\t\t\t// Re-throw AbortError for the users to handle it themselves.\n\t\t\tif ( err && err.name === 'AbortError' ) {\n\t\t\t\tthrow err;\n\t\t\t}\n\n\t\t\t// If the browser reports being offline, we'll just assume that\n\t\t\t// this is why the request failed.\n\t\t\tif ( ! globalThis.navigator.onLine ) {\n\t\t\t\tthrow {\n\t\t\t\t\tcode: 'offline_error',\n\t\t\t\t\tmessage: __(\n\t\t\t\t\t\t'Unable to connect. Please check your Internet connection.'\n\t\t\t\t\t),\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// Hard to diagnose further due to how Window.fetch reports errors.\n\t\t\tthrow {\n\t\t\t\tcode: 'fetch_error',\n\t\t\t\tmessage: __(\n\t\t\t\t\t'Could not get a valid response from the server.'\n\t\t\t\t),\n\t\t\t};\n\t\t}\n\t);\n};\n\nlet fetchHandler = defaultFetchHandler;\n\n/**\n * Defines a custom fetch handler for making the requests that will override\n * the default one using window.fetch\n *\n * @param newFetchHandler The new fetch handler\n */\nfunction setFetchHandler( newFetchHandler: FetchHandler ) {\n\tfetchHandler = newFetchHandler;\n}\n\nexport interface ApiFetch {\n\t< T, Parse extends boolean = true >(\n\t\toptions: APIFetchOptions< Parse >\n\t): Promise< Parse extends true ? T : Response >;\n\tnonceEndpoint?: string;\n\tnonceMiddleware?: ReturnType< typeof createNonceMiddleware >;\n\tuse: ( middleware: APIFetchMiddleware ) => void;\n\tsetFetchHandler: ( newFetchHandler: FetchHandler ) => void;\n\tcreateNonceMiddleware: typeof createNonceMiddleware;\n\tcreatePreloadingMiddleware: typeof createPreloadingMiddleware;\n\tcreateRootURLMiddleware: typeof createRootURLMiddleware;\n\tfetchAllMiddleware: typeof fetchAllMiddleware;\n\tmediaUploadMiddleware: typeof mediaUploadMiddleware;\n\tcreateThemePreviewMiddleware: typeof createThemePreviewMiddleware;\n}\n\n/**\n * Fetch\n *\n * @param options The options for the fetch.\n * @return A promise representing the request processed via the registered middlewares.\n */\nexport const apiFetch: ApiFetch = ( options ) => {\n\t// creates a nested function chain that calls all middlewares and finally the `fetchHandler`,\n\t// converting `middlewares = [ m1, m2, m3 ]` into:\n\t// ```\n\t// opts1 => m1( opts1, opts2 => m2( opts2, opts3 => m3( opts3, fetchHandler ) ) );\n\t// ```\n\tconst enhancedHandler = middlewares.reduceRight< FetchHandler >(\n\t\t( next, middleware ) => {\n\t\t\treturn ( workingOptions ) => middleware( workingOptions, next );\n\t\t},\n\t\tfetchHandler\n\t);\n\n\treturn enhancedHandler( options ).catch( ( error ) => {\n\t\tif ( error.code !== 'rest_cookie_invalid_nonce' ) {\n\t\t\treturn Promise.reject( error );\n\t\t}\n\n\t\t// If the nonce is invalid, refresh it and try again.\n\t\treturn globalThis\n\t\t\t.fetch( apiFetch.nonceEndpoint! )\n\t\t\t.then( ( response ) => {\n\t\t\t\t// If the nonce refresh fails, it means we failed to recover from the original\n\t\t\t\t// `rest_cookie_invalid_nonce` error and that it's time to finally re-throw it.\n\t\t\t\tif ( ! response.ok ) {\n\t\t\t\t\treturn Promise.reject( error );\n\t\t\t\t}\n\n\t\t\t\treturn response.text();\n\t\t\t} )\n\t\t\t.then( ( text ) => {\n\t\t\t\tapiFetch.nonceMiddleware!.nonce = text;\n\t\t\t\treturn apiFetch( options );\n\t\t\t} );\n\t} );\n};\n\napiFetch.use = registerMiddleware;\napiFetch.setFetchHandler = setFetchHandler;\n\napiFetch.createNonceMiddleware = createNonceMiddleware;\napiFetch.createPreloadingMiddleware = createPreloadingMiddleware;\napiFetch.createRootURLMiddleware = createRootURLMiddleware;\napiFetch.fetchAllMiddleware = fetchAllMiddleware;\napiFetch.mediaUploadMiddleware = mediaUploadMiddleware;\napiFetch.createThemePreviewMiddleware = createThemePreviewMiddleware;\n\nexport default apiFetch;\nexport type * from './types';\n", "/**\n * Internal dependencies\n */\nimport type { APIFetchMiddleware } from '../types';\n\n/**\n * @param nonce\n *\n * @return  A middleware to enhance a request with a nonce.\n */\nfunction createNonceMiddleware(\n\tnonce: string\n): APIFetchMiddleware & { nonce: string } {\n\tconst middleware: APIFetchMiddleware & { nonce: string } = (\n\t\toptions,\n\t\tnext\n\t) => {\n\t\tconst { headers = {} } = options;\n\n\t\t// If an 'X-WP-Nonce' header (or any case-insensitive variation\n\t\t// thereof) was specified, no need to add a nonce header.\n\t\tfor ( const headerName in headers ) {\n\t\t\tif (\n\t\t\t\theaderName.toLowerCase() === 'x-wp-nonce' &&\n\t\t\t\theaders[ headerName ] === middleware.nonce\n\t\t\t) {\n\t\t\t\treturn next( options );\n\t\t\t}\n\t\t}\n\n\t\treturn next( {\n\t\t\t...options,\n\t\t\theaders: {\n\t\t\t\t...headers,\n\t\t\t\t'X-WP-Nonce': middleware.nonce,\n\t\t\t},\n\t\t} );\n\t};\n\n\tmiddleware.nonce = nonce;\n\n\treturn middleware;\n}\n\nexport default createNonceMiddleware;\n", "/**\n * Internal dependencies\n */\nimport type { APIFetchMiddleware } from '../types';\n\nconst namespaceAndEndpointMiddleware: APIFetchMiddleware = (\n\toptions,\n\tnext\n) => {\n\tlet path = options.path;\n\tlet namespaceTrimmed, endpointTrimmed;\n\n\tif (\n\t\ttypeof options.namespace === 'string' &&\n\t\ttypeof options.endpoint === 'string'\n\t) {\n\t\tnamespaceTrimmed = options.namespace.replace( /^\\/|\\/$/g, '' );\n\t\tendpointTrimmed = options.endpoint.replace( /^\\//, '' );\n\t\tif ( endpointTrimmed ) {\n\t\t\tpath = namespaceTrimmed + '/' + endpointTrimmed;\n\t\t} else {\n\t\t\tpath = namespaceTrimmed;\n\t\t}\n\t}\n\n\tdelete options.namespace;\n\tdelete options.endpoint;\n\n\treturn next( {\n\t\t...options,\n\t\tpath,\n\t} );\n};\n\nexport default namespaceAndEndpointMiddleware;\n", "/**\n * Internal dependencies\n */\nimport type { APIFetchMiddleware } from '../types';\nimport namespaceAndEndpointMiddleware from './namespace-endpoint';\n\n/**\n * @param rootURL\n * @return  Root URL middleware.\n */\nconst createRootURLMiddleware =\n\t( rootURL: string ): APIFetchMiddleware =>\n\t( options, next ) => {\n\t\treturn namespaceAndEndpointMiddleware( options, ( optionsWithPath ) => {\n\t\t\tlet url = optionsWithPath.url;\n\t\t\tlet path = optionsWithPath.path;\n\t\t\tlet apiRoot;\n\n\t\t\tif ( typeof path === 'string' ) {\n\t\t\t\tapiRoot = rootURL;\n\n\t\t\t\tif ( -1 !== rootURL.indexOf( '?' ) ) {\n\t\t\t\t\tpath = path.replace( '?', '&' );\n\t\t\t\t}\n\n\t\t\t\tpath = path.replace( /^\\//, '' );\n\n\t\t\t\t// API root may already include query parameter prefix if site is\n\t\t\t\t// configured to use plain permalinks.\n\t\t\t\tif (\n\t\t\t\t\t'string' === typeof apiRoot &&\n\t\t\t\t\t-1 !== apiRoot.indexOf( '?' )\n\t\t\t\t) {\n\t\t\t\t\tpath = path.replace( '?', '&' );\n\t\t\t\t}\n\n\t\t\t\turl = apiRoot + path;\n\t\t\t}\n\n\t\t\treturn next( {\n\t\t\t\t...optionsWithPath,\n\t\t\t\turl,\n\t\t\t} );\n\t\t} );\n\t};\n\nexport default createRootURLMiddleware;\n", "/**\n * WordPress dependencies\n */\nimport { addQueryArgs, getQueryArgs, normalizePath } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport type { APIFetchMiddleware } from '../types';\n\n/**\n * @param preloadedData\n * @return Preloading middleware.\n */\nfunction createPreloadingMiddleware(\n\tpreloadedData: Record< string, any >\n): APIFetchMiddleware {\n\tconst cache = Object.fromEntries(\n\t\tObject.entries( preloadedData ).map( ( [ path, data ] ) => [\n\t\t\tnormalizePath( path ),\n\t\t\tdata,\n\t\t] )\n\t);\n\n\treturn ( options, next ) => {\n\t\tconst { parse = true } = options;\n\t\tlet rawPath = options.path;\n\t\tif ( ! rawPath && options.url ) {\n\t\t\tconst { rest_route: pathFromQuery, ...queryArgs } = getQueryArgs(\n\t\t\t\toptions.url\n\t\t\t);\n\n\t\t\tif ( typeof pathFromQuery === 'string' ) {\n\t\t\t\trawPath = addQueryArgs( pathFromQuery, queryArgs );\n\t\t\t}\n\t\t}\n\n\t\tif ( typeof rawPath !== 'string' ) {\n\t\t\treturn next( options );\n\t\t}\n\n\t\tconst method = options.method || 'GET';\n\t\tconst path = normalizePath( rawPath );\n\n\t\tif ( 'GET' === method && cache[ path ] ) {\n\t\t\tconst cacheData = cache[ path ];\n\n\t\t\t// Unsetting the cache key ensures that the data is only used a single time.\n\t\t\tdelete cache[ path ];\n\n\t\t\treturn prepareResponse( cacheData, !! parse );\n\t\t} else if (\n\t\t\t'OPTIONS' === method &&\n\t\t\tcache[ method ] &&\n\t\t\tcache[ method ][ path ]\n\t\t) {\n\t\t\tconst cacheData = cache[ method ][ path ];\n\n\t\t\t// Unsetting the cache key ensures that the data is only used a single time.\n\t\t\tdelete cache[ method ][ path ];\n\n\t\t\treturn prepareResponse( cacheData, !! parse );\n\t\t}\n\n\t\treturn next( options );\n\t};\n}\n\n/**\n * This is a helper function that sends a success response.\n *\n * @param responseData\n * @param parse\n * @return Promise with the response.\n */\nfunction prepareResponse(\n\tresponseData: Record< string, any >,\n\tparse: boolean\n) {\n\tif ( parse ) {\n\t\treturn Promise.resolve( responseData.body );\n\t}\n\n\ttry {\n\t\treturn Promise.resolve(\n\t\t\tnew window.Response( JSON.stringify( responseData.body ), {\n\t\t\t\tstatus: 200,\n\t\t\t\tstatusText: 'OK',\n\t\t\t\theaders: responseData.headers,\n\t\t\t} )\n\t\t);\n\t} catch {\n\t\t// See: https://github.com/WordPress/gutenberg/issues/67358#issuecomment-2621163926.\n\t\tObject.entries(\n\t\t\tresponseData.headers as Record< string, string >\n\t\t).forEach( ( [ key, value ] ) => {\n\t\t\tif ( key.toLowerCase() === 'link' ) {\n\t\t\t\tresponseData.headers[ key ] = value.replace(\n\t\t\t\t\t/<([^>]+)>/,\n\t\t\t\t\t( _, url ) => `<${ encodeURI( url ) }>`\n\t\t\t\t);\n\t\t\t}\n\t\t} );\n\n\t\treturn Promise.resolve(\n\t\t\tparse\n\t\t\t\t? responseData.body\n\t\t\t\t: new window.Response( JSON.stringify( responseData.body ), {\n\t\t\t\t\t\tstatus: 200,\n\t\t\t\t\t\tstatusText: 'OK',\n\t\t\t\t\t\theaders: responseData.headers,\n\t\t\t\t  } )\n\t\t);\n\t}\n}\n\nexport default createPreloadingMiddleware;\n", "/**\n * WordPress dependencies\n */\nimport { addQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport apiFetch from '..';\nimport type { APIFetchMiddleware, APIFetchOptions } from '../types';\n\n/**\n * Apply query arguments to both URL and Path, whichever is present.\n *\n * @param {APIFetchOptions}                   props     The request options\n * @param {Record< string, string | number >} queryArgs\n * @return  The request with the modified query args\n */\nconst modifyQuery = (\n\t{ path, url, ...options }: APIFetchOptions,\n\tqueryArgs: Record< string, string | number >\n): APIFetchOptions => ( {\n\t...options,\n\turl: url && addQueryArgs( url, queryArgs ),\n\tpath: path && addQueryArgs( path, queryArgs ),\n} );\n\n/**\n * Duplicates parsing functionality from apiFetch.\n *\n * @param response\n * @return Parsed response json.\n */\nconst parseResponse = ( response: Response ) =>\n\tresponse.json ? response.json() : Promise.reject( response );\n\n/**\n * @param linkHeader\n * @return The parsed link header.\n */\nconst parseLinkHeader = ( linkHeader: string | null ) => {\n\tif ( ! linkHeader ) {\n\t\treturn {};\n\t}\n\tconst match = linkHeader.match( /<([^>]+)>; rel=\"next\"/ );\n\treturn match\n\t\t? {\n\t\t\t\tnext: match[ 1 ],\n\t\t  }\n\t\t: {};\n};\n\n/**\n * @param response\n * @return  The next page URL.\n */\nconst getNextPageUrl = ( response: Response ) => {\n\tconst { next } = parseLinkHeader( response.headers.get( 'link' ) );\n\treturn next;\n};\n\n/**\n * @param options\n * @return True if the request contains an unbounded query.\n */\nconst requestContainsUnboundedQuery = ( options: APIFetchOptions ) => {\n\tconst pathIsUnbounded =\n\t\t!! options.path && options.path.indexOf( 'per_page=-1' ) !== -1;\n\tconst urlIsUnbounded =\n\t\t!! options.url && options.url.indexOf( 'per_page=-1' ) !== -1;\n\treturn pathIsUnbounded || urlIsUnbounded;\n};\n\n/**\n * The REST API enforces an upper limit on the per_page option. To handle large\n * collections, apiFetch consumers can pass `per_page=-1`; this middleware will\n * then recursively assemble a full response array from all available pages.\n * @param options\n * @param next\n */\nconst fetchAllMiddleware: APIFetchMiddleware = async ( options, next ) => {\n\tif ( options.parse === false ) {\n\t\t// If a consumer has opted out of parsing, do not apply middleware.\n\t\treturn next( options );\n\t}\n\tif ( ! requestContainsUnboundedQuery( options ) ) {\n\t\t// If neither url nor path is requesting all items, do not apply middleware.\n\t\treturn next( options );\n\t}\n\n\t// Retrieve requested page of results.\n\tconst response = await apiFetch( {\n\t\t...modifyQuery( options, {\n\t\t\tper_page: 100,\n\t\t} ),\n\t\t// Ensure headers are returned for page 1.\n\t\tparse: false,\n\t} );\n\n\tconst results = await parseResponse( response );\n\n\tif ( ! Array.isArray( results ) ) {\n\t\t// We have no reliable way of merging non-array results.\n\t\treturn results;\n\t}\n\n\tlet nextPage = getNextPageUrl( response );\n\n\tif ( ! nextPage ) {\n\t\t// There are no further pages to request.\n\t\treturn results;\n\t}\n\n\t// Iteratively fetch all remaining pages until no \"next\" header is found.\n\tlet mergedResults = ( [] as Array< any > ).concat( results );\n\twhile ( nextPage ) {\n\t\tconst nextResponse = await apiFetch( {\n\t\t\t...options,\n\t\t\t// Ensure the URL for the next page is used instead of any provided path.\n\t\t\tpath: undefined,\n\t\t\turl: nextPage,\n\t\t\t// Ensure we still get headers so we can identify the next page.\n\t\t\tparse: false,\n\t\t} );\n\t\tconst nextResults = await parseResponse( nextResponse );\n\t\tmergedResults = mergedResults.concat( nextResults );\n\t\tnextPage = getNextPageUrl( nextResponse );\n\t}\n\treturn mergedResults;\n};\n\nexport default fetchAllMiddleware;\n", "/**\n * Internal dependencies\n */\nimport type { APIFetchMiddleware } from '../types';\n\n/**\n * Set of HTTP methods which are eligible to be overridden.\n */\nconst OVERRIDE_METHODS = new Set( [ 'PATCH', 'PUT', 'DELETE' ] );\n\n/**\n * Default request method.\n *\n * \"A request has an associated method (a method). Unless stated otherwise it\n * is `GET`.\"\n *\n * @see  https://fetch.spec.whatwg.org/#requests\n */\nconst DEFAULT_METHOD = 'GET';\n\n/**\n * API Fetch middleware which overrides the request method for HTTP v1\n * compatibility leveraging the REST API X-HTTP-Method-Override header.\n *\n * @param options\n * @param next\n */\nconst httpV1Middleware: APIFetchMiddleware = ( options, next ) => {\n\tconst { method = DEFAULT_METHOD } = options;\n\tif ( OVERRIDE_METHODS.has( method.toUpperCase() ) ) {\n\t\toptions = {\n\t\t\t...options,\n\t\t\theaders: {\n\t\t\t\t...options.headers,\n\t\t\t\t'X-HTTP-Method-Override': method,\n\t\t\t\t'Content-Type': 'application/json',\n\t\t\t},\n\t\t\tmethod: 'POST',\n\t\t};\n\t}\n\n\treturn next( options );\n};\n\nexport default httpV1Middleware;\n", "/**\n * WordPress dependencies\n */\nimport { addQueryArgs, hasQueryArg } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport type { APIFetchMiddleware } from '../types';\n\nconst userLocaleMiddleware: APIFetchMiddleware = ( options, next ) => {\n\tif (\n\t\ttypeof options.url === 'string' &&\n\t\t! hasQueryArg( options.url, '_locale' )\n\t) {\n\t\toptions.url = addQueryArgs( options.url, { _locale: 'user' } );\n\t}\n\n\tif (\n\t\ttypeof options.path === 'string' &&\n\t\t! hasQueryArg( options.path, '_locale' )\n\t) {\n\t\toptions.path = addQueryArgs( options.path, { _locale: 'user' } );\n\t}\n\n\treturn next( options );\n};\n\nexport default userLocaleMiddleware;\n", "/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport {\n\tparseAndThrowError,\n\tparseResponseAndNormalizeError,\n} from '../utils/response';\nimport type { APIFetchOptions, APIFetchMiddleware } from '../types';\n\n/**\n * @param options\n * @return True if the request is for media upload.\n */\nfunction isMediaUploadRequest( options: APIFetchOptions ) {\n\tconst isCreateMethod = !! options.method && options.method === 'POST';\n\tconst isMediaEndpoint =\n\t\t( !! options.path && options.path.indexOf( '/wp/v2/media' ) !== -1 ) ||\n\t\t( !! options.url && options.url.indexOf( '/wp/v2/media' ) !== -1 );\n\n\treturn isMediaEndpoint && isCreateMethod;\n}\n\n/**\n * Middleware handling media upload failures and retries.\n * @param options\n * @param next\n */\nconst mediaUploadMiddleware: APIFetchMiddleware = ( options, next ) => {\n\tif ( ! isMediaUploadRequest( options ) ) {\n\t\treturn next( options );\n\t}\n\n\tlet retries = 0;\n\tconst maxRetries = 5;\n\n\t/**\n\t * @param attachmentId\n\t * @return Processed post response.\n\t */\n\tconst postProcess = ( attachmentId: string ): Promise< any > => {\n\t\tretries++;\n\t\treturn next( {\n\t\t\tpath: `/wp/v2/media/${ attachmentId }/post-process`,\n\t\t\tmethod: 'POST',\n\t\t\tdata: { action: 'create-image-subsizes' },\n\t\t\tparse: false,\n\t\t} ).catch( () => {\n\t\t\tif ( retries < maxRetries ) {\n\t\t\t\treturn postProcess( attachmentId );\n\t\t\t}\n\t\t\tnext( {\n\t\t\t\tpath: `/wp/v2/media/${ attachmentId }?force=true`,\n\t\t\t\tmethod: 'DELETE',\n\t\t\t} );\n\n\t\t\treturn Promise.reject();\n\t\t} );\n\t};\n\n\treturn next( { ...options, parse: false } )\n\t\t.catch( ( response: Response ) => {\n\t\t\t// `response` could actually be an error thrown by `defaultFetchHandler`.\n\t\t\tif ( ! ( response instanceof globalThis.Response ) ) {\n\t\t\t\treturn Promise.reject( response );\n\t\t\t}\n\n\t\t\tconst attachmentId = response.headers.get(\n\t\t\t\t'x-wp-upload-attachment-id'\n\t\t\t);\n\t\t\tif (\n\t\t\t\tresponse.status >= 500 &&\n\t\t\t\tresponse.status < 600 &&\n\t\t\t\tattachmentId\n\t\t\t) {\n\t\t\t\treturn postProcess( attachmentId ).catch( () => {\n\t\t\t\t\tif ( options.parse !== false ) {\n\t\t\t\t\t\treturn Promise.reject( {\n\t\t\t\t\t\t\tcode: 'post_process',\n\t\t\t\t\t\t\tmessage: __(\n\t\t\t\t\t\t\t\t'Media upload failed. If this is a photo or a large image, please scale it down and try again.'\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\n\t\t\t\t\treturn Promise.reject( response );\n\t\t\t\t} );\n\t\t\t}\n\t\t\treturn parseAndThrowError( response, options.parse );\n\t\t} )\n\t\t.then( ( response: Response ) =>\n\t\t\tparseResponseAndNormalizeError( response, options.parse )\n\t\t);\n};\n\nexport default mediaUploadMiddleware;\n", "/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Calls the `json` function on the Response, throwing an error if the response\n * doesn't have a json function or if parsing the json itself fails.\n *\n * @param response\n * @return Parsed response.\n */\nasync function parseJsonAndNormalizeError( response: Response ) {\n\ttry {\n\t\treturn await response.json();\n\t} catch {\n\t\tthrow {\n\t\t\tcode: 'invalid_json',\n\t\t\tmessage: __( 'The response is not a valid JSON response.' ),\n\t\t};\n\t}\n}\n\n/**\n * Parses the apiFetch response properly and normalize response errors.\n *\n * @param response\n * @param shouldParseResponse\n *\n * @return Parsed response.\n */\nexport async function parseResponseAndNormalizeError(\n\tresponse: Response,\n\tshouldParseResponse = true\n) {\n\tif ( ! shouldParseResponse ) {\n\t\treturn response;\n\t}\n\n\tif ( response.status === 204 ) {\n\t\treturn null;\n\t}\n\n\treturn await parseJsonAndNormalizeError( response );\n}\n\n/**\n * Parses a response, throwing an error if parsing the response fails.\n *\n * @param response\n * @param shouldParseResponse\n * @return Never returns, always throws.\n */\nexport async function parseAndThrowError(\n\tresponse: Response,\n\tshouldParseResponse = true\n) {\n\tif ( ! shouldParseResponse ) {\n\t\tthrow response;\n\t}\n\n\t// Parse the response JSON and throw it as an error.\n\tthrow await parseJsonAndNormalizeError( response );\n}\n", "/**\n * WordPress dependencies\n */\nimport { addQueryArgs, getQueryArg, removeQueryArgs } from '@wordpress/url';\n/**\n * Internal dependencies\n */\nimport type { APIFetchMiddleware } from '../types';\n\n/**\n * This appends a `wp_theme_preview` parameter to the REST API request URL if\n * the admin URL contains a `theme` GET parameter.\n *\n * If the REST API request URL has contained the `wp_theme_preview` parameter as `''`,\n * then bypass this middleware.\n *\n * @param themePath\n * @return  Preloading middleware.\n */\nconst createThemePreviewMiddleware =\n\t( themePath: Record< string, any > ): APIFetchMiddleware =>\n\t( options, next ) => {\n\t\tif ( typeof options.url === 'string' ) {\n\t\t\tconst wpThemePreview = getQueryArg(\n\t\t\t\toptions.url,\n\t\t\t\t'wp_theme_preview'\n\t\t\t);\n\t\t\tif ( wpThemePreview === undefined ) {\n\t\t\t\toptions.url = addQueryArgs( options.url, {\n\t\t\t\t\twp_theme_preview: themePath,\n\t\t\t\t} );\n\t\t\t} else if ( wpThemePreview === '' ) {\n\t\t\t\toptions.url = removeQueryArgs(\n\t\t\t\t\toptions.url,\n\t\t\t\t\t'wp_theme_preview'\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tif ( typeof options.path === 'string' ) {\n\t\t\tconst wpThemePreview = getQueryArg(\n\t\t\t\toptions.path,\n\t\t\t\t'wp_theme_preview'\n\t\t\t);\n\t\t\tif ( wpThemePreview === undefined ) {\n\t\t\t\toptions.path = addQueryArgs( options.path, {\n\t\t\t\t\twp_theme_preview: themePath,\n\t\t\t\t} );\n\t\t\t} else if ( wpThemePreview === '' ) {\n\t\t\t\toptions.path = removeQueryArgs(\n\t\t\t\t\toptions.path,\n\t\t\t\t\t'wp_theme_preview'\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\treturn next( options );\n\t};\n\nexport default createThemePreviewMiddleware;\n"],
  "mappings": "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",
  "names": ["import_i18n", "import_url", "import_url", "import_i18n", "import_url"]
}