Первый аргумент для Url.Parser.custom в Elm

#elm #url-parsing

#elm #url-синтаксический анализ

Вопрос:

В документах для Url.Parser.custom приведен пример:

 int : Parser (Int -> a) a
int =
  custom "NUMBER" String.toInt
  

Но не указывайте, для чего "NUMBER" используется.


Я проверил источник, и, похоже, он записывается как tipe , но никогда не использовался:

 custom : String -> (String -> Maybe a) -> Parser (a -> b) b
custom tipe stringToSomething =
  Parser <| { visited, unvisited, params, frag, value } ->
    case unvisited of
      [] ->
        []

      next :: rest ->
        case stringToSomething next of
          Just nextValue ->
            [ State (next :: visited) rest params frag (value nextValue) ]

          Nothing ->
            []
  

Итак:

  1. Какова цель tipe ?
  2. Имеет ли значение, какое у него значение?

Комментарии:

1. Я предполагаю, что это обозначение, помогающее отлаживать ошибки синтаксического анализатора. Поскольку он не используется, это вряд ли имеет значение. Возможно, это просто для того, чтобы в будущем предоставлять более качественные сообщения об ошибках без нарушения работы API.

Ответ №1:

Эван рассмотрел это в следующей проблеме GitHub: https://github.com/elm/url/issues/6

tl; dr: Это ничего не делает, но предназначено для использования в будущем.