resolve-url.js 957 B

123456789101112131415161718192021222324252627282930313233343536
  1. /**
  2. * @file resolve-url.js
  3. */
  4. 'use strict';
  5. Object.defineProperty(exports, '__esModule', {
  6. value: true
  7. });
  8. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
  9. var _urlToolkit = require('url-toolkit');
  10. var _urlToolkit2 = _interopRequireDefault(_urlToolkit);
  11. var _globalWindow = require('global/window');
  12. var _globalWindow2 = _interopRequireDefault(_globalWindow);
  13. var resolveUrl = function resolveUrl(baseURL, relativeURL) {
  14. // return early if we don't need to resolve
  15. if (/^[a-z]+:/i.test(relativeURL)) {
  16. return relativeURL;
  17. }
  18. // if the base URL is relative then combine with the current location
  19. if (!/\/\//i.test(baseURL)) {
  20. baseURL = _urlToolkit2['default'].buildAbsoluteURL(_globalWindow2['default'].location.href, baseURL);
  21. }
  22. return _urlToolkit2['default'].buildAbsoluteURL(baseURL, relativeURL);
  23. };
  24. exports['default'] = resolveUrl;
  25. module.exports = exports['default'];