| ## | |
| # @TestEnum: | |
| ## | |
| { 'enum': 'TestEnum', | |
| 'data': [ 'value1', 'value2' ] } | |
| ## | |
| # @TestBase: | |
| ## | |
| { 'struct': 'TestBase', | |
| 'data': { 'enum1': 'TestEnum', 'kind': 'str' } } | |
| ## | |
| # @TestTypeA: | |
| ## | |
| { 'struct': 'TestTypeA', | |
| 'data': { 'string': 'str' } } | |
| ## | |
| # @TestTypeB: | |
| ## | |
| { 'struct': 'TestTypeB', | |
| 'data': { 'integer': 'int' } } | |
| ## | |
| # @TestUnion: | |
| ## | |
| { 'union': 'TestUnion', | |
| 'base': 'TestBase', | |
| 'discriminator': 'kind', | |
| 'data': { 'kind1': 'TestTypeA', | |
| 'kind2': 'TestTypeB' } } |