Add a field schema to a container node
Arguments
- x
A
SchemaDoc.- name
Field name to add.
- field
Schema fragment using the same list syntax accepted by
schema_doc(), or a fragment produced by helpers such asschema_check().- path
Path to the target container node. Use
$for the root node. Bare field segments such as$idimplicitly traverse containerfields. Use$fields$idto write the explicit field path. Backtick-quote field names that contain path operators, for example$`a$b`.- overwrite
Logical flag indicating whether an existing field of the same name should be replaced.
Examples
schema <- schema_doc(list(check = list(kind = "list")))
schema
#> {
#> "check": {
#> "kind": "list"
#> }
#> }
schema <- schema_add_field(schema, "id", schema_check("int", lower = 1))
schema
#> {
#> "check": {
#> "kind": "list"
#> },
#> "fields": {
#> "id": {
#> "check": {
#> "kind": "int",
#> "lower": 1
#> }
#> }
#> }
#> }
schema_validate(schema, list(id = 1L), mode = "test")
#> [1] TRUE