構文

ObjectSchema

key: PropertyName # arrayの要素などの場合はnullとなる
optional: true # option nullableになる
implementationInterface: # option
	- HogeInterface
	- FooInterface
properties: # option
	- # objectSchema
	- # stringSchema等

ParseArray

key: PropertyName # arrayの要素などの場合はnullとなる
optional: true # option nullableになる
overrideCodeGeneratePropertyName: HogeName # option 存在する場合中身の型の名前をオーバーライドできる
items:
	# objectSchema等

SwitchSchema

key: PropertyName # arrayの要素などの場合はnullとなる
switch: ./type # パス
cases:
	- when: A
		# objectSchema等
	- when: B
		# objectSchema等

SwitchSchemaのパスについて

というPrefixで区別する

相対パスの場合、現在のオブジェクトからの相対位置で指定する

絶対パスの場合、ルートオブジェクトからの絶対位置で指定する

また、親要素へは.. で移動する

StringSchema

string

key: PropertyName # arrayの要素などの場合はnullとなる
type: string
optional: true # option nullableになる
enum: # option これらのstringをconstとして列挙されたものが型に追加される
	- red
	- green
	- blue

enum

key: PropertyName # arrayの要素などの場合はnullとなる
type: enum
optional: true # option nullableになる
options:
	- red
	- green
	- blue