class NSWTopo::ArcGIS::Layer

def codes

def codes
  pairs = lambda do |hash|
    hash.keys.zip(hash.values.map(&:sort).map(&:zip)).to_h
  end
  @coded_values.then(&pairs).tap do |result|
    next unless @type_field
    codes, lookups = @subtype_values.sort.transpose
    result[@type_field] = @type_values.slice(*codes).zip lookups.map(&pairs)
  end
end