aspida / resthub

0 stars 4 forks source link

Feat(components):add generating allOf/oneOf #31

Closed maccostar closed 4 years ago

maccostar commented 4 years ago

Types of changes

What kind of change does this PR introduce? (check at least one)

Description

Issue Number: N/A

allOf/oneOfを表示させるためのmethods等を追加しました。

  1. 新15行目 v-ifの条件変更 allOf/oneOfの追加対応をしたことで、hasOfによる除外判定が不要となったため削除。

  2. 新43行目 dummy値の変更 新15行目(1)の対応に合わせて、dummy値を変更。

  3. 新55行目 judgeFuncAndObjectの追加 旧48行目〜54行目に記載していた条件をjudgeFuncAndObjectとしてmethodsに追加。 新61行目部分で再帰的に利用する記述があったため、methodsとして外出しをしているが、computedの中の記述でもよいかもしれない。

SchemaObject直下にallOf/oneOfを持つことが可能であるため、想定しうる組み合わせとしては下記の通り。

#case1 
allOf :SchemaObject[]

#case2
properties :string|SchemaObject[] {
  allOf :SchemaObject[]
}

#case3
items :SchemaObject {
  allOf :SchemaObject[]
}
  1. 旧74行目 getPropertiesの値削除 新15行目の対応に合わせて、dummy値を変更。

  2. 新88行目 条件文の変更 新15行目(1)の対応に合わせて、dummy値を変更。

  3. 新90行目 mergeAllOfの追加

  4. 新95行目 mergeOneOfの追加 UI案がないため、暫定でnameにoneOfであることを明示。