Files
remark42/frontend/app/utils/parseQuery.ts
T
Pavel MineevandGitHub 85c71716f9 Small refactoring (#609)
* Move visibility param from redux store to local state

* use func for parsing location.search

* Remove bad wrapper

* we already have wrapper with NODE_ID on page and we shouldn't another one with the same id on page
* move common part of markup to level up

* Tinny refac of setSorting

* add dummy types for pollyfils

also, a bit rewrited way to resolve imports

* Move sort flag to local store

Because we don't need to share this param between diffrent parts of interface

* Add action creators

* move action to action creators

* Remove unused functions

* Merge in conditions in one

* One way for export API methods

* add default tags

* Rewrited changing read only mode

* removed unused function

* set sort changes

* always send sort from store
* rollback if sort don't  work

* constanst

* add typing
* shorten export
* remove double define of host
2020-03-07 12:25:18 -06:00

17 lines
428 B
TypeScript

/** converts widnow.location.search into object */
export default function parseQuery(search: string = window.location.search) {
if (search.length < 2) return {};
return search
.substr(1)
.split('&')
.reduce((accum, param) => {
const [key, value] = param.split('=');
return {
...accum,
[key]: value ? decodeURIComponent(value) : '',
};
}, {} as Record<string, string>);
}