module Pagy::MeilisearchExtra::Backend

def pagy_meilisearch(pagy_search_args, vars = {})

Return Pagy object and results
def pagy_meilisearch(pagy_search_args, vars = {})
  model, term, options = pagy_search_args
  vars                 = pagy_meilisearch_get_vars(nil, vars)
  options[:limit]      = vars[:items]
  options[:offset]     = (vars[:page] - 1) * vars[:items]
  results              = model.search(term, **options)
  vars[:count]         = results.raw_answer['nbHits']
  pagy                 = ::Pagy.new(vars)
  # with :last_page overflow we need to re-run the method in order to get the hits
  return pagy_meilisearch(pagy_search_args, vars.merge(page: pagy.page)) \
         if defined?(::Pagy::OverflowExtra) && pagy.overflow? && pagy.vars[:overflow] == :last_page
  [pagy, results]
end