import { createLoop, type LoopOptions } from '@/frontend/lib/loop';

/**
 * Posts runtime (T180): the shared loop runtime (src/frontend/lib/loop.ts) — AJAX numbered / prev-next pages, load
 * more, infinite scroll and the Taxonomy filter — against GET zadex/v1/loop/{doc}/{id} (`posts` is a paginated loop type).
 */
export default function init(root: HTMLElement, options: LoopOptions = {}): () => void {
  const loop = createLoop(root, options);
  return () => loop?.destroy();
}
