aboutsummaryrefslogtreecommitdiff
path: root/webAO/utils/findImgSrc.ts
diff options
context:
space:
mode:
authorDavid Skoland <davidskoland@gmail.com>2023-11-29 23:45:28 +0100
committerDavid Skoland <davidskoland@gmail.com>2023-11-29 23:45:28 +0100
commit0688c1852eaf8024ea041149303df63050ffe186 (patch)
tree9fa46713632dd4279b270a0db7e5424a436d942b /webAO/utils/findImgSrc.ts
parent26feae73cc8b30f4a9b1189bc87d41d8e1ee2a7d (diff)
Add findImgSrc
Diffstat (limited to 'webAO/utils/findImgSrc.ts')
-rw-r--r--webAO/utils/findImgSrc.ts19
1 files changed, 19 insertions, 0 deletions
diff --git a/webAO/utils/findImgSrc.ts b/webAO/utils/findImgSrc.ts
new file mode 100644
index 0000000..b4db849
--- /dev/null
+++ b/webAO/utils/findImgSrc.ts
@@ -0,0 +1,19 @@
+import filesExist from "./filesExist";
+import transparentPng from '../constants/transparentPng'
+
+/**
+ * This function takes a list of urls and returns the first one that exists.
+ * If none is found, return a transparent png.
+ * The function will always return a value that is appriopriate for an img src.
+ * @param urls The list of urls to try
+ * @returns The image source of the first url that exists, or a transparent png if none exist
+ */
+export default async function findImgSrc(urls: string[]): Promise<string> {
+ return filesExist(urls).then((url) => {
+ if (url !== null) {
+ return url;
+ }
+ // If none of the images exist, return a transparent png
+ return transparentPng;
+ });
+}