Refactoring: remove no longer used code and tests, fix some linting errors
This commit is contained in:
parent
6b381e05c6
commit
1bc45c1c0c
2 changed files with 15 additions and 111 deletions
67
src/Utils.ts
67
src/Utils.ts
|
@ -896,26 +896,6 @@ In the case that MapComplete is pointed to the testing grounds, the edit will be
|
|||
return dict.get(k)
|
||||
}
|
||||
|
||||
/**
|
||||
* Tries to minify the given JSON by applying some compression
|
||||
*/
|
||||
public static MinifyJSON(stringified: string): string {
|
||||
stringified = stringified.replace(/\|/g, "||")
|
||||
|
||||
const keys = Utils.knownKeys.concat(Utils.extraKeys)
|
||||
for (let i = 0; i < keys.length; i++) {
|
||||
const knownKey = keys[i]
|
||||
let code = i
|
||||
if (i >= 124) {
|
||||
code += 1 // Character 127 is our 'escape' character |
|
||||
}
|
||||
const replacement = "|" + String.fromCharCode(code)
|
||||
stringified = stringified.replace(new RegExp(`\"${knownKey}\":`, "g"), replacement)
|
||||
}
|
||||
|
||||
return stringified
|
||||
}
|
||||
|
||||
public static UnMinify(minified: string): string {
|
||||
if (minified === undefined || minified === null) {
|
||||
return undefined
|
||||
|
@ -942,7 +922,7 @@ In the case that MapComplete is pointed to the testing grounds, the edit will be
|
|||
Utils.injectedDownloads[url] = data
|
||||
}
|
||||
|
||||
public static async download(url: string, headers?: any): Promise<string | undefined> {
|
||||
public static async download(url: string, headers?: Record<string, string>): Promise<string | undefined> {
|
||||
const result = await Utils.downloadAdvanced(url, headers)
|
||||
if (result["error"] !== undefined) {
|
||||
throw result["error"]
|
||||
|
@ -955,7 +935,7 @@ In the case that MapComplete is pointed to the testing grounds, the edit will be
|
|||
*/
|
||||
public static downloadAdvanced(
|
||||
url: string,
|
||||
headers?: any,
|
||||
headers?: Record<string, string>,
|
||||
method: "POST" | "GET" | "PUT" | "UPDATE" | "DELETE" | "OPTIONS" = "GET",
|
||||
content?: string
|
||||
): Promise<
|
||||
|
@ -995,7 +975,7 @@ In the case that MapComplete is pointed to the testing grounds, the edit will be
|
|||
})
|
||||
}
|
||||
|
||||
public static upload(url: string, data, headers?: any): Promise<string> {
|
||||
public static upload(url: string, data: string | Blob, headers?: Record<string, string>): Promise<string> {
|
||||
return new Promise((resolve, reject) => {
|
||||
const xhr = new XMLHttpRequest()
|
||||
xhr.onload = () => {
|
||||
|
@ -1022,9 +1002,9 @@ In the case that MapComplete is pointed to the testing grounds, the edit will be
|
|||
public static async downloadJsonCached(
|
||||
url: string,
|
||||
maxCacheTimeMs: number,
|
||||
headers?: any
|
||||
): Promise<any> {
|
||||
const result = await Utils.downloadJsonAdvanced(url, headers)
|
||||
headers?: Record<string, string>
|
||||
): Promise<object> {
|
||||
const result = await Utils.downloadJsonCachedAdvanced(url, maxCacheTimeMs, headers)
|
||||
if (result["content"]) {
|
||||
return result["content"]
|
||||
}
|
||||
|
@ -1034,8 +1014,8 @@ In the case that MapComplete is pointed to the testing grounds, the edit will be
|
|||
public static async downloadJsonCachedAdvanced(
|
||||
url: string,
|
||||
maxCacheTimeMs: number,
|
||||
headers?: any
|
||||
): Promise<{ content: any } | { error: string; url: string; statuscode?: number }> {
|
||||
headers?: Record<string, string>
|
||||
): Promise<{ content: object | [] } | { error: string; url: string; statuscode?: number }> {
|
||||
const cached = Utils._download_cache.get(url)
|
||||
if (cached !== undefined) {
|
||||
if (new Date().getTime() - cached.timestamp <= maxCacheTimeMs) {
|
||||
|
@ -1051,7 +1031,7 @@ In the case that MapComplete is pointed to the testing grounds, the edit will be
|
|||
return await promise
|
||||
}
|
||||
|
||||
public static async downloadJson(url: string, headers?: any): Promise<any> {
|
||||
public static async downloadJson(url: string, headers?: Record<string, string>): Promise<object | []> {
|
||||
const result = await Utils.downloadJsonAdvanced(url, headers)
|
||||
if (result["content"]) {
|
||||
return result["content"]
|
||||
|
@ -1069,12 +1049,12 @@ In the case that MapComplete is pointed to the testing grounds, the edit will be
|
|||
|
||||
public static async downloadJsonAdvanced(
|
||||
url: string,
|
||||
headers?: any
|
||||
): Promise<{ content: any } | { error: string; url: string; statuscode?: number }> {
|
||||
headers?: Record<string, string>
|
||||
): Promise<{ content: object | object[] } | { error: string; url: string; statuscode?: number }> {
|
||||
const injected = Utils.injectedDownloads[url]
|
||||
if (injected !== undefined) {
|
||||
console.log("Using injected resource for test for URL", url)
|
||||
return new Promise((resolve, _) => resolve({ content: injected }))
|
||||
return new Promise((resolve) => resolve({ content: injected }))
|
||||
}
|
||||
const result = await Utils.downloadAdvanced(
|
||||
url,
|
||||
|
@ -1086,6 +1066,9 @@ In the case that MapComplete is pointed to the testing grounds, the edit will be
|
|||
const data = result["content"]
|
||||
try {
|
||||
if (typeof data === "string") {
|
||||
if(data === ""){
|
||||
return {content: {}}
|
||||
}
|
||||
return { content: JSON.parse(data) }
|
||||
}
|
||||
return { content: data }
|
||||
|
@ -1134,26 +1117,6 @@ In the case that MapComplete is pointed to the testing grounds, the edit will be
|
|||
element.click()
|
||||
}
|
||||
|
||||
/**
|
||||
* Reorders an object: creates a new object where the keys have been added alphabetically
|
||||
*
|
||||
* const sorted = Utils.sortKeys({ x: 'x', abc: {'x': 'x', 'a': 'a'}, def: 'def'})
|
||||
* JSON.stringify(sorted) // => '{"abc":{"a":"a","x":"x"},"def":"def","x":"x"}'
|
||||
*/
|
||||
static sortKeys(o: any) {
|
||||
const copy = {}
|
||||
let keys = Object.keys(o)
|
||||
keys = keys.sort()
|
||||
for (const key of keys) {
|
||||
let v = o[key]
|
||||
if (typeof v === "object") {
|
||||
v = Utils.sortKeys(v)
|
||||
}
|
||||
copy[key] = v
|
||||
}
|
||||
return copy
|
||||
}
|
||||
|
||||
public static async waitFor(timeMillis: number): Promise<void> {
|
||||
return new Promise((resolve) => {
|
||||
window.setTimeout(resolve, timeMillis)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue