バージョンは?
前回は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 件のコメント:
コメントを投稿