【Angular Utilities】色々とエンコード・デコードする Encoder Decoder を作った

今日も Angular Utilities。URI エンコードされている文字とか、Unicode 文字参照になっている文字とかを、雑多にエンコード・デコード、エスケープ・アンエスケープするツールを作った。

どれがうまくデコードできたものかとかはチェックしていないので、狙った結果が得られているっぽい欄のモノを使うようにして欲しい。w

String を1文字ずつブチ切って処理し、その結果を繋げて返すために、以下のようなイディオムを使った。

const result = Array.prototype.reduce.call(str, (prev, current, index) => {
  // current を変換して prev に結合して返す
  return prev + current;
}, 'initialValue');`

Array#reduce() を借りて、String に使った。サロゲートペア文字もうまく1つに切り出してくれるようで安心。