Mirror of @tangled.org/core. Running on a Raspberry Pi Zero 2 (Please be gentle).

lexicon: rework to avoid nested object types

Signed-off-by: oppiliappan <me@oppi.li>

authored by oppi.li and committed by

Tangled 802aeb2b 6d5b7665

+85 -54
+85 -54
lexicons/pipeline.json
··· 9 9 "key": "tid", 10 10 "record": { 11 11 "type": "object", 12 - "required": ["triggerMetadata", "workflows"], 12 + "required": [ 13 + "triggerMetadata", 14 + "workflows" 15 + ], 13 16 "properties": { 14 17 "triggerMetadata": { 15 18 "type": "ref", ··· 30 27 }, 31 28 "triggerMetadata": { 32 29 "type": "object", 33 - "required": ["kind", "repo"], 30 + "required": [ 31 + "kind", 32 + "repo" 33 + ], 34 34 "properties": { 35 35 "kind": { 36 36 "type": "string", 37 - "enum": ["push", "pull_request", "manual"] 37 + "enum": [ 38 + "push", 39 + "pull_request", 40 + "manual" 41 + ] 38 42 }, 39 43 "repo": { 40 44 "type": "ref", ··· 63 53 }, 64 54 "triggerRepo": { 65 55 "type": "object", 66 - "required": ["knot", "did", "repo", "defaultBranch"], 56 + "required": [ 57 + "knot", 58 + "did", 59 + "repo", 60 + "defaultBranch" 61 + ], 67 62 "properties": { 68 63 "knot": { 69 64 "type": "string" ··· 87 72 }, 88 73 "pushTriggerData": { 89 74 "type": "object", 90 - "required": ["ref", "newSha", "oldSha"], 75 + "required": [ 76 + "ref", 77 + "newSha", 78 + "oldSha" 79 + ], 91 80 "properties": { 92 81 "ref": { 93 82 "type": "string" ··· 110 91 }, 111 92 "pullRequestTriggerData": { 112 93 "type": "object", 113 - "required": ["sourceBranch", "targetBranch", "sourceSha", "action"], 94 + "required": [ 95 + "sourceBranch", 96 + "targetBranch", 97 + "sourceSha", 98 + "action" 99 + ], 114 100 "properties": { 115 101 "sourceBranch": { 116 102 "type": "string" ··· 139 115 "inputs": { 140 116 "type": "array", 141 117 "items": { 142 - "type": "object", 143 - "required": ["key", "value"], 144 - "properties": { 145 - "key": { 146 - "type": "string" 147 - }, 148 - "value": { 149 - "type": "string" 150 - } 151 - } 118 + "type": "ref", 119 + "ref": "#pair" 152 120 } 153 121 } 154 122 } 155 123 }, 156 124 "workflow": { 157 125 "type": "object", 158 - "required": ["name", "dependencies", "steps", "environment", "clone"], 126 + "required": [ 127 + "name", 128 + "dependencies", 129 + "steps", 130 + "environment", 131 + "clone" 132 + ], 159 133 "properties": { 160 134 "name": { 161 135 "type": "string" 162 136 }, 163 137 "dependencies": { 164 - "type": "ref", 165 - "ref": "#dependencies" 138 + "type": "array", 139 + "items": { 140 + "type": "ref", 141 + "ref": "#dependency" 142 + } 166 143 }, 167 144 "steps": { 168 145 "type": "array", ··· 175 150 "environment": { 176 151 "type": "array", 177 152 "items": { 178 - "type": "object", 179 - "required": ["key", "value"], 180 - "properties": { 181 - "key": { 182 - "type": "string" 183 - }, 184 - "value": { 185 - "type": "string" 186 - } 187 - } 153 + "type": "ref", 154 + "ref": "#pair" 188 155 } 189 156 }, 190 157 "clone": { ··· 185 168 } 186 169 } 187 170 }, 188 - "dependencies": { 189 - "type": "array", 190 - "items": { 191 - "type": "object", 192 - "required": ["registry", "packages"], 193 - "properties": { 194 - "registry": { 171 + "dependency": { 172 + "type": "object", 173 + "required": [ 174 + "registry", 175 + "packages" 176 + ], 177 + "properties": { 178 + "registry": { 179 + "type": "string" 180 + }, 181 + "packages": { 182 + "type": "array", 183 + "items": { 195 184 "type": "string" 196 - }, 197 - "packages": { 198 - "type": "array", 199 - "items": { 200 - "type": "string" 201 - } 202 185 } 203 186 } 204 187 } 205 188 }, 206 189 "cloneOpts": { 207 190 "type": "object", 208 - "required": ["skip", "depth", "submodules"], 191 + "required": [ 192 + "skip", 193 + "depth", 194 + "submodules" 195 + ], 209 196 "properties": { 210 197 "skip": { 211 198 "type": "boolean" ··· 224 203 }, 225 204 "step": { 226 205 "type": "object", 227 - "required": ["name", "command"], 206 + "required": [ 207 + "name", 208 + "command" 209 + ], 228 210 "properties": { 229 211 "name": { 230 212 "type": "string" ··· 238 214 "environment": { 239 215 "type": "array", 240 216 "items": { 241 - "type": "object", 242 - "required": ["key", "value"], 243 - "properties": { 244 - "key": { 245 - "type": "string" 246 - }, 247 - "value": { 248 - "type": "string" 249 - } 250 - } 217 + "type": "ref", 218 + "ref": "#pair" 251 219 } 220 + } 221 + } 222 + }, 223 + "pair": { 224 + "type": "object", 225 + "required": [ 226 + "key", 227 + "value" 228 + ], 229 + "properties": { 230 + "key": { 231 + "type": "string" 232 + }, 233 + "value": { 234 + "type": "string" 252 235 } 253 236 } 254 237 }