1
0
mirror of https://git.sr.ht/~cadence/bibliogram synced 2026-02-07 10:46:27 +00:00

Write full types and fix related bugs

Also fixes #4.
This commit is contained in:
Cadence Fish
2020-01-27 03:56:59 +13:00
parent 482bdff3a4
commit 5303ae1d4b
16 changed files with 757 additions and 299 deletions

View File

@@ -1,41 +1,16 @@
const config = require("../../../config")
const {proxyImage} = require("../utils/proxyurl")
const collectors = require("../collectors")
const TimelineBaseMethods = require("./TimelineBaseMethods")
require("../testimports")(collectors)
class TimelineChild {
class TimelineChild extends TimelineBaseMethods {
/**
* @param {import("../types").GraphChild} data
* @param {import("../types").GraphChildAll} data
*/
constructor(data) {
super()
this.data = data
this.proxyDisplayURL = proxyImage(this.data.display_url)
}
/**
* @param {number} size
*/
getSuggestedResource(size) {
let found = null
for (const tr of this.data.display_resources) {
found = tr
if (tr.config_width >= size) break
}
found = proxyImage(found, size)
return found
}
getSrcset() {
return this.data.display_resources.map(tr => {
const p = new URLSearchParams()
p.set("width", String(tr.config_width))
p.set("url", tr.src)
return `/imageproxy?${p.toString()} ${tr.config_width}w`
}).join(", ")
}
getAlt() {
return this.data.accessibility_caption || "No image description available."
}
}