mapcomplete/Logic/ImageProviders/GenericImageProvider.ts

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

42 lines
1 KiB
TypeScript
Raw Normal View History

import ImageProvider, { ProvidedImage } from "./ImageProvider"
export default class GenericImageProvider extends ImageProvider {
public defaultKeyPrefixes: string[] = ["image"]
private readonly _valuePrefixBlacklist: string[]
public constructor(valuePrefixBlacklist: string[]) {
super()
this._valuePrefixBlacklist = valuePrefixBlacklist
}
async ExtractUrls(key: string, value: string): Promise<Promise<ProvidedImage>[]> {
if (this._valuePrefixBlacklist.some((prefix) => value.startsWith(prefix))) {
return []
}
2021-11-07 16:34:51 +01:00
try {
new URL(value)
2021-11-07 16:34:51 +01:00
} catch (_) {
// Not a valid URL
return []
}
2021-11-07 16:34:51 +01:00
return [
Promise.resolve({
key: key,
url: value,
provider: this,
}),
]
}
SourceIcon(backlinkSource?: string) {
return undefined
}
2022-06-13 01:00:09 +02:00
public DownloadAttribution(url: string) {
2021-11-07 16:34:51 +01:00
return undefined
}
}