バージョンは?
前回は0.14.0でしたが、今はなんと1.0.0-rc.7!リリース候補版を7回も更新しています。何が変わったの?
やっぱりCHANGELOGを見てもらったほうが早いです。以前、仕様は大きな理由がない限り固定するよ!と書きましたが、大きな理由があったので変えました。
一番大きな変更は、
adjuster.numberArray()
とnumber.stringArray()
の削除。1つ目の理由はだるいから。
number
とかstring
に新しい判定を入れるたびに、numberArray
やstringArray
にeachFoo
というメソッドを追加して、ドキュメントを2箇所修正…というのがだるいんです。2つ目の理由はもっと汎用的なやり方を考えたから。それが新しく追加された
adjuster.array()
です。これで何が嬉しいかというと、今の「数値の配列」「文字列の配列」以外にも、「メアドの配列」 や「オブジェクトの配列」、さらには「配列の配列」のように、adjusterで使えるあらゆるものの配列を判定できるようになりました。複雑なオブジェクトや配列を判定できるようになった反面、「オブジェクトの配列の配列のオブジェクト」の中でエラーが起きたときに、今までの
err.key
では場所を正確に伝えることが不可能になりました。そこで、
err.key
を廃止し、代わりにエラーが起きたキー(または配列のインデックス)までのスタックを配列で保持するerr.keyStack
を導入しました。わかりづらい?ごめんなさい。
0 件のコメント:
コメントを投稿