UNPKG

@collectionspace/cspace-public-browser

Version:
43 lines (42 loc) 1.7 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.searchParamsToQueryString = exports.locationToSearchParams = exports.locationToDetailParams = exports.blobUrl = void 0; var _qs = _interopRequireDefault(require("qs")); var _immutable = _interopRequireDefault(require("immutable")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } const blobUrl = (gatewayUrl, mediaCsid, derivative) => `${gatewayUrl}/cspace-services/media/${mediaCsid}/blob/derivatives/${derivative}/content`; exports.blobUrl = blobUrl; const searchParamsToQueryString = params => _qs.default.stringify(params.map(value => value && JSON.stringify(value)).filter(value => !!value).toJS(), { format: 'RFC1738' }); exports.searchParamsToQueryString = searchParamsToQueryString; const locationToSearchParams = location => _immutable.default.Map(_qs.default.parse(location.search, { ignoreQueryPrefix: true })).filter(value => !!value).map(value => _immutable.default.fromJS(JSON.parse(value))); exports.locationToSearchParams = locationToSearchParams; const locationToDetailParams = (location, match) => { let params = _immutable.default.fromJS(match.params); const { hash, state } = location; if (hash) { params = params.set('#', hash.substring(1)); } if (state) { const { index, searchParams } = state; if (typeof index !== 'undefined') { params = params.set('index', index); } if (typeof searchParams !== 'undefined') { params = params.set('searchParams', _immutable.default.fromJS(searchParams)); } } return params; }; exports.locationToDetailParams = locationToDetailParams;