aboutsummaryrefslogtreecommitdiff
path: root/api/booleans.md
diff options
context:
space:
mode:
authorBruce Hill <bruce@bruce-hill.com>2025-08-16 17:21:01 -0400
committerBruce Hill <bruce@bruce-hill.com>2025-08-16 17:21:01 -0400
commitc72b0406a32ffc3f04324f7b6c321486762fca41 (patch)
tree244e51c858890ea2ffb8c74a2c33c81b79de376e /api/booleans.md
parent849fd423a759edf1b58b548a6148c177a6f8cd71 (diff)
Improved parsing and prefix/suffix matching using a `remainder`
parameter
Diffstat (limited to 'api/booleans.md')
-rw-r--r--api/booleans.md11
1 files changed, 10 insertions, 1 deletions
diff --git a/api/booleans.md b/api/booleans.md
index d45be505..ab08909d 100644
--- a/api/booleans.md
+++ b/api/booleans.md
@@ -6,7 +6,7 @@
## Bool.parse
```tomo
-Bool.parse : func(text: Text -> Bool?)
+Bool.parse : func(text: Text, remainder: &Text? = none -> Bool?)
```
Converts a text representation of a boolean value into a boolean. Acceptable boolean values are case-insensitive variations of `yes`/`no`, `y`/`n`, `true`/`false`, `on`/`off`.
@@ -14,6 +14,7 @@ Converts a text representation of a boolean value into a boolean. Acceptable boo
Argument | Type | Description | Default
---------|------|-------------|---------
text | `Text` | The string containing the boolean value. | -
+remainder | `&Text?` | If non-none, this argument will be set to the remainder of the text after the matching part. If none, parsing will only succeed if the entire text matches. | `none`
**Return:** `yes` if the string matches a recognized truthy boolean value; otherwise return `no`.
@@ -27,4 +28,12 @@ text | `Text` | The string containing the boolean value. | -
>> Bool.parse("???")
= none : Bool?
+>> Bool.parse("yesJUNK")
+= none : Bool?
+remainder : Text
+>> Bool.parse("yesJUNK", &remainder)
+= yes : Bool?
+>> remainder
+= "JUNK"
+
```