consumed_interfaces_mapping

datastore grammar version 103

'imported interfaces': [ imported-interfaces ] dictionary {
	'interface': [ = ] reference
	'context keys': [ (, ) ] dictionary {
		'value': [ = ] reference
	}
	'mapping': component 'node type mapping'
}
'node type mapping' { [ (, ) ]
	'attributes': dictionary {
		'type': [ : ] stategroup (
			'command' { [ command ]
				'type': [ => ] stategroup (
					'internal' {
						'mapping': component 'event mapping'
					}
					'external' {
						'mapping': component 'command mapping'
					}
				)
			}
			'property' {
				'type': stategroup (
					'group' { [ group ]
						'group': [ = . ] reference
						'mapping': component 'node type mapping'
					}
					'collection' { [ collection = ]
						'collection': [ map . ] reference
						'mapping': component 'node type mapping'
					}
					'number' { [ number ]
						'number': [ = . ] reference
					}
					'text' { [ text ]
						'text': [ = . ] reference
					}
					'file' { [ file ]
						'file': [ = . ] reference
					}
					'state group' { [ stategroup = switch ]
						'state group': [ . ] reference
						'states': [ (, ) ] dictionary { [ | ]
							'target state': [ => ] reference
							'mapping': component 'node type mapping'
						}
					}
				)
			}
		)
	}
}
'parameter mapping' { [ (, ) ]
	'properties': dictionary {
		'type': [ : ] stategroup (
			'group' { [ group = ]
				'group': [ @ . ] reference
				'mapping': component 'parameter mapping'
			}
			'collection' { [ collection = ]
				'collection': [ map @ . ] reference
				'mapping': component 'parameter mapping'
			}
			'number' { [ number ]
				'number': [ = @ . ] reference
			}
			'text' { [ text ]
				'text': [ = @ . ] reference
			}
			'file' { [ file ]
				'file': [ = @ . ] reference
			}
			'state group' { [ stategroup = ]
				'type': stategroup (
					'state' {
						'state': reference
						'mapping': component 'parameter mapping'
					}
					'state switch' { [ switch ]
						'state group': [ @ . ] reference
						'states': [ (, ) ] dictionary { [ | ]
							'target state': [ => ] reference
							'mapping': component 'parameter mapping'
						}
					}
				)
			}
		)
	}
}
'event node type mapping' { [ (, ) ]
	'properties': dictionary {
		'type': [ : ] stategroup (
			'group' { [ group = ]
				'group': [ @ . ] reference
				'mapping': component 'event node type mapping'
			}
			'collection' { [ collection = ]
				'collection': [ map @ . ] reference
				'mapping': component 'event node type mapping'
			}
			'number' { [ number ]
				'number': [ = @ . ] reference
			}
			'text' { [ text ]
				'text': [ = @ . ] reference
			}
			'file' { [ file ]
				'file': [ = @ . ] reference
			}
			'state group' { [ stategroup = ]
				'state group': [ switch @ . ] reference
				'states': [ (, ) ] dictionary { [ | ]
					'target state': [ => ] reference
					'mapping': component 'event node type mapping'
				}
			}
		)
	}
}
'command mapping' { [ execute ]
	'command': [ . ] reference
	'parameter mapping': component 'parameter mapping'
}
'event mapping' { [ handle ]
	'event': [ . ] reference
	'parameter mapping': component 'event node type mapping'
}