annotate tests/schemata/test1.schema.yml @ 31:271ec3abdfa3

Use "$type" as the schema's type specifier instead of "type". THIS IS BACKWARDS INCOMPATIBLE.
author Franz Glasner <f.glasner@feldmann-mg.com>
date Tue, 18 Jul 2023 14:28:52 +0200
parents 41efa38a39b1
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
1 # -*- coding: utf-8; mode: yaml; indent-tabs-mode: nil; -*-
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
2 #
20
41efa38a39b1 FIX: example schema
Franz Glasner <fzglas.hg@dom66.de>
parents: 5
diff changeset
3 # This is an sample schema definition file with most features
5
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
4 #
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
5 %YAML 1.1
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
6 ---
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
7
31
271ec3abdfa3 Use "$type" as the schema's type specifier instead of "type".
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 20
diff changeset
8 $type: dict
5
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
9 keys:
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
10 string-value:
31
271ec3abdfa3 Use "$type" as the schema's type specifier instead of "type".
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 20
diff changeset
11 $type: string
20
41efa38a39b1 FIX: example schema
Franz Glasner <fzglas.hg@dom66.de>
parents: 5
diff changeset
12 min-length: 1
41efa38a39b1 FIX: example schema
Franz Glasner <fzglas.hg@dom66.de>
parents: 5
diff changeset
13 max-length: 255
5
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
14 pattern:
20
41efa38a39b1 FIX: example schema
Franz Glasner <fzglas.hg@dom66.de>
parents: 5
diff changeset
15 any-of:
5
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
16 - &NAMERE !!python/object/apply:re.compile ['\A[A-Za-z_][A-Za-z0-9_]*\Z']
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
17 - &CALLABLE !!python/name:test_schema._test_generic_validator_for_yaml
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
18
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
19 binary-value:
31
271ec3abdfa3 Use "$type" as the schema's type specifier instead of "type".
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 20
diff changeset
20 $type: binary
20
41efa38a39b1 FIX: example schema
Franz Glasner <fzglas.hg@dom66.de>
parents: 5
diff changeset
21 min-length: 20
41efa38a39b1 FIX: example schema
Franz Glasner <fzglas.hg@dom66.de>
parents: 5
diff changeset
22 max-length: 256
5
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
23 value: *CALLABLE
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
24
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
25 int-value:
31
271ec3abdfa3 Use "$type" as the schema's type specifier instead of "type".
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 20
diff changeset
26 $type: int
20
41efa38a39b1 FIX: example schema
Franz Glasner <fzglas.hg@dom66.de>
parents: 5
diff changeset
27 min-value: 0
41efa38a39b1 FIX: example schema
Franz Glasner <fzglas.hg@dom66.de>
parents: 5
diff changeset
28 max-value: 100
5
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
29 value: *CALLABLE
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
30
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
31 float-value:
31
271ec3abdfa3 Use "$type" as the schema's type specifier instead of "type".
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 20
diff changeset
32 $type: float
20
41efa38a39b1 FIX: example schema
Franz Glasner <fzglas.hg@dom66.de>
parents: 5
diff changeset
33 min-value: 0.0
41efa38a39b1 FIX: example schema
Franz Glasner <fzglas.hg@dom66.de>
parents: 5
diff changeset
34 max-value: 50.0
5
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
35 value: *CALLABLE
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
36
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
37 numeric-value:
31
271ec3abdfa3 Use "$type" as the schema's type specifier instead of "type".
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 20
diff changeset
38 $type: number
20
41efa38a39b1 FIX: example schema
Franz Glasner <fzglas.hg@dom66.de>
parents: 5
diff changeset
39 min-value: 0
41efa38a39b1 FIX: example schema
Franz Glasner <fzglas.hg@dom66.de>
parents: 5
diff changeset
40 max-value: 1000
5
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
41 value: *CALLABLE
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
42
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
43 scalar-value:
31
271ec3abdfa3 Use "$type" as the schema's type specifier instead of "type".
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 20
diff changeset
44 $type: scalar
5
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
45
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
46 bool-value:
31
271ec3abdfa3 Use "$type" as the schema's type specifier instead of "type".
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 20
diff changeset
47 $type: bool
5
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
48 value: *CALLABLE
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
49
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
50 timestamp-value:
31
271ec3abdfa3 Use "$type" as the schema's type specifier instead of "type".
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 20
diff changeset
51 $type: timestamp
5
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
52 value: *CALLABLE
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
53
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
54 null-value:
31
271ec3abdfa3 Use "$type" as the schema's type specifier instead of "type".
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 20
diff changeset
55 $type: null
5
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
56
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
57 empty-value:
31
271ec3abdfa3 Use "$type" as the schema's type specifier instead of "type".
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 20
diff changeset
58 $type: empty
5
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
59
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
60 any-value:
31
271ec3abdfa3 Use "$type" as the schema's type specifier instead of "type".
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 20
diff changeset
61 $type: accept
5
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
62
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
63 not-any-value-allowed:
31
271ec3abdfa3 Use "$type" as the schema's type specifier instead of "type".
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 20
diff changeset
64 $type: deny
5
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
65
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
66 custom-value:
31
271ec3abdfa3 Use "$type" as the schema's type specifier instead of "type".
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 20
diff changeset
67 $type: *CALLABLE
5
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
68
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
69 dict-value:
31
271ec3abdfa3 Use "$type" as the schema's type specifier instead of "type".
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 20
diff changeset
70 $type: dict
5
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
71 keys:
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
72 key1:
31
271ec3abdfa3 Use "$type" as the schema's type specifier instead of "type".
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 20
diff changeset
73 $type: accept
5
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
74 0:
31
271ec3abdfa3 Use "$type" as the schema's type specifier instead of "type".
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 20
diff changeset
75 $type: accept
5
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
76 1:
31
271ec3abdfa3 Use "$type" as the schema's type specifier instead of "type".
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 20
diff changeset
77 $type: accept
20
41efa38a39b1 FIX: example schema
Franz Glasner <fzglas.hg@dom66.de>
parents: 5
diff changeset
78 key-names:
41efa38a39b1 FIX: example schema
Franz Glasner <fzglas.hg@dom66.de>
parents: 5
diff changeset
79 one-of:
31
271ec3abdfa3 Use "$type" as the schema's type specifier instead of "type".
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 20
diff changeset
80 - $type: string
271ec3abdfa3 Use "$type" as the schema's type specifier instead of "type".
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 20
diff changeset
81 - $type: integer
20
41efa38a39b1 FIX: example schema
Franz Glasner <fzglas.hg@dom66.de>
parents: 5
diff changeset
82 min-value: 0
41efa38a39b1 FIX: example schema
Franz Glasner <fzglas.hg@dom66.de>
parents: 5
diff changeset
83 additional-keys:
31
271ec3abdfa3 Use "$type" as the schema's type specifier instead of "type".
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 20
diff changeset
84 $type: accept # equivalent to the simpler: additional-keys: true
5
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
85 required:
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
86 - key1
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
87 - 0
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
88
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
89 list-value:
31
271ec3abdfa3 Use "$type" as the schema's type specifier instead of "type".
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 20
diff changeset
90 $type: list
20
41efa38a39b1 FIX: example schema
Franz Glasner <fzglas.hg@dom66.de>
parents: 5
diff changeset
91 min-length: 1
41efa38a39b1 FIX: example schema
Franz Glasner <fzglas.hg@dom66.de>
parents: 5
diff changeset
92 max-length: 10
5
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
93 items:
20
41efa38a39b1 FIX: example schema
Franz Glasner <fzglas.hg@dom66.de>
parents: 5
diff changeset
94 any-of:
31
271ec3abdfa3 Use "$type" as the schema's type specifier instead of "type".
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 20
diff changeset
95 - $type: scalar
271ec3abdfa3 Use "$type" as the schema's type specifier instead of "type".
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 20
diff changeset
96 - $type: *CALLABLE
5
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
97
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
98 record-value:
31
271ec3abdfa3 Use "$type" as the schema's type specifier instead of "type".
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 20
diff changeset
99 $type: record
5
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
100 items:
31
271ec3abdfa3 Use "$type" as the schema's type specifier instead of "type".
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 20
diff changeset
101 - $type: string
271ec3abdfa3 Use "$type" as the schema's type specifier instead of "type".
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 20
diff changeset
102 - $type: number
20
41efa38a39b1 FIX: example schema
Franz Glasner <fzglas.hg@dom66.de>
parents: 5
diff changeset
103 min-length: 2
41efa38a39b1 FIX: example schema
Franz Glasner <fzglas.hg@dom66.de>
parents: 5
diff changeset
104 max-length: 2
41efa38a39b1 FIX: example schema
Franz Glasner <fzglas.hg@dom66.de>
parents: 5
diff changeset
105 additional-items: false
5
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
106
20
41efa38a39b1 FIX: example schema
Franz Glasner <fzglas.hg@dom66.de>
parents: 5
diff changeset
107 combinator-one-of:
41efa38a39b1 FIX: example schema
Franz Glasner <fzglas.hg@dom66.de>
parents: 5
diff changeset
108 one-of:
31
271ec3abdfa3 Use "$type" as the schema's type specifier instead of "type".
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 20
diff changeset
109 - $type: int
271ec3abdfa3 Use "$type" as the schema's type specifier instead of "type".
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 20
diff changeset
110 - $type: float
271ec3abdfa3 Use "$type" as the schema's type specifier instead of "type".
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 20
diff changeset
111 - $type: null
5
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
112
20
41efa38a39b1 FIX: example schema
Franz Glasner <fzglas.hg@dom66.de>
parents: 5
diff changeset
113 combinator-all-of:
41efa38a39b1 FIX: example schema
Franz Glasner <fzglas.hg@dom66.de>
parents: 5
diff changeset
114 all-of:
5
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
115 - &NAME
31
271ec3abdfa3 Use "$type" as the schema's type specifier instead of "type".
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 20
diff changeset
116 $type: string
20
41efa38a39b1 FIX: example schema
Franz Glasner <fzglas.hg@dom66.de>
parents: 5
diff changeset
117 max-length: 255
5
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
118 pattern: *NAMERE
31
271ec3abdfa3 Use "$type" as the schema's type specifier instead of "type".
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 20
diff changeset
119 - $type: *CALLABLE
5
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
120
20
41efa38a39b1 FIX: example schema
Franz Glasner <fzglas.hg@dom66.de>
parents: 5
diff changeset
121 combinator-any-of:
41efa38a39b1 FIX: example schema
Franz Glasner <fzglas.hg@dom66.de>
parents: 5
diff changeset
122 any-of:
5
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
123 - *NAME
31
271ec3abdfa3 Use "$type" as the schema's type specifier instead of "type".
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 20
diff changeset
124 - $type: *CALLABLE
5
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
125 - null
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
126
20
41efa38a39b1 FIX: example schema
Franz Glasner <fzglas.hg@dom66.de>
parents: 5
diff changeset
127 additional-keys: false
5
84dfd1a94926 Add the existing implementation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
128 required: []