🌳
[Elm] sporto/qsが便利だよ
Elmには型が読めないことでおなじみのelm/urlのParserがあり、Queryもパースすることができる
が、ちょっと思った挙動と違うなあってことが多く、ルーティングとは別に付加情報をQueryからとってくるときはこのsporto/qsが便利
使いかた
QS.parse
QS.config
"?a=1&b=x"
== Dict.fromList [ ( "a", One "1" ), ( "b", One "x" ) ]
単純にDictにしてくれる。Dictとして操作することもできるが、getやhasなどのヘルパーがあるので基本的には用意してくれているものを使って取り出したり設定したりしよう
QS.serialize Qs.config <|
Dict.fromList [ ( "a", QueryString "1" ), ( "b", QueryString "2" ) ]
== "?a=1&b=2"
逆操作もあるよ
嬉しさ
elm/urlのQuery Parserだとルーティング的な扱いになるのでルーティング関係ない情報がクエリに載ってるときに取ってこようとするのに適さない
QSはルーティングのあとにクエリから取ってきたいときに使えます
Discussion