| 123456789101112131415161718192021222324252627282930313233343536 |
- /**
- * This file is part of Threema Web.
- *
- * Threema Web is free software: you can redistribute it and/or modify it
- * under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or (at
- * your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
- * General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with Threema Web. If not, see <http://www.gnu.org/licenses/>.
- */
- export class UriService {
- /**
- * Parse query parameters into an object.
- *
- * Based on http://stackoverflow.com/a/8649003/284318
- */
- public parseQueryParams(query: string) {
- if (!(typeof query === 'string' || query instanceof String)) {
- return null;
- }
- if (query.length === 0) {
- return {};
- }
- const objStr = '{"' + decodeURI(query).replace(/"/g, '\\"').replace(/&/g, '","').replace(/=/g, '":"') + '"}';
- return JSON.parse(objStr);
- }
- }
|