import { CalculationPagesResult } from '../types'
import { normalizePageSize } from './normalize'

const calculationPages = (
  allItems: number,
  pageSize: number
): CalculationPagesResult => {
  const safePageSize = normalizePageSize(pageSize)

  if (allItems <= 0) {
    return { allPages: 0, maxPages: 0 }
  }

  const allPages = Math.ceil(allItems / safePageSize)

  // mantido por compatibilidade com consumidores da util exportada
  // kept for backward compatibility with exported util consumers
  const maxPages = Math.round(allItems / safePageSize)

  return { allPages, maxPages }
}

export default calculationPages
