module Pagy::Frontend

def pagy_anchor(pagy)

Benchmarked on a 20 link nav: it is ~22x faster and uses ~18x less memory than rails' link_to
Return a performance optimized lambda to generate the HtML anchor element (a tag)
def pagy_anchor(pagy)
  a_string    = pagy.vars[:anchor_string]
  a_string    = %( #{a_string}) if a_string
  left, right = %(<a#{a_string} href="#{pagy_url_for(pagy, PAGE_TOKEN)}").split(PAGE_TOKEN, 2)
  # lambda used by all the helpers
  lambda do |page, text = pagy.label_for(page), classes: nil, aria_label: nil|
    classes    = %( class="#{classes}") if classes
    aria_label = %( aria-label="#{aria_label}") if aria_label
    %(#{left}#{page}#{right}#{classes}#{aria_label}>#{text}</a>)
  end
end