Code Explainers

Code explainers tagged #pagination

javascript
const express = require('express');
 
const v1 = express.Router();
 

Versioning an API with Express Routers

api versioning routing modularity
Intermediate 10 steps
python
import csv
import io
from datetime import datetime
 

Streaming a CSV export in Flask

streaming generators csv
Intermediate 9 steps
ruby
class ProductsController < ApplicationController
  def index
    @products = Product
      .includes(:category, :brand)

Building a safe filterable product index in Rails

query objects scopes strong parameters
Intermediate 8 steps
javascript
async function fetchAllPages(baseUrl, { pageSize = 100, headers = {} } = {}) {
  const results = [];
  let cursor = null;
 

Cursor-based pagination with fetch

pagination async-await fetch
Intermediate 6 steps
javascript
import { useCallback, useEffect, useRef, useState } from 'react';
 
export function useInfiniteScroll(fetchPage) {
  const [items, setItems] = useState([]);

Building an infinite scroll hook in React

custom-hooks intersection-observer pagination
Advanced 6 steps
php
class PostController extends Controller
{
    public function index(Request $request)
    {

Eager loading without N+1 in Laravel

eager-loading n+1 query-builder
Intermediate 9 steps
php
class PostController extends Controller
{
    public function index(Request $request): AnonymousResourceCollection
    {

Filtered, paginated JSON APIs in Laravel

eloquent query-builder api-resources
Intermediate 8 steps
java
@RestController
@RequestMapping("/api/products")
public class ProductController {
 

How a paginated REST controller works in Spring

pagination dto-mapping dependency-injection
Intermediate 8 steps
php
<?php
 
final class ProductRepository
{

Safe SQL pagination with PDO in PHP

pagination input-validation prepared-statements
Intermediate 7 steps
python
from flask import Blueprint, render_template, request, abort
from sqlalchemy import select
 
from .models import Article

Paginating articles in a Flask Blueprint

pagination blueprints input-validation
Intermediate 6 steps
javascript
import { notFound } from 'next/navigation';
 
const PER_PAGE = 24;
const SORT_OPTIONS = ['relevance', 'price-asc', 'price-desc', 'newest'];

Parsing search params in a Next.js page

input-validation query-params pagination
Intermediate 10 steps
python
from fastapi import APIRouter, Depends, Query
from pydantic import BaseModel
from sqlalchemy import func, select
from sqlalchemy.ext.asyncio import AsyncSession

How a paginated list endpoint works in FastAPI

pagination dependency-injection async-orm
Intermediate 8 steps
javascript
async function* fetchPages(baseUrl, maxPages) {
  let page = 1;
  while (page <= maxPages) {
    const data = await mockFetch(`${baseUrl}?page=${page}`);

Paginated APIs with async generators

async-iterators generators pagination
Advanced 7 steps