IpAddress
An IPv4 or IPv6 address.
Web and network; not ordered; since Jadpo 0.1.0.
Make one
text.parse(raw, as: IpAddress) reads one from its text; text that isn't one at all fails malformed, such as 192.0.2 or example.com.
Text, JSON and storage
text.from writes its canonical text, the one form text.parse reads back. JSON sends its canonical text as a string.
| Text | JSON |
|---|---|
192.0.2.1 |
"192.0.2.1" |
2001:db8::1 |
"2001:db8::1" |
It is stored in one column named for the field, of type text. 2001:db8::1 is stored as '2001:db8::1'.
Shown to people
text.format(value, locale:) shows it to people in their locale.
With locale: Locale.en_gb:
| Value | Shown |
|---|---|
192.0.2.1 |
192.0.2.1 |
2001:db8::1 |
2001:db8::1 |
Operations
web.cidr_contains(range: Cidr, address: IpAddress) -> Bool: Whetheraddressis insiderange. An IPv4 address is never inside an IPv6 range, nor the other way round.
Like every standard type, it also has the contract's own operations: text.parse, text.from, text.format, json.read, json.write and ==. It isn't ordered, so < and sorting don't take it. Every standard type meets one contract says how they work.
Markdown for agents: /docs/types/type-ip-address.md.Built from Jadpo main at e00e61f.