Elm 中 Url.Parser.custom 的第一个参数

First argument for Url.Parser.custom in Elm

Url.Parser.custom 的文档举了一个例子:

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

但不要说明 "NUMBER" 的用途。


我检查了 the source,它似乎被捕获为 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. 它有什么价值重要吗?

Evan 在以下 GitHub 问题中解决了这个问题:https://github.com/elm/url/issues/6

tl;dr: It does nothing but is there for future use.