[{"name":"Text.Parse","comment":" The `parse` function accepts a query string and if successful produces a value of\ntype `Ok QueryTerm`. If it is unsuccessful, it returns `Err` \"ill-formed query\".\nFor example, the query string \"foo -bar | x y\" yields the QueryTerm\n\n    Disjunction\n        [ Conjunction [ Word \"foo\", NotWord \"bar\" ]\n        , Conjunction [ Word \"x\", Word \"y\" ]\n        ]\n\n@docs QueryTerm, parse\n\n","unions":[{"name":"QueryTerm","comment":" This is the type of the parser syntax tree.\n","args":[],"cases":[["Word",["String.String"]],["NotWord",["String.String"]],["Conjunction",["List.List Text.Parse.QueryTerm"]],["Disjunction",["List.List Text.Parse.QueryTerm"]]]}],"aliases":[],"values":[{"name":"parse","comment":" ","type":"String.String -> Result.Result String.String Text.Parse.QueryTerm"}],"binops":[]},{"name":"Text.Search","comment":"\n\n\n## Basic usage\n\nLet\n\n    match =\n        Search.withQueryString\n            identity\n            Search.NotCaseSensitive\n            \"foo -bar | baz\"\n\nRun `match` on the list\n\n        [ \"foo yada\", \"foo bar\", \"hehe, baza baza!\" ]\n\nIt will return\n\n        [ \"foo yada\", \"hehe, baza baza!\" ]\n\nThe query string `foo -bar | baz` is of the form\n`P | Q`. It will match anything that matches `P`\nor `Q`. The term `P` is form `word1 -word2` It will\nmatch anything that contains `word1` but not `word2`.\nSimilarly, `word1 word2` matches anything that contains\n`word1` and `word2`.\n\n\n## Non-string data\n\nSuppose that you want to query data of type `List a`.\nYou can do this if you have function like\n`digest : a -> String`. For example, if\n\n    type alias Datum =\n      {   title: String\n        , tags : List String\n        , ... other stuff ...\n       }\n\nThen `digest datum = String.join \" \" title::tags`\ndoes the job — you can search using\n\n    Search.withQueryString\n        digest\n        Search.NotCaseSensitive\n        \"foo -bar | baz\"\n\nBelow we describe the types and functions exported from this module.\n\n@docs Config, matchWithQueryStringToResult, withQueryStringToResult, matchWithQueryString, withQueryString\n\n","unions":[{"name":"Config","comment":" ","args":[],"cases":[["CaseSensitive",[]],["NotCaseSensitive",[]]]}],"aliases":[],"values":[{"name":"matchWithQueryString","comment":" If the query string is well-formed, `Ok True/False` is returned depending\non whether the query string matches the datum. If the query string\nis ill-formed, `False` is returned.\n","type":"(datum -> String.String) -> Text.Search.Config -> String.String -> datum -> Basics.Bool"},{"name":"matchWithQueryStringToResult","comment":" If the query string is well-formed, `Ok True/False` is returned,\nthe result depending\non whether the query string matches datum.\nIf it is ill-formed, `Err errorString` is returned. At the moment, the\nerror string reads 'ill-formed query'.\n","type":"(datum -> String.String) -> Text.Search.Config -> String.String -> datum -> Result.Result String.String Basics.Bool"},{"name":"withQueryString","comment":" Filter the data list using the query. If the query is ill-formed, return the empty list.\n","type":"(datum -> String.String) -> Text.Search.Config -> String.String -> List.List datum -> List.List datum"},{"name":"withQueryStringToResult","comment":" Filter the data list using the query.\nIf the query string is well-formed,\n`Ok filteredList` is returned. If it\nis ill-formed, `Err errorString`\nis returned. At the moment, the\nerror string reads 'ill-formed query'.\n","type":"(datum -> String.String) -> Text.Search.Config -> String.String -> List.List datum -> Result.Result String.String (List.List datum)"}],"binops":[]}]