From 466ecf191af65c453bb3e38d867e57fc211dc5c5 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Mon, 13 Apr 2020 21:23:40 +0100 Subject: [PATCH] move urlSearchParamsToObject and global.d.ts to react-sdk Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- package.json | 1 + src/@types/global.d.ts | 31 ++++++++++++++++++++++++++ src/utils/{UrlUtils.js => UrlUtils.ts} | 6 ++++- yarn.lock | 5 +++++ 4 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 src/@types/global.d.ts rename src/utils/{UrlUtils.js => UrlUtils.ts} (89%) diff --git a/package.json b/package.json index 616f3f541e..11803d321d 100644 --- a/package.json +++ b/package.json @@ -118,6 +118,7 @@ "@babel/register": "^7.7.4", "@peculiar/webcrypto": "^1.0.22", "@types/classnames": "^2.2.10", + "@types/modernizr": "^3.5.3", "@types/react": "16.9", "babel-eslint": "^10.0.3", "babel-jest": "^24.9.0", diff --git a/src/@types/global.d.ts b/src/@types/global.d.ts new file mode 100644 index 0000000000..963ba9d702 --- /dev/null +++ b/src/@types/global.d.ts @@ -0,0 +1,31 @@ +/* +Copyright 2020 New Vector Ltd + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +import * as ModernizrStatic from "modernizr"; + +declare global { + interface Window { + Modernizr: ModernizrStatic; + Olm: { + init: () => Promise; + }; + } + + // workaround for https://github.com/microsoft/TypeScript/issues/30933 + interface ObjectConstructor { + fromEntries?(xs: [string|number|symbol, any][]): object + } +} diff --git a/src/utils/UrlUtils.js b/src/utils/UrlUtils.ts similarity index 89% rename from src/utils/UrlUtils.js rename to src/utils/UrlUtils.ts index 7b207c128e..7fe5ad0c89 100644 --- a/src/utils/UrlUtils.js +++ b/src/utils/UrlUtils.ts @@ -14,7 +14,11 @@ See the License for the specific language governing permissions and limitations under the License. */ -import url from "url"; +import * as url from "url"; + +export function urlSearchParamsToObject(params: URLSearchParams) { + return Object.fromEntries([...params.entries()]); +} /** * If a url has no path component, etc. abbreviate it to just the hostname diff --git a/yarn.lock b/yarn.lock index 538a049bff..9c57ccf649 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1257,6 +1257,11 @@ resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== +"@types/modernizr@^3.5.3": + version "3.5.3" + resolved "https://registry.yarnpkg.com/@types/modernizr/-/modernizr-3.5.3.tgz#8ef99e6252191c1d88647809109dc29884ba6d7a" + integrity sha512-jhMOZSS0UGYTS9pqvt6q3wtT3uvOSve5piTEmTMx3zzTuBLvSIMxSIBIc3d5lajVD5h4xc41AMZD2M5orN3PxA== + "@types/node@*": version "13.11.0" resolved "https://registry.yarnpkg.com/@types/node/-/node-13.11.0.tgz#390ea202539c61c8fa6ba4428b57e05bc36dc47b"