Skip to content

Instantly share code, notes, and snippets.

@brunoborges
Last active June 4, 2020 21:31
Show Gist options
  • Save brunoborges/12076bb50e4a228462ff9f396d9d396e to your computer and use it in GitHub Desktop.
Save brunoborges/12076bb50e4a228462ff9f396d9d396e to your computer and use it in GitHub Desktop.
Proposal for a TOML Schema Definition
# [toml]
# version = 2
# schema = config.tosd
title = "TOML Example"
[owner]
name = "Tom Preston-Werner"
dob = 1979-05-27T07:32:00-08:00 # First class dates
[database]
server = "192.168.1.1"
ports = [ 8001, 8001, 8002 ]
connection_max = 5000
enabled = true
[servers]
# Indentation (tabs and/or spaces) is allowed but not required
[servers.alpha]
ip = "10.0.0.1"
dc = "eqdc10"
[servers.beta]
ip = "10.0.0.2"
dc = "eqdc10"
[clients]
data = [ ["gamma", "delta"], [1, 2] ]
# Line breaks are OK when inside arrays
hosts = [
"alpha",
"omega"
]
# [toml]
# version = 2
# schema = toml-schema-v1.tosd
[title]
type=string
[owner]
type=table
[#.name]
type=string
[#.dob]
name=dob
type=date
[database]
type=table
[#.server]
type=ipv4
[#.ports]
type=intarray
[#.connection_max]
type=int
[#.enabled]
type=boolean
optional=true
default=false
[servers]
type=tablearray
[#.ip]
type=ipv4
[#.dc]
type=string
[clients]
type=table
[#.data]
type=json
[hosts]
type=stringarray
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment