LaravelPaginatedResourceType

a reusable type that represents the paginated resource type from Laravel

export type LaravelPaginatedResource<T> = {
  current_page: number;
  data: T[];
  first_page_url: string;
  from: number | null;
  last_page: number;
  last_page_url: string;
  links: {
    url: string | null;
    label: string;
    active: boolean;
  }[];
  next_page_url: string | null;
  path: string;
  per_page: number;
  prev_page_url: string | null;
  to: number | null;
  total: number;
};

Installation

pnpm dlx shadcn@latest add https://mhl5.vercel.app/r/LaravelPaginatedResourceType.json

Usage

import { LaravelPaginatedResourceType } from "@/types/LaravelPaginatedResourceType";

type Users = LaravelPaginatedResourceType<{
  id: number;
  name: string;
  email: string;
  created_at: string;
  updated_at: string;
}>;