Code Explainers
Code explainers tagged #closures
php
namespace App\Providers; use Illuminate\Database\Query\Builder as QueryBuilder; use Illuminate\Database\Eloquent\Builder as EloquentBuilder;
Adding a whereActive macro in Laravel
macros
service-provider
query-builder
Intermediate
5 steps
go
package proxy import ( "log"
Building a hardened Go reverse proxy
reverse-proxy
http
timeouts
Intermediate
7 steps
typescript
type ResizeCallback = (size: { width: number; height: number }) => void; export function observeResize(callback: ResizeCallback, delay = 150) { let timeoutId: ReturnType<typeof setTimeout> | undefined;
Debouncing window resize in TypeScript
debounce
closures
event-listeners
Intermediate
6 steps
rust
use axum::{ extract::State, routing::{get, post, MethodRouter}, Json, Router,
Self-documenting routes in Axum
builder-pattern
closures
shared-state
Intermediate
8 steps
javascript
function curry(fn) { return function curried(...args) { if (args.length >= fn.length) { return fn.apply(this, args);
Building a curry function in JavaScript
currying
closures
higher-order-functions
Intermediate
7 steps
go
package handlers import ( "net/http"
Header-driven API versioning in Gin
api-versioning
header-binding
closures
Intermediate
6 steps
php
<?php namespace App\Providers;
Defining rate limiters in Laravel
rate limiting
service provider
closures
Intermediate
7 steps
go
package api import ( "encoding/json"
Building reusable JSON helpers in Go HTTP handlers
http
json
error-handling
Intermediate
9 steps
go
package middleware import ( "net/http"
Building a CORS middleware in Gin
cors
middleware
closures
Intermediate
9 steps
rust
use std::fs; use std::path::Path; use regex::Regex;
Redacting emails in a file with Rust
regex
file-io
closures
Intermediate
6 steps
go
package middleware import ( "net/http"
How a www-to-apex redirect middleware works in Gin
middleware
http-redirect
closures
Intermediate
5 steps
javascript
function memoize(fn, resolver) { const cache = new Map(); function memoized(...args) {
Building a memoize wrapper in JavaScript
memoization
closures
higher-order-functions
Intermediate
7 steps
python
from functools import wraps from django.core.cache import cache from django.http import JsonResponse
Building a rate-limit decorator in Django
decorators
rate limiting
caching
Intermediate
7 steps
rust
pub struct ScopeGuard<F: FnMut()> { rollback: F, active: bool, }
A RAII rollback guard in Rust
raii
error-handling
closures
Advanced
8 steps
javascript
function makeTableSorter(rows) { const state = { key: null, dir: 1 }; const compareBy = (key) => (a, b) => {
Building a stateful table sorter in JavaScript
closures
stable-sort
comparators
Intermediate
7 steps
javascript
function createAutocomplete(input, resultsList, { minChars = 2, delay = 300 } = {}) { let timer = null; let controller = null;
Building a debounced autocomplete widget
debouncing
abortcontroller
closures
Intermediate
9 steps
typescript
type Curried<A extends any[], R> = A extends [infer First, ...infer Rest] ? (arg: First) => Rest extends [] ? R : Curried<Rest, R> : R;
Type-safe currying in TypeScript
currying
conditional-types
recursion
Advanced
8 steps
php
<?php namespace App\Http;
Building an onion middleware pipeline in PHP
middleware
closures
array-reduce
Advanced
9 steps