UNPKG

@wordpress/api-fetch

Version:
43 lines (40 loc) 1.26 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _namespaceEndpoint = _interopRequireDefault(require("./namespace-endpoint")); /** * Internal dependencies */ /** * @param {string} rootURL * @return {import('../types').APIFetchMiddleware} Root URL middleware. */ const createRootURLMiddleware = rootURL => (options, next) => { return (0, _namespaceEndpoint.default)(options, optionsWithPath => { let url = optionsWithPath.url; let path = optionsWithPath.path; let apiRoot; if (typeof path === 'string') { apiRoot = rootURL; if (-1 !== rootURL.indexOf('?')) { path = path.replace('?', '&'); } path = path.replace(/^\//, ''); // API root may already include query parameter prefix if site is // configured to use plain permalinks. if ('string' === typeof apiRoot && -1 !== apiRoot.indexOf('?')) { path = path.replace('?', '&'); } url = apiRoot + path; } return next({ ...optionsWithPath, url }); }); }; var _default = exports.default = createRootURLMiddleware; //# sourceMappingURL=root-url.js.map