base62-node ver.0.2.0

今週全然記事を書けてないのはこれに手間取っていたというか。手間取るような規模のライブラリではないのですけど。
どうしても考えすぎてしまう上に手が動かなくなっていくというか……悪い癖です。

発端

フォークされていたので、その先のコミットメッセージを読んでみたら……
DjangoのBase62変換に合うようにテーブルを修正した。でも、私が思うにどちらの実装も問題があって、きっとBase64から"-"と"_"を省いたものとして実装したんじゃないかと思う。(?)でもBase62の信頼できる仕様は見つけられなかった(とRFC3548へのリンク)」
とかなんとか書いてありました。
もともとこれは自分が欲しかった実装をしたのだけど、実装していたときにいろいろ調べていたら微妙に結果が違っていたりした処理系もあったので、どちらが良いのかなーとは思っていて。
とまあ、だったらテーブルを切り替えられるようにしようかと思って0.2.0を作ることに。
ってかこれ、Issueに書くべきだな…… まあいいや。

実装

簡単に + 互換性を保つためにencode/decode関数を呼ぶ前にchangeTableなんて関数を読んでテーブルを設定してあげると結果が変わるようにしたのだけど。
正直なんかアレだなあと思っていたり。


モジュールをコンストラクタにして、インスタンス生成時にテーブルを設定してもらうとかっていうのも考えたのだけど、互換性が失われるしなーと。ほとんど使われないものなのでそんなに気にしなくても良いのかもしれなかったけど。


どうするのがよかったのかなー。


あああ、Markdown書き慣れてないせいで意図した表示になってないし……
もう眠いので寝よう。