All files / src/lib rehype-lazy-images.mjs

0% Statements 0/0
0% Branches 0/0
0% Functions 0/0
0% Lines 0/0

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16                               
import { visit } from 'unist-util-visit';
 
export default function rehypeLazyImages() {
  return (tree) => {
    visit(tree, 'element', (node) => {
      if (node.tagName === 'img') {
        node.properties = {
          ...node.properties,
          ...(!node.properties?.loading && { loading: 'lazy' }),
          ...(!node.properties?.decoding && { decoding: 'async' }),
        };
      }
    });
  };
}