From 39c38c737114dc7f946b1895b2a4ba27a5546c60 Mon Sep 17 00:00:00 2001 From: HampusM Date: Tue, 6 Jul 2021 13:07:07 +0200 Subject: Migrated frontend to typescript --- packages/client/src/util/fetch.js | 35 ----------------------- packages/client/src/util/fetch.ts | 37 ++++++++++++++++++++++++ packages/client/src/util/hljs-languages.js | 45 ------------------------------ packages/client/src/util/hljs-languages.ts | 45 ++++++++++++++++++++++++++++++ packages/client/src/util/util.ts | 7 +++++ 5 files changed, 89 insertions(+), 80 deletions(-) delete mode 100644 packages/client/src/util/fetch.js create mode 100644 packages/client/src/util/fetch.ts delete mode 100644 packages/client/src/util/hljs-languages.js create mode 100644 packages/client/src/util/hljs-languages.ts create mode 100644 packages/client/src/util/util.ts (limited to 'packages/client/src/util') diff --git a/packages/client/src/util/fetch.js b/packages/client/src/util/fetch.js deleted file mode 100644 index a6a43b0..0000000 --- a/packages/client/src/util/fetch.js +++ /dev/null @@ -1,35 +0,0 @@ -export default async function(endpoint, fetch_failed, is_loading, data_name) { - const fetch_timeout = setTimeout(() => { - if(!fetch_failed.value) { - fetch_failed.value = `Failed to fetch ${data_name} data.`; - is_loading.value = false; - } - }, 5000); - - const data_req = await fetch(`${window.location.protocol}//${window.location.host}/api/v1/${endpoint}`).catch(() => { - if(!fetch_failed.value) { - fetch_failed.value = `Failed to fetch ${data_name} data.`; - is_loading.value = false; - clearTimeout(fetch_timeout); - } - return null; - }); - - if(data_req !== null) { - const data = await data_req.json().catch(() => { - fetch_failed.value = "Failed to parse server response."; - }); - - if(data_req.ok) { - clearTimeout(fetch_timeout); - is_loading.value = false; - return data.data; - } else { - fetch_failed.value = `Failed to fetch ${data_name} data.`; - } - } - - clearTimeout(fetch_timeout); - is_loading.value = false; - return null; -}; diff --git a/packages/client/src/util/fetch.ts b/packages/client/src/util/fetch.ts new file mode 100644 index 0000000..54f5afd --- /dev/null +++ b/packages/client/src/util/fetch.ts @@ -0,0 +1,37 @@ +import { Ref } from "vue"; + +export default async function(endpoint: string, fetch_failed: Ref, is_loading: Ref, data_name: string) { + const fetch_timeout = setTimeout(() => { + if(!fetch_failed.value) { + fetch_failed.value = `Failed to fetch ${data_name} data.`; + is_loading.value = false; + } + }, 5000); + + const data_req = await fetch(`${window.location.protocol}//${window.location.host}/api/v1/${endpoint}`).catch(() => { + if(!fetch_failed.value) { + fetch_failed.value = `Failed to fetch ${data_name} data.`; + is_loading.value = false; + clearTimeout(fetch_timeout); + } + return null; + }); + + if(data_req !== null) { + const data = await data_req.json().catch(() => { + fetch_failed.value = "Failed to parse server response."; + }); + + if(data_req.ok) { + clearTimeout(fetch_timeout); + is_loading.value = false; + return data.data; + } else { + fetch_failed.value = `Failed to fetch ${data_name} data.`; + } + } + + clearTimeout(fetch_timeout); + is_loading.value = false; + return null; +}; diff --git a/packages/client/src/util/hljs-languages.js b/packages/client/src/util/hljs-languages.js deleted file mode 100644 index 2f50461..0000000 --- a/packages/client/src/util/hljs-languages.js +++ /dev/null @@ -1,45 +0,0 @@ -const languages = [ - { name: "arduino", extensions: [ ".ino" ] }, - { name: "actionscript", extensions: [ ".as" ] }, - { name: "bash", extensions: [ ".sh", ".zsh" ] }, - { name: "csharp", extensions: [ ".cs" ] }, - { name: "c", extensions: [ ".c", ".h" ] }, - { name: "cpp", extensions: [ ".cpp", ".hpp" ] }, - { name: "cmake", extensions: [ "cmake.in" ] }, - { name: "css", extensions: [ ".css" ] }, - { name: "d", extensions: [ ".d" ] }, - { name: "dos", extensions: [ ".bat", ".cmd" ] }, - { name: "dockerfile", extensions: [ "dockerfile", "Dockerfile" ] }, - { name: "go", extensions: [ ".go" ] }, - { name: "gradle", extensions: [ ".gradle" ] }, - { name: "xml", extensions: [ ".xml", ".html", ".xhtml", ".rss", ".atom", ".xjb", ".xsd", ".xsl", ".plist", ".svg" ] }, - { name: "haskell", extensions: [ ".hs" ] }, - { name: "ini", extensions: [ ".ini", ".toml" ] }, - { name: "json", extensions: [ ".json" ] }, - { name: "java", extensions: [ ".java", ".jsp" ] }, - { name: "javascript", extensions: [ ".js", ".jsx" ] }, - { name: "kotlin", extensions: [ ".kt" ] }, - { name: "lua", extensions: [ ".lua" ] }, - { name: "makefile", extensions: [ "makefile", "Makefile" ] }, - { name: "markdown", extensions: [ ".md" ] }, - { name: "objectivec", extensions: [ ".m", ".mm", ".M" ] }, - { name: "php", extensions: [ ".php" ] }, - { name: "perl", extensions: [ ".pl", ".pm" ] }, - { name: "plaintext", extensions: [ ".txt" ] }, - { name: "pgsql", extensions: [ ".pgsql" ] }, - { name: "powershell", extensions: [ ".ps", ".ps1" ] }, - { name: "python", extensions: [ ".py" ] }, - { name: "ruby", extensions: [ ".rb" ] }, - { name: "rust", extensions: [ ".rs" ] }, - { name: "scss", extensions: [ ".scss" ] }, - { name: "sql", extensions: [ ".sql" ] }, - { name: "swift", extensions: [ ".swift" ] }, - { name: "typescript", extensions: [ ".ts" ] }, - { name: "vbnet", extensions: [ ".vb" ] }, - { name: "vba", extensions: [ ".vba" ] }, - { name: "vbscript", extensions: [ ".vbs" ] }, - { name: "vim", extensions: [ ".vim" ] }, - { name: "yml", extensions: [ ".yml" ] } -]; - -export default languages; diff --git a/packages/client/src/util/hljs-languages.ts b/packages/client/src/util/hljs-languages.ts new file mode 100644 index 0000000..2f50461 --- /dev/null +++ b/packages/client/src/util/hljs-languages.ts @@ -0,0 +1,45 @@ +const languages = [ + { name: "arduino", extensions: [ ".ino" ] }, + { name: "actionscript", extensions: [ ".as" ] }, + { name: "bash", extensions: [ ".sh", ".zsh" ] }, + { name: "csharp", extensions: [ ".cs" ] }, + { name: "c", extensions: [ ".c", ".h" ] }, + { name: "cpp", extensions: [ ".cpp", ".hpp" ] }, + { name: "cmake", extensions: [ "cmake.in" ] }, + { name: "css", extensions: [ ".css" ] }, + { name: "d", extensions: [ ".d" ] }, + { name: "dos", extensions: [ ".bat", ".cmd" ] }, + { name: "dockerfile", extensions: [ "dockerfile", "Dockerfile" ] }, + { name: "go", extensions: [ ".go" ] }, + { name: "gradle", extensions: [ ".gradle" ] }, + { name: "xml", extensions: [ ".xml", ".html", ".xhtml", ".rss", ".atom", ".xjb", ".xsd", ".xsl", ".plist", ".svg" ] }, + { name: "haskell", extensions: [ ".hs" ] }, + { name: "ini", extensions: [ ".ini", ".toml" ] }, + { name: "json", extensions: [ ".json" ] }, + { name: "java", extensions: [ ".java", ".jsp" ] }, + { name: "javascript", extensions: [ ".js", ".jsx" ] }, + { name: "kotlin", extensions: [ ".kt" ] }, + { name: "lua", extensions: [ ".lua" ] }, + { name: "makefile", extensions: [ "makefile", "Makefile" ] }, + { name: "markdown", extensions: [ ".md" ] }, + { name: "objectivec", extensions: [ ".m", ".mm", ".M" ] }, + { name: "php", extensions: [ ".php" ] }, + { name: "perl", extensions: [ ".pl", ".pm" ] }, + { name: "plaintext", extensions: [ ".txt" ] }, + { name: "pgsql", extensions: [ ".pgsql" ] }, + { name: "powershell", extensions: [ ".ps", ".ps1" ] }, + { name: "python", extensions: [ ".py" ] }, + { name: "ruby", extensions: [ ".rb" ] }, + { name: "rust", extensions: [ ".rs" ] }, + { name: "scss", extensions: [ ".scss" ] }, + { name: "sql", extensions: [ ".sql" ] }, + { name: "swift", extensions: [ ".swift" ] }, + { name: "typescript", extensions: [ ".ts" ] }, + { name: "vbnet", extensions: [ ".vb" ] }, + { name: "vba", extensions: [ ".vba" ] }, + { name: "vbscript", extensions: [ ".vbs" ] }, + { name: "vim", extensions: [ ".vim" ] }, + { name: "yml", extensions: [ ".yml" ] } +]; + +export default languages; diff --git a/packages/client/src/util/util.ts b/packages/client/src/util/util.ts new file mode 100644 index 0000000..5f72c27 --- /dev/null +++ b/packages/client/src/util/util.ts @@ -0,0 +1,7 @@ +type Params = { + [key: string]: string | string[] +} + +export function getParam(params: Params, param: string): string { + return params[param].toString(); +} -- cgit v1.2.3-18-g5258