import { reactive } from 'vue' export function usePagination() { const paginationRaw = { pageNum: 1, pageSize: 20, hasNextPage: false, nextPage: 0, } const pagination = reactive({ ...paginationRaw }) // update pagination function updatePagination(res) { if (!res) { resetPagination() return } const { nextPage, hasNextPage, pageNum, pageSize } = res pagination.pageNum = pageNum || 1 pagination.nextPage = nextPage pagination.hasNextPage = hasNextPage || false pagination.pageSize = pageSize || 20 } // reset pagination function resetPagination() { pagination.pageNum = 1 pagination.pageSize = 20 pagination.hasNextPage = false pagination.nextPage = 0 } return { pagination, updatePagination, resetPagination } }