とにかく.でつなげて使うjsライブラリ?

1〜2ヵ月前くらいに作ったやつをCodeRepossvnにaddしたままcommitしてなったプラグインを思い出してcommitした。

名はi_love_echo.jsであるw
オイラは:echoコマンドが大好き。
タブ補完も大好き。

発想は、○○をあーしてこーして××して...という極めて日本語的なことをするにはオブジェクト指向(?)って便利だよね。.で繋げれば良いんだもん、って感じ。
コマンドもマップもないプラグインである。あるのはメソッドのみで、:echo,:jsから呼び出すのが基本。

起点のメソッドは

  • $
  • $x

のみ。

説明を書こうと思ったのだけれど、うまく書けそうにない。
ソースを読んで理解した人が使ってください(ぉ

以下残骸

$メソッド

引数は一つで、文字列、E4X、配列、オブジェクト、要素(Element,Document)。
呼び出すと、引数の型に応じて新たなオブジェクトを生成して返す。これを.でつなげてメソッドをタブ補完していく

例1: 文字列をUNICODE化してクリップボードにコピーしたい
:js $("hogehoge").utf16.copy()
  1. "hogehoge"という文字列を
  2. UNICODE化して
  3. copy

$xメソッド

XMLHttpRequest用のメソッド
第一引数はURL文字列
以降にHTTPのメソッド、ユーザ名、パスワードを入れることも可能。

例1: http://d.hatena.ne.jp/teramako/rssのタイトル一覧を出したい
:echo $x("http://d.hatena.ne.jp/teramako/rss").open().send().xml.toObject.get("item").map(function(item) item.title).value

ながいね(^^

  1. $xでXMLHttpRequestを生成して
  2. openして
  3. sendで送信して
  4. レスポンスのxmlを取得して
  5. xmlをオブジェクト化して
  6. オブジェクト内のitemメンバを取得して
  7. mapで各要素のtitleメンバのみ取得して
  8. その値を返す
例2: RSSをDOM Inspectorに突っ込んで解析したい
:js $x("http://d.hatena.ne.jp/teramako/rss").open().send().xml.inspect()