36 lines
965 B
Bash
36 lines
965 B
Bash
#!/bin/sh
|
|
|
|
[ "$1" = python3-referencing ] || exit 0
|
|
|
|
python3 - << 'EOF'
|
|
|
|
from referencing import Registry, Resource
|
|
import referencing.jsonschema
|
|
|
|
schema = Resource.from_contents( # Parse some contents into a 2020-12 JSON Schema
|
|
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"$id": "urn:example:a-202012-schema",
|
|
"$defs": {
|
|
"nonNegativeInteger": {
|
|
"$anchor": "nonNegativeInteger",
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
},
|
|
},
|
|
}
|
|
)
|
|
registry = schema @ Registry() # Add the resource to a new registry
|
|
|
|
# From here forward, this would usually be done within a library wrapping this one,
|
|
# like a JSON Schema implementation
|
|
resolver = registry.resolver()
|
|
resolved = resolver.lookup("urn:example:a-202012-schema#nonNegativeInteger")
|
|
assert resolved.contents == {
|
|
"$anchor": "nonNegativeInteger",
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
}
|
|
|
|
EOF
|