14 lines
552 B
TypeScript
14 lines
552 B
TypeScript
const IMAGE_ID_SELECTOR = 'img[data-image-id]'
|
|
const IMAGE_ID_ATTRIBUTE = 'data-image-id'
|
|
|
|
export function bodyImageCount(html: string): number {
|
|
return new DOMParser().parseFromString(html, 'text/html').querySelectorAll('img').length
|
|
}
|
|
|
|
export function bodyImageIds(html: string): number[] {
|
|
const document = new DOMParser().parseFromString(html, 'text/html')
|
|
return Array.from(document.querySelectorAll(IMAGE_ID_SELECTOR))
|
|
.map((image) => Number.parseInt(image.getAttribute(IMAGE_ID_ATTRIBUTE) ?? '', 10))
|
|
.filter((id) => !Number.isNaN(id))
|
|
}
|