[{"name":"Placeholder.DoubleCurly","comment":"\n\n\n# DoubleCurly\n\nParse Strings into functions using the {{double curly brackets}} placeholder syntax.\nFor more detail, view the documentation in `Placeholder.Internal`.\n\n@docs parsePlaceholder1, parsePlaceholder2, parsePlaceholder3, parsePlaceholder4\n\n","unions":[],"aliases":[],"values":[{"name":"parsePlaceholder1","comment":" Parse a `String` into a function substituting the argument at the position marked by double curly braces.\n\n    > f = parsePlaceholder1 \"This is {{name}}s example\" |> Result.map ((|> \"Andy\"))\n    Ok (\"This is Andys example\") : Result String String\n\n","type":"String.String -> Result.Result String.String (String.String -> String.String)"},{"name":"parsePlaceholder2","comment":" Parse a `String` into a function substituting the arguments at the two positions marked by double curly braces.\n","type":"String.String -> Result.Result String.String (String.String -> String.String -> String.String)"},{"name":"parsePlaceholder3","comment":" Parse a `String` into a function substituting the arguments at the three positions marked by double curly braces.\n","type":"String.String -> Result.Result String.String (String.String -> String.String -> String.String -> String.String)"},{"name":"parsePlaceholder4","comment":" Parse a `String` into a function substituting the arguments at the four positions marked by double curly braces.\n","type":"String.String -> Result.Result String.String (String.String -> String.String -> String.String -> String.String -> String.String)"}],"binops":[]},{"name":"Placeholder.Internal","comment":" This module allows defining placeholder parsers based on a non-supported `Syntax` as well as\nusing the internal `Template` type for different purposes.\n\n\n# Template\n\n@docs Template, templateParser, parseTemplate\n\n\n# Syntax\n\n@docs Syntax, parsePlaceholder1, parsePlaceholder2, parsePlaceholder3, parsePlaceholder4\n\n","unions":[],"aliases":[{"name":"Syntax","comment":" A `Syntax` tells the `templateParser` how to distinguish placeholders from regular text.\nAt the moment, this can only be configured by setting start and end symbol.\n","args":[],"type":"{ startSymbol : String.String, endSymbol : String.String }"},{"name":"Template","comment":" A `Template` includes an ordered list of placeholders and text segments.\n`Template`s coming from this module guarantee that:\n\n    > not (List.isEmpty segments)\n    > List.length segments == List.length placeholders + 1\n\n","args":[],"type":"{ placeholders : List.List String.String, segments : List.List String.String }"}],"values":[{"name":"parsePlaceholder1","comment":" Parse a `String` into a function substituting the argument at the position marked by the `Syntax`.\nExamples:\n\n    > f = parsePlaceholder1 { startSymbol = \"${\", endSymbol = \"}\" } \"This is ${name}s example\"\n    Ok <function> : Result String (F1 String)\n\n    > Result.map ((|>) \"Andy\") f\n    Ok (\"This is Andys example\") : Result String String\n\n    > parsePlaceholder1 { startSymbol = \"${\", endSymbol = \"}\" } \"No placeholder\"\n    Err (\"Expected more placeholders.\") : Result String (F1 String)\n\n    > parsePlaceholder1 { startSymbol = \"${\", endSymbol = \"}\" } \"${multiple}${placeholders}\"\n    Err (\"Expected less placeholders.\") : Result String (F1 String)\n\n","type":"Placeholder.Internal.Syntax -> String.String -> Result.Result String.String (Placeholder.Internal.F1 String.String)"},{"name":"parsePlaceholder2","comment":" Parse a `String` into a function substituting the arguments at the two positions marked by the `Syntax`.\n","type":"Placeholder.Internal.Syntax -> String.String -> Result.Result String.String (Placeholder.Internal.F2 String.String)"},{"name":"parsePlaceholder3","comment":" Parse a `String` into a function substituting the arguments at the three positions marked by the `Syntax`.\n","type":"Placeholder.Internal.Syntax -> String.String -> Result.Result String.String (Placeholder.Internal.F3 String.String)"},{"name":"parsePlaceholder4","comment":" Parse a `String` into a function substituting the arguments at the four positions marked by the `Syntax`.\n","type":"Placeholder.Internal.Syntax -> String.String -> Result.Result String.String (Placeholder.Internal.F4 String.String)"},{"name":"parseTemplate","comment":" Parse a `String` into a `Template` based on a `Syntax`.\nExample:\n\n    > parseTemplate { startSymbol = \"${\", endSymbol = \"}\" } \"This is ${name}s example\"\n    { segments = [\"This is \", \"s example\"], placeholders = [\"name\"]}\n\n","type":"Placeholder.Internal.Syntax -> String.String -> Result.Result String.String Placeholder.Internal.Template"},{"name":"templateParser","comment":" A parser for a `Template` based on a `Syntax`.\nIn this form, it can be combined nicely with other `Parser`s.\n","type":"Placeholder.Internal.Syntax -> Parser.Parser Placeholder.Internal.Template"}],"binops":[]}]