#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 ->
[]
Итак:
- Какова цель
tipe
? - Имеет ли значение, какое у него значение?
Комментарии:
1. Я предполагаю, что это обозначение, помогающее отлаживать ошибки синтаксического анализатора. Поскольку он не используется, это вряд ли имеет значение. Возможно, это просто для того, чтобы в будущем предоставлять более качественные сообщения об ошибках без нарушения работы API.
Ответ №1:
Эван рассмотрел это в следующей проблеме GitHub: https://github.com/elm/url/issues/6
tl; dr: Это ничего не делает, но предназначено для использования в будущем.