documentを触っている時に、時折、例としてあげられるファイルが巨大でインデントなどの対応を把握するのが辛くなることがある。自分で書く場合には複数のファイルに分解された状態で書くので問題ないのだけれど。手動で分解するのも面倒だったので。分解する機能をjsonknifeに追加した。機能separateという名前にした。適切な名前な気がしないのでもう少し良い名前を付けたい。separateは過去に作ったbundleの機能と対になっている。以下のようなJSONSchemaの定義があるとする。部分だけでも別ファイルになれば見やすいのになーと思ったりしたとする。"object"}このときにseparateを使って1つのファイル(schema.json)を複数のファイルに分解する。main.json3つのファイルに分解された。これは元のファイル分解された個々のファイルは以下のような内容になっている。"object"}main.jsonがentrypoint的なもの。参照先は別のファイルになっているので全体の構造が把握しやすい。(トップレベルのdefinitionsを削除してしまっても良い気もしたが残している。)次に参照先のaddressの定義。ファイルの位置関係は元のファイルの改装構造とディレクトリの位置を対応させている。}}addressからしかnameは参照されないのでmain.jsonのdefinitionsにはnameが現れていない。そのnameは以下のようなもの。定義にも対応している。以下のようなファイル。object複雑なもの複雑なファイルに実行するとけっこうすごい感じになる。speccyが持っているopenAPI3.0のjsonschemaを渡して分解したときに作られるファイルは以下の様なもの。すごくたくさんのファイルが作られる。元のファイル元のファイル(schema.json)と変換後のファイル(main.json)行数の差異。total71行くらいなら全体を把握できる。document."}テストは?テストは実際に実行した結果のdiffを見てる。diffでdiffがなければOKというもの)一応、元のファイルとseparate後bundleしたファイルが同じ内容なことを確認している。昨日作ったコマンドに変更を加えた。componentという機能を追加した月別アーカイブはてなブログをはじめよう!podhmoさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。