[{"name":"Elastic","comment":" Parse and serialize [ElasticSearch](https://www.elastic.co/en) search query strings.\n\nThis package allows to parse an [elastic simple query string](https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-simple-query-string-query.html#_simple_query_string_syntax)\ninto an [AST](https://en.wikipedia.org/wiki/Abstract_syntax_tree).\n\n**Notes:**\n\n  - `~N` operator is not supported.\n\n[Demo](https://allo-media.github.io/elm-es-simple-query-string/)\n\n\n# Parser\n\n@docs parseQuery\n\n\n# Serializer\n\n@docs serializeExpr\n\n","unions":[],"aliases":[],"values":[{"name":"parseQuery","comment":" Parse an ElasticSearch search query string and convert it into an\n[AST](https://en.wikipedia.org/wiki/Abstract_syntax_tree).\n","type":"String.String -> Result.Result (List.List Parser.DeadEnd) Elastic.Expression.Expr"},{"name":"serializeExpr","comment":" Serialize an [AST](https://en.wikipedia.org/wiki/Abstract_syntax_tree) into\nan ElasticSearch search query string.\n\nOptions:\n\n  - `explicitOr`: wraps groups with parenthesis to explicit operator precedence.\n    This is useful for ambiguous queries like `foo bar | foo baz` which should better\n    be treated as `(foo bar) | (foo baz)`.\n\n","type":"{ explicitOr : Basics.Bool } -> Elastic.Expression.Expr -> String.String"}],"binops":[]},{"name":"Elastic.Expression","comment":" Elastic Expression\n\nExpr can help you to define kind of syntax like And, Or, ....\n\n\n# Definition\n\n@docs Expr\n\n","unions":[{"name":"Expr","comment":" An `Expr` Type represent all AST's branchs\n\n    type AST\n        = And AST AST\n        | Or AST AST\n        | Exclude AST\n        | Exact String\n        | Word String\n        | Prefix String\n\nIn our case, to follow the production rules `AST` will be `Expr`\n\n    type Expr\n        = And Expr Expr\n        | Exact String\n        | Exclude Expr\n        | Or Expr Expr\n        | Prefix String\n        | Word String\n\n","args":[],"cases":[["And",["Elastic.Expression.Expr","Elastic.Expression.Expr"]],["Exact",["String.String"]],["Exclude",["Elastic.Expression.Expr"]],["Or",["Elastic.Expression.Expr","Elastic.Expression.Expr"]],["Prefix",["String.String"]],["Word",["String.String"]]]}],"aliases":[],"values":[],"binops":[]}]