@collectionspace/cspace-public-browser
Version:
CollectionSpace public browser
43 lines (42 loc) • 1.7 kB
JavaScript
;
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;